Skip to content

Commit 78f179a

Browse files
committed
Make governance promises executable and visible
This binds docs, runtime receipts and progress summaries, integration contracts, approval coordination, plugin governance, audit surfaces, and user workflow evidence to executable checks. Constraint: Existing staged work covered broad docs, scripts, runtime, and tests; kept fixes scoped to validation blockers. Rejected: Reverting stricter plugin and symlink behavior | WS3/WS5 contracts establish those as security boundaries. Confidence: high Scope-risk: broad Directive: Keep optional signing dependencies failure-tolerant so unrelated CLI commands can boot. Tested: python3 -m ruff check .; python3 -m ruff format --check .; python3 -m mypy teaagent/; python3 -m pytest -q; python3 scripts/validate_docs_consistency.py; python3 scripts/detect_stale_plans.py; python3 scripts/refresh_competitive_docs.py --check; python3 scripts/audit_test_quality.py --fail-on severe; teaagent tool lint --root .; teaagent selftest --root .; python3 scripts/run_acceptance_tier.py --tier all; git diff --cached --check Not-tested: Live provider/API smoke tests and real Sigstore signing; local Python 3.11 sigstore import fails against cryptography and is now treated as an optional unavailable dependency.
1 parent b0b3054 commit 78f179a

129 files changed

Lines changed: 8518 additions & 322 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,26 @@
11
# TeaAgent
22

3+
> **Last reviewed:** 2026-06-06
4+
> **Review trigger:** README feature claims, golden path, or provider count changes.
5+
36
Governance-first agent harness for autonomous coding tasks. Thin orchestration layer with tool governance, state boundaries, audit logging, and destructive-tool approval.
47

8+
**TeaAgent is not** a generic IDE agent clone or hosted cloud delegate. It is a local-first harness you operate — with explicit permission modes, hash-chained audit logs, and verification commands a security reviewer can run. See [When Not to Use TeaAgent](docs/guides/when-not-to-use-teaagent.md) for honest non-fit cases.
9+
10+
## Governance-first harness
11+
12+
| Pillar | What you get |
13+
| --- | --- |
14+
| **Permission matrix** | `read-only``workspace-write``prompt``allow` — not binary on/off |
15+
| **Audit trail** | Append-only JSONL per run, hash-chained, exportable for compliance review |
16+
| **Bounded runs** | Hard caps on iterations, tool calls, and estimated cost |
17+
| **Human gates** | Destructive tools require approval; subagent queues are durable and inspectable |
18+
| **Verify, don't trust** | `teaagent audit verify`, `doctor config-lint`, run receipts with audit health |
19+
20+
Trust model: [Trust and Audit Whitepaper](docs/governance/trust-and-audit-whitepaper.md). Enterprise NIST mapping: [Security Whitepaper](docs/security-whitepaper.md).
21+
22+
**Start by persona:** [Solo CLI](docs/guides/getting-started-solo-cli.md) · [Team operator](docs/guides/getting-started-team-operator.md) · [Tool/plugin author](docs/guides/getting-started-tool-plugin-author.md) · [Security reviewer](docs/guides/getting-started-security-reviewer.md)
23+
524
## What makes it different
625

726
| Feature | TeaAgent | Most agents |
@@ -12,7 +31,7 @@ Governance-first agent harness for autonomous coding tasks. Thin orchestration l
1231
| Cost cap | ✅ hard budget via `--max-estimated-cost-cents` | ❌ surprise bills |
1332
| Model/provider choice | ✅ multiple adapters | ❌ vendor locked |
1433

15-
Enterprise evaluation artifact: `docs/security-whitepaper.md`.
34+
Enterprise evaluation artifact: [Trust and Audit Whitepaper](docs/governance/trust-and-audit-whitepaper.md) (NIST detail: [Security Whitepaper](docs/security-whitepaper.md)).
1635

1736
## Golden path (first hour)
1837

docs/INDEX.md

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# TeaAgent Documentation Index
22
# 2026-06-06
33

