docs(ai): ai.md becomes a router; invariants move to AGENTS.md; budgets gated
ai.md 228 → 64 lines. It now carries only: what the product is, the build commands, the architecture table, a "where the truth lives" table, and a pointer to HANDOFF. No narrative, no status, no duplicated invariants. AGENTS.md (195 lines) is now the single always-read file: - the 20 invariants that break output, wipe user data, or ship a legal/trust breach — one line each, pointing at the doc that explains it (they replace 110 lines of invariant stubs that duplicated docs/ai/*.md verbatim) - Response style + No-Fluff Mode moved in from ai.md (rules belong in the rules file) - onboarding is now: HANDOFF → ai.md router → the ONE docs/ai file → dir index; TASKS.md is read when the question is "what's next", not to write code - memory rides with the change but is no longer a unit of its own; HANDOFF is ≤40 lines and overwritten, never appended Anti-rebloat gate: scripts/verify.sh gains step 1/4, a doc-budget check (AGENTS ≤210, ai ≤100; HANDOFF/TASKS caps land with the queue trim). A commit that pads a capped file instead of moving detail fails the gate. schema.md and docs/index.md corrected for the new roles and reading order. Docs-only unit: scope-check run, no build.
This commit is contained in:
+4
-4
@@ -1,9 +1,9 @@
|
||||
# docs/ai — index
|
||||
|
||||
Subsystems split out of [`ai.md`](../../ai.md) (2026-10-26) so a session pays only for the
|
||||
subsystem its task touches. The split is a **verbatim move**: history, traps and measurements are
|
||||
unchanged, and `ai.md` keeps a short stub carrying the load-bearing invariants plus a link here, so
|
||||
no rule is reachable only from a file you forgot to open.
|
||||
Subsystems split out of [`ai.md`](../../ai.md) so a session pays only for the subsystem its task
|
||||
touches. `ai.md` is now a **router** (what the product is, the architecture table, where truth
|
||||
lives) and `AGENTS.md` carries the invariants that hold across all of them, so no rule is
|
||||
reachable only from a file you forgot to open.
|
||||
|
||||
Read the file whose row matches the task. There is no required reading order.
|
||||
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
# docs — index
|
||||
|
||||
Reference material that is too large for [`ai.md`](../ai.md)'s front half. Nothing here is
|
||||
mandatory reading on session start; open the file whose subsystem your task touches.
|
||||
Reference material that would bloat the router. Nothing here is mandatory reading on session
|
||||
start; open the file whose subsystem your task touches.
|
||||
|
||||
| Path | Purpose |
|
||||
|------|---------|
|
||||
| [`ai/`](ai/index.md) | Split-out subsystems of the AI guide — each started life verbatim inside `ai.md`, which keeps a short invariant stub pointing here |
|
||||
| [`ai/`](ai/index.md) | Subsystem truth for the AI guide — one file per subsystem, routed from [`ai.md`](../ai.md) |
|
||||
| `ytLlive-preview.jpg` | Preview screenshot used by [`README.md`](../README.md) |
|
||||
|
||||
See [`schema.md`](../schema.md) for the memory-map conventions.
|
||||
|
||||
Reference in New Issue
Block a user