Purpose: the single entry point for a context-free future session (any model — written explicitly so an Opus-class reader with zero chat history can reconstruct the entire project state, know what is authoritative, and act correctly on the first try). Everything here is links + status; the substance lives in the linked documents. This file supersedes nothing — it navigates.
As of: 2026-07-06, end of the roadmap session (the third working session that day,
after audit/red-team and cleanup/reorganization). First action for any future
session: check today’s date against the KC calendar (top of TODO.md;
source: roadmap-v1-v2-2026-07-06.md §4) — the correct
behavior depends on which checkpoint window you are in, and a passed-unfulfilled
checkpoint has its own playbook in §6 below. If you are reading this much later, also
check DONE.md and WORKLOG.md for entries newer than this date before trusting the
snapshot in §4–§5.
Update — 2026-07-07 (the snapshot below remains accurate; nothing is superseded): the roadmap §8 analysis freeze was exercised for the first time — in the 07-06 evening chat session Ivan asked for a merciless “what is missing” analysis (i.e. #10); the session declined per the §6 playbook and answered with the KC table plus a digest of already-catalogued findings (Gate A unsigned · friction log not started · no rival installed · 0 commits · OPEN-1…9 · EMP-1…3 · LOST-1…8 — full digest preserved in the
WORKLOG.md2026-07-07 entry). No analysis document #10 was created; the freeze held. A 2026-07-07 state check found the repo unchanged since the 07-06 close: all five Step-0 boxes unchecked, 0 commits. KC-0 (2026-07-13) is 6 days away.
⚠️ Update — 2026-07-30 (read this before acting on §1, §4 or §5). This file is a navigator, and its 07-06 snapshot has been overtaken by events. Three things in it are now factually wrong, and a fresh session that trusts them will act incorrectly:
- “Zero application code. Zero git commits” is false. Implementation began 2026-07-11. What runs today: the loopback-bound token-gated Fastify server, the SQLite/WAL substrate with migrations and an append-only
events_rawenforced by triggers, JSONL corpus ingest with replay-on-startup, the persisted subagent DAG, the cost engine, the hook receiver, the SSE hub, the read API, and all four SPA views. 72 test files / 879 tests pass, coverage gated >90% in every shipped package. The three P0 moat proofs and the 12-scenario negative catalogue are green.- “No production code until Gate A + WP-S7 GO — CD-8 is still binding” no longer describes the operating reality. CD-8 was overridden by the owner in chat on 2026-07-11 (“пускай агенти и започвай да имплементираш”), and again on 2026-07-18 to keep dispatching past a failed checkpoint. The override covers dispatching only — it does not relax the security invariants, the LABEL-ME ratification (Phase-0 numbers stay PROVISIONAL), Ivan’s two physical KC acts, or no-commit-without-an-explicit-ask. Record it as an override, never as a pass.
- KC-0 (2026-07-13) and KC-1 (2026-07-27) both passed UNMET. KC-0 closed with 2 of 5 boxes open. KC-1’s clauses 1 and 2 were green, but clause 3 — “the friction log has not crowned a rival” — was unsatisfiable by construction, because the friction log was never opened. A checkpoint whose condition cannot be evaluated has not been passed; it was skipped. The next real checkpoint is KC-2, 2026-09-14.
Still true and still binding: the security invariants (§ everywhere), the analysis freeze (9 of 9 — decline #10), the immovable KC-4 date of 2026-12-01, and the rule that at a failed checkpoint you report and stop rather than archiving anything yourself. Newest truth lives in
../../DONE.mdMilestone 1,../../TODO.mdandWORKLOG.md— prefer them over §4–§5 below.
⚠️ Update — 2026-08-15 (the current-truth snapshot; supersedes the 07-30 numbers).
- v1.0 is code-complete; what remains is not code. Four feature commits are pushed to
main:9b6c6b3(waves 1–4),2f8d103(hardening waves),71f6878(the review-remediation waves — ingest correctness, O(new bytes) polling, boot honesty) andac5d53b(ingest-side status reconciliations onto the SSE stream; cross-session usage collisions counted on/api/health). Measured on the 2026-08-15 working tree, not estimated: typecheck · lint · prettier · the no-spawner gate (235 files) · the web production build · the license scan (412 packages) all green, and 106 test files / 1554 tests with 100% statements, branches, functions and lines in all five packages, with zero coverage-ignore pragmas inapps/server/src. The coverage bar in §4–§5 below reads “>90%”; that was the historical gate and it has since been pinned to 100 in every package, with guard tests proving the figure cannot be faked — though not uniformly:apps/webasserts only the pragma sweep, because it legitimately carries a coverageexclude, so widening that list or lowering its four thresholds would pass CI silently (closed 2026-09-26: the web guard now pins the exact thresholds and exclude list). See../site/contributing/testing.md.- All 14 items of the parser gate are IMPLEMENTED — but “implemented” is not “measured”. #7 (legacy bare-
Explore) and N1 (<task-notification>) fire zero times on the real corpus and exist only as defensive fallbacks exercised by synthetic fixtures; #11 is amended (sibling order is wave-partial, never total). Any future session reporting “14/14 green” is overstating the corpus evidence. Seeparser-spec.md§3.- Three remaining v1.0 blockers are Ivan’s, and none is a programming task — down from five on 2026-08-25, when the two GitHub-settings items were done. Still open: the LABEL-ME corpus (≥52 hand-labelled agents — until then the hierarchy ≥95% gate reports
NOT CERTIFIEDand every Phase-0 number stays PROVISIONAL); the unmeasured “<30s to understand a session” claim; and the retention policy values (OPEN-1/2/3 — the mechanism is built and tested, the defaultNO_RETENTIONis a byte-identical no-op). Closed 2026-08-25 — branch protection onmain. It requires thecistatus check (that is the job id; the workflow’s display nameCIis not the context) and refuses force-pushes and deletion, so CD-7’s “coverage blocks merges” is physically enforced — against a contributor.enforce_adminsis deliberately off, because a single maintainer whose normal mode is a direct push tomainwould otherwise be locked out of their own repository; read every “merge-blocking” claim in this corpus with that exemption attached. Verify:gh api repos/IvanBBaev/agenthropic/branches/main/protection --jq '{contexts: .required_status_checks.contexts, enforce_admins: .enforce_admins.enabled}'→{"contexts":["ci"],"enforce_admins":false}. Closed 2026-08-25 — GitHub Pages, and the reason it took an owner is worth keeping. An earlier revision of this snapshot said the workflow “should now self-enable on push” because it passesenablement: truetoconfigure-pages. It cannot.pages: writeauthorises deploying to an existing Pages site, never creating one; creation needs repo administration rights that the defaultGITHUB_TOKENdeliberately lacks. Three runs died inconfigure-pagesto prove it:30528892265(Get Pages site failed … Not Found), then31318246506and31879212583(Create Pages site failed. Error: Resource not accessible by integration). Pages was created bygh api -X POST repos/IvanBBaev/agenthropic/pages -f build_type=workflow; run32863218759was then re-run and succeeded, and the site is live at https://ivanbbaev.github.io/agenthropic/ (HTTP 200, as is/site/).- KC-2 (2026-09-14, “Phases 1–2 complete”) is met well ahead of its window. The next real checkpoint is KC-3, 2026-10-12, and it turns on items in (3) that no agent can perform. KC-4 (v1.0, 2026-12-01) is unchanged and immovable.
- The public documentation corpus was re-synced with the code on 2026-08-15 (six path-disjoint lanes plus a link check and an adversarial honesty pass). Where a doc and the code now disagree, the code is the truth and the disagreement is a bug in the doc — report it.
Unchanged and still binding: every security invariant, the analysis freeze (9 of 9), the PROVISIONAL status of all unratified numbers, and the rules that nothing is committed, pushed, archived or deleted without an explicit owner instruction.
⚠️ Update — 2026-09-18 (the current-truth snapshot; supersedes the 08-15 numbers).
- The schedule of record is now the closing plan,
closing-plan-2026-09-08.md(schedule record #3, written inside the analysis freeze as a schedule, not an analysis). It defines “100%” asv1.0.0tagged by KC-4 with everyRELEASE.mdbox ticked, and lays the remaining work out as Waves 0–5 on theTODO.mdclosing board. Its eight-decision batch D1–D8 was taken by Ivan on 2026-09-09 (every recommended default, in chat), and D1 was consumed by commit39e565athe same day — the eleventh and newest commit onmain, CIsuccess. Everything since (the 2026-09-10 Wave 2 close with migration 18, the 2026-09-18 truth pass) sits in the working tree — 84 modified and 12 new files on this date; committing it needs a new explicit ask, as always.- KC-2 (2026-09-14) is MET, ticked on 2026-09-18 — four days after its date. The session that owns the tick was inactive 2026-09-10 → 09-18; the tree did not change in between, the Phase 1 and Phase 2 exit gates were re-verified green on the date’s tree, and zero velocity rebases were used. Record it as a late tick of a met condition, not as a failed checkpoint. The KC-0/KC-1 record above is unchanged. The next checkpoint is KC-3, 2026-10-12: its preconditions already hold (
mainrequires thecicheck; the P0 proofs are green) and need ticking on the date, not work. KC-4 (2026-12-01) is unchanged and immovable.- Schema 18. Migrations 14–18 canonicalize the two timestamp operands of the dated-rate comparison, install the
token_usage_rollupthe cost summary reads, addagents.outcome_cause, and seed the tenmodel_pricingrows (two model ids × five buckets) the real corpus exposed as missing (ADR-0006’s 2026-09-18 update). The pricing halt gate is real and was exercised: the first boot over the owner’s real corpus (2026-09-09, schema 17) refused 52 of 60 sessions onunknown model id; migration 18 cured it by adding rows, never by relaxing the gate, and the 2026-09-18 rerun at schema 18 admitted 54 of 54 (docs/measurement/time-to-understand-log.md§0.4–§0.5). It happened a second time on 2026-09-26: the corpus had moved toclaude-opus-5-5, a boot at schema 18 refused 27 of 61 (§0.6), and migration 19 adds that id’s five rows, so the schema is now 19. Dollars stay PROVISIONAL until LABEL-ME; the Sonnet 5 rate question (D10) is open and Ivan’s. Later on 2026-09-26: D10 answered by Ivan’s go-ahead in chat; migration 20 rewrites the seededclaude-sonnet-5rows to the official 2 / 10 (pricing page re-read that day: the scheduled 3 / 15 never took effect), so the schema is now 20. The WP-C1 ratification tick is still Ivan’s.- Measured on the 2026-09-18 working tree, not estimated: the eight local gates —
gate:node,gate:spawner, typecheck, lint, prettier, the web production build,test,gate:licenses— all green; 131 test files / 2428 tests, 100% statements, branches, functions and lines in all five packages; the spawner allowlist holds the policy file only; 412 packages under the license gate with one documented exception. The scriptable half ofRELEASE.md(§1–§3, §5 automated proof, §6 dollar trace and Pages) was rehearsed end to end the same day with every exit code 0 and no box ticked — Wave 4 R1; the record is on theTODO.mdWave 4 row and the boxes are ticked on the release commit only.- What remains is Ivan’s, not code. Wave 3 (from 2026-10-13): the 60 LABEL-ME claims, the stopwatch run, the 14-day friction log (also the KC-5 evidence), one rival dashboard. Then the
[HUMAN]release boxes, the §5 live backup→restore drill on the real database, the L8 BENCH-SHAPE ratification tick, the open decisions D9/D10 on the board, and the release commit +v1.0.0tag by 2026-12-01. Everypackage.jsonreads0.3.0; the0.3.0 → 1.0.0bump, theCHANGELOG[1.0.0]section and theDONE.mdv1.0 entry are acts of the release commit. Agents take only defects the friction log raises — no new features in Wave 3.Unchanged and still binding: every security invariant, the analysis freeze (9 of 9 — the closing plan is a schedule, and a tenth analysis is still declined), the PROVISIONAL label on every unratified number, and the rules that nothing is committed, pushed, archived or deleted without an explicit owner instruction.
agenthropic — a self-hosted, local-first dashboard for observing Claude Code
agent/subagent activity on Ivan Baev’s Mac Mini M4. Differentiator (the “moat”, per the
ruling strategy memo): persistent cross-session subagent DAG + dollar-accurate cost
attribution — only those two. Greenfield clean build (ports & adapters, in the spirit
of Ivan’s kiko project), decided over forking any of six audited rival dashboards.
Facts about the repository as it stood on 2026-07-06, kept as the baseline this document was written against. Three of the four are superseded — read them as the starting state, not as today’s, and see the 2026-09-18 banner above for what is true now:
main had no commits; everything was
untracked working-tree files). 77 markdown files, ~144k words (re-measured
2026-07-06 — roadmap §1). Superseded: eleven commits are pushed (the newest is
39e565a), the application is code-complete, and the no-spawner gate scans 272 source
files (2026-09-23).roadmap-v1-v2-2026-07-06.md:
kill checkpoints KC-0…KC-5 with default-death — Gate A signs by 2026-07-13
(KC-0) or the project archives; WP-S7 verdict due 2026-07-27 (KC-1); v1.0 hard
date 2026-12-01 (KC-4, immovable); v2.0 (alerts) entered only via KC-5 (earned by
real daily use). Analysis is frozen (roadmap §8 — 9 analyses of 9; a request for
#10 is declined and answered with the KC table). Still binding, with the caveat in
the banner: KC-0 and KC-1 both passed unmet and work continued only under the owner
overrides recorded verbatim in TODO.md.WP-S7)TODO.md. The override moved the build; it did not
ratify a single number, so everything Phase-0 derived is still PROVISIONAL.127.0.0.1 only, forever. Unchanged, and
now enforced twice over — a HOST constant with no configuration path plus a
post-listen check that terminates the process.Every entry below has a fuller record in DONE.md and WORKLOG.md.
| Date | Milestone | Primary artifact |
|---|---|---|
| 07-03 | Repo bootstrap; two vendor due-diligence .docx digested; greenfield decision |
docs/ai/DESIGN.md (git-excluded, readable locally) |
| 07-03 | Independent due-diligence dossier — 6 rival deep dives with file:line evidence; vendor’s self-contradiction documented | ../due-diligence/ |
| 07-03 | Concept analysis v1 (4 lenses + gap + holistic) + v1 implementation plan (D1–D7) | concept-analysis.md, implementation-plan.md |
| 07-03 | Adversarial review of two externally-produced reports (BASE + EXPANDED) | external-docs-review.md |
| 07-04 | v2 consolidation — LB1/LB2 + the ten canonical decisions CD-1…CD-10 | concept-analysis-v2.md |
| 07-04 | Development plan — 75 work packages, 8 tracks, 17 waves, 7 phases, verified DAG | development-plan.md |
| 07-04 | Best-path strategy memo (sits above the plan; §6 orders plan amendments) + empirical Phase-0 probe of the real ~/.claude/projects corpus → CD-1 pre-answered CONDITIONAL-GO, confidence 85, 11-item parser gate |
best-path-decision.md, phase0-probe.md |
| 07-04 | Public docs site authored: 44 pages, 13 ADRs, 603 internal links, 0 broken (the DONE.md gap — finding PROC-3 — was backfilled 2026-07-06) |
../site/, ../DOCS-PLAN.md |
| 07-06 | Propagation workflow (parallel session, 50 agents): the four probe corrections carried corpus-wide (spawn tool Agent/Workflow not Task; layout by directory shape; outbox → YAGNI; CD-1 verdict), zero residuals |
DONE.md entry |
| 07-06 | Full-corpus audit (six-part analysis persisted, self-contained) + red-team counter-analysis (deliberately merciless) | corpus-audit-2026-07-06.md, red-team-audit-2026-07-06.md |
| 07-06 | Corpus cleanup & reorganization — AMEND-1…6 applied to the plan (dev-plan §2b) · supersession banners (v1 analysis/plan, due-diligence recommendation) · README.md/CLAUDE.md refreshed (PROC-1/2) · docs/site C-fixes · coverage bar normalized to >90% (OPEN-8 closed) · TODO.md rebuilt as the parallel-agent assignment board with disjoint lane ownership |
../../TODO.md, DONE.md entry |
| 07-06 | v1/v2 roadmap — the last analysis (#9 of 9), authored on explicit owner instruction overriding red-team §11: kill checkpoints KC-0…KC-5 with default-death (Gate A sign-or-archive by 2026-07-13; v1.0 hard date 2026-12-01), phase-by-phase v1.0 schedule (Exit B absorbed into Phase 0 inside CD-8), earned-not-scheduled v2.0 alerts track, and the analysis freeze | roadmap-v1-v2-2026-07-06.md |
| 07-07 | Analysis freeze exercised (request for #10 declined per playbook, answered with the KC table + existing-findings digest); state check: repo unchanged, Step 0 unsigned, 6 days to KC-0 | WORKLOG.md 2026-07-07 entry |
Authority order when documents disagree (full reasoning: corpus-audit §2):
phase0-probe.md — empirical measurements. Trust its numbers over
any citation of them elsewhere (stale citations have already been caught, e.g. “18
nested” vs the true ~849).best-path-decision.md §6 — ruling strategy. Its six plan
amendments (AMEND-1…6) were applied 2026-07-06 as dated strikethrough edits citing
§6 (see development-plan §2b). If an un-updated copy elsewhere still conflicts, §6 wins.concept-analysis-v2.md — CD-1…CD-10 + LB1/LB2.development-plan.md — the 75-WP decomposition.TODO.md — live tracker.Role of everything else: docs/ai/DESIGN.md = design basis (amended 07-06, now
consistent); README.md here = index of the analysis chain;
../site/ = public-facing docs (44 pages; the 19 cross-page
inconsistencies catalogued as C1–C19 in corpus-audit §6 — substantive ones fixed
2026-07-06, the rest were wording-level); ../due-diligence/
= rival evidence (its recommendation.md is obsolete — “fork simple10” was
superseded by greenfield; bannered 2026-07-06, closing PROC-7); WORKLOG.md, CLAUDE.md,
docs/ai/, *.docx = git-excluded but present on disk — read them, just never commit
them.
The three closing documents from 2026-07-06 are the distilled current picture:
corpus-audit-2026-07-06.md — the fair pass. Finding
register with stable IDs (AMEND-1…7 unapplied amendments · OPEN-1…9 unowned
decisions · LOST-1…8 dropped source material · EMP-1…3 empirical gaps ·
PROC-1…7 hygiene), a 33-decision ledger, five senior-lens reviews (BA, architect,
developer, QA, and the first-ever UX/UI pass — proposes WP-UX0), and 10 ranked
actions. Cite the finding IDs in WORKLOG when resolving anything.red-team-audit-2026-07-06.md — the adversarial pass.
Kill-condition defused not passed; corpus self-contradictions; moat-on-rented-land;
n=1 evidence critique; governance fiction; economics. §9 = what survives; §10 = three
exits; §11 = stop condition: do not write analysis document #9 (see §6 below).roadmap-v1-v2-2026-07-06.md — the last analysis
(#9 of 9), schedule of record, authored on explicit owner instruction overriding
§11. Its §4 kill-checkpoint table (KC-0…KC-5, default-death) supersedes red-team
§10’s open exit choice; its §8 hardens the analysis freeze. Subordinate to
best-path on strategy and the dev-plan on WP content; authoritative on dates,
checkpoints and scope boundaries once Ivan signs its two §8 lines.Post-freeze records (added after this snapshot; not analyses — permitted by roadmap §8):
phase0-verdict.md — the WP-S7 GO/NO-GO verdict record
(2026-07-10): the Phase-0 spike executed end-to-end against a hostile 5-session /
224-agent corpus → CONDITIONAL GO ~90%; all numbers self-check / PROVISIONAL
until Ivan hand-fills the five LABEL-ME.md trees.parser-spec.md — the normative parser contract distilled from the
verdict (the 14-item gate, four structural join paths, token→cost rules). For any
parser/ingest question this is now the most-current authority; it supersedes the
11-item framing embedded in older docs. Implemented since 2026-08-15 — see its §3
(14 of 14 implemented, 11 exercised by the real corpus).
impl-review-2026-08-09.md — owner-ordered review of the
shipped implementation at 2f8d103 (2026-08-09): ten dimensions, CONFIRMED / PLAUSIBLE /
UNVERIFIED-LOW verdicts; a review record, not design-analysis #10.closing-plan-2026-09-08.md — the closing plan
(2026-09-08): what “100%” means (v1.0.0 tagged by KC-4, every RELEASE.md box
ticked), where the last 15% sits, the decision batch D1…D8 for Ivan, and five dated
waves to the tag. TODO.md’s Closing board mirrors its lanes; for “what is left”
questions this is now the most-current authority.Decided and consistent corpus-wide:
security posture (loopback-only · no browser-driven spawner · mandatory DASHBOARD_TOKEN
timingSafeEqual · same-origin SSE · no SSRF · tunnel-only remote · WAL + tested
backups) · tokens read from JSONL, never inferred · every dollar = tokens × dated price ·
agents/subagents first-class with self-referential parent_agent_id · greenfield ·
events_raw append-only substrate + deterministic projection (CD-2/CD-4) · SSE transport
(CD-5) · spawn keying on Agent/Workflow, never Task + dual layout by directory
shape + child-transcript token summation (probe, propagated 07-06).Effectively decided but formally unsigned (Gate A open):
CD-1…CD-10, LB1 (JSONL-primary ingest), LB2 (personal-first/commercial-clean), and the
stack: Fastify + TypeBox · better-sqlite3 (single driver) · React/Vite/D3 · pnpm monorepo
(apps/server, apps/web, packages/shared, packages/core, packages/test-fixtures,
hooks/) · Node 22.
Ruled and applied 2026-07-06 (was the biggest debt — corpus-audit AMEND-1…6):
best-path §6 is now materialized in development-plan.md (§2b lists every edit),
concept-analysis-v2.md (CD-9 dual-driver struck) and TODO.md: alerts off the v1.0
critical path (Phases 5–6 → post-1.0); WP-A8/A9 cut, A10 kept; WP-X11 deleted;
single better-sqlite3 driver in WP-D2; WP-S1 slimmed / WP-S4 demoted to liveness-only;
packages/core in the WP-F1 scaffold.
Scheduled with teeth (2026-07-06, pending Ivan’s two-line signature — roadmap §8):
the KC-0…KC-5 kill-checkpoint calendar (roadmap §4, mirrored at the top of TODO.md),
the 63-WP v1.0 committed path with per-phase dates + descope ladder + forbidden
descopes (roadmap §5, Exit B absorbed into Phase 0 inside CD-8), and the KC-5-gated
v2.0 alerts track (roadmap §6). Until signed, the dates are décor by the document’s own
admission — but the analysis freeze (roadmap §8) binds sessions immediately: it was
authored on the owner’s explicit order and only his explicit chat instruction overrides it.
Open with no owner (OPEN-1…9, corpus-audit §4.2): retention-TTL vs events_raw
immutability (recommended: projection-only deletes + segment archival) · 'unknown'
missing from agents.status CHECK · redaction Phase 1-vs-2 · browser token transport ·
hook-POST auth mechanism · pricing data source · app port · define-or-drop “OPCⁿ”.
(OPEN-8, the ≥90/>90 coverage boundary, was closed 2026-07-06: the bar is >90%,
per Ivan’s standing delivery bar; normalized corpus-wide.)
Formerly-stale files, all fixed 2026-07-06 — a fresh session can now take them at
face value: project CLAUDE.md (stack-decided wording + SSE — PROC-2; the
do-not-scaffold rule remains binding), root README.md (rewritten JSONL-primary —
PROC-1), docs/due-diligence/recommendation.md (supersession banner — PROC-7),
docs/DOCS-PLAN.md §5 X11 line (AMEND-3).
Nothing below can be decided by an agent. As of 2026-07-06 Ivan owes the project exactly one choice; until he makes it, the correct agent behavior is §6.
TODO.md top): sign CD-1…CD-10 + LB1/LB2, or defer with a
dated note. Unsigned since 07-04 while 13 site ADRs already say “accepted” — the
governance gap the red-team calls fiction. The roadmap sets a deadline: sign by
2026-07-13 (KC-0) or archive by default.roadmap-v1-v2-2026-07-06.md):
Exit B’s two-week timebox is absorbed into Phase 0 inside CD-8 (the throwaway
DAG-with-dollars render is now the fused S5+S6 deliverable, so CD-8 is not bent);
Exit A becomes the automatic on-failure branch of every checkpoint; Exit C is
eliminated by KC-0’s 2026-07-13 deadline.rm -rf
from gone. Committing requires Ivan’s explicit ask — see playbook below..git/info/exclude covers CLAUDE.md, CLAUDE.local.md,
WORKLOG.md, .claude/, docs/ai/, due-diligence/*.docx, .DS_Store; then commit
the publishable set (README.md, TODO.md, DONE.md, docs/analysis/,
docs/due-diligence/, docs/site/, docs/DOCS-PLAN.md,
docs/independent-due-diligence.md). English commit messages, no AI attribution,
never push unless asked separately.TODO.md: one lane = one agent = the listed path
ownership; lanes in a wave are disjoint by construction; TODO.md, DONE.md,
WORKLOG.md, this file and CLAUDE.md are orchestrator-only — lane agents return
reports, the orchestrator writes the trackers.TODO.md with a date (Gate A + the
KC schedule can be one act — roadmap §8); record the friction-log start date; Phase-0
WPs (S1, S4–S7; S2/S3 pre-answered) become the only actionable work, with the WP-S7
verdict due 2026-07-27 (KC-1) and the Wave-3 joint THROWAWAY DAG-with-dollars
render as a KC-1 stay-alive condition.TODO.md Phase-0 waves as written; the probe’s 11-item parser gate is the spec;
day 14 = WP-S7 = KC-1.git-resets or rms
anything — “archive” is Ivan’s manual act; your job is the honest report. Only
Ivan’s explicit instruction in chat overrides a default.package.json/src/ → moot since 2026-07-11: the owner’s
CD-8 override created the monorepo (six package.json at 0.3.0, apps/*/src,
packages/*/src); route such requests to the Closing board in TODO.md.Session rules that bind you regardless of the ask: chat with Ivan in Bulgarian; everything in the repo in English; never commit/push unasked; git-excluded files stay excluded; WORKLOG entry per meaningful task; run typecheck/lint/tests once code exists and report real results; the security invariants in §4 are non-negotiable in any code you ever write here.
The 2026-07-06 session delivered its analyses in Bulgarian in chat (ephemeral) and
persisted everything substantive in English: the fair audit → corpus-audit-2026-07-06.md,
the merciless pass → red-team-audit-2026-07-06.md, the narrative → WORKLOG.md
(2026-07-06 entries), the milestone log → DONE.md. The three subagent sweeps behind the
audit (44-page site digest; docx source-vs-digest diff; 33-decision consistency ledger)
were session-scratchpad work — their conclusions are fully folded into the audit’s §5,
§6 and appendices; no external artifact needs recovering. Nothing was committed; nothing
in the plan of record was altered by the audits themselves except: the two audit files,
this file, index/staleness fixes in README.md, and the DONE.md/
WORKLOG.md entries.