4+
> **Last reviewed:** 2026-06-06
5+
> **Review trigger:** New front-door docs, supersession links, or validation command changes.
6+
47
This is the curated front door for TeaAgent documentation. It is intentionally
58
not an exhaustive file list. Use it to find the current source of truth, then
69
follow dated evidence documents only when you need the reasoning trail.
@@ -14,6 +17,27 @@ follow dated evidence documents only when you need the reasoning trail.
1417
| What is the documentation operating model? | [Documentation Operating Model](governance/documentation-operating-model-2026-06-04.md) | Governance rulebook for claim types, TTL, owners, supersession, and CI guard targets. |
1518
| What should be done next? | [Documentation Optimization Master Plan](plans/documentation-optimization-master-plan-2026-06-04.md) | Execution plan for reducing drift and improving discoverability. |
1619
| What are the concrete work items? | [Documentation Optimization Work Items](work-log/documentation-optimization-work-items-2026-06-04.md) | Task ledger with priority, status, dependencies, and acceptance criteria. |
20+
| Exhaustive docs inventory (generated) | [Docs Inventory](generated/docs-inventory.md) | Deterministic catalog; not current truth — use this index table first. |
21+
| Documentation aging dashboard (generated) | [Docs Aging Dashboard](generated/docs-aging-dashboard.md) | Current-truth review freshness grouped by owner surface. |
22+
| Command snippet inventory (generated) | [Command Snippet Inventory](generated/command-snippet-inventory.md) | Guide command coverage vs smoke/manual registry. |
23+
24+
## Status vocabulary
25+
26+
Active indexes and work-item ledgers use the canonical states in
27+
[Document State Model](governance/document-state-model.md). When updating a
28+
ledger row, map legacy labels instead of introducing new synonyms:
29+
30+
| Legacy label | Canonical state |
31+
| --- | --- |
32+
| OPEN | Active |
33+
| DONE / Complete / Closed | Fixed |
34+
| Pending | Proposed |
35+
| In Progress | Active |
36+
| PARTIAL | Partially fixed |
37+
| Stale | Superseded |
38+
39+
Roadmap tables may keep horizon-specific wording (`In Progress`, `Pending`) but
40+
governance ledgers should prefer the canonical set above.
1741

1842
## Current Truth
1943

@@ -36,8 +60,9 @@ follow dated evidence documents only when you need the reasoning trail.
3660
| June 4 total review | [Total Review Index](analysis/total-review-2026-06-04-INDEX.md) |
3761
| June 4 documentation critique | [Documentation Critical Questioning](reviews/documentation-critical-questioning-2026-06-04.md) |
3862
| June 1 daily-driver review package | [Daily-Driver Review Package Index](analysis/daily-driver-review-INDEX-2026-06-01.md) |
63+
| Active daily-driver finding closure | [Active Findings Status Ledger](analysis/active-findings-status-ledger-2026-06-06.md) |
3964
| Markdown governance review | [Markdown Status Review](analysis/markdown-status-review-2026-06-02.md) |
40-
| Competitor signal survey | [Competitor Signal Survey](analysis/competitor-signal-survey-2026-06-04.md) |
65+
| Competitor signal survey | [Competitor Signal Survey](analysis/competitor-signal-survey-2026-06-06.md) (June 4 snapshot: [2026-06-04](analysis/competitor-signal-survey-2026-06-04.md)) |
4166
| Product principles | [TeaAgent Product Principles](strategy/teaagent-product-principles-2026-06-04.md) |
4267
| Dynamic skill and long-result audit | [Dynamic Skill Generation And Long Result Audit](analysis/dynamic-skill-generation-and-long-result-audit-2026-06-05.md) |
4368
| RSS dynamic skill failure case study | [RSS Dynamic Skill Failure Case Study](analysis/rss-failure-case-study-2026-06-05.md) |
@@ -71,7 +96,9 @@ follow dated evidence documents only when you need the reasoning trail.
7196
| Post-fix re-audit | [Postfix Reaudit Process](processes/postfix-reaudit-process.md) |
7297
| Daily-driver verification | [Daily-Driver Verification](processes/daily-driver-verification.md) |
7398
| Daily-driver manual QA smoke | [Daily-Driver Manual QA Smoke](processes/daily-driver-manual-qa-smoke.md) |
74-
| Quarterly competitor refresh | [Release Checklist](release-checklist.md) |
99+
| Quarterly competitor refresh | [Quarterly Competitor Refresh Process](processes/quarterly-competitor-refresh.md) · [Release Checklist](release-checklist.md) |
100+
| Trust and audit whitepaper | [Trust and Audit Whitepaper](governance/trust-and-audit-whitepaper.md) |
101+
| When not to use TeaAgent | [When Not to Use TeaAgent](guides/when-not-to-use-teaagent.md) |
75102

