Skip to content

docs: restructure documentation around AGENTS.md, VISION.md and decision records - #1032

Merged
lfnovo merged 8 commits into
mainfrom
docs/documentation-architecture
Jul 10, 2026
Merged

docs: restructure documentation around AGENTS.md, VISION.md and decision records#1032
lfnovo merged 8 commits into
mainfrom
docs/documentation-architecture

Conversation

@lfnovo

@lfnovo lfnovo commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Summary

Restructures the project's developer-facing documentation around three new artifacts — an AGENTS.md tree, VISION.md, and a decision log — and consolidates the redundant/stale material that had accumulated around them.

The model: knowledge lives once, in the docs (pulled on demand); files that are auto-injected into coding-tool sessions carry only normative rules and pointers.

What changed

AGENTS.md as the canonical agent-context file

  • 17 CLAUDE.md files (~2,750 lines, largely restating code or duplicating docs/7-DEVELOPMENT/) consolidated into 3 content files: root AGENTS.md (commands, startup order, hard rules), open_notebook/AGENTS.md (backend rules — also covers api/, commands/, prompts/, with a one-line pointer at api/AGENTS.md) and frontend/AGENTS.md
  • Remaining CLAUDE.md files are one-line @AGENTS.md pointers, so the same content serves every tool
  • Newly documented along the way: the surreal-commands worker requirement (async jobs silently queue without it) and the frontend npm commands — neither was written down anywhere

VISION.md — product identity + current posture

Decision records (docs/7-DEVELOPMENT/decisions/)

Docs consolidation & fixes

  • 5 new engineering pages absorbing the knowledge worth keeping from the removed CLAUDE.md files: credentials, content-processing, podcasts, prompts, frontend
  • TRIAGE.md removed: label taxonomy merged into the maintainer guide (reconciling the older conflicting taxonomy there), product jurisprudence into VISION.md
  • README.dev.md became a pointer; its unique content moved to development-setup.md, .github/RELEASE_PROCESS.md and the change playbooks
  • New contributing section: AI-assisted and agent-generated PRs (operator owns the PR, issue-first still applies, tests must have actually run)
  • Stale fixes: migration path/format (open_notebook/database/migrations/N.surrealql + AsyncMigrationManager registration), provider count (17), locale list (7), 9 README links pointing at pages that never existed, broken DESIGN_PRINCIPLES.md references in the PR template

CI

  • scripts/check_md_links.py + docs-links workflow: validates relative markdown links on PRs touching *.md (skips URLs, anchors, code spans)

Verification

  • uv run pytest tests/ — 373 passed (only two comment-line changes in .py files)
  • python3 scripts/check_md_links.py — all relative links resolve (was 19 broken before, all pre-existing or fixed here)

Review in cubic

lfnovo added 5 commits July 10, 2026 14:43
…ion records

- Consolidate 17 CLAUDE.md files into 3 AGENTS.md (root, backend, frontend);
  CLAUDE.md files become @AGENTS.md pointers
- Add VISION.md: product identity + current posture with horizon clusters
- Add docs/7-DEVELOPMENT/decisions/ with 4 retroactive ADRs and 2 PDRs
- Add 5 new engineering docs pages (credentials, content-processing,
  podcasts, prompts, frontend) absorbing knowledge from removed CLAUDE.md
- Dismember TRIAGE.md: label taxonomy into maintainer-guide.md, product
  jurisprudence into VISION.md, operator heuristics stay local (gitignored)
- Add AI-assisted/agent-generated PR guidelines to contributing.md
- Convert README.dev.md into a pointer after migrating its unique content
  (make workflow matrix, Docker publishing, add-a-language playbook)
- Fix stale docs: migration path/format, provider count, locale list;
  fix broken links (docs/index.md, PR template, CONFIGURATION.md)
- Repoint 9 README links to pages that actually exist in docs/
- Replace literal (link) placeholder in maintainer-guide templates
- Add scripts/check_md_links.py validating relative links in tracked
  markdown (skips URLs, anchors and code spans)
- Add docs-links workflow running the check on PRs that touch markdown
Three custom review agents (vision & principles alignment backed by
VISION.md, known mechanical caveats, security & testability), PR-contract
review instructions, and automatic ultrareviews for auth, credential,
encryption and migration changes.
Small obvious fixes (typos, docs, tiny bugs, i18n completions) no longer
require an issue; features and architecture changes still do. Sizeable
PRs opened without an issue convert to draft while the issue goes
through triage (1-2 days). Applied consistently across contributing
guide, root CONTRIBUTING pointer, PR template, maintainer guide red
flags and cubic review instructions.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 6 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread .github/pull_request_template.md
@@ -0,0 +1,38 @@
# ADR-002: Esperanto for multi-provider AI

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also mention content-core

Both follows the following rule: if this handles platform/media support and will probably require heavy coding, it doesn't belong in this project to keep it focused on the knowledge. Those parts can be replaced by other router frameworks if we decide to.

@@ -0,0 +1,36 @@
# ADR-004: Background jobs via Surreal Commands

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we really mention this since its probably being redesigned? What about mentioning the need for background workers instead? lots of content, different sizes of machines and servers, not locking the product usage while things happen, etc.

Comment thread docs/7-DEVELOPMENT/frontend.md Outdated
Stores (src/lib/stores/) → API modules (src/lib/api/) → Backend
```

- **Pages** — route endpoints. Router groups `(auth)` / `(dashboard)` organize routes without

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are there so many unnecessary new lines?

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed

Confidence score: 5/5

  • Safe to merge after the addressed issues were fixed.

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread docs/7-DEVELOPMENT/content-processing.md Outdated
Comment thread docs/7-DEVELOPMENT/development-setup.md Outdated
Comment thread scripts/check_md_links.py Outdated
Comment thread docs/7-DEVELOPMENT/credentials.md Outdated
lfnovo added 2 commits July 10, 2026 15:24
- ADR-002 now records the general delegation rule (platform/media support
  that needs heavy coding lives in focused external libraries) covering
  Esperanto, Content Core and podcast-creator
- ADR-004 now records the durable decision (long-running work runs on
  background workers — heavy content, varied machine sizes, never lock
  usage) with the queue technology as a swappable implementation detail
  pending #381
- Remove mid-paragraph hard line wrapping from authored docs to match
  repo convention (one line per paragraph)
…ink checker query strings

- credentials.md: only PROVIDER_CONFIG exists as a map; Vertex/Azure/
  OpenAI-compatible provisioning is inline in _provision_*() functions
- content-processing.md: correct ContextConfig priority weights
  (source 100 > insight 75 > note 50)
- development-setup.md + Makefile: make dev/full pointed at root compose
  files that don't exist; targets now use examples/docker-compose-dev.yml
  and examples/docker-compose-full-local.yml with --project-directory .
- check_md_links.py: strip query strings before file-existence checks
@lfnovo
lfnovo merged commit b38c74c into main Jul 10, 2026
8 checks passed
@lfnovo
lfnovo deleted the docs/documentation-architecture branch July 10, 2026 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant