openalice-registry
Architecture rating
Strong substrate adherence: valid manifest (100), code_health 100, drift 100, zero cycles, zero dead imports, AGENTS.md present and standard Cargo layout — uniform with OpenAlice conventions; minor demerit for one god-module breaking the otherwise clean structure.
Valid manifest with clear summary and 9 features (features 92/100), AGENTS.md present, and @feature annotations drive a 91 overall grade — but README excerpt is empty, 11 missing docstrings/format issues, and roadmap is the named weakest axis (30/100).
Clean AST (0 circular deps, 0 bare/broad excepts, avg complexity 5.09) is a good base, but one god-module and a max-complexity-18 hotspot concentrate risk; no evidence of request timeouts, retries, graceful SIGTERM shutdown, or idempotent publish handling for an HTTP service.
Pack-marketplace HTTP service exposing /api/v1/* for publishing/downloading WASM packs — a prime SSRF/upload-abuse/supply-chain surface, yet manifest declares 0 runtime deps and no evidence of authn/authz, signature verification, rate-limiting, or SSRF guards; conservative score given no observable security signal for a download/upload registry.
manifest_owns_tables is empty and no migrations/ dir present — registry appears to persist packs without a declared schema, FK/constraints, RLS or tenant isolation; no GDPR signal. Conservatively weak: data layer is either ad-hoc/filesystem or undisclosed.
Manifest exposes only an http_endpoint with no https health probe (Atlas health: 'no https endpoint in manifest exposes', up=false); no declared metrics, tracing, or structured-log signal — service is effectively unprobed/unmonitored.
No tests/ directory and no test presence detected in the clone; inspector surfaces a max-complexity-18 hotspot and a god-module with zero covering tests — critical publish/download paths are unverified.
source · auto-grader-2026-06-16
Ecosystem manifest
.atlas-deps.ymlOpenAlice Pack Registry — HTTP marketplace for publishing and downloading WASM packs.
- REGISTRY_DATA_DIR
- http_endpoint: http://openalice-registry:8102/api/v1/*
Code composition
tokei · loc- Rust95.4%
- TOML4.6%
- Rust95.4%
- TOML4.6%
- Rust95.4%· 312
- TOML4.6%· 15
| Language | % code | code | comments | blanks | files |
|---|---|---|---|---|---|
| Rust | 95.4% | 312 | 18 | 41 | 1 |
| TOML | 4.6% | 15 | 0 | 1 | 1 |
| Markdown | 0.0% | 0 | 8 | 3 | 1 |
Telemetry ribbon · last 90 days
1 eventregistry/api
2 features- registry.api.healthsrc/main.rs:150GET /api/v1/health — liveness probe returning service identity + version.route:GET /api/v1/healthsince 0.1.0
- registry.api.statssrc/main.rs:160GET /api/v1/stats — aggregate pack count + total download count across the registry.route:GET /api/v1/statssince 0.1.0
registry/config
1 feature- registry.bin.entrypointsrc/main.rs:418REGISTRY_DATA_DIR env var selects the on-disk root for pack JSON + .wasm blobs; auto-created at boot, defaults to $HOME/.openalice-registry.bin:openalice-registrysince 0.1.0
registry/model
1 feature- registry.service.http-apisrc/main.rs:13Pack metadata schema — name, version, author, pack_type, tags, tools, wasm_size, downloads, rating, signed flag.bin:openalice-registrysince 0.1.0
registry/packs
4 features- registry.packs.downloadsrc/main.rs:234GET /api/v1/packs/{name}/{version}/download — stream the .wasm blob for a specific version; bumps the pack's download counter on success.route:GET /api/v1/packs/{name}/{version}/downloadsince 0.1.0
- registry.packs.getsrc/main.rs:216GET /api/v1/packs/{name} — fetch pack metadata + all ratings for a single pack; 404 if unknown.route:GET /api/v1/packs/{name}since 0.1.0
- registry.packs.ratesrc/main.rs:373POST /api/v1/packs/{name}/rate — submit a 1-5 score with optional review; recomputes pack's rolling average rating + rating_count and persists metadata.route:POST /api/v1/packs/{name}/ratesince 0.1.0
- registry.packs.searchsrc/main.rs:183GET /api/v1/packs — list/search packs with full-text filter on name+description, tag filter, sort by name/downloads/rating/newest, configurable limit.route:GET /api/v1/packssince 0.1.0
registry/security
1 feature- registry.packs.publishsrc/main.rs:273Optional detached signature upload alongside .wasm — stored as `{version}.wasm.sig`, surfaced via PackMeta.signed flag. Verification not yet enforced server-side.route:POST /api/v1/packssince 0.1.0