76103
## Governance
77104

@@ -83,6 +110,8 @@ follow dated evidence documents only when you need the reasoning trail.
83110
| [Documentation Taxonomy And Ownership](governance/doc-taxonomy-and-ownership.md) | Where each document type belongs and who owns it. |
84111
| [Documentation Maintenance Policy](governance/doc-maintenance-policy-2026-06-02.md) | Short policy for adding, updating, and validating docs. |
85112
| [Documentation Operating Model](governance/documentation-operating-model-2026-06-04.md) | Practical rules for claim classes, freshness windows, source-of-truth conflicts, and CI guard scope. |
113+
| [Documentation Audit Cadence](governance/documentation-audit-cadence-2026-06-06.md) | When to run docs gates and which evidence artifacts to keep. |
114+
| [Command Snippet Registry](governance/command-snippet-registry.md) | Smoke vs manual coverage for high-value guide commands. |
86115
| [Coverage Omit Ledger](governance/coverage-omit-ledger.md) | Governance ledger for files and directories omitted from test coverage reporting. |
87116
| [Architecture Decision Records](adr/README.md) | Index of ADRs and their current accepted/closed states. |
88117

@@ -140,6 +169,7 @@ for current status.
140169
| Surface | Documentation |
141170
| --- | --- |
142171
| CLI | [CLI](cli.md) and [USAGE](USAGE.md) |
172+
| Conversation UX | [Chat Surface Semantics](guides/chat-surface-semantics.md) and [Background/Resume Vocabulary](guides/background-resume-vocabulary.md) |
143173
| TUI | [TUI Daily-Driver Guide](tui-daily-driver-guide.md) and [TUI Chat Reference](tui-chat-reference.md) |
144174
| Agent mode | [Agent Mode Operator Guide](agent-mode-operator-guide.md) |
145175
| APIs | [API Index](api/README.md) |

docs/USAGE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ last_audit: 2026-06-01
77
---
88
# TeaAgent Quick Start Guide
99

10+
> **Last reviewed:** 2026-06-06
11+
> **Review trigger:** CLI/TUI command behavior, permission modes, or surface recipes change.
12+
1013
A beginner-friendly walkthrough from installation to your first agent run and chat session.
1114

1215
**Docs map:** This file is the guided walkthrough. [README.md](../README.md) is the short golden path. [cli.md](cli.md) is the command reference.

docs/acceptance.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
# Acceptance Coverage
22

3-
**Last reviewed:** 2026-06-05
3+
> **Claim class:** Current truth for acceptance/integration test inventory and count.
4+
>
5+
> **Owns:** How to run acceptance tests and the current passed-count guard target.
6+
>
7+
> **Does not own:** Full-suite CI results (see dated evidence) or roadmap priorities.
8+
>
9+
> **Review trigger:** Acceptance test inventory or count changes.
10+
> **Last reviewed:** 2026-06-06
411
512
TeaAgent acceptance tests live under `tests/acceptance/` and verify
613
user-facing workflows rather than isolated primitives. Integration tests live
@@ -23,7 +30,7 @@ acceptance flow writes the user TUI state file. In sandboxed environments, run
2330
them with permission to bind localhost ports and write the TeaAgent state
2431
directory.
2532

26-
**Current acceptance test count: `442 passed`** (P0+P1+P2 streams finalized)
33+
**Current acceptance test count: `446 passed`** (P0+P1+P2 streams finalized)
2734

2835
## Acceptance Flows
2936

