aimship 0.1.0-preview.20 → 0.1.0-preview.21
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/CONTRIBUTING.md +3 -3
- package/README.md +6 -4
- package/README.zh-CN.md +6 -4
- package/docs/cli.md +36 -13
- package/docs/examples.md +4 -0
- package/docs/guide.md +15 -11
- package/docs/guide.zh-CN.md +15 -11
- package/lib/approvals.mjs +47 -126
- package/lib/cli.mjs +10 -8
- package/lib/delivery.mjs +23 -38
- package/lib/documents.mjs +7 -6
- package/lib/domains.mjs +123 -0
- package/lib/execution.mjs +4 -14
- package/lib/language.mjs +2 -1
- package/lib/operations.mjs +30 -0
- package/lib/projections.mjs +73 -0
- package/lib/protocol.mjs +5 -5
- package/lib/state.mjs +30 -11
- package/lib/view.mjs +136 -72
- package/package.json +2 -2
- package/skills/aimship/SKILL.md +1 -1
- package/skills/aimship/references/core.md +19 -5
- package/skills/aimship/references/document-patterns.md +15 -1
- package/skills/aimship/references/document-review.md +2 -2
- package/skills/aimship/references/recovery.md +4 -4
- package/skills/aimship/references/review-method.md +2 -2
- package/skills/aimship/references/reviews/batch.md +2 -2
- package/skills/aimship/references/reviews/overall.md +3 -3
- package/skills/aimship/references/reviews/recheck.md +1 -1
- package/skills/aimship/references/routing.md +1 -1
- package/skills/aimship/references/sources-and-changes.md +1 -1
- package/skills/aimship/references/stages/contract.md +2 -2
- package/skills/aimship/references/stages/diagnose.md +1 -1
- package/skills/aimship/references/stages/implement.md +4 -4
- package/skills/aimship/references/stages/plan.md +1 -1
- package/skills/aimship/references/stages/review.md +1 -1
- package/skills/aimship/references/stages/tech-design.md +3 -3
- package/skills/aimship/references/stages/test-design.md +1 -1
- package/skills/aimship/references/stages/verify.md +3 -3
- package/skills/aimship/references/templates/plan.md +7 -1
- package/skills/aimship/references/templates/review.md +7 -2
- package/skills/aimship/references/templates/testing.md +8 -2
|
@@ -10,12 +10,12 @@ Find cross-batch consistency, shared-rule and integration defects that individua
|
|
|
10
10
|
|
|
11
11
|
## Actions
|
|
12
12
|
|
|
13
|
-
Apply the [shared review method](../review-method.md) to the combined scope, including repair changes.
|
|
13
|
+
Apply the [shared review method](../review-method.md) to the combined scope, including repair changes. Examine cross-batch connections, requirement/design/contract consistency and actual logic, transactions/data consistency, state transitions and failure/exception paths where relevant. Check whether the approach is correct in the actual project, not only whether code copied the design. Route a material design defect back to its real decision and review affected changes; do not expand into unrelated historical cleanup. Reference local checks without claiming formal runtime verification.
|
|
14
14
|
|
|
15
15
|
## Outputs and result
|
|
16
16
|
|
|
17
|
-
An independent overall REV
|
|
17
|
+
An independent overall REV with reviewScope: overall, reviewOf covering all current implementation/repair runs and the combined objectKey. Preserve earlier REV facts and name the exact reviewed basis. This is the existing overall-review stage, not another main stage.
|
|
18
18
|
|
|
19
19
|
## Completion and stop
|
|
20
20
|
|
|
21
|
-
Save the overall conclusion and concrete next action, then stop. A passing overall review
|
|
21
|
+
Save the overall conclusion and concrete next action, then stop. A passing overall review hands over the reviewed object, actual test-environment preparation and formal verification scope for subsequent authorized execution; it does not deploy or run the tests. A failing review retains its findings and awaits the actual repair work/decision, without inventing a test result.
|
|
@@ -14,7 +14,7 @@ Apply the [shared review method](../review-method.md). Examine the repair and af
|
|
|
14
14
|
|
|
15
15
|
## Outputs and result
|
|
16
16
|
|
|
17
|
-
A new REV with the actual reviewOf coverage and historyResultRefs pointing to the superseded review result. Keep old findings and attach the disposition/rechecked object. A correction
|
|
17
|
+
A new REV with the actual reviewOf coverage and historyResultRefs pointing to the superseded review result. Keep old findings and attach the disposition/rechecked object. A correction records a new implementation run with workType: repair, the same batchId where applicable and the actual repairOf/history result basis; completed checkpoints and the failed REV stay intact. Independent overall repair may have no batchId, but must retain the overall responsibility and be covered by the overall recheck. Repair is not a new business batch.
|
|
18
18
|
|
|
19
19
|
## Completion and stop
|
|
20
20
|
|
|
@@ -8,7 +8,7 @@ The user activates one Aimship entry. Read the bound core, this routing guide an
|
|
|
8
8
|
| Continue a known delivery | Read its identity/state/current materials. Resume pending approval, clarification or unfinished effects before selecting subsequent work. |
|
|
9
9
|
| A specified stage | Match the request to the saved arrangement and actual scope. Check prerequisites and current-content approvals; record a changed/limited commission where actually requested. A stage name is not permission to bypass its inputs. |
|
|
10
10
|
| Implement the next authorized batch | Load [implement](stages/implement.md). Its work unit includes local checks, batch review and authorized repair/recheck; save separate internal runs, then stop at batch completion. |
|
|
11
|
-
| Review | Load the [review dispatcher](stages/review.md) and its batch/overall/recheck module. Overall review alone does not commission full testing. |
|
|
11
|
+
| Review | Load the [review dispatcher](stages/review.md) and its batch/overall/recheck module. The last batch stops with an overall-review handoff; recommend a new session, or continue overall review here only when explicitly authorized. Overall review alone does not commission full testing. |
|
|
12
12
|
| Verify | Load [verify](stages/verify.md) after passing overall review; use the agreed coverage/groups and actual execution conditions. |
|
|
13
13
|
|
|
14
14
|
Each stage contract has inputs, goal/scope, actions, outputs/result and completion/stop. Core owns the shared lifecycle; [document review](document-review.md), [source/change flow](sources-and-changes.md), [recovery](recovery.md) and [document patterns](document-patterns.md) own their respective shared rules. Do not copy the whole core into each module or load every stage on every turn.
|
|
@@ -34,7 +34,7 @@ The agent preserves the necessary formally adopted versions under `source/`; the
|
|
|
34
34
|
- Retain the adopted PRD, prototype, handover notes or images, plus HTML/Markdown images, styles, scripts and other resources needed to read or operate that adopted version. Do not copy unrelated workspace files. Background material that is only consulted need not be imported as a whole.
|
|
35
35
|
- In the existing adoption evidence referenced by basisRef, or the current PRD when authoring it, identify the original location, retained version/path and version or digest, adopted scope, and any missing resources or reading limits. An unpinned mutable URL is insufficient evidence. If access or tools prevent retention, report the precise gap and hold conclusions that require it; never claim the adopted set is complete.
|
|
36
36
|
- Keep `source/` versions read-only as adopted evidence. Name the actual editable document or prototype before revising it. New formal requirements use `prd.md`; a newly authored HTML prototype uses `prototype/index.html`. An external original is editable only when explicitly authorized; a retained source copy does not become that editable authority by default.
|
|
37
|
-
- When adopting a new PRD version or replacing it with an editable iteration PRD, retain the previous file as kind source, register the new current kind prd and update goalRef with the actual decision.
|
|
37
|
+
- When adopting a new PRD version or replacing it with an editable iteration PRD, retain the previous file as kind source, register the new current kind prd and update goalRef with the actual decision. Preserve the previous requirement run and result references, record the new work and CHG impact, and re-review affected work; the previous approval does not approve the new content. Do not overwrite the earlier adopted version or silently synchronize either direction. Preserve the origin-to-version mapping so there is one clear current basis.
|
|
38
38
|
|
|
39
39
|
The CLI checks registered paths, artifacts and review evidence; it does not import materials, discover every asset dependency or prove a snapshot is complete. Normal business evidence belongs in .aimship/evidence/; installation diagnostics and repeated state returns belong in product-maintainer validation, not the delivery.
|
|
40
40
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Inputs
|
|
4
4
|
|
|
5
|
-
Read the current requirements, technical design and
|
|
5
|
+
Read the current requirements, technical design, relevant current interfaces/database structures and applicable engineering contracts/conventions, using the [shared project context](../core.md#project-context-and-decisions).
|
|
6
6
|
|
|
7
7
|
## Goal and scope
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ Make applicable interface and database changes unambiguous after the technical d
|
|
|
12
12
|
|
|
13
13
|
Update/reuse the authoritative HTTP OpenAPI when applicable; create a delivery-local OpenAPI only if the engineering authority is absent. Specify operations, schemas, errors, compatibility and consumer expectations. Use appropriate formats for messages/non-HTTP interfaces. Link design and test requirements.
|
|
14
14
|
|
|
15
|
-
A breaking interface/compatibility decision needs its proper authority.
|
|
15
|
+
Investigate accessible consumer/schema facts and reconcile this change with the current contract and applicable conventions. A breaking interface/compatibility decision needs its proper authority. Unknowns that affect the actual agreement remain stated gaps; unrelated old contract problems do not become this delivery’s cleanup scope.
|
|
16
16
|
|
|
17
17
|
## Outputs and result
|
|
18
18
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Inputs
|
|
4
4
|
|
|
5
|
-
Read reported symptoms, expected behavior, relevant code/material and reproducible evidence.
|
|
5
|
+
Read reported symptoms, expected behavior, relevant code/material and reproducible evidence, using the [shared project context and decisions](../core.md#project-context-and-decisions).
|
|
6
6
|
|
|
7
7
|
## Goal and scope
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Inputs
|
|
4
4
|
|
|
5
|
-
Read this run’s scope, current requirements/design/contracts,
|
|
5
|
+
Read this run’s scope, current approved requirements/design/contracts, its registered B/TASK definitions and pre-existing changes. Use the [shared project context](../core.md#project-context-and-decisions) and applicable repository instructions.
|
|
6
6
|
|
|
7
7
|
## Goal and scope
|
|
8
8
|
|
|
@@ -18,10 +18,10 @@ Expanded external behavior, data handling or authorization needs return to the r
|
|
|
18
18
|
|
|
19
19
|
Use plan.md.
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Record actual implementation facts through domain operations with workType, the stable batchId when applicable, objectKey and result references. plan.md’s generated batch table reflects that state; keep brief development checks, necessary execution notes and existing evidence references in its AI-maintained execution section. Keep approved B/TASK definitions unchanged unless the plan itself changes; preserve planned versus actual and code versions. Do not generate implementation.md or a second task-status ledger.
|
|
22
22
|
|
|
23
23
|
## Completion and stop
|
|
24
24
|
|
|
25
|
-
Save the implementation checkpoint, then continue directly to [batch review](../reviews/batch.md) for business work, or [repair recheck](../reviews/recheck.md) preserving the original batch/overall scope for repair work. Keep separate implement/review runs; the checkpoint is not another user continuation request. Mark implementation workType as batch for planned business work, or repair with repairOf pointing to its actual preceding basis.
|
|
25
|
+
Save the implementation checkpoint, then continue directly to [batch review](../reviews/batch.md) for business work, or [repair recheck](../reviews/recheck.md) preserving the original batch/overall scope for repair work. Keep separate implement/review runs; the checkpoint is not another user continuation request. Mark implementation workType as batch for planned business work, or repair with repairOf pointing to its actual preceding basis. Record each repair as new work with the applicable batchId and actual repairOf/history result basis; preserve completed records. Do not infer its responsibility from an ID. Use [conditional host delegation](../core.md#conditional-host-delegation) only where it helps; the main agent remains responsible for integration and batch review.
|
|
26
26
|
|
|
27
|
-
After the batch review passes and the
|
|
27
|
+
After the batch review passes and the facts/projections are saved, report the batch result and stop before the next batch. If it was the last batch, summarize the implementation and remaining work, then recommend a new session for overall review. Only explicit authorization permits that overall review in the current session; do not start it automatically. On a real scope, permission, approval or unresolved technical dependency, stop at that issue rather than claiming the batch passed. Local checks remain brief execution notes and evidence references; formal RUNs belong to post-overall-review verification.
|
|
@@ -16,7 +16,7 @@ A material change in scope/endpoint needs a decision; routine task splitting doe
|
|
|
16
16
|
|
|
17
17
|
## Outputs and result
|
|
18
18
|
|
|
19
|
-
Use plan.md. Keep batch goals, dependencies and TASK definitions in the approved design sections.
|
|
19
|
+
Use plan.md. Keep batch goals, dependencies and TASK definitions in the approved design sections. After approval, register stable B definitions, TASK references and dependencies through the state tool. Its finite generated execution section supplies the one current batch progress table, including implementation/review results and references. Keep detailed notes and blockers outside that generated section; do not hand-maintain another status table or redefine approved work in the execution area.
|
|
20
20
|
|
|
21
21
|
## Completion and stop
|
|
22
22
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Inputs
|
|
4
4
|
|
|
5
|
-
The saved current scope, reviewed object and relevant requirements/design/plan; read reviewOf,
|
|
5
|
+
The saved current scope, reviewed object and relevant approved requirements/design/contracts/plan; read reviewScope, reviewOf, batchId and any prior REV/repair relationship. Use the [shared project context](../core.md#project-context-and-decisions).
|
|
6
6
|
|
|
7
7
|
## Goal and scope
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Inputs
|
|
4
4
|
|
|
5
|
-
Read current requirements, relevant engineering instructions
|
|
5
|
+
Read current requirements, the relevant implementation/interfaces/schema, applicable engineering instructions and any commissioned diagnosis. Apply the [shared project context and decisions](../core.md#project-context-and-decisions).
|
|
6
6
|
|
|
7
7
|
## Goal and scope
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ Explain an implementation-ready engineering approach for the approved requiremen
|
|
|
10
10
|
|
|
11
11
|
## Actions
|
|
12
12
|
|
|
13
|
-
Choose an approach
|
|
13
|
+
Choose an approach grounded in the relevant current implementation and applicable conventions, explaining reuse and necessary differences without expanding into unrelated legacy cleanup. Describe concrete components, dependencies, errors/recovery, compatibility and tradeoffs. Link authoritative contracts instead of duplicating them. For database changes design the data change and the subsequent independent SQL deliverable; explain dialect/version, existing schema basis, conditions and sequence. Do not edit migration files or execute SQL without that commission.
|
|
14
14
|
|
|
15
15
|
For applicable concurrency and state changes, explain when the business constraint is checked, what enforces it and any remaining window. Keep that guarantee distinct from excluded product interactions; if the requirements leave its meaning unresolved, include the concrete question in the document with its impact, recommendation and the work that needs an answer. For example, a stock reservation may check and decrement within one transaction; an earlier availability display alone does not guarantee stock at commit.
|
|
16
16
|
|
|
@@ -18,7 +18,7 @@ For a material new database/RPC call on the critical path, describe its location
|
|
|
18
18
|
|
|
19
19
|
Use an ordered explanation for simple flows. Where cross-system calls are hard to follow, a concise architecture or sequence diagram can show transaction boundaries and cache/response order. Organize affected components into readable subsections; full-stack work benefits from backend responsibilities and frontend pages/routes, reuse, interaction states and data flow. Other work uses its actual components. Explain the design and real tradeoffs in the document, using source evidence where it helps judgment; routine investigation/self-check logs are not review prerequisites. API schemas, executable SQL and full test cases remain in their later deliverables.
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Investigate available schema/dialect facts directly. Missing correctness-affecting facts or material compatibility/data decisions hold the dependent design claims; nonblocking execution details may stay explicit for later work. An explicitly revised conceptual-design endpoint must retain these limitations.
|
|
22
22
|
|
|
23
23
|
## Outputs and result
|
|
24
24
|
|
|
@@ -10,7 +10,7 @@ Design appropriate checks for the current acceptance criteria and risks, without
|
|
|
10
10
|
|
|
11
11
|
## Actions
|
|
12
12
|
|
|
13
|
-
Map requirements, acceptance and risks to observable normal, boundary/error and regression checks. Reuse the project's test tools and choose methods where useful: units for logic/state, interface/integration checks for service/data collaboration, component/browser/E2E for interaction paths, targeted performance or security checks for relevant requirements/risks. Explain the choices and execution conditions; no fixed category count or coverage target. Identify tools/commands, isolated data and authorization needs. Preserve checks whose conditions are absent; distinguish what must be verified from what can run now. Implementation checks, batch/overall code review and final
|
|
13
|
+
Map requirements, acceptance and risks to observable normal, boundary/error and regression checks. Reuse the project's test tools and choose methods where useful: units for logic/state, interface/integration checks for service/data collaboration, component/browser/E2E for interaction paths, targeted performance or security checks for relevant requirements/risks. Explain the choices and execution conditions; no fixed category count or coverage target. Identify tools/commands, isolated data and authorization needs. Preserve checks whose conditions are absent; distinguish what must be verified from what can run now. Implementation checks, batch/overall code review and final formal verification have distinct scopes; a mock result is not real integration evidence. State the actual project execution conditions, including a deployed test environment where needed, without inventing a universal deployment prerequisite or an Aimship deployment stage.
|
|
14
14
|
|
|
15
15
|
Missing tools or execution authority do not justify deleting a valid case. Clarify acceptance omissions through current requirements rather than measuring only test count.
|
|
16
16
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Inputs
|
|
4
4
|
|
|
5
|
-
Read current acceptance criteria, the
|
|
5
|
+
Read current acceptance criteria and case/coverage definitions, the passing overall review of the current object, any later repair reviews and the agreed execution conditions.
|
|
6
6
|
|
|
7
7
|
## Goal and scope
|
|
8
8
|
|
|
@@ -12,13 +12,13 @@ Execute only the agreed formal verification scope after passing overall review,
|
|
|
12
12
|
|
|
13
13
|
Execute the agreed checks on identified objects. Optional verification groups follow actual coverage and conditions, not implementation batches; a retest is another RUN in the same scope, not a new development batch. Local unit checks need no deployment. Preserve commands/operations, environment/data, expected assertions, actual results and sufficient evidence. Separate pass/fail/not-run/unknown. On defects repair the affected implementation, review the repair, then retest affected cases; append the new result and retain the old failure.
|
|
14
14
|
|
|
15
|
-
Unavailable environment or authority stays explicit with a recovery action. Do not lower criteria, skip assertions or mark a case passed because a command exited successfully.
|
|
15
|
+
Use the agreed real environment: if this project’s formal tests require deployment to a test environment, hand over that preparation and wait until it is ready. Do not initiate deployment, add a deployment stage or impose deployment on checks that need none. Unavailable environment or authority stays explicit with a recovery action. Do not lower criteria, skip assertions or mark a case passed because a command exited successfully.
|
|
16
16
|
|
|
17
17
|
## Outputs and result
|
|
18
18
|
|
|
19
19
|
Use testing.md.
|
|
20
20
|
|
|
21
|
-
Append formal RUN records only in testing.md
|
|
21
|
+
Append formal RUN records only in testing.md’s AI-maintained execution section, citing TC numbers or adopted coverage references, the tested document version and exact objects. Submit each execution through record-run with its coverageRefs and objectKey, using per-coverage results when they differ. The generated current summary derives from those facts; do not hand-write a competing pass/fail table. A partial retest resolves only the matching prior coverage; retain failed RUNs and cite them through historyResultRefs. Reusing a previous object’s result requires an assessment of its applicability to the specific current object, not a renamed old result. Evidence goes in .aimship/evidence/; no installation diagnostics or repeated state output in ordinary deliveries.
|
|
22
22
|
|
|
23
23
|
## Completion and stop
|
|
24
24
|
|
|
@@ -20,7 +20,13 @@ Each batch review, overall review then independent verification; no per-batch fu
|
|
|
20
20
|
|
|
21
21
|
## 5. Task status and execution records
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
### 5.1 Current batch progress (generated)
|
|
24
|
+
|
|
25
|
+
Pending state generation.
|
|
26
|
+
|
|
27
|
+
### 5.2 Execution notes and history
|
|
28
|
+
|
|
29
|
+
Keep necessary dated implementation/development-check notes, exact object versions, deviations and existing evidence references here. The state-generated table above is the only current batch progress table; submit implementation, review and repair facts through the state tool instead of editing its cells. Preserve approved B/TASK definitions in the design sections above and distinguish pre-existing changes. Do not write a formal self-test report for every batch or copy review findings and formal RUN results here. Replace guidance with actual content; never prefill a result.
|
|
24
30
|
|
|
25
31
|
## 6. Deviations, blockers and remaining work
|
|
26
32
|
|
|
@@ -4,6 +4,12 @@ Delivery: <deliveryId from init>; document revision: <revision>.
|
|
|
4
4
|
|
|
5
5
|
## 1. Review basis and scope
|
|
6
6
|
|
|
7
|
+
### 1.1 Current review (generated)
|
|
8
|
+
|
|
9
|
+
Pending state generation.
|
|
10
|
+
|
|
11
|
+
### 1.2 Review basis
|
|
12
|
+
|
|
7
13
|
State the requirements/design/plan references and review scope. Put each review's actual repositories, baseline plus differences, reviewer and date with its REV record. Keep object details readable and link the exact manifest when useful. Replace guidance with actual content; never prefill a result.
|
|
8
14
|
|
|
9
15
|
## 2. Review records
|
|
@@ -19,5 +25,4 @@ Keep overall review separate from batch records. Replace guidance with actual co
|
|
|
19
25
|
|
|
20
26
|
## 3. Open findings and current conclusion
|
|
21
27
|
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
Explain remaining findings and whether they block continuation, citing their REV records and disposition. The generated current review section above owns the effective result summary; do not create a second current-status table or accumulate obsolete “next batch” instructions here. Distinguish review findings from unexecuted validation and link testing.md for runtime coverage and missing conditions. Historical conclusions remain inside their REV records for the old objects. Review is not runtime validation or user acceptance. Replace guidance with actual content; never prefill a result.
|
|
@@ -20,10 +20,16 @@ AC, requirements, TC, gaps and execution group/order. Explain the selected test
|
|
|
20
20
|
|
|
21
21
|
## 5. Execution and retest records
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
### 5.1 Current verification (generated)
|
|
24
|
+
|
|
25
|
+
Pending state generation.
|
|
26
|
+
|
|
27
|
+
### 5.2 Formal runs and retests
|
|
28
|
+
|
|
29
|
+
Keep formal verification RUNs and retests here, grouped by actual coverage/conditions rather than development batch: TC or adopted coverage reference, testing document version, exact code/build object, environment, command/operation, assertions, result and evidence. A retest stays in the same scope with a new RUN; retain failures and later rechecks. Submit actual coverage/results and the tested object to the state tool; the generated summary above shows the effective results and remaining coverage. Development checks are brief plan execution notes/evidence references; they do not replace post-overall-review verification or fill this section as formal execution. Replace guidance with actual content; never prefill a result.
|
|
24
30
|
|
|
25
31
|
## 6. Defects, current conclusion and remaining work
|
|
26
32
|
|
|
27
|
-
|
|
33
|
+
Explain defects, their disposition, unavailable conditions and remaining work, citing the actual RUNs or review findings. The generated current verification section above owns the current coverage/result table; do not duplicate it here. Keep historical RUNs in the execution section and tie their conclusions to their tested objects. Replace guidance with actual content; never prefill a result.
|
|
28
34
|
|
|
29
35
|
<!-- Review guidance: retain the fixed outline. Technical design precedes interface/SQL production; test cases precede planning. Self-check and explicit document approval are separate from stage done. For plan/testing, keep execution records after execution/runs respectively. -->
|