@tea-agent/loop-agent 0.42.0 → 0.43.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -7
- package/dist/application/evaluation/budget.js +19 -1
- package/dist/build-stamp.json +3 -3
- package/dist/executors/dag-pi-executor.js +762 -252
- package/dist/executors/pi-executor.js +20 -1
- package/dist/executors/pi-sdk-executor.js +64 -1
- package/dist/executors/shell-executor.js +5 -2
- package/dist/shared/frontend-execution-policy.js +22 -0
- package/dist/task/config-types.js +4 -0
- package/dist/task/source-prepare/ledger-reconciliation.js +2 -2
- package/dist/task/source-prepare/ledger-review.js +6 -9
- package/dist/task/source-prepare/semantic-intake.js +16 -26
- package/dist/task/source-prepare/source-fidelity-pi.js +26 -7
- package/dist/worker/observe/node-transparency.js +81 -72
- package/dist/worker/observe/routes.js +20 -1
- package/dist/worker/observe/static/dag-inspector-humanize.js +3 -0
- package/dist/worker/observe/static/dom.js +20 -1
- package/dist/worker/observe/static/format-pool.d.ts +2 -0
- package/dist/worker/observe/static/format-pool.js +6 -0
- package/dist/worker/observe/static/format.js +7 -0
- package/dist/worker/observe/static/inspect-workspace.js +34 -7
- package/dist/worker/observe/static/inspector-submission.js +32 -0
- package/dist/worker/observe/static/kpi.js +1 -0
- package/dist/worker/observe/static/relations.js +2 -0
- package/dist/worker/observe/static/router.js +13 -0
- package/dist/worker/observe/static/run-processing.js +2 -0
- package/dist/worker/observe/static/shell-chrome.js +36 -3
- package/dist/worker/observe/static/state.js +35 -2
- package/dist/worker/observe/static/styles.css +260 -39
- package/dist/worker/observe/static/task-failure-labels.d.ts +4 -0
- package/dist/worker/observe/static/task-failure-labels.js +67 -0
- package/dist/worker/observe/static/task-history.js +12 -0
- package/dist/worker/observe/static/views/batch.js +6 -13
- package/dist/worker/observe/static/views/dag-graph.js +50 -3
- package/dist/worker/observe/static/views/dag-inspector.js +746 -265
- package/dist/worker/observe/static/views/dag-trajectory.js +3 -0
- package/dist/worker/observe/static/views/dag.d.ts +6 -0
- package/dist/worker/observe/static/views/dag.js +48 -10
- package/dist/worker/observe/static/views/dags.js +2 -0
- package/dist/worker/observe/static/views/dashboard.js +21 -12
- package/dist/worker/observe/static/views/failures.js +21 -11
- package/dist/worker/observe/static/views/feature.js +11 -29
- package/dist/worker/observe/static/views/pool.js +37 -28
- package/dist/worker/observe/static/views/run.js +48 -5
- package/dist/worker/observe/static/views/session-timeline.js +189 -240
- package/dist/worker/observe/static/views/task.js +81 -62
- package/dist/workflows/dag/budget-enforcement.js +53 -3
- package/dist/workflows/dag/frontend-durable-tools.js +193 -0
- package/dist/workflows/dag/frontend-execution-groups.js +24 -0
- package/dist/workflows/dag/frontend-implementation-contract.js +9 -0
- package/dist/workflows/dag/frontend-input-projection.js +76 -0
- package/dist/workflows/dag/frontend-plan-render.js +10 -3
- package/dist/workflows/dag/frontend-recovery-controller.js +7 -7
- package/dist/workflows/dag/frontend-recovery-lineage.js +13 -0
- package/dist/workflows/dag/frontend-recovery-run.js +4 -0
- package/dist/workflows/dag/frontend-review-scopes.js +117 -0
- package/dist/workflows/dag/frontend-session-budget.js +249 -0
- package/dist/workflows/dag/frontend-shadow-dual-write.js +20 -2
- package/dist/workflows/dag/frontend-test-execution-evidence.js +3 -2
- package/dist/workflows/dag/frontend-typed-event-store.js +11 -0
- package/dist/workflows/dag/init-hybrid.js +16 -10
- package/dist/workflows/dag/node-execution.js +32 -155
- package/dist/workflows/dag/prompt.js +4 -0
- package/dist/workflows/dag/rerun-plan.js +7 -1
- package/dist/workflows/dag/runner.js +26 -1
- package/dist/workflows/dag/types.js +6 -0
- package/docs/operations/README.md +1 -0
- package/docs/templates/frontend-design-contract.md +4 -4
- package/docs/templates/frontend-implementation-contract.schema.json +34 -2
- package/docs/templates/frontend-implementation-dag.json +5 -5
- package/package.json +1 -1
- package/skills/frontend-contract/SKILL.md +2 -1
- package/skills/frontend-contract/references/contract-protocol.md +19 -3
- package/skills/frontend-design-review/SKILL.md +12 -11
- package/skills/frontend-plan/SKILL.md +2 -2
- package/skills/frontend-plan/references/decision-contract.md +18 -5
- package/skills/frontend-review/SKILL.md +10 -11
- package/skills/frontend-scout/references/scout-evidence.md +4 -0
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
source-fidelity ledger. Do not infer fragment IDs from prose.
|
|
9
9
|
- Record observable outcomes, applicable UI states, runtime/environment constraints,
|
|
10
10
|
non-goals, risks, and verification expectations without choosing implementation.
|
|
11
|
-
-
|
|
12
|
-
|
|
11
|
+
- Runtime owns requirement text, source binding and disposition. Use typed questions
|
|
12
|
+
and constraints for uncertainties; blocked terminal facts name their owner.
|
|
13
13
|
|
|
14
14
|
## Evidence and handoff
|
|
15
15
|
|
|
@@ -29,6 +29,22 @@ enumerate or downgrade them.
|
|
|
29
29
|
|
|
30
30
|
## Terminal
|
|
31
31
|
|
|
32
|
-
Commit facts
|
|
32
|
+
Commit facts from the complete current scope, then `complete_contract_scope` only
|
|
33
|
+
after its evidence, constraints and source-bound deliverables are recorded. Scope
|
|
34
|
+
checkpoints survive interruption; confirming an ID alone is not completion.
|
|
35
|
+
Call `finalize_contract` with
|
|
33
36
|
`ready`, `ready-with-assumptions`, or `blocked`. If the task is too large for one
|
|
34
37
|
bounded writer, record a split proposal instead of broadening the contract.
|
|
38
|
+
|
|
39
|
+
A successful receipt means the fact was saved durably. Replays are idempotent;
|
|
40
|
+
changed facts require explicit `replace:true`. Correct rejected calls and retry,
|
|
41
|
+
but do not mutate after a successful terminal. Never drop tail conditions to fit.
|
|
42
|
+
|
|
43
|
+
## Execution ownership
|
|
44
|
+
|
|
45
|
+
`record_requirement` may include `execution:{groupId,kind,summary}`. Use `behavior`,
|
|
46
|
+
`constraint`, or `exclusion`; reuse an existing group only when semantics agree.
|
|
47
|
+
Keep permission, threshold and failure-path differences separate. Do not merge
|
|
48
|
+
source IDs or independent acceptance conditions. Unclassified requirements remain
|
|
49
|
+
independent. Later scopes receive the shared group index. A group is a planning
|
|
50
|
+
proposal; independent design review must check every member's complete text.
|
|
@@ -9,26 +9,27 @@ references:
|
|
|
9
9
|
|
|
10
10
|
# Frontend Design Review
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
capacity diagnostic
|
|
14
|
-
|
|
15
|
-
bound Mock strategy, task bounds, and traceable design evidence supplied by the
|
|
16
|
-
upstream context. Do not rediscover task sources, search specification roots, or
|
|
17
|
-
replace frozen evidence with nearby-code conventions. Use only exact, bound evidence
|
|
18
|
-
paths when additional reading is necessary; never invent connector results.
|
|
12
|
+
Audit the canonical contract or its hash-bound indexed sections, guided by the
|
|
13
|
+
capacity diagnostic. Check Mock strategy, task bounds and exact bound evidence.
|
|
14
|
+
Do not rediscover sources, search specification roots or invent connector results.
|
|
19
15
|
|
|
20
16
|
## Authoritative Terminal
|
|
21
17
|
|
|
22
|
-
|
|
18
|
+
Submit findings one at a time with `record_design_finding` using stable IDs.
|
|
19
|
+
Use `replace:true` for revisions. The terminal automatically includes saved findings;
|
|
20
|
+
do not repeat their array. Correct rejected calls, then commit one successful terminal:
|
|
23
21
|
|
|
24
22
|
- `approve_design` when no blocking design defect remains;
|
|
25
23
|
- `request_design_changes` when a blocker exists. It must include a typed
|
|
26
|
-
`issueCategory`, at least one `evidenceRef`, and non-empty findings.
|
|
24
|
+
`issueCategory`, at least one `evidenceRef`, and non-empty findings (saved or supplied).
|
|
27
25
|
|
|
28
26
|
The typed terminal is the only authoritative outcome. Do not require or emit a
|
|
29
27
|
`VERDICT:` line, JSON verdict, revision patch, or a second final-design-review
|
|
30
|
-
verdict.
|
|
31
|
-
|
|
28
|
+
verdict. Requested changes end this run; recovery owns the bounded follow-up.
|
|
29
|
+
|
|
30
|
+
Check every execution group against its members' complete outcomes. Permissions,
|
|
31
|
+
thresholds and error paths remain independent ACs; a shared VT must prove them all.
|
|
32
|
+
Constraint/exclusion labels never waive source-required behavior evidence.
|
|
32
33
|
|
|
33
34
|
## Blocking Conditions
|
|
34
35
|
|
|
@@ -4,7 +4,7 @@ description: Use only for the tool-only frontend decision planning node.
|
|
|
4
4
|
references:
|
|
5
5
|
- path: references/decision-contract.md
|
|
6
6
|
required: true
|
|
7
|
-
maxChars:
|
|
7
|
+
maxChars: 6800
|
|
8
8
|
- path: references/design-decisions.md
|
|
9
9
|
required: true
|
|
10
10
|
maxChars: 3400
|
|
@@ -35,5 +35,5 @@ here with the same id and `replace=true` (union backfill) before finalize. A
|
|
|
35
35
|
`duplicate` receipt is a correction invitation, not a prohibition.
|
|
36
36
|
|
|
37
37
|
The runtime owns protected skeleton fields, path/command validation, materialization,
|
|
38
|
-
and final schema checks. Finish with
|
|
38
|
+
and final schema checks. Finish with one successful `finalize_plan` (correct rejected facts and retry); return no Markdown
|
|
39
39
|
narrative. Record a genuine evidence gap when frozen facts are insufficient.
|
|
@@ -95,9 +95,11 @@ facts".
|
|
|
95
95
|
|
|
96
96
|
## UX vocabulary (registry first)
|
|
97
97
|
|
|
98
|
-
- Record `record_state_registry` BEFORE `record_state_flow`: one
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
- Record `record_state_registry` BEFORE any `record_state_flow`: one compact
|
|
99
|
+
global vocabulary of UI-state and interaction names. Details use complete execution
|
|
100
|
+
group scopes; reuse shared names across scopes, never one name per AC or a
|
|
101
|
+
rename of an already-recorded concept (kebab-case behavior-domain names, e.g.
|
|
102
|
+
`planner-task-edit`, `focus-queue-move`).
|
|
101
103
|
- UI states use the contract's declared authoritative ids (`declaredUiStates`
|
|
102
104
|
in the plan input) when the source declares a state table.
|
|
103
105
|
- Retry slices see `committedUx` in the plan input: reuse those exact names.
|
|
@@ -123,11 +125,22 @@ widen the write set.
|
|
|
123
125
|
|
|
124
126
|
The runtime owns `schemaVersion`, `sourceBinding`, risk, canonical target files,
|
|
125
127
|
`requiredDeliverables`, aliases, command allowlisting, path containment, and final
|
|
126
|
-
validation. Submit
|
|
127
|
-
|
|
128
|
+
validation. Submit editable decision facts, then call `finalize_plan`; correct
|
|
129
|
+
rejected facts and retry until one successful terminal commit. The deterministic design policy materializes the canonical implementation
|
|
128
130
|
contract: every file in the Contract's explicit source-bound delivery inventory
|
|
129
131
|
must be planned (`requiredDeliverables` gate). Permissions, prohibitions, examples
|
|
130
132
|
and read-only references do not create delivery obligations. Plan receives this
|
|
131
133
|
inventory as `requiredDeliverables`; it cannot add, remove or reinterpret it.
|
|
132
134
|
Missing files and UX name collisions are reported by finalize_plan before commit
|
|
133
135
|
and checked again by the policy shell.
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
Use `record_plan_group_coverage` for a complete declared execution group with shared
|
|
139
|
+
targets/VTs; runtime expands to all canonical members. Submit individual coverage
|
|
140
|
+
for differences. Constraints/exclusions create no invented UI or tests; keep genuine
|
|
141
|
+
evidence gaps, and never weaken behavior evidence required by the source.
|
|
142
|
+
|
|
143
|
+
Submit Mock policy with `record_mock_api` and empty endpoints, then one endpoint per
|
|
144
|
+
`record_mock_endpoint`. Use `replace:true` for revisions, plus `remove:true` to
|
|
145
|
+
withdraw an endpoint. Use stable finding/fact identities; successful receipts mean
|
|
146
|
+
durable commits. Resume missing work instead of regenerating full JSON or history.
|
|
@@ -9,25 +9,24 @@ references:
|
|
|
9
9
|
|
|
10
10
|
# Frontend Review
|
|
11
11
|
|
|
12
|
-
Use
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
design-review prose, OpenSpec, or `ai_workspace/`; the bound context is authoritative.
|
|
12
|
+
Use `contracts/frontend-review-context.json`, its hash-bound contract index and diff,
|
|
13
|
+
and only files named by the diff. Read the findings guide and capacity diagnostic;
|
|
14
|
+
use indexed sections when advised. Do not reopen task sources, plans, OpenSpec,
|
|
15
|
+
design-review prose or `ai_workspace/`.
|
|
17
16
|
|
|
18
17
|
## Authoritative Terminal
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
Submit findings one at a time with `record_review_finding` using stable IDs.
|
|
20
|
+
Use `replace:true` for revisions. The terminal automatically includes saved findings;
|
|
21
|
+
do not repeat their array. Correct rejected calls, then commit one successful terminal:
|
|
21
22
|
|
|
22
23
|
- `approve_review` when no Critical/Important finding remains;
|
|
23
24
|
- `request_review_changes` for a defect, missing required evidence, forbidden
|
|
24
25
|
write, or unmet acceptance criterion. It must include a typed `issueCategory`,
|
|
25
|
-
at least one `evidenceRef`, and non-empty findings.
|
|
26
|
+
at least one `evidenceRef`, and non-empty findings (saved or supplied).
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
this run and is handled by the recovery controller rather than a same-run repair
|
|
30
|
-
branch.
|
|
28
|
+
Only the typed terminal controls the outcome; no `VERDICT:` line or JSON verdict.
|
|
29
|
+
Requested changes end this run; the recovery controller owns follow-up.
|
|
31
30
|
|
|
32
31
|
## Review Scope
|
|
33
32
|
|
|
@@ -21,3 +21,7 @@ the exact evidence. Do not recursively inspect unrelated directories.
|
|
|
21
21
|
Commit `complete` only when the target surface is sufficiently proven for Plan to
|
|
22
22
|
reuse without repository discovery. Otherwise commit `blocked` and list every
|
|
23
23
|
unresolved path or ownership question. Do not shift discovery work into Plan.
|
|
24
|
+
|
|
25
|
+
A successful typed receipt is durable. Reuse only facts bound to the same source
|
|
26
|
+
and fresh file evidence; changed or missing evidence requires Scout refresh. Do
|
|
27
|
+
not replay stale success or repeat complete discovery merely because a reply was lost.
|