aimship 0.1.0-preview.18 → 0.1.0-preview.20
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 +11 -5
- package/README.md +69 -87
- package/README.zh-CN.md +68 -86
- package/docs/cli.md +17 -5
- package/docs/guide.md +5 -5
- package/docs/guide.zh-CN.md +5 -5
- package/lib/cli.mjs +13 -10
- package/lib/delivery.mjs +18 -1
- package/lib/documents.mjs +2 -1
- package/lib/execution.mjs +27 -0
- package/lib/install.mjs +26 -3
- package/lib/protocol.mjs +27 -0
- package/lib/state.mjs +11 -6
- package/lib/view.mjs +36 -32
- package/package.json +5 -2
- package/skills/aimship/SKILL.md +2 -2
- package/skills/aimship/references/core.md +4 -4
- package/skills/aimship/references/document-patterns.md +2 -2
- package/skills/aimship/references/recovery.md +3 -1
- package/skills/aimship/references/review-method.md +7 -0
- package/skills/aimship/references/reviews/batch.md +21 -0
- package/skills/aimship/references/reviews/overall.md +21 -0
- package/skills/aimship/references/reviews/recheck.md +21 -0
- package/skills/aimship/references/routing.md +16 -0
- package/skills/aimship/references/stages/contract.md +10 -12
- package/skills/aimship/references/stages/diagnose.md +11 -13
- package/skills/aimship/references/stages/frame.md +11 -11
- package/skills/aimship/references/stages/handoff.md +12 -12
- package/skills/aimship/references/stages/implement.md +13 -13
- package/skills/aimship/references/stages/plan.md +10 -12
- package/skills/aimship/references/stages/prototype.md +10 -14
- package/skills/aimship/references/stages/requirements.md +10 -14
- package/skills/aimship/references/stages/review.md +14 -16
- package/skills/aimship/references/stages/tech-design.md +12 -14
- package/skills/aimship/references/stages/test-design.md +10 -12
- package/skills/aimship/references/stages/verify.md +12 -12
- package/skills/aimship/references/templates/change-log.md +2 -2
- package/skills/aimship/references/templates/diagnosis.md +7 -7
- package/skills/aimship/references/templates/handoff.md +6 -6
- package/skills/aimship/references/templates/plan.md +7 -7
- package/skills/aimship/references/templates/prd.md +7 -7
- package/skills/aimship/references/templates/review.md +5 -5
- package/skills/aimship/references/templates/tech-design.md +7 -7
- package/skills/aimship/references/templates/testing.md +7 -7
package/CONTRIBUTING.md
CHANGED
|
@@ -78,19 +78,25 @@ The output directory must not exist. The harness creates isolated code and deliv
|
|
|
78
78
|
|
|
79
79
|
These examples check local document/state behavior. They do not establish automatic Skill discovery, real cross-host continuation, UI interaction or HTTP acceptance. Run output records assertions and limitations. Results from older schemas do not establish current behavior.
|
|
80
80
|
|
|
81
|
-
##
|
|
81
|
+
## Test upcoming changes
|
|
82
82
|
|
|
83
|
-
The
|
|
83
|
+
The README's normal installation/update entry is `npx aimship@latest install`. `latest` means the current recommended version; it can be a verified Preview before the first formal release, and follows formal releases afterward. Ordinary users do not choose a channel.
|
|
84
|
+
|
|
85
|
+
For an explicit test invitation or development check, `npx aimship@preview install` selects the published Preview channel. Users who previously used `@preview` and want to follow formal releases should use `@latest` once; the installer records the actual version, not a persistent npm channel choice. Exact versions belong in recovery or reproducibility instructions, not quick-start choices.
|
|
86
|
+
|
|
87
|
+
## Preview and formal releases
|
|
88
|
+
|
|
89
|
+
The [Publish preview workflow](.github/workflows/publish-preview.yml) is manually dispatched in `clsx/aimship`. It does not publish on push. Review and commit the versioned source, run tests and documentation/package checks, push the default branch and an exact `vX.Y.Z-preview.N` or unsuffixed `vX.Y.Z` tag, then select that same tag as both the workflow ref and its `tag` input. The tagged commit must contain the workflow and matching `package.json` version. `publishConfig.tag` must be `preview` for a Preview or `latest` for a formal release; RC versions are not supported. Preview is for validation. Formal 0.1.0 is a manual decision after real complete deliveries on Mac and Windows, passing existing automated checks, no known blockers in the declared scope and accurate README content; no fixed user count, waiting period or all-model/all-tool coverage is required. Formal status does not guarantee every AI output is correct. For example, with the GitHub CLI:
|
|
84
90
|
|
|
85
91
|
```sh
|
|
86
92
|
gh workflow run publish-preview.yml --repo clsx/aimship --ref vX.Y.Z-preview.N -f tag=vX.Y.Z-preview.N -f operation=publish
|
|
87
93
|
```
|
|
88
94
|
|
|
89
|
-
Validation runs on a GitHub-hosted runner without OIDC permission. It checks the release context, runs the full tests and documentation/package checks, and packs once. Every tarball member is compared with the source. The publishing job receives that exact artifact, rechecks its source and digest, and publishes `aimship` publicly to `https://registry.npmjs.org`
|
|
95
|
+
Validation runs on a GitHub-hosted runner without OIDC permission. It checks the release context, runs the full tests and documentation/package checks, and packs once. Every tarball member is compared with the source. The publishing job receives that exact artifact, rechecks its source and digest, and publishes `aimship` publicly to `https://registry.npmjs.org`: Preview packages use `preview`, formal packages use `latest`. After verifying the downloaded bytes and provenance, it synchronizes the applicable tags. Before any formal publication, a verified Preview also advances `latest`. Starting with the first formal release, only formal releases advance `latest`; later Previews update only `preview`. Formal releases retain the opt-in Preview tag rather than pointing it at the formal package. Forward checks, verification and recovery follow that same channel policy. `latest` is the default installation channel; pointing it at a preview version does not make that version stable. Actions and runner Node/npm versions are pinned in the workflow; these CI versions are not a replacement for the package's stated runtime requirements or a claim of cross-platform validation.
|
|
90
96
|
|
|
91
97
|
The npm package's trusted publisher must identify GitHub Actions, owner `clsx`, repository `aimship`, workflow filename `publish-preview.yml`, no environment, and allow direct `npm publish` and `npm dist-tag`. The tag permission is separate from publishing permission and must be explicitly authorized by the package owner; the workflow never changes the trust configuration. Tag operations require npm 11.21+ or 12.2+ (the workflow pins npm 11.21.0). Staged publishing is not used. No long-lived npm token is stored. Only jobs that publish or synchronize tags have `id-token: write`; validation has no OIDC permission, and all jobs have only `contents: read` for repository access. This is an ongoing publishing permission for that workflow, so changes to it deserve release-security review. A newly created npm trust must complete its first successful publication within npm's required window; see [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/).
|
|
92
98
|
|
|
93
|
-
On any uncertain publish result, inspect the registry and run logs before retrying. An existing version with different integrity stops the workflow; an identical version is verified without republishing. Missing provenance, unrecognized version formats, or a newer
|
|
99
|
+
On any uncertain publish result, inspect the registry and run logs before retrying. An existing version with different integrity stops the workflow; an identical version is verified without republishing. Missing provenance, unrecognized version formats, or a newer version in a tag targeted by this release stops the operation. A formal `latest` does not block publishing a later Preview to `preview`. Channel synchronization requires the separate tag permission. A failed tag update may leave publication complete but channel synchronization pending; do not republish or create a replacement version. Preserve the run URL, commit, artifact digest and registry outcome. Create the GitHub Release separately (`--prerelease` for Preview only, formal otherwise) after successful npm verification, using the same tag and validated package; the publishing workflow has no repository write permission. Do not reuse a released version for changed package contents.
|
|
94
100
|
|
|
95
101
|
To finish channel synchronization for an **already published, explicitly approved** release, run the current `main` workflow with `operation=sync-tags` and the original release tag:
|
|
96
102
|
|
|
@@ -98,4 +104,4 @@ To finish channel synchronization for an **already published, explicitly approve
|
|
|
98
104
|
gh workflow run publish-preview.yml --repo clsx/aimship --ref main -f tag=vX.Y.Z-preview.N -f operation=sync-tags
|
|
99
105
|
```
|
|
100
106
|
|
|
101
|
-
This operation never publishes a package or moves a Git tag. It compares the existing npm tarball with the original tagged source, checks its registry integrity and provenance availability, and updates only tags that do not already match. Each write is preceded by a fresh registry check; an old run cannot intentionally roll
|
|
107
|
+
This operation never publishes a package or moves a Git tag. It compares the existing npm tarball with the original tagged source, checks its registry integrity and provenance availability, and updates only tags that do not already match. Each write is preceded by a fresh registry check; an old run cannot intentionally roll its target channels back or use a Preview to replace a formal `latest`. The shared workflow concurrency group serializes these operations, but npm offers no compare-and-swap for changes made outside this workflow: avoid concurrent manual tag edits. On a denied or uncertain write, inspect the registry and logs before any authorized retry. Do not switch credentials or broaden trusted-publisher permissions automatically.
|
package/README.md
CHANGED
|
@@ -2,155 +2,137 @@
|
|
|
2
2
|
|
|
3
3
|
[中文](README.zh-CN.md) · [Guide](docs/guide.md)
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**Turn a requirement into a delivery you can review, follow and resume in your AI coding tool.**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Aimship is for developers who own the result, from a small fix to a feature spanning several repositories. Bring a goal and whatever materials you already have. The agent clarifies requirements, prepares designs, plans implementation batches, reviews the changes and records independent verification. You review the key documents and decisions before dependent work proceeds.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Standard document outlines, identifiers and references connect requirements and acceptance criteria to designs, implementation tasks, reviews and test results. Documents are produced as needed for the delivery goal, giving you a consistent basis for review without requiring an empty template for every stage.
|
|
9
|
+
- **Understand the proposal before code changes:** requirements and acceptance criteria connect to the design, tasks and tests.
|
|
10
|
+
- **See what is actually finished:** `status.md` summarizes delivery stages; the plan tracks batch/task progress, reviews track findings, and tests retain actual results.
|
|
11
|
+
- **Continue without reconstructing the conversation:** saved documents, decisions and state give the next session a starting point. Changes return to the affected design and review.
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
The agent organizes requirements, design, implementation and verification; you review key documents and important decisions. Feedback leads to revisions, and approval enables subsequent work. Final acceptance is based on the agreed goal and actual verification results.
|
|
16
|
-
|
|
17
|
-
Documents and state are saved throughout the work, keeping progress, decisions and verification evidence traceable and reducing the need to repeat background or reconstruct earlier work.
|
|
13
|
+
Aimship manages the delivery process. The agent still needs to investigate, self-check and correct its work; you judge the content and acceptance. Model and AI-tool behavior can vary. **Currently in Preview**; installation or passing tool tests is not proof that every tool/model combination works.
|
|
18
14
|
|
|
19
|
-
[
|
|
15
|
+
[Start](#install) · [Example](#delivery-example) · [Upgrade](#update) · [Troubleshooting](#installation-troubleshooting)
|
|
20
16
|
|
|
21
17
|
<a id="quick-start"></a>
|
|
22
18
|
<a id="install"></a>
|
|
23
|
-
##
|
|
24
|
-
|
|
25
|
-
Requires **Node.js 22+ and npm**.
|
|
19
|
+
## Start a delivery
|
|
26
20
|
|
|
27
|
-
|
|
21
|
+
Requires **Node.js 22+ and npm**. Install for your AI tool:
|
|
28
22
|
|
|
29
23
|
```sh
|
|
30
|
-
npx aimship@
|
|
24
|
+
npx aimship@latest install --host codex
|
|
31
25
|
```
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
```sh
|
|
36
|
-
npx aimship@preview install --host codex --host claude-code
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
The npx package prompt confirms downloading and running the package; `install` performs the Aimship installation or upgrade. `@preview` selects the published preview channel; an exact published version, such as `@0.1.0-preview.18`, can be used instead. The preview channel is experimental and does not imply a stable release.
|
|
40
|
-
|
|
41
|
-
### A specific version or local package
|
|
27
|
+
Use `codex`, `cursor` or `claude-code` for `--host`. To connect several tools, repeat the option, such as `--host codex --host claude-code`. No global npm installation, administrator privilege or npm login is required; npm needs a writable cache. `latest` means the currently recommended version. Before the first formal release, it points to a Preview; the command stays the same afterward.
|
|
42
28
|
|
|
43
|
-
|
|
29
|
+
Refresh the tool's Skill discovery or start a new session, activate Aimship, then give it a concrete request. For example:
|
|
44
30
|
|
|
45
|
-
|
|
46
|
-
npx aimship@0.1.0-preview.18 install --host codex
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
If you already have an Aimship `.tgz` package, replace `VERSION` with its actual version and run from the directory containing it:
|
|
31
|
+
> Use Aimship to add CSV export for the selected orders in this dashboard. Keep the existing permission rules; help me clarify the requirements first.
|
|
50
32
|
|
|
51
|
-
|
|
52
|
-
npx --offline file:./aimship-VERSION.tgz install --host codex
|
|
53
|
-
```
|
|
33
|
+
You can start with an idea, a bug report, an existing PRD or a prototype. A complete specification and code checkout are not prerequisites. Aimship saves a separate delivery folder under `~/Aimship/` by default and gives you its location, current progress and next review action. Code stays in its existing location. Add the actual delivery folder to your workspace or grant access when your tool needs it.
|
|
54
34
|
|
|
55
|
-
|
|
35
|
+
<a id="start-a-delivery"></a>
|
|
36
|
+
<a id="getting-started"></a>
|
|
37
|
+
The [first-use guide](docs/guide.md#start) covers tool activation, access and the first review. Provide an existing delivery's directory to [continue it](docs/guide.md#continue).
|
|
56
38
|
|
|
57
|
-
|
|
39
|
+
<a id="delivery-example"></a>
|
|
40
|
+
## What you review along the way
|
|
58
41
|
|
|
59
|
-
|
|
42
|
+
**Illustrative example, not a completed customer delivery:** for the order-export request above, the documents could connect the following items. These excerpts show the organization, not executed test results.
|
|
60
43
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
44
|
+
| Document | Example of useful content |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| `prd.md` | REQ-001: export only selected orders; AC-001: selecting two permitted orders yields exactly those two rows. |
|
|
47
|
+
| `tech-design.md` / applicable contracts | Explain permission enforcement, export limits and error behavior before implementation. |
|
|
48
|
+
| `plan.md` | TASK-001 implements selection and permission checks; its execution status is maintained as batches finish. |
|
|
49
|
+
| `review.md` | Record the reviewed code baseline, findings, impact, fixes and recheck conclusion. |
|
|
50
|
+
| `testing.md` | TC-001 checks AC-001. Execution remains “not run” until a RUN records actual assertions and evidence. |
|
|
51
|
+
| `status.md` | Show the stable delivery stages, current review stop and next action; batch detail stays in the plan. |
|
|
64
52
|
|
|
65
|
-
|
|
53
|
+
<a id="what-a-delivery-contains"></a>
|
|
54
|
+
<a id="delivery-structure-and-documents"></a>
|
|
55
|
+
<a id="delivery-artifacts"></a>
|
|
56
|
+
<a id="delivery-workflow"></a>
|
|
57
|
+
A normal delivery follows **requirements → design and applicable contracts/SQL → test design → plan → implementation with batch reviews → overall review → independent verification → acceptance**. Documents are produced as needed. An applicable supplied PRD can be adopted; original materials are retained. A prototype is optional. Key approvals apply to the current content, and completion, passing tests and your acceptance remain separate facts.
|
|
66
58
|
|
|
67
|
-
|
|
68
|
-
<a id="getting-started"></a>
|
|
69
|
-
After installation, follow the [Guide](docs/guide.md#start) to prepare a workspace, activate Aimship and begin your first request. For an existing delivery, follow [continuation](docs/guide.md#continue).
|
|
59
|
+
See the [guided example](docs/guide.md#start) and [delivery directory reference](docs/guide.md#delivery-structure). Contributors can also [run synthetic deliveries](CONTRIBUTING.md#executable-examples) with actual local assertions; those checks do not establish AI-host behavior.
|
|
70
60
|
|
|
71
61
|
<a id="update"></a>
|
|
72
62
|
<a id="update-or-stop-using-aimship"></a>
|
|
73
63
|
<a id="upgrades-and-host-management"></a>
|
|
74
64
|
<a id="upgrades-and-ai-development-tools"></a>
|
|
75
|
-
##
|
|
65
|
+
## Upgrade and manage tools
|
|
76
66
|
|
|
77
|
-
|
|
67
|
+
Save current work, then use the same installation command:
|
|
78
68
|
|
|
79
69
|
```sh
|
|
80
|
-
npx aimship@
|
|
70
|
+
npx aimship@latest install
|
|
81
71
|
```
|
|
82
72
|
|
|
83
|
-
|
|
73
|
+
Existing tool registrations, configuration, custom content and delivery files are retained. Repeat neither `--host` nor `--data-root` for an ordinary update. There is no background updater. After upgrading, start a new session or refresh the tool's rules, activate Aimship and resume the same delivery directory.
|
|
84
74
|
|
|
85
|
-
|
|
75
|
+
Compatible delivery protocols can continue without rewriting old documents or invalidating unchanged approvals. Legacy Preview 17/18 states are supported by an exact protocol mapping; older unverified states are not assumed compatible. Software installation itself does not change delivery records. For a breaking or unverified protocol switch, the installer explains the impact and stops before changing the active installation. Strongly prefer finishing ongoing deliveries first; explicit risk acceptance is an [advanced recovery option](#installation-troubleshooting), not permission to write unsupported state. The npx download prompt is separate from that decision.
|
|
86
76
|
|
|
87
77
|
<a id="add-a-host"></a>
|
|
88
78
|
<a id="add-an-ai-development-tool"></a>
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
For example, connect Cursor after installing for Codex:
|
|
79
|
+
Connect another tool, retaining existing registrations:
|
|
92
80
|
|
|
93
81
|
```sh
|
|
94
|
-
npx aimship@
|
|
82
|
+
npx aimship@latest install --host cursor
|
|
95
83
|
```
|
|
96
84
|
|
|
97
|
-
This
|
|
85
|
+
This also installs the currently recommended version. See [tool setup](docs/guide.md#hosts) if the entry is not discovered.
|
|
98
86
|
|
|
99
|
-
|
|
87
|
+
Check the local installation without downloading or upgrading:
|
|
100
88
|
|
|
101
89
|
```sh
|
|
102
90
|
node "$HOME/.aimship/bin/aimship.mjs" --version
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
This command queries the installed local launcher directly. `installedActiveVersion` is the active installed version. The query neither downloads a package nor upgrades the installation.
|
|
106
|
-
|
|
107
|
-
### Check installation health
|
|
108
|
-
|
|
109
|
-
```sh
|
|
110
91
|
node "$HOME/.aimship/bin/aimship.mjs" status
|
|
111
92
|
```
|
|
112
93
|
|
|
113
|
-
|
|
94
|
+
`installedActiveVersion` identifies the active software. Health checks cover managed files and configuration; they cannot confirm the AI tool loaded the Skill. For delivery progress, open its `status.md`. With a custom `--home`, use the launcher beneath that location.
|
|
114
95
|
|
|
115
|
-
|
|
96
|
+
### Optional material location
|
|
116
97
|
|
|
117
|
-
|
|
98
|
+
On the first installation, append `--data-root "./MyDeliveries"` to choose another delivery root. Relative paths resolve from the working directory. Later installs retain this configuration; existing deliveries are not moved. It is a material location, not a code repository.
|
|
118
99
|
|
|
119
100
|
<a id="uninstall"></a>
|
|
120
|
-
##
|
|
101
|
+
## Uninstall
|
|
121
102
|
|
|
122
|
-
Disconnect one tool while retaining the core
|
|
103
|
+
Disconnect one tool while retaining the core, or remove all managed software:
|
|
123
104
|
|
|
124
105
|
```sh
|
|
125
|
-
npx aimship@
|
|
106
|
+
npx aimship@latest uninstall --host cursor
|
|
107
|
+
npx aimship@latest uninstall
|
|
126
108
|
```
|
|
127
109
|
|
|
128
|
-
Shared entries remain when another registered tool needs them. Disconnecting the last tool
|
|
129
|
-
|
|
130
|
-
Remove all managed software and tool entries:
|
|
131
|
-
|
|
132
|
-
```sh
|
|
133
|
-
npx aimship@preview uninstall
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
Full uninstall retains delivery materials, user code, custom files and necessary configuration. Modified/unowned files are preserved and reported. The launcher is removed on complete removal. Restart tool sessions to discard cached rules. Deleting delivery history is a separate explicit action.
|
|
110
|
+
These are alternative operations. Shared entries remain when another registered tool needs them. Disconnecting the last tool retains the core; full uninstall removes the launcher and managed releases. Both retain delivery materials, user code, custom files and necessary configuration. Modified or unowned files are preserved and reported. Refresh tool sessions afterward to discard cached rules.
|
|
137
111
|
|
|
138
112
|
<a id="installation-troubleshooting"></a>
|
|
139
113
|
## Installation and upgrade problems
|
|
140
114
|
|
|
141
115
|
| Symptom | What to do |
|
|
142
116
|
| --- | --- |
|
|
143
|
-
|
|
|
144
|
-
|
|
|
145
|
-
|
|
|
146
|
-
| Unexpected version | Query `installedActiveVersion
|
|
147
|
-
|
|
|
117
|
+
| Entry absent or duplicated | Refresh discovery using [tool setup](docs/guide.md#hosts); installation health does not prove loading. |
|
|
118
|
+
| Managed path modified or occupied | Preserve the contents and explicitly reconcile ownership/customizations before retrying. |
|
|
119
|
+
| Interrupted installation | Inspect `status`, resolve the cause, then rerun the exact pending package against the same home. Do not switch versions during recovery. |
|
|
120
|
+
| Unexpected version | Query `installedActiveVersion`, use `install` to update, then refresh the session's rules. |
|
|
121
|
+
| Upgrade confirmation required | Finish ongoing deliveries first. If you explicitly accept the reported risk, rerun the same target package's `install` with `--accept-upgrade-risk`. Unsupported delivery writes remain blocked. |
|
|
122
|
+
| Download failed or package unavailable | Check the package, exact version and registry; download failure is not installation success. |
|
|
148
123
|
|
|
149
|
-
|
|
124
|
+
<details>
|
|
125
|
+
<summary>Advanced: exact packages and recovery</summary>
|
|
150
126
|
|
|
151
|
-
|
|
152
|
-
|
|
127
|
+
Replace `VERSION` with an actual published or pending version, for example `npx aimship@VERSION install`. If accepting an upgrade risk, append `--accept-upgrade-risk` to that exact command. `npx --yes` only accepts downloading/running the package and cannot substitute for this flag.
|
|
128
|
+
|
|
129
|
+
For an existing local package, run `npx --offline file:./aimship-VERSION.tgz install --host codex` from its directory. Source and isolated installation checks are in [Contributing](CONTRIBUTING.md#isolated-installation-check).
|
|
130
|
+
|
|
131
|
+
</details>
|
|
153
132
|
|
|
154
|
-
|
|
133
|
+
## Feedback and development
|
|
155
134
|
|
|
156
|
-
|
|
135
|
+
The [Guide](docs/guide.md) covers review, changes, continuation and acceptance; the [CLI protocol](docs/cli.md) serves agents and tool developers. Development and opt-in testing information is in [Contributing](CONTRIBUTING.md).
|
|
136
|
+
|
|
137
|
+
<a id="use-cases-and-examples"></a>
|
|
138
|
+
Share concrete problems and suggestions through [GitHub Issues](https://github.com/clsx/aimship/issues), with a minimal reproduction and no private delivery data. Released under the [MIT License](LICENSE).
|
package/README.zh-CN.md
CHANGED
|
@@ -2,155 +2,137 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) · [使用指南](docs/guide.zh-CN.md)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**在 AI 开发工具中,把一项需求推进为你能审核、跟进和接续的交付。**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Aimship 面向对交付结果负责的开发者,适用于小型修复,也适用于跨多个仓库的功能。你提供目标和已有材料,Agent 澄清需求、准备设计、安排实施批次、审查改动并记录独立验证;依赖这些方案的工作推进前,由你审核关键文档与决定。
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
统一的文档大纲、编号和引用,将需求与验收标准关联到设计、实施任务、审核和测试结果。文档按交付目标和实际需要生成,既提供一致的阅读与核对依据,也不要求每个阶段都填一份空模板。
|
|
9
|
+
- **改代码前看懂方案:** 需求与验收标准关联到设计、任务和测试。
|
|
10
|
+
- **看清实际完成情况:** `status.md` 汇总交付阶段,计划维护批次/任务进度,审查记录问题,测试保留真实结果。
|
|
11
|
+
- **换会话有据可接:** 保存的文档、决定和状态给下个会话提供起点;需求变化回到受影响的方案和审核。
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
Agent 整理需求、设计方案并组织实施与验证,你审核关键文档和重要决定。修改意见纳入修订,审核通过后推进后续工作;最终依据约定目标和实际验证结果验收成果。
|
|
16
|
-
|
|
17
|
-
文档与状态在工作过程中持续保存,使进度、决定和验证依据可追溯,减少重复交代背景和重新梳理已有工作的负担。
|
|
13
|
+
Aimship 管理交付过程。Agent 仍须调查、自检和修正,你判断内容与验收结果。不同模型和 AI 工具的表现会有差异。**目前处于 Preview 体验阶段**;安装成功或程序测试通过,不代表所有工具/模型组合都已验证。
|
|
18
14
|
|
|
19
|
-
[
|
|
15
|
+
[开始使用](#install) · [示例](#delivery-example) · [升级](#update) · [排障](#installation-troubleshooting)
|
|
20
16
|
|
|
21
17
|
<a id="快速开始"></a>
|
|
22
18
|
<a id="install"></a>
|
|
23
|
-
##
|
|
24
|
-
|
|
25
|
-
需要 **Node.js 22+ 和 npm**。
|
|
19
|
+
## 开始一次交付
|
|
26
20
|
|
|
27
|
-
|
|
21
|
+
需要 **Node.js 22+ 和 npm**。为你的 AI 工具安装:
|
|
28
22
|
|
|
29
23
|
```sh
|
|
30
|
-
npx aimship@
|
|
24
|
+
npx aimship@latest install --host codex
|
|
31
25
|
```
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
```sh
|
|
36
|
-
npx aimship@preview install --host codex --host claude-code
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
npx 的获取包提示只确认下载并运行该包;执行 `install` 才会安装或升级 Aimship。`@preview` 表示已发布的预览通道,也可以替换为明确版本号,例如 `@0.1.0-preview.18`。预览通道用于实验性版本,不代表稳定版。
|
|
40
|
-
|
|
41
|
-
### 指定版本或本地包
|
|
27
|
+
`--host` 可选 `codex`、`cursor` 或 `claude-code`。连接多个工具时重复选项,例如 `--host codex --host claude-code`。无需全局 npm 安装、管理员权限或 npm 登录;npm 缓存需要可写。`latest` 表示当前推荐版本,首次正式版前指向 Preview,之后命令也不变。
|
|
42
28
|
|
|
43
|
-
|
|
29
|
+
刷新工具的 Skill 发现或新建会话,启用 Aimship,再提供具体需求。例如:
|
|
44
30
|
|
|
45
|
-
|
|
46
|
-
npx aimship@0.1.0-preview.18 install --host codex
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
如果已有 Aimship 的 `.tgz` 安装包,将 `VERSION` 替换为实际版本号,在包所在目录执行:
|
|
31
|
+
> 使用 Aimship,给这个后台增加选中订单的 CSV 导出,保留现有权限规则,先帮我澄清需求。
|
|
50
32
|
|
|
51
|
-
|
|
52
|
-
npx --offline file:./aimship-VERSION.tgz install --host codex
|
|
53
|
-
```
|
|
33
|
+
可以从想法、缺陷报告、已有 PRD 或原型开始,不必先准备完整规格或代码仓库。Aimship 默认在 `~/Aimship/` 下保存独立交付目录,告诉你实际位置、当前进度及下一项审核操作。代码保留原位置。工具需要时,将实际交付目录加入工作空间或授予访问权限。
|
|
54
34
|
|
|
55
|
-
|
|
35
|
+
<a id="开始一次交付"></a>
|
|
36
|
+
<a id="使用入口"></a>
|
|
37
|
+
[首次使用指南](docs/guide.zh-CN.md#start)说明工具启用、访问权限及首轮审核。已有交付请提供原目录,按[续接说明](docs/guide.zh-CN.md#continue)继续。
|
|
56
38
|
|
|
57
|
-
|
|
39
|
+
<a id="delivery-example"></a>
|
|
40
|
+
## 过程中你会看到什么
|
|
58
41
|
|
|
59
|
-
|
|
42
|
+
**以下是结构示例,不是真实客户完成的交付:** 上述订单导出需求可以形成这些对应关系。片段展示内容组织方式,不代表测试已执行。
|
|
60
43
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
44
|
+
| 文档 | 有判断价值的内容示例 |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| `prd.md` | REQ-001:仅导出选中订单;AC-001:选择两条有权限的订单时,结果恰好包含这两行。 |
|
|
47
|
+
| `tech-design.md`/适用契约 | 实施前解释权限校验、导出限制及错误处理。 |
|
|
48
|
+
| `plan.md` | TASK-001 实现选择与权限检查,批次完成后维护其执行状态。 |
|
|
49
|
+
| `review.md` | 记录审查代码基线、问题、影响、修复和复查结论。 |
|
|
50
|
+
| `testing.md` | TC-001 检查 AC-001;RUN 记录实际断言与依据前,执行状态保持“未执行”。 |
|
|
51
|
+
| `status.md` | 展示稳定交付阶段、当前审核停点与下一步;批次明细留在计划中。 |
|
|
64
52
|
|
|
65
|
-
|
|
53
|
+
<a id="一个需求会留下哪些文档"></a>
|
|
54
|
+
<a id="交付目录与文档"></a>
|
|
55
|
+
<a id="交付成果"></a>
|
|
56
|
+
<a id="交付流程"></a>
|
|
57
|
+
正常交付依次经过 **需求 → 技术设计及适用契约/SQL → 测试设计 → 计划 → 实施与批次审查 → 整体审查 → 独立验证 → 验收**。按实际需要产出文档;完整适用的已有 PRD 可直接采用,原件保留,原型按需选择。关键批准对应当前内容,阶段完成、测试通过与你的验收保持独立。
|
|
66
58
|
|
|
67
|
-
|
|
68
|
-
<a id="使用入口"></a>
|
|
69
|
-
安装完成后,按[使用指南](docs/guide.zh-CN.md#start)准备工作位置、启用 Aimship 并开始首个需求;已有交付可按[续接说明](docs/guide.zh-CN.md#continue)继续。
|
|
59
|
+
可查看[引导示例](docs/guide.zh-CN.md#start)及[交付目录参考](docs/guide.zh-CN.md#delivery-structure)。开发者还可[运行合成交付](CONTRIBUTING.md#executable-examples),其中有真实本地断言,但不代表 AI 工具行为已验证。
|
|
70
60
|
|
|
71
61
|
<a id="update"></a>
|
|
72
62
|
<a id="update-or-stop-using-aimship"></a>
|
|
73
63
|
<a id="升级与宿主管理"></a>
|
|
74
64
|
<a id="升级与-ai-开发工具管理"></a>
|
|
75
|
-
##
|
|
65
|
+
## 升级与工具管理
|
|
76
66
|
|
|
77
|
-
|
|
67
|
+
保存当前工作后,使用同一个安装命令:
|
|
78
68
|
|
|
79
69
|
```sh
|
|
80
|
-
npx aimship@
|
|
70
|
+
npx aimship@latest install
|
|
81
71
|
```
|
|
82
72
|
|
|
83
|
-
|
|
73
|
+
已有工具登记、配置、自定义内容和交付文件都会保留。普通更新无需重复 `--host` 或 `--data-root`,没有后台自动升级。升级后新建会话或刷新工具规则,启用 Aimship,继续原交付目录。
|
|
84
74
|
|
|
85
|
-
|
|
75
|
+
兼容的交付协议可以继续使用,不重写旧文档,也不使未变内容的有效审批失效。Preview 17/18 旧状态通过精确协议映射接续,不推定更早的未验证状态兼容。安装本身不修改交付记录。破坏性或未确认兼容的切换会说明影响,并在修改活动安装前停止。强烈建议先完成进行中的交付;明确接受风险是[高级恢复选项](#installation-troubleshooting),不代表允许写入不支持的状态。npx 的下载确认与此独立。
|
|
86
76
|
|
|
87
77
|
<a id="添加宿主"></a>
|
|
88
78
|
<a id="添加-ai-开发工具"></a>
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
例如,已有 Codex 安装后再接入 Cursor:
|
|
79
|
+
接入另一个工具,保留已有登记:
|
|
92
80
|
|
|
93
81
|
```sh
|
|
94
|
-
npx aimship@
|
|
82
|
+
npx aimship@latest install --host cursor
|
|
95
83
|
```
|
|
96
84
|
|
|
97
|
-
|
|
85
|
+
此操作也会安装当前推荐版本。找不到入口时查看 [AI 工具设置](docs/guide.zh-CN.md#hosts)。
|
|
98
86
|
|
|
99
|
-
|
|
87
|
+
不下载、不升级,直接查询本机安装:
|
|
100
88
|
|
|
101
89
|
```sh
|
|
102
90
|
node "$HOME/.aimship/bin/aimship.mjs" --version
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
该命令直接查询已安装的本机入口,`installedActiveVersion` 是实际生效版本。查询不会下载包或升级安装。
|
|
106
|
-
|
|
107
|
-
### 检查安装状态
|
|
108
|
-
|
|
109
|
-
```sh
|
|
110
91
|
node "$HOME/.aimship/bin/aimship.mjs" status
|
|
111
92
|
```
|
|
112
93
|
|
|
113
|
-
|
|
94
|
+
`installedActiveVersion` 是实际生效的软件版本。健康检查涵盖受管理文件和配置,不能确认 AI 工具已加载 Skill。查看交付进度请打开该目录的 `status.md`。若使用自定义 `--home`,请使用该位置下的本机入口。
|
|
114
95
|
|
|
115
|
-
|
|
96
|
+
### 可选资料位置
|
|
116
97
|
|
|
117
|
-
|
|
98
|
+
首次安装可附加 `--data-root "./MyDeliveries"` 指定其他交付根目录。相对路径从执行目录解析。后续安装保留配置,不搬迁已有交付;这里是资料位置,不是代码仓库。
|
|
118
99
|
|
|
119
100
|
<a id="uninstall"></a>
|
|
120
101
|
## 卸载
|
|
121
102
|
|
|
122
|
-
|
|
103
|
+
断开一个工具并保留核心,或移除全部受管理软件:
|
|
123
104
|
|
|
124
105
|
```sh
|
|
125
|
-
npx aimship@
|
|
106
|
+
npx aimship@latest uninstall --host cursor
|
|
107
|
+
npx aimship@latest uninstall
|
|
126
108
|
```
|
|
127
109
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
移除所有受管理的软件和 AI 工具入口:
|
|
131
|
-
|
|
132
|
-
```sh
|
|
133
|
-
npx aimship@preview uninstall
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
完整卸载保留交付资料、用户代码、自定义文件和必要配置。修改过或不属于它管理的文件会保留并报告。完全移除后,稳定入口也会移除;重启 AI 工具会话以清除缓存规则。删除交付历史是另一项需要明确提出的操作。
|
|
110
|
+
两条命令是不同操作,按需要选择。其他已登记工具需要的共享入口会保留;断开最后一个工具仍保留核心,完整卸载才移除稳定入口和受管理版本。两者都保留交付资料、用户代码、自定义文件与必要配置。修改过或不属于它管理的文件会保留并报告。之后刷新工具会话以清除缓存规则。
|
|
137
111
|
|
|
138
112
|
<a id="installation-troubleshooting"></a>
|
|
139
113
|
## 安装与升级问题
|
|
140
114
|
|
|
141
115
|
| 现象 | 处理方式 |
|
|
142
116
|
| --- | --- |
|
|
143
|
-
|
|
|
144
|
-
|
|
|
145
|
-
|
|
|
146
|
-
| 版本与预期不一致 |
|
|
147
|
-
|
|
|
117
|
+
| 入口缺失或重复 | 按 [AI 工具设置](docs/guide.zh-CN.md#hosts)刷新发现;安装健康不代表已经加载。 |
|
|
118
|
+
| 管理位置被修改或占用 | 保留内容,明确处理归属或定制冲突后再试。 |
|
|
119
|
+
| 安装中断 | 查询 `status`,排除原因后在同一安装位置重跑完全相同的待恢复包,恢复途中不换版本。 |
|
|
120
|
+
| 版本与预期不一致 | 查询 `installedActiveVersion`,通过 `install` 更新,再刷新会话规则。 |
|
|
121
|
+
| 更新要求明确确认 | 先完成进行中的交付。如果明确接受所述风险,给相同目标包的 `install` 附加 `--accept-upgrade-risk`。不支持的交付状态仍不能写入。 |
|
|
122
|
+
| 下载失败或包不存在 | 检查包、确切版本和 registry;下载失败不算安装成功。 |
|
|
148
123
|
|
|
149
|
-
|
|
124
|
+
<details>
|
|
125
|
+
<summary>高级:指定包与恢复</summary>
|
|
150
126
|
|
|
151
|
-
|
|
152
|
-
|
|
127
|
+
将 `VERSION` 替换为实际已发布或待恢复的版本,例如 `npx aimship@VERSION install`。明确接受升级风险时,在这个确切命令后附加 `--accept-upgrade-risk`。`npx --yes` 只确认下载/运行包,不能代替该参数。
|
|
128
|
+
|
|
129
|
+
已有本地安装包时,在其目录执行 `npx --offline file:./aimship-VERSION.tgz install --host codex`。源码与隔离安装检查见[贡献指南](CONTRIBUTING.md#isolated-installation-check)。
|
|
130
|
+
|
|
131
|
+
</details>
|
|
153
132
|
|
|
154
|
-
|
|
133
|
+
## 反馈与开发
|
|
155
134
|
|
|
156
|
-
|
|
135
|
+
[使用指南](docs/guide.zh-CN.md)涵盖审核、变更、接续与验收;[CLI 协议](docs/cli.md)供 Agent 和工具开发者查阅。开发与主动测试说明见[贡献指南](CONTRIBUTING.md)。
|
|
136
|
+
|
|
137
|
+
<a id="适用场景与示例"></a>
|
|
138
|
+
通过 [GitHub Issues](https://github.com/clsx/aimship/issues)反馈具体问题和建议,附最小复现,不公开私有交付数据。采用 [MIT 许可证](LICENSE)。
|
package/docs/cli.md
CHANGED
|
@@ -4,7 +4,7 @@ Commands emit JSON. Errors include code/message/recovery and use a nonzero exit.
|
|
|
4
4
|
|
|
5
5
|
## Create and bind
|
|
6
6
|
|
|
7
|
-
`bind` returns fixed CLI/core/stage paths, the bound version/schema, separate executing toolVersion/toolSchemaVersion, and configured data root. On a version switch, rebind through the stable launcher and read the returned fixed CLI help; a retained older executable may return stale schema metadata. Keep that binding for the session. Installation does not create deliveries.
|
|
7
|
+
`bind` returns fixed CLI/core/stage paths, the bound software version/schema/protocolVersion, separate executing toolVersion/toolSchemaVersion, and configured data root. On a version switch, rebind through the stable launcher and read the returned fixed CLI help; a retained older executable may return stale schema metadata. Keep that binding for the session. Installation does not create deliveries.
|
|
8
8
|
|
|
9
9
|
Default initialization must use a distinct delivery directory under the bound dataRoot; the root itself is not a delivery. The current project or supplied-material directory is not an explicit location choice. A different user-selected directory requires init input `storage: {"mode":"explicit","decisionRef":"source/location-decision.md"}` with a nonempty readable local record of that choice. The tool validates evidence access, not the truth of the decision. Do not supply dataRoot in input. No access means report the intended location and stop saving, without falling back elsewhere. Existing deliveries outside the root remain readable and recoverable.
|
|
10
10
|
|
|
@@ -32,7 +32,7 @@ node '<stable-launcher>' bind
|
|
|
32
32
|
node '<fixed-cli>' init '<delivery-dir>' --rules-version '<bound-version>' --input '<init.json>'
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
init uses schema 4, allocates deliveryId and revision 0, creates `.aimship/state.json`, and generates `status.md`. Add that ID to the document information at the next save point. Identity/version/timestamps, documentDigests are managed; never supply them in a patch. `writeResult` is return metadata, not state input. Its receipt contains actual identity, directory/state/status paths, bound version, current stage and next action; statusPath is null when view repair is needed. Verify the saved files before presenting the user receipt. Repeated init returns ALREADY_EXISTS; read/resume the same delivery and render a missing view instead of replaying creation.
|
|
35
|
+
init uses schema 4 and delivery protocol 1, allocates deliveryId and revision 0, creates `.aimship/state.json`, and generates `status.md`. Add that ID to the document information at the next save point. Identity/version/timestamps, protocolVersion and documentDigests are managed; never supply them in a patch. `writeResult` is return metadata, not state input. Its receipt contains actual identity, directory/state/status paths, bound version, current stage and next action; statusPath is null when view repair is needed. Verify the saved files before presenting the user receipt. Repeated init returns ALREADY_EXISTS; read/resume the same delivery and render a missing view instead of replaying creation.
|
|
36
36
|
|
|
37
37
|
`documentPolicy.authority`: null while the requirement authority is undecided; authored → prd.md; adopted → the registered retained PRD file in source/ (mode input); editable → an explicitly authorized existing PRD. All three use kind prd and goalRef points to its actual path. `interaction`, `prototypeCovered`, `interface` (none/http/other) and target `databases` IDs record artifact conditions. They do not select a preset route. Prototype coverage is descriptive; a prototype is optional unless selected in stageRuns, in which case its completion and applicable input check or AI-output approval remain required. Register the first real PRD and switch goalRef in the same update; this reference-only transition does not need a fabricated goal decision. Actual goal/endpoint changes still require goal.decisionRef. Early frame/requirements work can be active without the draft; done requires it. Design requires adopted, checked input requirements or approved AI-authored requirements and an agreed endpoint, but may analyze unknown technical conditions. Resolve those conditions before completing design or starting dependent contract/cases/plan/implementation. Required document approvals remain checked even when producer runs are absent; existing stage ordering and review semantics are unchanged.
|
|
38
38
|
|
|
@@ -49,6 +49,12 @@ node '<fixed-cli>' resume '<delivery-dir>' --rules-version '<bound-version>'
|
|
|
49
49
|
|
|
50
50
|
Objects merge, arrays replace entirely; null is literal, not deletion. `--input -` accepts stdin JSON. A revision conflict requires rereading and reconciling, not guessing a revision. Keep one writing session per delivery.
|
|
51
51
|
|
|
52
|
+
Implementation runs may carry `workType: "batch"|"repair"`; a repair may record `repairOf: ["preceding-run-id"]`. Corrections inside a failed current batch update that batch’s existing implementation checkpoint/evidence and retain its batch purpose; save a new recheck and keep the failed REV. Separate repair work after completed batches is recorded with its actual repair basis. These optional fields describe the actual work unit for display/advice and never remove implementation from review/verification dependencies. Old states need no eager rewrite: untyped work before overall review follows legacy batch meaning when unambiguous; work after overall review or an unresolved review stays unclassified until its actual basis is checked. Never classify by a business ID or name. Reconcile known purpose through an ordinary revision-checked update, preserving documents and approvals.
|
|
53
|
+
|
|
54
|
+
A saved implementation can return advisory session action `continue-implementation-review` and a failed batch review `continue-batch-repair`, both `stop:false` for the current authorized work unit. The next business batch remains stopped until its review passes. Overall review saves its own stop before formal verification; a review request does not execute the test plan. Missing approval, scope clarification, permission, changed documents or failed view saving keep their existing stop. `canProceed` still describes structural forward readiness; a repair hint is not permission to advance a failed dependency. Protocol1/schema4/policy1 and approval fingerprints remain unchanged.
|
|
55
|
+
|
|
56
|
+
When a repair has no recorded review-scope basis, `inspect-review-scope` returns `reviewScope:null`, `nextRun:null` and `stop:false`: inspect the existing plan/original review within the current work unit before selecting batch or overall recheck. Omitting optional `repairOf` remains valid. Neither the next scheduled review nor a non-review basis establishes the original responsibility; this inspection adds no user approval gate.
|
|
57
|
+
|
|
52
58
|
Stage runs are ordered `{id,stage,scope,progress,inputRefs,outputRefs}`. currentRun refers to one ID or null. Progress: planned/active/blocked/done; result: passed/failed/not-run/unknown/mixed; applicability: current/needs-review/unknown. Done requires a precise resultRef. Preserve past results in priorResultRef/historyResultRefs; do not delete started runs. Shared files never complete two runs automatically. Plan must complete before implementation. For standard delivery, review requires completed implementation coverage, verify requires a passing overall review with resolved preceding reviews, and handoff requires passing verification (or a passing rerun retaining earlier results). These required predecessors cannot be removed by empty dependsOn/inputRefs. Actual execution, coverage quality and approval authenticity still require Agent judgment.
|
|
53
59
|
|
|
54
60
|
New Markdown uses the ordinary headings in the artifact map and searchable business IDs. Checks reject missing or duplicate definitions and unresolved ID references. Results use section keys or unique record IDs as search locators; no HTML anchors, embedded definition metadata, item versions or hidden traceability index are required. These structural checks do not establish semantic completeness.
|
|
@@ -77,7 +83,13 @@ The delivery identity, view digest and state revision are stored in `.aimship/vi
|
|
|
77
83
|
## Rule updates
|
|
78
84
|
|
|
79
85
|
|
|
80
|
-
Bind the active tool and reload its rules before work.
|
|
86
|
+
Bind the active tool and reload its rules before work. The session's `--rules-version`, executing tool and active installation must match exactly. `protocolVersion` separately identifies compatible state, approval and stage semantics; schema/policy validation still applies. Package metadata declares `aimship.protocolVersion`. Current protocol 1 precisely recognizes states from `0.1.0-preview.17` and `0.1.0-preview.18` without a protocol field. No other missing-field version is inferred compatible.
|
|
87
|
+
|
|
88
|
+
`rulesVersion` records the last saving tool. Reads/checks/resume and render do not rewrite state or adopt metadata. The next ordinary revision-checked update, or explicit recovery of a supported backup, records protocol 1 and the current saving tool; it preserves documents, delivery identity, progress and approval validity for unchanged content. A schema/policy/protocol mismatch or unrecognized legacy version blocks writes (`PROTOCOL_MISMATCH`); a mixed session/tool/active installation blocks writes (`VERSION_MISMATCH`). Old tools may reject records saved by a newer tool: downgrading is not a document migration or a guarantee of reverse compatibility.
|
|
89
|
+
|
|
90
|
+
The installer compares source/target package declarations, not user deliveries. Compatible switches proceed normally. Breaking or unverified switches return `UPGRADE_CONFIRMATION_REQUIRED` before pending-manifest, entry or active-pointer writes. The JSON includes versions, compatibility, actual impact and recovery; it does not claim to know which deliveries are ongoing. There is no interactive prompt. To explicitly accept the reported installation risk, rerun the same target package's `install --accept-upgrade-risk`. `npx --yes` is only npm's package-download/run consent. Acceptance does not bypass unsupported delivery writes. Interrupted accepted installs record that acceptance in the pending manifest and resume using the same exact package. Reinstalling the active version needs no new protocol decision. Legacy targets with exact software-version guards can still block continuation despite matching semantic protocol.
|
|
91
|
+
|
|
92
|
+
Software installation does not authorize inventing approvals, rewriting user documents or hand-editing state metadata.
|
|
81
93
|
|
|
82
94
|
Goal changes need a new goal.decisionRef; prior goals/outcomes are retained. A met goal requires goalConclusionRef; acceptance needs its own acceptanceRef. Merge and deployment refs remain independent. Reopening increments cycle, appends closureRefs and resets acceptance. See the [README](../README.md#update) for software lifecycle operations and the [Guide](guide.md#hosts) for host-discovery limits.
|
|
83
95
|
|
|
@@ -111,11 +123,11 @@ Independent review, verify-only work or limited handoff can omit standard upstre
|
|
|
111
123
|
|
|
112
124
|
Reviews identify their actual implementation coverage with `reviewOf: [implementationRunId, ...]`; overall review has `overall: true`. For a single batch one review may explicitly cover both. An unresolved failed review prevents standard completion even if an earlier overall review passed. A passing repair review or retest may list the superseded review/RUN result references in its existing `historyResultRefs`, preserving old failures; the Agent must verify that it actually resolves or covers them on current objects. Verification must follow the applicable overall review. Merely setting a link is not semantic evidence.
|
|
113
125
|
|
|
114
|
-
`run.sessionGroup` remains advisory context, not permission to cross stages. Each
|
|
126
|
+
`run.sessionGroup` remains advisory context, not permission to cross stages. Each user-visible work unit finishes its work/self-check, saves artifacts and stops; implementation/review checkpoints inside one batch follow the scoped continuation advice above: `session.action` is await-review for required approval or await-continue for a completed stage awaiting continuation; `stop` and `suggestNewSession` make that advice explicit. `suggestNewSession` is true only at major work boundaries: requirements to design, design/applicable contracts to test design, plan to implementation, batch review to the next batch/overall review, and overall review to independent verification. Pending review remains the current task; a suggestion never skips it. Approval and continuation may be expressed together. This is agent interaction guidance, not interception of general-purpose tools or a new approval for non-review stages. `read/check/resume` and `writeResult.session` use the same rule. Unconfirmed saves return reconcile-save with no continuation; repair the view at the saved revision without replaying approval. Pending review never becomes approval through resume or “continue”.
|
|
115
127
|
|
|
116
128
|
`read` and `resume` accept optional `--delivery-id <known-id>` to reject a wrong directory binding. A directory remains required; no implicit latest-delivery lookup exists. Resume is read-only and inspects actual state, approval/content versions, references and view diagnostics; old prompts grant no approval. The Agent must additionally inspect relevant complete formal documents, actual artifacts and unfinished effects before acting.
|
|
117
129
|
|
|
118
130
|
|
|
119
131
|
Review run `ready` describes a completed, current record; `releaseReady` additionally requires a usable passing review before releasing dependent work. Failed review records remain saved. A later passing repair review must preserve the old result reference and cover the affected implementation scope; unrelated passing reviews do not clear the failure. Session suggestions distinguish exhausting registered work from completing the agreed goal: an unfinished goal with no next run requires arranging the next authorized work, not declaring finished.
|
|
120
132
|
|
|
121
|
-
The generated status page
|
|
133
|
+
The generated status page puts current stage, actual blockers and concrete next action first, then Stage / artifact-or-result / status. It links formal results in that table instead of repeating a navigation inventory and omits conversational continuation instructions. The delivery directory and overall saved timestamp remain in saved information; no per-output timestamp is inferred. Future standard stages are not started, not current defects; unknown contract applicability remains pending design. Final completion diagnostics remain enforced and are shown at handoff. Engineering details and generation metadata follow the user summary.
|