Automerge backed Markdown editor for the Atmosphere
README.md

Documentation map #

Start with current architecture and vocabulary. It describes the implemented ownership boundaries and points to the code that owns them. AGENTS.md describes how to work here.

Where to look #

Question Source
What is the application and what owns its state? Architecture
What is the product's design direction? Product; currently focused on Types & Records interaction
What should ATProto startup/login/onboarding/logout do? Local-first lifecycle; user-aligned correction in progress
What is the current transport implementation and what was tested? Sustainable inline sync plan and implementation evidence; feature branch, not deployed
What is proposed for worker-owned editing, adoption and large backup import? Worker-owned documents plan; draft, not yet implemented
How do external plugins work? src/plugin/obsidian-compat/ and src/plugin/reams/; npm run obsidian:contract checks upstream API shape. The plugin author guide provides examples, with some historical implementation descriptions.
How do I deploy or operate a release? playbooks/; use the playbook for the selected edition/deployment
What does a particular test gate measure? testing/, perf/, package scripts and their Vitest configs
What work is scheduled or complete? Chainlink (chainlink tree, chainlink show <id>)
Where should cleanup start? 2026-10-05 maintainability audit
Where can I note friction encountered during a change? problems.md; add a short note during commit reflection when useful.

Keeping guidance trustworthy #

  • Put a live contract in one short maintained document or its owning code; link to it from plans and agent instructions instead of copying it.
  • Date decisions and plans so their original context is clear. Remove contradictory prescriptive guidance when the user replaces a contract, and link to its current authority. Retain dated verification evidence as evidence of that candidate, not instructions to reproduce superseded product behavior.
  • Verification reports describe their dated candidate and executed scope. A passing checkpoint is not a permanent claim about the current release.
  • Keep temporary ports, worktree permissions, and resume instructions scoped to their session/candidate. Deployment assumptions from before release need review before reuse for migration or compatibility work.
  • When guidance and implementation disagree, investigate and reconcile them; an architecture summary does not silently authorize changing product behavior.

Historical context (when needed) #

decisions/, research/, plans/, and verification/ retain the reasoning, experiments, and evidence from earlier checkpoints. Read them to investigate a specific change, using their dates and candidate scope. Older Chainlink issues, including #1, likewise describe their original implementation context.

The editor originally used Lexical and migrated to CodeMirror 6 in Chainlink #203. ~/usr/reams is an older OverType prototype, useful for design inspiration. The September 2026 text-first worktree instructions are retained as a historical session record, not a prerequisite for current work.