@@ -143,7 +150,7 @@ directory.
143150

144151
## Current Status
145152

146-
Acceptance collection currently reports `442` acceptance tests, matching the
153+
Acceptance collection currently reports `446` acceptance tests, matching the
147154
headline above. The last recorded supported-interpreter full-suite verification
148155
in the June 5 daily-driver finalization package reported `4265 passed, 0 failed, 6 skipped`
149156
on Python 3.14.4 (4265 = 4090 baseline + 175 new tests across P0–P2 workstreams). Treat that full-suite
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Active Findings Status Ledger
2+
# 2026-06-06
3+
4+
> **Claim class:** Current truth for daily-driver finding closure status.
5+
>
6+
> **Owns:** Whether CG/AG/DS review findings from the June 1–4 passes are still
7+
> open, partially fixed, or verified closed.
8+
>
9+
> **Does not own:** Roadmap horizon ownership (`docs/roadmap-status.md`), ticket
10+
> execution steps (`docs/plans/ticket-plans/index.md`), or historical review
11+
> prose in dated analysis files.
12+
>
13+
> **Review trigger:** Finding closure status or new CG/AG/DS ids.
14+
> **Last reviewed:** 2026-06-06
15+
16+
**Successor to:** [Daily-Driver Findings Status Ledger (2026-06-01)](daily-driver-findings-status-ledger-2026-06-01.md)
17+
18+
When this ledger and a dated detail doc disagree on **status**, this ledger is
19+
authoritative. Dated detail docs remain evidence for reasoning and test names.
20+
21+
## Roll-up (2026-06-06)
22+
23+
| Bucket | Count | Notes |
24+
| --- | ---: | --- |
25+
| Fixed | 18 | Verified in code + named regression or acceptance tests |
26+
| Partially fixed | 1 | TASK-DD2-005 git sandbox — core lifecycle fixed; broader ACs deferred |
27+
| Active | 0 | No daily-driver defects remain open from the June 1 review package |
28+
29+
## Finding rows
30+
31+
| ID | Priority | State | Statement | Ticket / evidence | Verification |
32+
| --- | --- | --- | --- | --- | --- |
33+
| CG-01 | P0 | Fixed | REPL prints answer and branches on status | TICKET-12 / controller | `test_chat_repl_displays_answer` |
34+
| CG-02 | P0 | Fixed | `/undo` surgical via UndoJournal | TICKET-12 | `test_task002_undo_honesty.py` |
35+
| CG-03 (REPL) | P1 | Fixed | REPL cost accumulates | TICKET-12 | `test_task003_cost_truth.py` |
36+
| CG-04 | P1 | Fixed | Compaction on real observations | chat REPL | `chat_repl.py` compaction path |
37+
| CG-05 | P1 | Fixed | Shared controller on CLI and TUI | TICKET-12 | `test_task001_surface_parity.py` |
38+
| CG-06 | P1 | Fixed | TUI no clear-screen regression | TUI | `test_tui.py` |
39+
| CG-07 | P2 | Fixed | TUI compact is real | TUI | `test_tui.py` |
40+
| CG-08 | P2 | Fixed | Undo vocabulary aligned (journal-first) | TICKET-12 / TASK-DD2-006 | `test_task002_undo_honesty.py` |
41+
| CG-09 | P1 | Fixed | Suspend: honest copy, no branch switch | TICKET-16 Phase 1 | suspend tests in `test_cli_chat.py` |
42+
| CG-10 | P1 | Fixed | Suspend emits real audit event | TICKET-16 Phase 1 | suspend audit assertions |
43+
| CG-11 | P1 | Fixed | TUI `/cost` accumulates via controller | TICKET-12 | `test_tui_cost_shows_session_cost` |
44+
| CG-12 | P1 | Fixed | TUI adopted ChatSessionController | TICKET-12 | `test_cli_tui_surface_parity_flow` |
45+
| CG-13 | P2 | Fixed | Controller no longer swallows errors as mock | TICKET-13 | controller isinstance checks |
46+
| CG-14 | P3 | Fixed | Redundant suspension `audit_trail` removed | TICKET-15 | review JSON tests |
47+
| CG-15 | P2 | Fixed | TUI/REPL undo semantics aligned | TICKET-12 / TICKET-15 | surface parity + help text |
48+
| CG-16 | P1 | Fixed | Misleading cost state-injection test removed | TICKET-14 | active-path cost tests |
49+
| CG-17 | P1 | Fixed | Surface parity test exercises controller path | TICKET-12 | `test_task001_surface_parity.py` |
50+
| AG-01 | P1 | Fixed | `teaagent resume <repl-id>` round-trip | TICKET-16 Phase 2 | `test_repl_suspend_resume_roundtrip` |
51+
| AG-02 | P1 | Fixed | Background run no longer treats id as task | TICKET-16 | background UUID rejection test |
52+
| AG-03 | P2 | Fixed | Observations rehydrated on resume | TICKET-16 Phase 2 | suspend/resume roundtrip |
53+
| AG-04 | P2 | Fixed | Resume command vocabulary honest | TICKET-16 Phase 1 | chat help / suspend copy |
54+
| DS-01 | P1 | Fixed | TUI cost accumulation | TICKET-12 | `test_task003_cost_truth.py` |
55+
| DS-08 | P1 | Fixed | Resume after REPL suspend | TICKET-16 Phase 2 | `test_repl_suspend_resume_roundtrip` |
56+
| DS-11 | P1 | Fixed | Positional chat task forwarded to TUI | TASK-DD2-001 | `test_cli_chat.py` task forwarding |
57+
| DS-12 | P0 | Fixed | Empty-path approval rejected | TASK-DD2-004 | `test_empty_path_globs_rejected_ds12` |
58+
| TASK-DD2-005 | P1 | Partially fixed | Git sandbox lifecycle | TASK-DD2-005 plan | Core object preserved; broader ACs need human review |
59+
60+
## Superseded June 1 rows
61+
62+
The June 1 ledger marked CG-13, CG-14, CG-15, AG-01..04, and several guard-test
63+
gaps as OPEN. Those rows are **superseded** by the June 4 ticket closure pass
64+
documented in [Ticket Execution Plans](../plans/ticket-plans/index.md) and
65+
verified by the regression guards listed above.
66+
67+
## Maintenance
68+
69+
Update this ledger when:
70+
71+
- A daily-driver finding reopens or a new review pass adds a CG/AG/DS id.
72+
- Ticket index status changes for TICKET-12..16 or TASK-DD2-* items.
73+
- User-facing docs change recommended chat, cost, undo, or resume behavior.
74+
75+
Verification:
76+
77+
```bash
78+
python3 scripts/validate_docs_consistency.py
79+
python3 -m pytest tests/test_docs_consistency.py -q
80+
```

