Commit c5f4130
committed
feat: make env-lock/eval-executor/consensus stubs real; ADR-0041 Phase-1 budget clamp
Replaces disclosed stubs with real, tested implementations and lands the first
behavior-preserving slice of the execution-surface unification.
Execution-surface unification (ADR-0041 Phase 1; extends ADR-0040 / A-P1-3):
- New docs/adr/0041: phased plan to define governed execution once and thin the
harness; status Proposed, gates G1-G5 still unmet (only G2-budget advanced).
- Budget clamp single-sourced: subagents/_manager._resolve_budget_limits now
delegates to runner/_invariants.compute_clamped_budget (was a hand-kept mirror).
env lock (installed-snapshot semantics):
- env_config.generate_lockfile resolves declared packages against the installed
environment via importlib.metadata (version + sha256 over RECORD hashes; missing
package raises EnvLockResolutionError). env_manager.verify recomputes + compares.
- env lock subcommand un-hidden in the CLI.
eval executor:
- EvalRunner gains a real model_runner seam feeding the existing scorer; release
gate derives simulated/advisory flags from per-test execution mode. No-runner
path unchanged (disclosed advisory).
consensus (real + un-hidden):
- consensus history reads stored states; consensus config set persists config.
TUI cockpit:
- _refresh_cockpit_state populates budget + recoverable so the Run-status panel
renders Budget/Undo/Checkpoint/Suspended lines.
Hardening + docs:
- SEC-11 undo shell-mutation warning; risk register SEC-12 marked fixed.
- Roadmap / ticket-index / inline-todos drift corrected; new doc-code-reference
and inline-todo-catalog validators in scripts/validate_docs_consistency.py.
Action: A-P1-3
Constraint: behavior-preserving and offline-only (no network resolver, no live model); the high-risk execution-surface change is limited to one identical-math clamp delegation; prerequisite-blocked items (network-resolved lock, live-model eval signal) left honest/failing-loud rather than faked
Tested: ruff check + ruff format --check clean; mypy clean on touched modules; 120 affected tests pass (env/eval/release-gate/runner-invariants + subagent budget-inheritance integration); validate_docs_consistency.py exit 0; validate_runner_invariants.py exit 0; CLI smokes (env lock/verify/tamper, env --help shows lock, eval gate real vs advisory)
Not-tested: full repo suite not run by me (pre-commit runs the smoke subset + full mypy); live-model eval signal and network-resolved lock intentionally not implemented
Confidence: high1 parent 357449e commit c5f4130
44 files changed
Lines changed: 2017 additions & 188 deletions
File tree
- docs
- adr
- generated
- plans/ticket-plans
- security
- strategy
- knowledge/teaagent-current/concepts
- scripts
- teaagent
- cli
- _handlers
- _agent
- _misc_parsers
- consensus
- governance
- runner
- subagents
- tui
- tests
- integration
- runner
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
120 | | - | |
| 120 | + | |
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
| |||
Lines changed: 322 additions & 0 deletions
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
1 | 2 | | |
2 | 3 | | |
3 | 4 | | |
| |||
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| 39 | + | |
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
| |||
50 | 52 | | |
51 | 53 | | |
52 | 54 | | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
53 | 59 | | |
54 | 60 | | |
55 | 61 | | |
| |||
81 | 87 | | |
82 | 88 | | |
83 | 89 | | |
84 | | - | |
| 90 | + | |
85 | 91 | | |
86 | 92 | | |
87 | 93 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
37 | | - | |
| 38 | + | |
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
| |||
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
58 | | - | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
62 | | - | |
| 63 | + | |
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
| 48 | + | |
48 | 49 | | |
49 | 50 | | |
50 | 51 | | |
| |||
188 | 189 | | |
189 | 190 | | |
190 | 191 | | |
191 | | - | |
| 192 | + | |
192 | 193 | | |
193 | 194 | | |
194 | 195 | | |
| |||
236 | 237 | | |
237 | 238 | | |
238 | 239 | | |
239 | | - | |
| 240 | + | |
240 | 241 | | |
241 | 242 | | |
242 | 243 | | |
| |||
294 | 295 | | |
295 | 296 | | |
296 | 297 | | |
297 | | - | |
| 298 | + | |
298 | 299 | | |
299 | 300 | | |
300 | 301 | | |
| |||
456 | 457 | | |
457 | 458 | | |
458 | 459 | | |
459 | | - | |
460 | | - | |
| 460 | + | |
| 461 | + | |
461 | 462 | | |
462 | 463 | | |
463 | 464 | | |
| |||
536 | 537 | | |
537 | 538 | | |
538 | 539 | | |
539 | | - | |
| 540 | + | |
540 | 541 | | |
541 | 542 | | |
542 | 543 | | |
| |||
547 | 548 | | |
548 | 549 | | |
549 | 550 | | |
550 | | - | |
| 551 | + | |
551 | 552 | | |
552 | 553 | | |
553 | 554 | | |
| |||
580 | 581 | | |
581 | 582 | | |
582 | 583 | | |
583 | | - | |
584 | | - | |
| 584 | + | |
| 585 | + | |
585 | 586 | | |
586 | 587 | | |
587 | 588 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
109 | | - | |
| 108 | + | |
110 | 109 | | |
111 | 110 | | |
112 | 111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| |||
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
27 | 41 | | |
28 | | - | |
29 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
30 | 45 | | |
31 | | - | |
32 | | - | |
33 | | - | |
| 46 | + | |
| 47 | + | |
34 | 48 | | |
35 | 49 | | |
36 | 50 | | |
| |||
50 | 64 | | |
51 | 65 | | |
52 | 66 | | |
| 67 | + | |
53 | 68 | | |
54 | | - | |
55 | | - | |
| 69 | + | |
| 70 | + | |
0 commit comments