Atlas is the lab's single source of truth for who depends on whom, what is alive, what is deprecated — read-only for humans, read-only for agents, always available.
Where it lives
- Repo:
OpenAliceLabs/openalice-atlas(private, mvp branch) - Local:
/home/blal/projects/org-openalicelabs/openalice-atlas - Prod:
https://atlas.blal.pro - MCP:
POST https://atlas.blal.pro/mcp(anonymous, 7 tools)
What it knows (2026-05-21)
- 57 active repos (down from 60 after the 2026-05-21 cleanup)
- 1132 features org-wide
- 134 declared runtime edges
- 19 probable endpoints discovered from manifests
- 41 repos with env drift
- 100% manifest coverage on active repos
- 8 strategic milestones surfaced cross-repo
Surfaces — for humans
| Path | What it shows |
|---|---|
/ | Dashboard: hero constellation, activity heatmap, status bars, ecosystem reachability strip, priority-grouped repo grid, milestones panel |
/repos/[name] | Per-repo detail: manifest panel, env drift panel, runtime deps, feature ledger, wiki.md download link |
/features | Global feature index with filters |
/graph | Obsidian-style force graph: priority rings, kind colours, dashed phosphor runtime edges, external satellites on outer rim |
/timeline | Activity timeline across repos |
/wiki/[name] | Rendered repo wiki (export to markdown via API) |
Surfaces — for agents
JSON-RPC over HTTP at /mcp, no auth required for reads. Seven tools:
atlas.repo.manifest— parsed.atlas-deps.ymlatlas.repo.runtime_deps— declared + observed dep edgesatlas.repo.health— code health, drift score, feat scoreatlas.repo.features— feature annotations for the repoatlas.search— cross-repo full-textatlas.milestones— strategic targets frommilestones.ymlatlas.timeline— recent activity
REST mirror at /api/v1/*, identical data, same auth model. Use /api/v1/repos/<name>/wiki.md to get a paste-able repo summary.
Architecture (one line per layer)
atlas-ingestor(Rust) — walks/home/blal/projects/org-openalicelabs, parses@featureannotations, reads each.atlas-deps.yml, probes each repo's firsthttps://endpoint, computes manifest-vs-code env drift, writes to Postgres. Runs every 30 min viaatlas-ingestor-cronsidecar.atlas-api(Rust axum) — REST/api/v1/*(read-only, anonymous) + JSON-RPC MCP at/mcp. Migrations run on boot.atlas-db(Postgres 17) — 17+ migrations covering init, github enrichment, lifecycle marks, organisational metadata, seed priorities, manifest, health, drift, milestones, retention.atlas-web(Next.js 16) — observatory tone: Fraunces serif + IBM Plex Mono, midnight/parchment/phosphor palette.
Why atlas isn't inside the openalice main repo
Atlas is about openalice-main and 56 other repos but intentionally lives outside any of them. The main repo belongs to a different agent's project; atlas is the streaming-product agent's cockpit. They share the on-disk memory directory but operate in separate working directories.
When to extend atlas vs publish elsewhere
- New cross-repo signal → atlas (new ingestor pass + new dashboard panel)
- New per-repo doc → that repo's
docs/ - New agent-facing tool → atlas MCP
- New human-facing wiki note → this KB
Notes for future me
- Do not break
.atlas-deps.ymlspec without coordinating —docs/manifest-spec.mdis consumed by every other repo. atlas-ingestor scanis idempotent.atlas-ingestor validate <path>is the pre-commit gate.ATLAS_SKIP_HEALTH=1skips the probe pass for fast local dev.health_snapshotsandrepo_depsrows are append-only with 30d/90d retention sweeps respectively (2026-05-21 wave).