docs/analysis/competitor-signal-survey-2026-06-04.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Competitor Signal Survey - 2026-06-04
22

3+
> Supersession note, 2026-06-06: For the latest quarterly refresh, use
4+
> [Competitor Signal Survey (2026-06-06)](competitor-signal-survey-2026-06-06.md)
5+
> and [Competitor Self-Comparison Matrix (2026-06-06)](competitor-self-comparison-matrix-2026-06-06.md).
6+
37
## Purpose
48

59
This survey collects current competitor signals from official documentation, release notes, and community feedback. The goal is not to rank "best agent" in the abstract. The goal is to extract what TeaAgent should learn, what it should avoid, and which product shapes are now common enough to count as baseline expectations.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Competitor Signal Survey - 2026-06-06
2+
3+
> **Claim class:** Dated evidence snapshot (quarterly refresh).
4+
>
5+
> **Supersedes:** [Competitor Signal Survey (2026-06-04)](competitor-signal-survey-2026-06-04.md)
6+
> for positioning claims after 2026-06-06.
7+
>
8+
> **Companion:** [Competitor Self-Comparison Matrix (2026-06-06)](competitor-self-comparison-matrix-2026-06-06.md)
9+
> for source-backed row-by-row comparison.
10+
11+
## Purpose
12+
13+
Refresh competitor signals from official documentation checked on 2026-06-06.
14+
This pass emphasizes remote async agents, IDE-native UX, plan/spec separation,
15+
and audit/compliance lanes — the patterns TeaAgent must either match in UX or
16+
win on with provable governance.
17+
18+
## Method
19+
20+
- Official docs and upstream pages are primary evidence.
21+
- Community posts remain secondary signals.
22+
- Volatile metrics (stars, pricing tiers) are omitted unless sourced on the
23+
review date.
24+
25+
## Market shifts since June 4
26+
27+
1. **Remote async agents** are now table stakes for Codex, Copilot cloud agent,
28+
Cursor background agents, Kiro autonomous mode, Devin, and Jules — not
29+
optional premium features.
30+
2. **IDE-native entry** (Cursor, Windsurf/Cascade, Cline, Copilot) sets the
31+
daily-driver bar higher than terminal-only onboarding.
32+
3. **Plan/spec before write** (Cline Plan/Act, Kiro specs, Claude subagents,
33+
OpenCode permissioned agents) is the expected mental model.
34+
4. **Audit/compliance** (Codex Compliance API, Devin enterprise audit logs,
35+
GitHub PR/session logs) is becoming a purchase criterion — TeaAgent's
36+
hash-chained audit is a strategic lane if made visible.
37+
38+
## Core competitor lessons (unchanged thesis)
39+
40+
| Project | TeaAgent lesson |
41+
| --- | --- |
42+
| Pi.dev | Adopt malleability; reject YOLO-default security. |
43+
| OpenCode | Closest terminal threat — governance must be visible, not buried. |
44+
| Claude Code | Full engineering loop expected; fake success is punished quickly. |
45+
| Codex | Benchmark async handoff, review UX, and compliance surfaces. |
46+
| Aider | Borrow git-native clarity for file targets and undo. |
47+
| OpenHands | Safety language must match sandbox reality. |
48+
| GitHub Copilot cloud agent | Do not compete on GitHub distribution; build adapters with TeaAgent audit exports. |
49+
| Cursor / Cline / Kiro | IDE and plan/act receipts are UX targets, not reasons to abandon local-first governance. |
50+
51+
## TeaAgent implications (2026-06-06)
52+
53+
1. Keep local-first and provider-agnostic positioning — but stop implying remote
54+
readiness until WS2 safety gates pass.
55+
2. Make run receipts, approval selectors, and cost taxonomy user-visible (WS1).
56+
3. Treat audit/compliance as the primary public story once durability gates pass.
57+
4. Refresh competitor docs quarterly or before release planning claims.
58+
59+
## Risks
60+
61+
- Official docs overstate maturity (especially cloud/enterprise surfaces).
62+
- Competitor shutdowns (for example Roo Code product wind-down) can invalidate
63+
prior comparisons quickly.
64+
- Remote-agent UX moves faster than governance hardening.
65+
66+
## Sources (checked 2026-06-06)
67+
68+
See the full source map in
69+
[competitor-self-comparison-matrix-2026-06-06.md](competitor-self-comparison-matrix-2026-06-06.md).
70+
71+
Landscape survey artifact for matrix generation:
72+
[scripts/refresh_agent_readme_survey.md](../../scripts/refresh_agent_readme_survey.md)

docs/analysis/daily-driver-findings-status-ledger-2026-06-01.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# Daily-Driver Findings Status Ledger (All Passes)
22
# 2026-06-01
33

4+
> Supersession note, 2026-06-06: This file is historical evidence from the
5+
> June 1 review pass. For current finding closure status, use
6+
> [Active Findings Status Ledger (2026-06-06)](active-findings-status-ledger-2026-06-06.md).
7+
> Ticket execution state lives in
8+
> [Ticket Execution Plans](../plans/ticket-plans/index.md).
9+
410
**Why.** Four review passes produced findings CG-01…CG-17 and AG-01…AG-04 across many
511
docs. This is the single page that answers "where does everything stand right now" —
612
status, owning ticket, guard test, and one-line evidence — re-anchored against current

0 commit comments

Comments
 (0)