aimship 0.1.0-preview.4 → 0.1.0-preview.8

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.
Files changed (47) hide show
  1. package/CONTRIBUTING.md +59 -0
  2. package/README.md +126 -19
  3. package/README.zh-CN.md +127 -20
  4. package/docs/cli.md +68 -32
  5. package/docs/examples.md +5 -0
  6. package/docs/guide.md +181 -30
  7. package/docs/guide.zh-CN.md +210 -0
  8. package/docs/installation.md +19 -108
  9. package/docs/reference.md +78 -0
  10. package/docs/reference.zh-CN.md +78 -0
  11. package/lib/approvals.mjs +153 -0
  12. package/lib/cli.mjs +29 -16
  13. package/lib/documents.mjs +156 -0
  14. package/lib/migrate.mjs +77 -0
  15. package/lib/state.mjs +96 -24
  16. package/lib/view.mjs +75 -0
  17. package/package.json +3 -2
  18. package/skills/aimship/SKILL.md +2 -2
  19. package/skills/aimship/references/artifact-map.json +172 -0
  20. package/skills/aimship/references/core.md +12 -6
  21. package/skills/aimship/references/document-patterns.md +32 -10
  22. package/skills/aimship/references/document-review.md +28 -0
  23. package/skills/aimship/references/hosts.md +4 -2
  24. package/skills/aimship/references/recovery.md +10 -0
  25. package/skills/aimship/references/sources-and-changes.md +8 -0
  26. package/skills/aimship/references/stages/contract.md +10 -2
  27. package/skills/aimship/references/stages/diagnose.md +10 -0
  28. package/skills/aimship/references/stages/frame.md +4 -0
  29. package/skills/aimship/references/stages/handoff.md +4 -0
  30. package/skills/aimship/references/stages/implement.md +6 -0
  31. package/skills/aimship/references/stages/plan.md +10 -2
  32. package/skills/aimship/references/stages/prototype.md +8 -0
  33. package/skills/aimship/references/stages/requirements.md +8 -0
  34. package/skills/aimship/references/stages/review.md +4 -0
  35. package/skills/aimship/references/stages/scope.md +8 -0
  36. package/skills/aimship/references/stages/tech-design.md +11 -1
  37. package/skills/aimship/references/stages/test-design.md +9 -1
  38. package/skills/aimship/references/stages/verify.md +6 -0
  39. package/skills/aimship/references/templates/change-log.md +14 -0
  40. package/skills/aimship/references/templates/diagnosis.md +39 -0
  41. package/skills/aimship/references/templates/handoff.md +34 -0
  42. package/skills/aimship/references/templates/plan.md +35 -0
  43. package/skills/aimship/references/templates/prd.md +39 -0
  44. package/skills/aimship/references/templates/review.md +19 -0
  45. package/skills/aimship/references/templates/scope.md +39 -0
  46. package/skills/aimship/references/templates/tech-design.md +40 -0
  47. package/skills/aimship/references/templates/testing.md +35 -0
