Skip to content

Commit d64fcb9

Browse files
committed
docs(truth): reconcile roadmap docs that lagged the shipped code
Verified every roadmap item against code at HEAD (grep/reads plus running prove_update_platform.py, audit_test_quality.py, validate_wiring.py, and the flagship approval tests) before editing. The decomposed backlog and the harness-first task set are finished in code; the docs trailed reality in three places, now corrected: - work-log/task-004-blocked-2026-06-13.md: added a RESOLVED banner. The scoped-approval CLI shipped as `--approve-scoped TOOL:SHA256` (preapproved_payload_digests) and call-id preapproval was removed (G-P2-2; policy.py:46 kept inert), so the flagship surfaces already run the non-deprecated path (test_first_hour_e2e_flow.py:205, test_five_minute_proof_flow.py:222/332, five-minute-proof-demo.sh:240) and 18 approval/flagship tests pass. The pre-run scoped-approval CLI that doc waited on is therefore unnecessary. - roadmap-status.md packaging row: replaced the stale "no owner-platform proof yet" with the reproducible single-platform update proof (scripts/prove_update_platform.py emits artifact_sha256/delta_sha256/rollback_ok; ran green 2026-07-01). Status left "Partially fixed -- unwired" because update/* still has no CLI surface. The proof's JSON output is a regenerated, machine-local artifact and is not committed. - backlog-priority.md: TASK-002/003/004/006 provenance rows moved off "Promote" to Done with evidence. Added work-log/roadmap-verification-2026-07-01.md recording the full enumeration with an evidence-vs-attribution boundary and the held/external remainder (cloud GTM, RBAC enforce flip, live-model eval gate, non-maintainer sessions). Also regenerated the docs inventories and the OKF catalog bundle for roadmap-status. No code or behavior change. Action: G-P2-8 Constraint: docs-only truth corrections; each status verified against code before editing; held/external items left untouched; constitution-tier positioning (TASK-001) and the 650->663 acceptance count left for Human Review Tested: validate_docs_consistency.py passes (29/29 risk, 21/21 ticket, consistency passed); docs + OKF bundles regenerated; 18 approval/flagship tests pass; prove_update_platform.py and validate_wiring.py green Confidence: high
1 parent ae466c5 commit d64fcb9

8 files changed

Lines changed: 128 additions & 16 deletions

File tree

docs/backlog-priority.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ DR-001 (owner friction evidence) completes.
3232
| CP-6 Community Presence | `legacy-competitive` | **Hold** — external acquisition non-goal |
3333
| M4 cloud/background/control-plane cockpit | `legacy-competitive` | **Hold except DR-006 carve-out** — background lifecycle + operator cockpit may proceed under owner-override co-maintainer dogfood; cloud/SaaS/multi-tenant GTM held (T4 owner decision) |
3434
| RBAC enforce flip (ADR 0031, 2026-09-12) | `governance-gap` | **Hold** until owner demand signal |
35-
| TASK-006 RunEvent taxonomy + M0 | `harness-migration` | **Promote** |
35+
| TASK-006 RunEvent taxonomy + M0 | `harness-migration` | **Done** — ADR-0032 run-event taxonomy; `teaagent/runner/_events.py` spine + audit dual-write (M0–M7 in work-log) |
3636
| TASK-001 constitution repositioning | `owner-override` | **Promote** (harness-first ratified) |
37-
| TASK-002 docs tiering | `harness-migration` | **Promote** |
38-
| TASK-003 test typing pass | `harness-migration` | **Promote** |
39-
| TASK-004 flagship tests off deprecated approval | `governance-gap` | **Promote** |
37+
| TASK-002 docs tiering | `harness-migration` | **Done** — tier column in `docs/generated/docs-inventory.md` + aging dashboard; `check-docs-inventory` pre-commit regen |
38+
| TASK-003 test typing pass | `harness-migration` | **Done** — all 586 test files typed (contract/behavior/adversarial/lifecycle) per `scripts/audit_test_quality.py` |
39+
| TASK-004 flagship tests off deprecated approval | `governance-gap` | **Done (2026-07-01)** — G-P2-2 removed call-id preapproval; flagship uses `--approve-scoped`; see `work-log/task-004-blocked-2026-06-13.md` resolution |
4040
| TASK-007 friction log bootstrap | `friction-driven` | **Met (2026-06-22)** — 5/5 owner evidence entries (F2/F3/F6/F7/F8); DR-001 7b satisfied |
4141
| Phase 4–6 Beta (consensus, sandbox, control plane) | `owner-override` | Shipped; **freeze** new platform surface per T3/T4 |
4242
| Competitive refresh release gate | `legacy-competitive` | **Resolved (DR-006 T5):** split gate — CI blocks on `main`; manual survey quarterly |

docs/generated/docs-aging-dashboard.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
**Stale threshold:** 90 days since `Last reviewed`
66
**Current-truth docs scanned:** 17
7-
**Needs attention (working tier only):** 13
7+
**Needs attention (working tier only):** 14
88
**Archive-tier docs (exempt from staleness):** 0
99

1010
Regenerate: `python3 scripts/report_docs_aging.py`
@@ -63,6 +63,12 @@ Regenerate: `python3 scripts/report_docs_aging.py`
6363
| --- | --- | --- | --- | --- |
6464
| `docs/roadmap-status.md` | stale_by_mtime | 2026-06-28 | 2026-07-01 | File modified after last reviewed date |
6565

66+
### strategy
67+
68+
| Document | Status | Last reviewed | File mtime | Notes |
69+
| --- | --- | --- | --- | --- |
70+
| `docs/backlog-priority.md` | stale_by_mtime | 2026-06-28 | 2026-07-01 | Missing owner banner; File modified after last reviewed date |
71+
6672
### verification
6773

6874
| Document | Status | Last reviewed | File mtime | Notes |

docs/generated/docs-inventory.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
Generated by `python3 scripts/generate_docs_inventory.py`.
77
Do not edit this file manually — regenerate instead.
88

9-
**Markdown files:** 618
9+
**Markdown files:** 619
1010

1111
| Path | Tier | Bytes | SHA256 (12) |
1212
| --- | --- | ---: | --- |
@@ -192,7 +192,7 @@ Do not edit this file manually — regenerate instead.
192192
| `architecture/seven-control-loops-teaagent-integration-map-2026-06-05.md` | archive | 9282 | `6d85e832f8eb` |
193193
| `archive/INDEX.md` | working | 8774 | `1efa1af575f5` |
194194
| `audit-events.md` | working | 2376 | `b83066076fba` |
195-
| `backlog-priority.md` | working | 32338 | `4fcd06c4782f` |
195+
| `backlog-priority.md` | working | 32799 | `09d6a0cbdd35` |
196196
| `cli.md` | working | 36516 | `c38d3a5e9907` |
197197
| `cloud-deployment.md` | working | 9431 | `50f6461a2077` |
198198
| `context-bus-and-federated-sync.md` | working | 1564 | `2dde6eed4bf8` |
@@ -240,7 +240,7 @@ Do not edit this file manually — regenerate instead.
240240
| `error-reference.md` | working | 4897 | `067448aba6f1` |
241241
| `gateway-oauth-tenants.md` | working | 1818 | `0ff9c7df4652` |
242242
| `generated/command-snippet-inventory.md` | working | 8128 | `e6e24d7fb469` |
243-
| `generated/docs-aging-dashboard.md` | working | 4995 | `6b1cc99575f5` |
243+
| `generated/docs-aging-dashboard.md` | working | 5238 | `49ea3dc2cf19` |
244244
| `generated/release-docs-evidence.md` | working | 2517 | `e28e92734209` |
245245
| `governance-compliance.md` | constitution | 1645 | `d7665f2f7864` |
246246
| `governance/code-review-checklist.md` | working | 4379 | `f580da208c75` |
@@ -524,7 +524,7 @@ Do not edit this file manually — regenerate instead.
524524
| `retrospective/03-architecture-quality.md` | working | 27525 | `fd28fdd70665` |
525525
| `retrospective/04-ux-usability.md` | working | 26253 | `a9350bc35c4b` |
526526
| `retrospective/05-compliance-matrix.md` | working | 8285 | `cd2568b5eddb` |
527-
| `retrospective/06-action-register.md` | working | 35782 | `a90fb37388cb` |
527+
| `retrospective/06-action-register.md` | working | 36593 | `439d0f9d1d45` |
528528
| `retrospective/automation-plan.md` | working | 18716 | `0e0027c4b1c5` |
529529
| `retrospective/README.md` | working | 8718 | `d93f2a71f6b3` |
530530
| `retrospective/review-system.md` | working | 15180 | `61db6643e4aa` |
@@ -544,7 +544,7 @@ Do not edit this file manually — regenerate instead.
544544
| `reviews/sec09-sec15-multisig-hardening-risk.md` | working | 11076 | `ae895567bb02` |
545545
| `reviews/security-risk-assessment-2026-06-02.md` | archive | 24112 | `4c9e2e00d001` |
546546
| `reviews/seven-control-loops-critical-questioning-2026-06-05.md` | archive | 7531 | `ae1e34b8369d` |
547-
| `roadmap-status.md` | constitution | 21486 | `e1b23db6f22d` |
547+
| `roadmap-status.md` | constitution | 21815 | `873dffb90a38` |
548548
| `run-evidence-and-audit-guide.md` | working | 2158 | `9c369d008852` |
549549
| `security-whitepaper.md` | working | 9690 | `87fc3c31c4a3` |
550550
| `security/approval-abuse-cases-2026-06-02.md` | archive | 1281 | `4c43296d1c66` |
@@ -626,5 +626,6 @@ Do not edit this file manually — regenerate instead.
626626
| `work-log/parallel-phase-0-implementation-report-2026-06-04.md` | archive | 13181 | `098186167459` |
627627
| `work-log/phase-0-governance-closure-report-2026-06-04.md` | archive | 4309 | `2af44267aaf4` |
628628
| `work-log/phase-0-priority-work-items-2026-06-04.md` | archive | 9641 | `36307202b4b0` |
629+
| `work-log/roadmap-verification-2026-07-01.md` | archive | 6341 | `719ffffcebbf` |
629630
| `work-log/roadmap-work-items-2026-06-04.md` | archive | 11100 | `1aad741689cb` |
630-
| `work-log/task-004-blocked-2026-06-13.md` | archive | 2739 | `9fe52578158c` |
631+
| `work-log/task-004-blocked-2026-06-13.md` | archive | 3674 | `481100c8ee77` |

docs/retrospective/06-action-register.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Legend: ✅ Done (committed) · 🟡 In progress · ⬜ Not started · 🔵 Alre
6464
| G-P2-5 | Governance | Make `max_skill_md_lines` an error for installed (candidate-provenance) skills; keep it a warning during development. | `teaagent/skill_review.py:187-193` | Error/warning split by provenance. || Candidate-provenance installed skills receive an error; development skills receive a warning; `tests/test_skill_review_installed_strictness.py` |
6565
| G-P2-6 | Governance | Ratify the shell-mutation reversibility boundary for SEC-11 in an ADR: decide the two-tier undo model and the explicit out-of-scope external-effect non-goal. | `docs/adr/0042-shell-mutation-reversibility-boundary.md`; `docs/adr/README.md` | ADR-0042 accepted; SEC-11 register row cites it; two-tier model (`GitBranchSandbox` transactional rollback for in-worktree; disclosed `UndoJournal` fallback) documented; external effects declared out of scope by design. || This session — ADR-0042 authored; SEC-11 boundary decided and cross-referenced; no code change (decision record). |
6666
| G-P2-7 | Governance | Reconcile docs-truth drift surfaced by the origins/dormant-surfaces analysis: correct the README documented-but-uncalled claims (D1–D6) and the invalid audit/hook surfaces in user-facing guides (§3c). | `README.md`; `docs/cli.md`; `docs/api/integration-guide.md`; `docs/onboarding-security-engineers.md`; `docs/onboarding-ml-researchers.md`; `docs/governance/trust-and-audit-whitepaper.md`; `docs/guides/getting-started-{security-reviewer,team-operator}.md` | README claims match code (failure warnings on-demand not auto-injected; TUI-only pin refresh; false pin-count indicator removed; static-analysis not LSP; post-run not pre-commit; RAG archive is a helper, not auto-invoked); guides use the real audit CLI (`audit export <run_id>`, `audit verify --root .`, no `analyze`/`archive`) and the real hooks API (`register_pre_hook`/`register_post_hook`, `HookEvent` names). D7 (constitution-tier 650→663) deferred to Human Review. | ✅ | This session — verified each claim against code (`get_failure_warnings`/`archive_to_rag`/`ValidationRunner` uncalled; `_prompt()` has no pin count; real `audit` subcommands; `hooks.py` API) then corrected 8 files. |
67+
| G-P2-8 | Governance | Reconcile roadmap docs that lagged the code: resolve the stale TASK-004 "blocked" work-log, correct the H6 "no update proof" exit-evidence, and move done TASK provenance rows off "Promote". | `docs/work-log/task-004-blocked-2026-06-13.md`; `docs/roadmap-status.md`; `docs/backlog-priority.md`; `docs/work-log/roadmap-verification-2026-07-01.md` | task-004-blocked carries a RESOLVED banner (G-P2-2 shipped `--approve-scoped`; flagship migrated, 18 tests pass); H6 exit-evidence cites the verified single-platform update proof; TASK-002/003/004/006 rows read Done; a dated verification note records the full enumeration. || This session — each status verified against code (grep/reads, `prove_update_platform.py`, `audit_test_quality.py`, flagship tests) before editing. |
6768
| A-P2-1 | Architecture | Consolidate optional-extra aliases: fold `crypto`/`oauth`/`audit-encryption` into a single `crypto` extra. | `pyproject.toml:60-68` | Single `crypto` extra, aliases removed. || `pyproject.toml` exposes one `crypto` extra; obsolete aliases are absent |
6869
| A-P2-2 | Architecture | Split CLI handler god modules: `_ergonomics.py:1407`, `_doctor.py:1022`, `_agent/run.py:999`, `chat_repl.py:894`. | As listed | Each module under 800 lines. || `_doctor`/`_ergonomics`/`_agent/run.py` split; `chat_repl.py` (906) eliminated by retiring it (U-P2-1); `_ergonomics/approval.py` (1,014) split — extracted `approval_doctor_command``_approval_doctor.py` (306) and `approval_preset_command``_approval_preset.py` (168), leaving `approval.py` at 567. `check_god_modules` clean at threshold 800. |
6970
| A-P2-3 | Architecture | Expand property-based testing with Hypothesis strategies for permission-mode transitions, budget enforcement, approval-hash exactness, and audit-chain invariants. | `tests/` | Hypothesis tests exist for the four areas. || All four invariant families are covered in `tests/test_hypothesis_invariants.py` |
@@ -83,14 +84,14 @@ Legend: ✅ Done (committed) · 🟡 In progress · ⬜ Not started · 🔵 Alre
8384
| --- | --- | --- |
8485
| P0 | 8 | Security 3, Architecture 2, UX 2, Governance 1 |
8586
| P1 | 18 | Security 4, Governance 3, Architecture 5, UX 6 (including cross-dimensional items) |
86-
| P2 | 30 | Security 11, Governance 7, Architecture 7, UX 5 |
87-
| **Total** | **56** | |
87+
| P2 | 31 | Security 11, Governance 8, Architecture 7, UX 5 |
88+
| **Total** | **57** | |
8889

8990
### Status Summary
9091

9192
| Status | Count | Items |
9293
| --- | --- | --- |
93-
| ✅ Done (verified) | 52 | S-P0-1, S-P0-2, S-P0-3, A-P0-1, A-P0-2, U-P0-1, U-P0-2, G-P0-1; S-P1-1, S-P1-2, S-P1-3, S-P1-4, G-P1-1, G-P1-2, G-P1-3, A-P1-1, A-P1-2, A-P1-3, A-P1-4, A-P1-5, U-P1-1, U-P1-2, U-P1-3, U-P1-4, U-P1-5, U-P1-6; S-P2-1, S-P2-4, S-P2-5, S-P2-6, S-P2-7, S-P2-8, S-P2-9, S-P2-10, S-P2-11, G-P2-1, G-P2-2, G-P2-3, G-P2-5, G-P2-6, G-P2-7, A-P2-1, A-P2-2, A-P2-3, A-P2-5, A-P2-6, A-P2-7, U-P2-1, U-P2-2, U-P2-3, U-P2-4, U-P2-5 |
94+
| ✅ Done (verified) | 53 | S-P0-1, S-P0-2, S-P0-3, A-P0-1, A-P0-2, U-P0-1, U-P0-2, G-P0-1; S-P1-1, S-P1-2, S-P1-3, S-P1-4, G-P1-1, G-P1-2, G-P1-3, A-P1-1, A-P1-2, A-P1-3, A-P1-4, A-P1-5, U-P1-1, U-P1-2, U-P1-3, U-P1-4, U-P1-5, U-P1-6; S-P2-1, S-P2-4, S-P2-5, S-P2-6, S-P2-7, S-P2-8, S-P2-9, S-P2-10, S-P2-11, G-P2-1, G-P2-2, G-P2-3, G-P2-5, G-P2-6, G-P2-7, G-P2-8, A-P2-1, A-P2-2, A-P2-3, A-P2-5, A-P2-6, A-P2-7, U-P2-1, U-P2-2, U-P2-3, U-P2-4, U-P2-5 |
9495
| 🟡 In progress | 0 ||
9596
| ⬜ Not started | 0 ||
9697
| 🔵 Already existed | 4 | S-P2-2, S-P2-3, G-P2-4, A-P2-4 |

docs/roadmap-status.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Provide a single source of truth for roadmap item status, ownership, confidence,
3333
| H3 | Ecosystem trust | MCP, plugins, skills, hooks, subagents, and automations are explainable, revocable, and testable for the owner-operator | TBD | Partially fixed — M3 tests pass | Medium | WDC-002 | M3 acceptance complete; owner-operator trust onboarding simplification still open |
3434
| H4 | Durable owner/agent operations | Long-running owner-operator and co-maintainer-agent workflows have durable execution, control-plane views, policy, audit, and cost attribution | TBD | Partially fixed — shadow wired | Low | WDA-004 | Policy/RBAC shadow-wired (WDA-002/003); consensus deferred (ADR 0029); shadow mode exit criteria defined (ADR 0031, expiry 2026-09-12) |
3535
| H5 | Quality and eval loop | Prompt/runtime/model changes cannot silently degrade daily outcomes | TBD | Partially fixed — release gate wired | Low | WDA-005 | Release eval gate in CI (WDA-004/WDD-001); offline conversational corpus; deterministic repo-map fixture corpus with critical-category coverage guard; default no-model gate remains advisory |
36-
| H6 | Owner packaging and local distribution | Desktop/client-server and local release channels have supply-chain, update, rollback, and support plans for owner-operated use | TBD | Partially fixed — unwired | Low | WDA-005 | `update/*` package implemented but unwired; no owner-platform proof yet |
36+
| H6 | Owner packaging and local distribution | Desktop/client-server and local release channels have supply-chain, update, rollback, and support plans for owner-operated use | TBD | Partially fixed — unwired | Low | WDA-005 | Single-platform update proof is reproducible via `scripts/prove_update_platform.py` — emits `artifact_sha256`, `delta_sha256`, and `rollback_ok` for a from→to upgrade (ran green 2026-07-01; its JSON output is a regenerated, machine-local artifact, not committed). `update/*` remains intentionally not CLI-wired (no `teaagent update` daily surface); no desktop packaging / session-attach proof yet |
3737

3838
## Milestones
3939

0 commit comments

Comments
 (0)