Repository navigation
atlas: rosetta states its own design intent, graded by Project Atlas - #17
Merged
Merged
Conversation
What the code cannot say about itself (layer and domain placement, the dependency rules, contracts, the live and search hot paths, decisions) now lives in rosetta, and Project Atlas grades every statement against the code. It is not a third living document: every rule and decision cites CLAUDE.md, docs/ or a package README with a `see "file#slug"` the check resolves. - atlas/*.atlas: system and thesis, the layer stack (exhaustive), domains below crate level, components and runtime links, the wire contract, the two flows, cross-cutting rules (iron rules carry `code IRn`), decisions with their real status (IR2 hypothesis, two proposals still proposed). - @atlas comment lines only, no code change: every crate root ends its `//!` docs with its layer and domain; the rules about one crate sit in that crate (core-is-a-leaf, pipeline-deps, thin-protocol, server-deps, search-seam, rosettad-is-root); AgentAdapter, IngestOp and SearchBackend carry their contracts; 16 flow steps sit above the function that does the step; room-dials-nothing sits in the room's index.ts header. - CLAUDE.md "Atlas" and the `atlas` skill: place a new crate or package in the same change, update selectors on a rename, never weaken a rule (an except or a wider only-list is the user's call), and the check command. Left visible on purpose, for a decision: thin-protocol (protocol re-exports search and store types), server-deps (server uses media, pricing, search), module-size (14 files over 1,000 lines), IngestOp::GitCommit has no producer, and dependency-rule fails because of the first two. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`atlas baseline` records the violations the atlas found on the day it landed (thin-protocol, server-deps, module-size's 14 files, IngestOp::GitCommit and the dependency-rule decision), so `check` exits 0 and a violation an agent introduces shows as new. They stay violated, tagged known. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rosetta's design intent was stated only in prose (CLAUDE.md, docs/ARCHITECTURE.md), so nothing checked that the code still matched it, and agents had no fixed place to say where a new crate belongs. This PR adds an architecture atlas that Project Atlas grades against the code.
What lands
atlas/*.atlas:exhaustive(an unplaced production file is a violation);liveandsearch-queryflows;code IRn) and decisions with their real status.Every rule and decision cites CLAUDE.md, docs/ or a package README with a
see "file#slug", and the check resolves each one. This is not a third living document.@atlascomment lines only, with no code change://!docs with its layer and domain, after a blank//!, so first paragraphs are unchanged;AgentAdapter,IngestOpandSearchBackendcarry their contracts;index.tsheader.CLAUDE.md "Atlas" and the
atlasskill tell agents to:exceptor a wideronlylist is the owner's call);atlas/atlas.baseline.jsonrecords today's five findings as known, socheckexits 0 and a new violation stands out. The five stay violated on purpose, for a decision:IngestOp::GitCommithas no producer;Validation
.atlasfiles and 38 annotated source files, 0 errors and 0 warnings.main(4348545), with the in-code lines restated in a scratch file:rustfmt --check --edition 2024(toolchain 1.97.1) is clean on all 33 touched.rsfiles.git diff --checkis clean, and no line was deleted from a source file.cargo test(doctests) and the npm suites are left to CI on this PR. The full Atlas run on the branch itself, which runscargo doc, follows once the window opens.🤖 Generated with Claude Code