@@ -0,0 +1,172 @@
1
+ {
2
+ "version": 2,
3
+ "documents": {
4
+ "prd": {
5
+ "path": "prd.md",
6
+ "sections": [
7
+ "info",
8
+ "goals",
9
+ "scope",
10
+ "requirements",
11
+ "states",
12
+ "acceptance",
13
+ "arrangement"
14
+ ]
15
+ },
16
+ "scope": {
17
+ "path": "scope.md",
18
+ "sections": [
19
+ "info",
20
+ "goals",
21
+ "adoption",
22
+ "exclusions",
23
+ "decisions",
24
+ "acceptance",
25
+ "arrangement"
26
+ ]
27
+ },
28
+ "tech-design": {
29
+ "path": "tech-design.md",
30
+ "sections": [
31
+ "basis",
32
+ "architecture",
33
+ "modules",
34
+ "data",
35
+ "errors",
36
+ "risks",
37
+ "coverage"
38
+ ]
39
+ },
40
+ "plan": {
41
+ "path": "plan.md",
42
+ "sections": [
43
+ "basis",
44
+ "batches",
45
+ "tasks",
46
+ "validation",
47
+ "execution",
48
+ "remaining"
49
+ ]
50
+ },
51
+ "testing": {
52
+ "path": "testing.md",
53
+ "sections": [
54
+ "basis",
55
+ "environment",
56
+ "cases",
57
+ "coverage",
58
+ "runs",
59
+ "conclusion"
60
+ ]
61
+ },
62
+ "review": {
63
+ "path": "review.md",
64
+ "sections": [
65
+ "basis",
66
+ "reviews",
67
+ "conclusion"
68
+ ]
69
+ },
70
+ "diagnosis": {
71
+ "path": "diagnosis.md",
72
+ "sections": [
73
+ "goals",
74
+ "symptoms",
75
+ "environment",
76
+ "evidence",
77
+ "causes",
78
+ "unknowns",
79
+ "conclusion"
80
+ ]
81
+ },
82
+ "handoff": {
83
+ "path": "handoff.md",
84
+ "sections": [
85
+ "goals",
86
+ "artifacts",
87
+ "usage",
88
+ "results",
89
+ "limits",
90
+ "outcomes"
91
+ ]
92
+ },
93
+ "change-log": {
94
+ "path": "change-log.md",
95
+ "sections": [
96
+ "changes",
97
+ "remaining"
98
+ ]
99
+ }
100
+ },
101
+ "stages": {
102
+ "frame": {
103
+ "kind": "requirement",
104
+ "section": "goals"
105
+ },
106
+ "requirements": {
107
+ "kind": "requirement",
108
+ "section": "requirements",
109
+ "sectionByKind": {
110
+ "prd": "requirements",
111
+ "scope": "adoption"
112
+ },
113
+ "humanReview": true
114
+ },
115
+ "scope": {
116
+ "kind": "requirement",
117
+ "section": "scope",
118
+ "sectionByKind": {
119
+ "prd": "scope",
120
+ "scope": "goals"
121
+ },
122
+ "humanReview": true
123
+ },
124
+ "prototype": {
125
+ "kind": "prototype",
126
+ "section": null,
127
+ "humanReview": true
128
+ },
129
+ "diagnose": {
130
+ "kind": "diagnosis",
131
+ "section": "conclusion",
132
+ "humanReview": true
133
+ },
134
+ "tech-design": {
135
+ "kind": "tech-design",
136
+ "section": "coverage",
137
+ "humanReview": true
138
+ },
139
+ "contract": {
140
+ "kind": "contract",
141
+ "section": null,
142
+ "humanReview": true,
143
+ "additionalKind": "sql"
144
+ },
145
+ "test-design": {
146
+ "kind": "testing",
147
+ "section": "cases",
148
+ "humanReview": true
149
+ },
150
+ "plan": {
151
+ "kind": "plan",
152
+ "section": "tasks",
153
+ "humanReview": true
154
+ },
155
+ "implement": {
156
+ "kind": "plan",
157
+ "section": "execution"
158
+ },
159
+ "review": {
160
+ "kind": "review",
161
+ "section": "reviews"
162
+ },
163
+ "verify": {
164
+ "kind": "testing",
165
+ "section": "runs"
166
+ },
167
+ "handoff": {
168
+ "kind": "handoff",
169
+ "section": "outcomes"
170
+ }
171
+ }
172
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  A delivery has one centralized material directory, a preserved original request, current requirements or adopted sources plus Scope, an endpoint, and a state record. Code stays in its existing locations. A single repository and several repositories use the same model; there is no project registration step, repository count limit, or route classification.
6
6
 
7
- Understand the intended result, supplied evidence, authorized changes and endpoint. Record known answers instead of asking again. Clarify only gaps that affect this work, with a recommendation and its consequence. Do not promote assumptions into user decisions. A design-only commission may have no repository. A short bug fix still needs its original report, context, expected behavior, scope and acceptance criteria, but not a full PRD.
7
+ Understand the intended result, supplied evidence, authorized changes and endpoint. Record known answers instead of asking again. Clarify only gaps that affect this work, with a recommendation and its consequence. Do not promote assumptions into user decisions. A design-only commission may have no repository. A short bug fix still needs its original report, context, expected behavior, scope and acceptance criteria, with a concise prd.md using the fixed outline.
8
8
 
9
9
  Use the configured material root (default `~/Aimship`), with one identifiable directory per delivery. Do not create it during installation. Before creating a new directory, use the user's explicit target or check a possible existing match; ambiguous candidates need selection, not a global “latest” pointer. If access fails, retain the request and intended location in the conversation and say what has not been saved. Continue the same delivery after access is restored.
10
10
 
@@ -16,7 +16,7 @@ Several independent deliveries may progress at the same time, each with its own
16
16
 
17
17
  Check when code scope is associated or changed, before entering implementation, or when an actual code working directory changes. Do not repeat it every turn or stage. Once the code scope is known:
18
18
 
19
- 1. Enumerate all delivery directories in the accessible configured material root and any other explicitly known/authorized material roots or delivery locations. Read their `state.json` summaries; do not limit the search to recent folders. Do not scan the whole disk, code trees, processes, PRDs or full histories. Do not discover unknown custom roots by searching the home directory. Report roots checked and inaccessible, invalid or unknown-format records; unseen custom roots and non-Aimship work remain outside the check.
19
+ 1. Enumerate all delivery directories in the accessible configured material root and any other explicitly known/authorized material roots or delivery locations. Use `scan <known-root>` or read both legacy `state.json` and new `.aimship/state.json` summaries; deduplicate deliveryId and report conflicting copies; do not limit the search to recent folders. Do not scan the whole disk, code trees, processes, PRDs or full histories. Do not discover unknown custom roots by searching the home directory. Report roots checked and inaccessible, invalid or unknown-format records; unseen custom roots and non-Aimship work remain outside the check.
20
20
  2. Exclude this delivery by `deliveryId`. Compare `repositories[].path` (the actual checkout/worktree root), role, `currentRun`, relevant `stageRuns` scope/progress, `outcome`, `next` and recorded update time. Repository IDs are local to each delivery and are not global repository identity. Use already recorded repository identity; when needed and accessible, read only local Git root/common-directory metadata for the associated paths to distinguish linked worktrees. Normalize existing paths to their actual location; nested paths in one checkout are not independent isolation. Distinct independent checkouts may share a recorded repository identity even with different Git directories. If identity/location cannot be established, report it as unknown rather than assuming separation.
21
21
  3. Include older active, blocked or uncertain deliveries. A `done` stage, completed handoff, old timestamp or declined acceptance alone does not close a delivery. A recorded met goal with no recorded remaining code work is ended; otherwise use the existing explicit closing conclusion if needed. `not-met` or `unknown` is not automatically ended. Read only the relevant Scope/plan/conclusion section when state summaries cannot establish writing intent or closure. Do not rewrite another delivery's state. Ended deliveries are not active writers, although their unmerged results or known dependencies can still matter.
22
22
  4. Compare actual writing intent and locations using the table below. A stage label alone is not permission to write code. Keep one brief result in the existing Scope/plan or results section, linked from the current delivery's existing references when needed: check occasion, roots/limits, relevant delivery IDs and recorded stages, actual directories, known dependencies and chosen arrangement. State stays authoritative; do not add a registry, index, second progress ledger or service.
@@ -33,11 +33,13 @@ Records can be stale and cannot detect all other work. Do not switch another ses
33
33
 
34
34
  ## Agree an ordered arrangement
35
35
 
36
- Choose stages from the responsibilities below based on the goal and existing inputs. Requirements and scope alignment are always needed; they may be one short conversation and one document. Adopt adequate existing artifacts as inputs without claiming their stages were newly executed. Do not create empty stage runs or templates.
36
+ Choose stages from the responsibilities below based on the goal and existing inputs. Requirements and scope alignment are always needed; use the fixed PRD/Scope conditions in [document patterns](document-patterns.md). Adopt adequate existing artifacts as inputs without claiming their stages were newly executed. Do not create empty stage runs or templates.
37
37
 
38
38
  Show the selected order and endpoint. If the user already specified or accepted this arrangement, record the decision and proceed. An unanswered proposal remains a proposal. Once agreed, follow the order; adding, dropping or reordering work needs a reason and an updated record. Important changes follow [change flow](sources-and-changes.md). A stage may recur as distinct instances with stable IDs and explicit scopes.
39
39
 
40
- Explain each design's key decisions, why they fit the requirements, tradeoffs, artifact location and remaining questions. Ordinary internal implementation choices stay with the agent. Ask for material changes to goals, scope, external behavior, compatibility, significant cost, data handling or an explicit technical commitment. Honor an agreed human review point, without adding approvals to every document.
40
+ Explain each design's key decisions, why they fit the requirements, tradeoffs, artifact location and remaining questions. Ordinary internal implementation choices stay with the agent. Ask for material changes to goals, scope, external behavior, compatibility, significant cost, data handling or an explicit technical commitment. Follow [document review](document-review.md): present each selected reviewable document after self-check and pause for explicit approval. An approval automatically starts the next authorized stage without a second start confirmation.
41
+
42
+ Default applicable development order: PRD/Scope → technical design → interface/SQL → test cases → plan → implementation/review/verification → handoff. Adapt to the actual endpoint and existing inputs as described in [document review](document-review.md); do not force all stages into specialist commissions.
41
43
 
42
44
  ## Stage references
43
45
 
@@ -59,7 +61,7 @@ Read the reference for the current responsibility, not all thirteen on every tur
59
61
  | verify | Executing the agreed checks and recording evidence | [verify](stages/verify.md) |
60
62
  | handoff | Delivering against the current goal or handing over incomplete work | [handoff](stages/handoff.md) |
61
63
 
62
- Each run records its scope, required inputs, results and progress. A result may be a section in a shared document. Proceed when this run's requirements are met, the next inputs exist, authorization covers it and no relevant unresolved issue blocks it. An issue blocks only dependent work; changing the order to continue other work is still an explicit plan change.
64
+ Each run records its scope, required inputs, results and progress. A result may be a section in a shared document. A `done` run records production completion, not human approval. Proceed when required document approvals match current content, this run's requirements are met, the next inputs exist, authorization covers it and no relevant unresolved issue blocks it. An issue blocks only dependent work; changing the order to continue other work is still an explicit plan change.
63
65
 
64
66
  ## Implementation and evidence
65
67
 
@@ -77,8 +79,12 @@ Use the installed tool's documented state protocol. Read the current revision be
77
79
 
78
80
  Important semantic changes retain historical review and test facts, mark affected conclusions for review and update the current editable authority. Do not overwrite external adopted sources. See [sources and change flow](sources-and-changes.md).
79
81
 
80
- At stable results save the state, remaining issues and next action. On a session switch give: “Use Aimship to continue <absolute delivery directory>; read state.json, the current goal/Scope and next-step inputs; <specific blocker if any>.” A new session reloads the same delivery, not the whole transcript. Use [recovery](recovery.md) for mismatch or uncertainty. Keep one active writing session per delivery.
82
+ At stable results save the state, remaining issues, current review stop/pending document and next stage. Show the same facts in chat; an explicit approval releases the next authorized step without asking whether to begin again. On a session switch give: “Use Aimship to continue <absolute delivery directory>; read the actual statePath returned by read (new: .aimship/state.json), the current goal/Scope and next-step inputs; <specific blocker if any>.” A new session reloads the same delivery, not the whole transcript. Use [recovery](recovery.md) for mismatch or uncertainty. Keep one active writing session per delivery.
81
83
 
82
84
  End when the current confirmed goal is met. For design work this means the agreed design, not code execution. For development it includes agreed review and verification. “Show me the result” does not shorten the goal. If the user explicitly changes the endpoint, preserve the old goal, decision and unfinished work, update the arrangement, and assess the revised goal. An incomplete handoff is allowed but is not goal completion.
83
85
 
84
86
  Small corrections within the original goal can reopen the same delivery: preserve its previous closure and result basis, increment the cycle, and review/verify affected work. A separate goal or substantial redesign starts a related delivery; retain the defect or source relationship without introducing parent/child scheduling. Prepared, accepted, merged and deployed are independent facts.
87
+
88
+ ## Formal artifacts and generated status
89
+
90
+ Read [document patterns](document-patterns.md) when establishing or revising the arrangement. All new formal documents use its fixed outlines and [artifact map](artifact-map.json). status.md is generated from structured state; tasks remain in plan.md. read/check/resume are read-only; inspect view and document-change warnings, and use explicit render to repair a stale/missing view. Preserve edits before rebuilding; never infer a business decision from hand-edited display text. After partial view failure use the saved revision, not a repeated business update.
@@ -1,19 +1,41 @@
1
- # Optional document patterns
1
+ # Delivery documents and traceability
2
2
 
3
- Use only the needed sections and artifacts. These are prompts for useful content, not empty files to generate automatically. Small work may combine diagnosis, test design, review, verification and handoff in `results.md`, with distinct referenced sections.
3
+ [artifact-map.json](artifact-map.json) is the shared mapping for stages, templates and checks. Use [templates](templates/prd.md) for newly authored documents; preserve section order and anchors, translate visible headings freely, and explain inapplicable sections. Templates are drafting guidance, not empty artifacts to generate for every delivery.
4
4
 
5
- **Requirements / Scope:** original request or adopted source; background; current goal and endpoint; included/excluded scope; authorized objects and constraints; requirements and acceptance criteria; source mapping; conflicts/decisions and open questions. Keep original input separate from revised current content.
5
+ One request has one directory. Formal documents are at its root. `source/request.md` preserves the original commission or source entry; other adopted versions stay in `source/` without overwriting. State, recovery copies, necessary evidence and generated host configuration belong under `.aimship/`. Generated `status.md` is the reading entry; no default INDEX, docs/sql hierarchy, AI copy, transcript or full export. A requested export is a dated object/version snapshot, never an editing authority.
6
6
 
7
- **Technical design:** current requirement basis; engineering constraints; chosen structure and alternatives/tradeoffs; interface links; data and compatibility; failure/recovery; risks and open decisions. For database changes link the independent SQL and its dialect/version, existing schema basis and execution conditions.
7
+ ## Input and output conditions
8
8
 
9
- **Plan:** batch ID and goal; requirement coverage; files/repositories and boundary; dependencies and interface; each batch review scope; overall review and independent verification. State tracks progress, so do not create a competing progress table.
9
+ Author current requirements in `prd.md`, including scope. Adopt an authoritative PRD/prototype through `scope.md`, preserving source/version/original IDs and gaps. Prior authorship does not make an adopted source editable. Only explicit maintenance of an editable authoritative PRD that completely expresses this commission's scope/authorization/endpoint permits registered reuse without another PRD/Scope. Scattered ideas/screenshots/reference cases are inputs to a PRD, not automatically authoritative requirements.
10
10
 
11
- **Verification plan:** requirement/risk → scenario and observable expected result; environment/data/tools; normal, error, boundary and relevant regression cases; known execution gaps. Keep missing-condition cases visible.
11
+ Interaction changes require a prototype when existing adopted material does not cover them and that work lies within the commissioned endpoint. New HTML uses `prototype/index.html`; register other agreed formats or reused entries. No interaction change means no invented prototype. Investigation/clarification-only requirements describe that commission and leave future development undefined.
12
12
 
13
- **Review record:** actor/source and date; exact objects/versions/differences; batch/overall/affected scope; requirements/design basis; findings, disposition and conclusion. A single-batch review explicitly covers both batch and overall responsibilities.
13
+ `test-design` precedes the selected `plan`; both reviewable documents need explicit approval. `plan` must finish before first implementation, even one small batch. `plan.md` holds both planned TASK/B records and actual execution, distinctly; state holds stage progress. `testing.md` holds cases/coverage and appended RUN records; verification follows overall review. Verify-only may register existing cases with version/coverage, without claiming test-design occurred. Review-only does not require implementation/tests. No arbitrary small-task merging, `implementation.md`, `test-plan.md`, `verification.md`, or `results.md` for new work.
14
14
 
15
- **Verification record:** actor/source and date; case version; tested code/build and environment; executed commands/operations; assertions and actual results; pass/fail/not-run/unknown; evidence locations; missing conditions and recovery action. Append a retest rather than rewriting the earlier failure.
15
+ Use `tech-design.md`. HTTP changes use `openapi.yaml` or the registered engineering authority; no extra contract wrapper. Non-HTTP formats are explicitly registered. Database changes require independent `database.sql` (one target) or `database-<id>.sql` per target in contract, after technical-design approval and before test cases. Technical design records the data approach and SQL plan without requiring finished SQL. SQL headers identify target/dialect/version/schema basis/conditions; ordered sections cite requirements/design. Never substitute a Markdown block or migration reference, or execute/change migration mechanisms without authorization.
16
16
 
17
- **Change:** stable ID; reason and decision source; old/new meaning; affected artifacts/runs; remaining uncertainty; work completed and review/verification result. One important decision affecting several artifacts remains one record.
17
+ `diagnosis.md` belongs only to an explicitly selected independent investigation. Known-cause bugs and ordinary development debugging do not add diagnose. Major unknowns require a recorded stage adjustment; hold dependent work. Implementation defects go to implementation, design errors to design, requirement gaps to PRD/Scope, incorrect expectations to versioned cases.
18
18
 
19
- **Handoff:** current goal (and explicit revision if any); completed deliverables and links; how to use/check; actual review and verification scope; limitations/remaining work; goal achievement, acceptance, merge and deployment as separate facts; continuation if incomplete.
19
+ ## Identities and references
20
+
21
+ New local identities: REQ (type distinguishes functional, shared rule, permission, technical or quality), AC, B, TASK, TC, REV, RUN, CHG, Q, PAGE. Start at 001, increment after the historical maximum (including retired), never reuse an identity for another obligation. Shared rules, independent acceptance and single-role access/performance requirements must not disappear inside generic feature prose. Preserve external prefixes and source/version namespace. Splits/merges receive new identities and map old to new; classification changes retain identity.
22
+
23
+ One effective definition per namespace/ID; historical versions are explicitly labeled. Keep ordinary repeated citations as references, not duplicate definitions. New local Markdown uses explicit anchors and definition metadata beside the actual table row/section:
24
+
25
+ ```markdown
26
+ <a id="req-001-v1"></a>
27
+ <!-- aimship:def {"id":"REQ-001","version":1,"status":"current","refs":["local:AC-001@1"]} -->
28
+ REQ-001 | functional | ... actual obligation and source ...
29
+ ```
30
+
31
+ Optional `namespace` defaults to `local`; source identity may use `source-v1`. External IDs keep their original spelling (including nonnumeric forms such as `acceptance.login`); `:` and `@` are reserved reference delimiters. For an external ID without a recognized prefix, set `kind` to REQ, AC, B, TASK, TC, REV, RUN, CHG, Q or PAGE when its role is needed for coverage checks, for example `{"namespace":"source-v1","id":"acceptance.login","kind":"AC","version":1,"status":"current","refs":[]}`. Reference it as `source-v1:acceptance.login@1`; do not renumber the source. `status` is current/historical/retired. `refs` uses namespace:ID@version (no implicit latest). Put metadata at the single definition; table/Markdown citations elsewhere may repeat. Retain old TC definitions or necessary prior meaning and increment versions for semantic changes. RUN metadata cites exact TC versions; its prose binds code/build, actual command/assertion/result/evidence. Tools check metadata resolution and basic coverage; Agent checks whether it truly covers every assertion.
32
+
33
+ REQ/source → AC → design/operation/SQL, TASK → actual repository object → REV, and AC → TC@version → RUN@object. Relationships live in those documents, not a trace.md or a second state matrix. Q is defined once in the discovering document with impact/needed decision/status/source; resolving it also updates the affected formal authority, linked to one CHG if meaning changes. Old review/test facts remain; only affected current applicability becomes needs-review.
34
+
35
+ ## Saving and checking
36
+
37
+ Register `documentPolicy` and `documents` per [CLI](../../../docs/cli.md). Draft at stage start; completion requires the mapped artifact and precise result anchor, not merely a filename. New Markdown anchors/metadata are machine-checkable; reused/remote/binary material needs recorded basis and explicit unchecked scope. Local references remain relative to delivery root even though JSON moved internally.
38
+
39
+ Save unfinished intent, update formal documents, inspect them, then revision-check state. A matching status revision does not prove documents unchanged. Read/check/resume diagnose only. A saved state with a failed view must be repaired using render at the returned revision, never replayed. Preserve hand-edited status before rebuilding and interpret intent against existing authority; it cannot confer acceptance or publishing permission.
40
+
41
+ Preserve the fixed outlines and identity rules during [document review](document-review.md). Plan/testing design approval excludes their later execution/result sections; keep actual execution there.
@@ -0,0 +1,28 @@
1
+ # Review one document, then continue
2
+
3
+ The selected development order is requirements intake / PRD or Scope → technical design → interface contract and independent SQL when applicable → test cases → implementation plan → implementation with batch and overall review → independent verification → handoff and acceptance. Test design precedes planning. Keep the agreed endpoint: prototype and investigation have their own reviewable outputs; design-only stops at the commissioned design. Review-only and verify-only use their existing object/case basis without inventing implementation or uncommissioned upstream stages. Frame clarifies inputs; requirements/Scope provides the reviewed requirement authority. Do not generate empty stages or templates. When two responsibilities share the same already-approved current document, reuse that exact approval without asking twice.
4
+
5
+ For requirements/Scope, prototype, independent diagnosis, technical design, each interface/SQL document, test cases and implementation plan:
6
+
7
+ 1. Generate or revise the concrete document, preserving its fixed outline, identities and references. Self-check its content, coverage, consistency and actual entry. Mark production complete separately from this self-check.
8
+ 2. Save the self-check record for that version/content. Give the user the document link, a short summary of decisions and unresolved questions, current review status and the next selected stage. Stop for human review. For several interface/SQL files, name and present each document individually; do not ask approval of an unspecified supporting package or introduce a scope-selection interface.
9
+ 3. An explicit user approval of the presented document is sufficient. Record the actual message/decision source and exact document version/content, then automatically begin the next authorized stage (or present the next applicable interface/SQL document). Do not ask again whether to start, and do not assess how carefully the user read it. A question, silence or “show me the results” is not approval.
10
+ 4. Answer questions while retaining the stop. For requested edits, record `changes-requested`, revise, self-check and present again. Neither `done`, an existing file, nor an Agent review substitutes for user approval. A prior explicit decision may be recorded if it really identifies this exact content; never manufacture one from general implementation permission.
11
+
12
+ Do not ask human approval for every execution log, batch review or test result. Once the plan and required documents are approved, authorized implementation, Agent review, defect repairs within those requirements and retests can continue, showing results. New material decisions and production actions still need their own authorization. Final `outcome.acceptance` is a separate user decision; document approval does not accept the delivery, merge, deploy or execute SQL.
13
+
14
+ ## State and evidence
15
+
16
+ New state has `reviewPolicy: 1` and append-only `reviewHistory`. Use the [CLI review protocol](../../../docs/cli.md#document-review-protocol) for exact fields. `read`, `check` and `resume` return current fingerprints and review status; state tools check records and dependencies, not user identity or authenticity. Preserve a concise, faithful decision excerpt with original conversation/message locator and date in a local evidence file or existing formal record. Do not label a synthetic test decision as a real user's approval. Keep decision evidence files immutable and add new decisions in new files. The source hash records submitted evidence bytes, not an authenticated signature; changed/missing evidence blocks release until reconciled.
17
+
18
+ For new plan/testing templates, approval covers content before `execution`/`runs` respectively. Subsequent task execution and RUN/conclusion records belong in their later sections; moving changed design into result sections to evade review is forbidden. Other documents and reused formats use the whole registered file. For prototype assets and remotely adopted formats, preserve a readable local fixed-version review basis that identifies every relevant asset/version; report binary/remote inspection limits. Register local/repository linked assets in documents[].assetRefs to bind their bytes; the Agent must check that this set is complete. Do not claim entry-file hashing alone verifies all linked assets.
19
+
20
+ Stage runs use the agreed array order; by default a run depends on its predecessor. `dependsOn` can state explicit preceding dependencies for independent work, and declared input/output producer links plus earlier selected development prerequisites also apply. Record the reason for changing an arrangement. A pending document holds dependent work; it does not authorize unrelated work outside the commission. `status.md` and chat show the current stage, pending document, review status and next stage. `resume` preserves the same stop and never automatically turns a question or old `done` into approval.
21
+
22
+ ## Changes and old states
23
+
24
+ Use existing CHG records to explain semantic changes, affected requirements/documents/runs and the real decision source. Change the document version, keep old approvals and necessary old meaning/evidence, mark affected producer/dependent runs `needs-review`, and return to the corresponding document stage. An old approval cannot release new content. After renewed approval, recheck affected downstream work in dependency order and restore applicability with evidence; never clear every result or reset unaffected branches. Update `currentRun`/`next` to the actual re-review stop. Tools cannot infer all semantic dependencies: Agent impact analysis remains necessary.
25
+
26
+ For a formatting/typo-only adjustment, self-check the new digest and append an `editorial` reconciliation that cites the previous approved digest and explains why meaning is unchanged. It carries the old approval without fabricating a new user decision. No full downstream re-review is needed. A changed requirement, case expectation or design choice is never editorial.
27
+
28
+ Old schema 1 follows migrate then adopt; schema 2 without reviewPolicy stays readable, but does not prove historical approval. At a stable compatibility point, preserve historical runs and evidence, reconcile documents, and enable `reviewPolicy: 1, reviewHistory: []`. Review current prerequisite documents before resuming dependent work. Do not invent user approvals or rerun completed engineering work just to fill a new field; only its current applicability must be assessed. Ended deliveries are not bulk migrated.
@@ -5,11 +5,13 @@ Reuse the current session's access when normal file operations succeed. Do not c
5
5
  When access is missing, name the exact delivery/repository path and the needed operation. Retain the original request and continuation context. Do not disable host permission controls, grant the entire home directory or silently move materials into the repository.
6
6
 
7
7
  - Codex: explicitly select Aimship (CLI `$aimship`). If CLI startup is needed, verify the executable/version/help and use its supported `--cd` and repeated `--add-dir` syntax for the needed writable directories. For desktop, rely on the actual current interface or official guidance; never invent a directory button or claim a prepared path has been granted access.
8
- - Cursor: explicitly use `/aimship`. When useful, prepare `host/cursor.code-workspace` inside the delivery with `folders` entries only, referencing materials and repositories; preserve an existing workspace's settings. The user opens/adds folders when necessary. For CLI verify the exact executable (do not assume bare `agent` is Cursor) and current `--workspace` / `--add-dir` support.
8
+ - Cursor: explicitly use `/aimship`. When useful, prepare `.aimship/host/cursor.code-workspace` inside the delivery with absolute `folders[].path` entries only, referencing materials and repositories; preserve an existing workspace's settings. The user opens/adds folders when necessary. For CLI verify the exact executable (do not assume bare `agent` is Cursor) and current `--workspace` / `--add-dir` support.
9
9
  - Claude Code: explicitly use `/aimship`; verify current `/add-dir` or `--add-dir` behavior when additional access is needed. Do not fork the skill or start a subagent.
10
10
 
11
11
  Installation discovery, actual selection, model behavior, directory access and continuation are separate evidence levels. Codex/Cursor share the managed `.agents/skills/aimship` entry; Claude Code uses `.claude/skills/aimship`. A host may discover both, including when it is not registered with Aimship. Registration controls installer-managed connections, not another host’s compatibility scanning. Managed entries must point to the same stable installation; do not assume duplicate precedence or delete unrelated entries. Record duplicates as observed, and consult the published support matrix for tested surfaces.
12
12
 
13
13
  After compaction or manual switching, reload the fixed-version core, state and current-stage inputs if missing. Do not rely on a host retaining all skill text. If even the binding location is absent, request the delivery path. Re-invoking an entry to restore context continues the existing delivery; it does not create another one.
14
14
 
15
- When changing hosts, use the same delivery directory and state; do not duplicate requirements, Scope or design to establish a new session. Permissions must be granted separately in each host. Keep one writing host/session for the delivery. User-facing entry/reload and lifecycle instructions are in [the installation guide](../../../docs/installation.md).
15
+ When changing hosts, use the same delivery directory and state; do not duplicate requirements, Scope or design to establish a new session. Permissions must be granted separately in each host. Keep one writing host/session for the delivery. User-facing entry/reload and lifecycle instructions are in [the user guide](../../../docs/guide.md#hosts).
16
+
17
+ When reconciling an old Aimship-created workspace, resolve relative folders against its old file location before writing the new internal file. Verify actual checkout/worktree identity. Do not move or replace a user-owned existing workspace.
@@ -11,3 +11,13 @@ A tool/version mismatch stops new stage advancement. Save only in-progress facts
11
11
  Unknown newer formats remain readable as files but must not be overwritten or silently downgraded. Structural migrations require a supported conversion, necessary backup, clear description and validation. If no migration exists, preserve the materials and state the gap; do not invent historical stages. Compatible rules updates do not require new goal approval. Never sweep ended deliveries during install; only assess an ended delivery when it is reopened.
12
12
 
13
13
  Installation and data are separate. Explicit install manages product-owned files and host entries. Preserve user customizations and unrelated same-name skills; report the exact conflict. Uninstall retains delivery materials, customization and necessary configuration. Recovery retains a bounded previous installation, not every runtime forever. Consult the CLI help for implemented operations; do not bypass checks with raw state edits to obtain a success result.
14
+
15
+ ## Schema 1 to schema 2
16
+
17
+ Read reports the actual statePath and layout. Use migrate on one explicitly selected delivery, with the old revision and a compatibilityRef; then adopt active rules at the returned revision. The migration journal and byte-preserved source copies stay under .aimship. A pending journal requires the original migrate parameters, not a normal update. Conflicting dual layouts and unknown schemas never accept normal writes.
18
+
19
+ Migration converts state layout/schema only. Reconcile legacy requirements/design/implementation/test-plan/verification by their actual role, retaining original text and versioned results. Register legacy files as reused with a compatibility basis; create missing new plan/testing content for future work without inventing historical stages. Move necessary evidence and Aimship-created host files only with a concrete mapping, rewrite report links, and resolve workspace relative folders from the old location. Ordinary business source is never overwritten.
20
+
21
+ State is authoritative for stages; status is generated. JSON may have saved while view generation failed: use returned revision and render, never repeat update. Read/check/resume never repair implicitly. Inspect changed registered documents even when view revision matches. render --preserve-edits retains a modified status before replacing it; interpret intent and update the formal authority separately.
22
+
23
+ Follow [document review](document-review.md) for saved review stops, approval history, exact content versions, affected dependency re-review and old-state compatibility. Read/resume never infer approval from done or create a new user decision.
@@ -26,3 +26,11 @@ Markdown/HTML are principal carriers, not a format whitelist. Images, screenshot
26
26
  4. Review affected work and execute affected verification as required by the goal, then close the same change with its result and remaining issues.
27
27
 
28
28
  Formatting/typo corrections do not require semantic re-review. Implementation bugs are fixed against the requirements; do not weaken the requirements to match the bug. Tools detect structural problems, not every semantic dependency. State uncertainty in the impact analysis rather than claiming complete automatic coverage.
29
+
30
+ ## Location and version discipline
31
+
32
+ Preserve raw adopted versions under source/, including source/request.md. Author current requirements in prd.md or adopt authoritative material through scope.md. Formal outputs remain at the delivery root. New source versions are additional records, never replacements of adopted originals. Normal business evidence belongs in .aimship/evidence/; installation diagnostics and repeated state returns belong in product-maintainer validation, not the delivery.
33
+
34
+ Use CHG for significant changes, stable REQ/AC and exact TC versions. Retain failed RUN and historical REV records. Q closes only after its decision also reaches the affected formal text. See document-patterns for namespaces, retired IDs, split/merge mapping and structure. An explicit full export must identify its date and object/version and remain a snapshot.
35
+
36
+ Follow [document review](document-review.md) for saved review stops, approval history, exact content versions, affected dependency re-review and old-state compatibility. Read/resume never infer approval from done or create a new user decision.
@@ -1,4 +1,4 @@
1
- # Define interfaces
1
+ # Define interfaces and independent SQL
2
2
 
3
3
  ## Basis
4
4
 
@@ -10,10 +10,18 @@ Update/reuse the authoritative HTTP OpenAPI when applicable; create a delivery-l
10
10
 
11
11
  ## Continue when
12
12
 
13
- The cooperating parties have an unambiguous applicable contract consistent with the current requirements/design. No relevant interface change means this responsibility need not be selected.
13
+ The cooperating parties have an unambiguous applicable contract consistent with the current requirements/design. Select this responsibility for interface or database changes; omit it only when neither applies. SQL-only work does not invent an interface artifact.
14
14
 
15
15
  ## Decisions and blockers
16
16
 
17
17
  A breaking interface/compatibility decision needs its proper authority. Missing consumers or schemas remain stated gaps, not fabricated agreements.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use openapi.yaml or the registered authoritative contract when interfaces apply. Database changes produce independent database.sql for one target, or database-<id>.sql per target, with target/dialect/version/schema basis/conditions and ordered requirement/design references. Review each file individually after technical design approval and before test cases. Do not execute SQL or modify engineering migrations without explicit authorization. Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
24
+
25
+ ## Human document review
26
+
27
+ Apply [document review](../document-review.md): generate → self-check → present the concrete document entry, short summary and next stage → pause. Record explicit user approval of this version/content, then continue the next authorized step automatically. Questions or edit requests retain the stop; edits require self-check and re-review. Production `done` is separate from approval and final acceptance.
@@ -17,3 +17,13 @@ The investigation goal is met, or the inability to determine a cause and a concr
17
17
  If the apparent small fix expands into behavior or scope changes, explain the impact before dependent implementation.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use diagnosis.md. Preserve the `conclusion` section anchor. Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
24
+
25
+ Only a commissioned independent investigation produces diagnosis.md. Known-cause bugs and normal development debugging stay within their current stage. Record an arrangement change before adding a mid-delivery investigation.
26
+
27
+ ## Human document review
28
+
29
+ Apply [document review](../document-review.md): generate → self-check → present the concrete document entry, short summary and next stage → pause. Record explicit user approval of this version/content, then continue the next authorized step automatically. Questions or edit requests retain the stop; edits require self-check and re-review. Production `done` is separate from approval and final acceptance.
@@ -17,3 +17,7 @@ The commissioned exploration has a clear objective and its uncertainty is visibl
17
17
  A missing business objective or incompatible expected outcomes needs a user decision; independent evidence gathering may continue.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use the selected PRD/Scope requirement entry. Preserve the `goals` section anchor (Scope uses adoption/goals as applicable). Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
@@ -17,3 +17,7 @@ The report honestly matches the current commissioned endpoint. Complete the deli
17
17
  Showing results does not revise the endpoint. Required blocked verification means incomplete acceptance, even when code is ready. Small later corrections reopen with preserved closure; independent goals create related deliveries.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use handoff.md. Preserve the `outcomes` section anchor. Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
@@ -17,3 +17,9 @@ The planned batch is implemented and known deviations are resolved or explicitly
17
17
  Expanded external behavior, data handling or authorization needs return to the relevant decision. A rejected permission remains blocked and is not retried through another host.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use plan.md. Preserve the `execution` section anchor. Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
24
+
25
+ Update TASK/B status and actual execution in the existing plan.md, preserving planned versus actual and code versions. Do not generate implementation.md.
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Basis
4
4
 
5
- Read current Scope, applicable design/contracts and relevant repository boundaries.
5
+ Read approved current PRD/Scope, test cases/coverage, applicable design/contracts and relevant repository boundaries.
6
6
 
7
7
  ## Work and result
8
8
 
@@ -10,10 +10,18 @@ Define executable batches, each goal and requirement coverage, dependencies, aut
10
10
 
11
11
  ## Continue when
12
12
 
13
- Batches can be executed in order and together cover the delivery goal. Small work may keep a concise ordered arrangement in state rather than a separate plan.
13
+ Batches can be executed in order and together cover the delivery goal. Every implementation, including a single small batch, requires a completed plan and plan.md before it begins.
14
14
 
15
15
  ## Decisions and blockers
16
16
 
17
17
  A material change in scope/endpoint needs a decision; routine task splitting does not. Record the reason if changing the existing order.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use plan.md. Preserve the `tasks` section anchor. Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
24
+
25
+ ## Human document review
26
+
27
+ Apply [document review](../document-review.md): generate → self-check → present the concrete document entry, short summary and next stage → pause. Record explicit user approval of this version/content, then continue the next authorized step automatically. Questions or edit requests retain the stop; edits require self-check and re-review. Production `done` is separate from approval and final acceptance.
@@ -17,3 +17,11 @@ The relevant interactions and states are clear and consistent with current requi
17
17
  Missing visual/browser tools require an explicit unverified scope. Resolve contradictory behavior through requirements/Scope; do not silently alter external prototypes.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use the registered prototype entry (new HTML: prototype/index.html). Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
24
+
25
+ ## Human document review
26
+
27
+ Apply [document review](../document-review.md): generate → self-check → present the concrete document entry, short summary and next stage → pause. Record explicit user approval of this version/content, then continue the next authorized step automatically. Questions or edit requests retain the stop; edits require self-check and re-review. Production `done` is separate from approval and final acceptance.
@@ -17,3 +17,11 @@ The requirements are adequate for the commissioned next work and material ambigu
17
17
  Ask for business behavior, compatibility or endpoint choices that cannot be inferred. Do not invent user acceptance.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use the selected PRD/Scope requirement entry. Preserve the `requirements` section anchor (Scope uses adoption/goals as applicable). Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
24
+
25
+ ## Human document review
26
+
27
+ Apply [document review](../document-review.md): generate → self-check → present the concrete document entry, short summary and next stage → pause. Record explicit user approval of this version/content, then continue the next authorized step automatically. Questions or edit requests retain the stop; edits require self-check and re-review. Production `done` is separate from approval and final acceptance.
@@ -17,3 +17,7 @@ The agreed scope has actually been examined and issues blocking progression are
17
17
  Do not replace an agreed human review with agent review. Review cannot be reported as a running test; unrelated work need not be re-reviewed.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use review.md. Preserve the `reviews` section anchor. Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
@@ -17,3 +17,11 @@ The goal, authority and scope are clear enough for the selected next work, with
17
17
  Material conflicting sources or uncertain authority needs clarification; format differences alone do not. Never choose source priority by filename or date.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use the selected PRD/Scope requirement entry. Preserve the `scope` section anchor (Scope uses adoption/goals as applicable). Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
24
+
25
+ ## Human document review
26
+
27
+ Apply [document review](../document-review.md): generate → self-check → present the concrete document entry, short summary and next stage → pause. Record explicit user approval of this version/content, then continue the next authorized step automatically. Questions or edit requests retain the stop; edits require self-check and re-review. Production `done` is separate from approval and final acceptance.
@@ -6,7 +6,7 @@ Read current requirements/Scope, relevant engineering instructions, architecture
6
6
 
7
7
  ## Work and result
8
8
 
9
- Choose an approach with concrete components, dependencies, errors/recovery, compatibility and tradeoffs. Link authoritative contracts instead of duplicating them. For database changes create separate delivery-local SQL and explain dialect/version, existing schema basis, conditions and sequence. Do not edit migration files or execute SQL without that commission.
9
+ Choose an approach with 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.
10
10
 
11
11
  ## Continue when
12
12
 
@@ -17,3 +17,13 @@ The design can guide the agreed next work and correctness-affecting issues have
17
17
  Missing schema/dialect or material compatibility/data decisions block dependent design claims. An explicitly revised conceptual-design endpoint must retain these limitations.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use tech-design.md. Preserve the `coverage` section anchor. Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
24
+
25
+ Technical design does not require finished SQL before its review. After its approval, contract produces and presents database.sql for one target, or database-<id>.sql per independent target. No SQL for no database change.
26
+
27
+ ## Human document review
28
+
29
+ Apply [document review](../document-review.md): generate → self-check → present the concrete document entry, short summary and next stage → pause. Record explicit user approval of this version/content, then continue the next authorized step automatically. Questions or edit requests retain the stop; edits require self-check and re-review. Production `done` is separate from approval and final acceptance.
@@ -10,10 +10,18 @@ Map each goal/risk to observable checks: normal behavior, relevant errors/bounda
10
10
 
11
11
  ## Continue when
12
12
 
13
- The goal and material risks have appropriate checks and missing execution conditions are explicit. Simple checklists may share a later report.
13
+ The goal and material risks have appropriate checks and missing execution conditions are explicit. Complete and obtain approval of cases/coverage before the selected plan stage. Write them in testing.md; execution remains explicitly not run until verify.
14
14
 
15
15
  ## Decisions and blockers
16
16
 
17
17
  Missing tools or execution authority do not justify deleting a valid case. Clarify acceptance omissions through current requirements rather than measuring only test count.
18
18
 
19
19
  Use [the shared core](../core.md) for state, evidence and continuation rules. Record meaningful results in an artifact or referenced section; a file alone is not completion.
20
+
21
+ ## Artifact contract
22
+
23
+ Use testing.md. Preserve the `cases` section anchor. Follow [document patterns](../document-patterns.md) and the single [artifact map](../artifact-map.json). Keep this run independent even when its document is shared. New runs need a precise result location; adopted work is not a newly executed stage.
24
+
25
+ ## Human document review
26
+
27
+ Apply [document review](../document-review.md): generate → self-check → present the concrete document entry, short summary and next stage → pause. Record explicit user approval of this version/content, then continue the next authorized step automatically. Questions or edit requests retain the stop; edits require self-check and re-review. Production `done` is separate from approval and final acceptance.