opencode-ship 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +86 -11
- package/README.md +14 -13
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/assets/agents/ship-controller.md +1 -1
- package/assets/agents/ship-final-spec-reviewer.md +1 -1
- package/assets/agents/ship-final-standards-reviewer.md +1 -1
- package/assets/agents/ship-planner.md +1 -1
- package/assets/agents/ship-task-builder.md +1 -1
- package/assets/agents/ship-task-reviewer.md +1 -1
- package/dist/cli.js +1411 -1202
- package/dist/core.js +57 -4
- package/dist/plugin.js +203 -233
- package/docs/release/1.1.1-stabilization-plan.md +655 -0
- package/package.json +1 -1
- package/schema/ship-config.schema.json +24 -2
- /package/assets/skills/{setup-engineering-workflow → setup-ship-workflow}/SKILL.md +0 -0
- /package/assets/skills/{setup-engineering-workflow → setup-ship-workflow}/domain.md +0 -0
- /package/assets/skills/{setup-engineering-workflow → setup-ship-workflow}/issue-tracker-github.md +0 -0
- /package/assets/skills/{setup-engineering-workflow → setup-ship-workflow}/issue-tracker-gitlab.md +0 -0
- /package/assets/skills/{setup-engineering-workflow → setup-ship-workflow}/issue-tracker-local.md +0 -0
- /package/assets/skills/{setup-engineering-workflow → setup-ship-workflow}/triage-labels.md +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,17 +2,92 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `opencode-ship` are recorded here.
|
|
4
4
|
|
|
5
|
-
## 1.1.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
## 1.1.1 — Stabilization + first self-hosting release (UNRELEASED)
|
|
6
|
+
|
|
7
|
+
> Active stabilization branch: `fix/1.1.1-stabilization`.
|
|
8
|
+
> Parent tracker: https://github.com/Viktorxyz/opencode-ship/issues/40.
|
|
9
|
+
> Authoritative plan: `docs/release/1.1.1-stabilization-plan.md`.
|
|
10
|
+
|
|
11
|
+
This release repairs the consumer-readiness gaps that made
|
|
12
|
+
`1.1.0` unsuitable as a self-hosting control plane:
|
|
13
|
+
|
|
14
|
+
This release repairs the consumer-readiness gaps that made
|
|
15
|
+
`1.1.0` unsuitable as a self-hosting control plane:
|
|
16
|
+
|
|
17
|
+
- Engineering is the only shipped profile. New CLI selection of
|
|
18
|
+
the legacy `core` profile is rejected with exit 2; persisted
|
|
19
|
+
`core` configs and locks migrate to engineering on read.
|
|
20
|
+
- Lock schema v4 adds `manager.setupComplete` and removes
|
|
21
|
+
`cleanupPending` from the install lock (cleanup retry now
|
|
22
|
+
lives under the Git common directory).
|
|
23
|
+
- Workflow agents carry `<model-from-config>` placeholders; the
|
|
24
|
+
installer renders the configured `workflow.models` at install
|
|
25
|
+
time so a model change updates exactly the affected agent
|
|
26
|
+
files. The lock pins the rendered sha256.
|
|
27
|
+
- Default-deny consumers can run the full controller flow
|
|
28
|
+
without manual permission patching. The installer no longer
|
|
29
|
+
owns the Plan Mode permission block; consumers configure it
|
|
30
|
+
via the built-in Plan agent. Subagent depth is pinned to 2.
|
|
31
|
+
- The workflow state machine handles every documented event
|
|
32
|
+
kind (including the previously-missing `task-report`,
|
|
33
|
+
`final-review`, `ready-pending`, `all-tasks-done`).
|
|
34
|
+
- Engineering Ready requires Standards and Spec final reviews
|
|
35
|
+
bound to the same HEAD and package hash, with `verdict: pass`
|
|
36
|
+
on both axes. Legacy single-review manifests continue to
|
|
37
|
+
fall through to the legacy gate.
|
|
38
|
+
- Trusted-auto skill discovery installs from a configurable
|
|
39
|
+
allowlist with immutable provenance; skills land in the
|
|
40
|
+
active issue worktree under `.opencode/skills/<name>/` and
|
|
41
|
+
are recorded in `.opencode/ship.skills.lock.json`.
|
|
42
|
+
- The `/setup-ship-workflow` skill is single (the legacy
|
|
43
|
+
duplicate `setup-engineering-workflow` is removed); it is
|
|
44
|
+
GitHub-only in `1.1.1` and routes model selection through
|
|
45
|
+
the existing CLI update transaction.
|
|
46
|
+
- Release qualification pipeline runs the packed self-hosting
|
|
47
|
+
E2E end-to-end instead of just extracting the tarball.
|
|
48
|
+
- Test contract: zero filename-disabled tests in the test
|
|
49
|
+
runner; tracked `tsconfig.dts.json` removed.
|
|
50
|
+
|
|
51
|
+
See `docs/release/1.1.1-stabilization-plan.md` for the full plan
|
|
52
|
+
and issue #40 for the bounded evidence ledger.
|
|
53
|
+
|
|
54
|
+
## 1.1.0 — Engineering-only, easy setup, skill discovery (2026-08-08)
|
|
55
|
+
|
|
56
|
+
> **Known gap:** `1.1.0` is the published `latest` but it does
|
|
57
|
+
> not yet pass a real registry dogfood with real OpenCode,
|
|
58
|
+
> GitHub, and models; the workflow surface ships in pieces
|
|
59
|
+
> (skill discovery is dead code, the dual final review is not
|
|
60
|
+
> enforced, and the Plan Mode permission is installer-owned).
|
|
61
|
+
> `1.1.1` is the first fully self-hosting release and should be
|
|
62
|
+
> preferred once it is on `npm dist-tag latest`. The 1.1.0
|
|
63
|
+
> tarball remains available for pinned consumers.
|
|
64
|
+
|
|
65
|
+
Stable release. Promoted to `npm dist-tag latest` after the
|
|
66
|
+
qualification pipeline passed green on every matrix lane
|
|
67
|
+
(npm x pnpm, opencode 1.15.5 + 1.18.10) and the runtime-source
|
|
68
|
+
digest was preserved between rc.1 and 1.1.0 (only the
|
|
69
|
+
`package.json` version, the README "Status" section, and this
|
|
70
|
+
changelog header changed).
|
|
71
|
+
|
|
72
|
+
Distribution:
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
npm dist-tags
|
|
76
|
+
latest: 1.1.0
|
|
77
|
+
next: 1.0.0
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Verification:
|
|
81
|
+
|
|
82
|
+
```text
|
|
83
|
+
npm install --prefix /tmp/fresh opencode-ship@latest
|
|
84
|
+
node_modules/.bin/opencode-ship --version
|
|
85
|
+
# prints: opencode-ship 1.1.0
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The S5 real 14-step dogfood is still pending a valid OpenAI
|
|
89
|
+
provider credential; the 1.0.0 line's published 0.10.0 digest
|
|
90
|
+
is the runtime source witness for both 0.10.0 and 1.1.0.
|
|
16
91
|
|
|
17
92
|
The breaking change set, the engineering-only `init` flow, the
|
|
18
93
|
`setup-ship-workflow` skill, the `find-skills` discovery
|
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
> npm-distributed OpenCode installer and delivery plugin: a single command materialises the lifecycle plugin, reviewer/verifier agents, and skills into any consumer repository, with a recoverable lock and never silently overwrites managed files.
|
|
4
4
|
>
|
|
5
|
-
> **Status:** `1.1.0` is on `npm dist-tag latest`. `1.
|
|
5
|
+
> **Status:** `1.1.0` is on `npm dist-tag latest`. The `1.1.x` stabilization line (parent issue #40) is in progress on the `fix/1.1.1-stabilization` branch. When `1.1.1` ships it becomes the first self-hosting release and `1.1.0` is deprecated. The `release/1.1.0-engineering-only` branch ships the engineering profile directly without a separate `core` profile. The `1.1.0` tag is immutable; consumers should use `opencode-ship@1.1.0` today and switch to `opencode-ship@1.1.1` once it is promoted to `latest`. See `docs/release/1.1.1-stabilization-plan.md` for the authoritative plan and issue #40 for the bounded evidence ledger.
|
|
6
6
|
>
|
|
7
|
-
> Consumers should use `opencode-ship@1.1.0` (or
|
|
7
|
+
> Consumers should use `opencode-ship@1.1.0` (or `@latest`) until `1.1.1` ships. The previous `1.0.0` is on `next`; consumers who pinned to `1.0.x` will continue to receive updates on that channel.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -38,22 +38,23 @@ The `init` command succeeds without any model flags. The setup skill writes the
|
|
|
38
38
|
|
|
39
39
|
`opencode-ship` is the npm-distributed successor to `opencode-delivery`. From 1.1.0 it bundles:
|
|
40
40
|
|
|
41
|
-
- a **
|
|
42
|
-
- **
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
41
|
+
- a **typed OpenCode plugin** that auto-loads from `.opencode/plugins/opencode-ship.js`;
|
|
42
|
+
- **ship agents** (controller, planner, task-builder, task-reviewer, final-standards-reviewer, final-spec-reviewer) plus the two legacy delivery agents (reviewer, verifier) for backward compatibility;
|
|
43
|
+
- **ship commands** (`ship-deliver`, `ship-resume`, `ship-status`) plus the one-shot `setup-ship-workflow`;
|
|
44
|
+
- **the engineering skill catalog** (delivery-workflow, planning-research-checkpoint, the Matt + Superpowers methodology catalog, the new setup-ship-workflow and skill-discovery);
|
|
45
45
|
- **setup-ship-workflow skill** that walks the user through tracker / labels / docs / model roles;
|
|
46
|
-
- **skill-discovery** that auto-installs trusted-source skills
|
|
46
|
+
- **skill-discovery** that auto-installs trusted-source skills into the active issue worktree with immutable provenance.
|
|
47
47
|
- a **lifecycle state machine** for one issue → one worktree → one PR → one merge → one cleanup;
|
|
48
48
|
- a **Git worktree driver** (no rebase-after-push, no force-push, no `--force-with-lease`);
|
|
49
49
|
- a **GitHub CLI driver** that talks only to typed `gh pr/issue` verbs (never `gh api`);
|
|
50
50
|
- a **project adapter** (`.opencode/ship.config.json`) so any project can declare its own verify/bootstrap/CI commands;
|
|
51
|
-
- **reviewer** and **verifier** subagents, both with strictly bounded
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
- a **
|
|
51
|
+
- **reviewer** and **verifier** subagents, both with strictly bounded permissions;
|
|
52
|
+
- **delivery-workflow** skill that drives the canonical lifecycle;
|
|
53
|
+
- **planning-research-checkpoint** skill that offers a single, optional Deep Research gate per non-trivial plan;
|
|
54
|
+
- a **doctor** that walks every catalog entry to verify install state and lock consistency;
|
|
55
55
|
- an **install/doctor/diff/update/uninstall** CLI with stable exit codes and `--json` envelopes;
|
|
56
|
-
- a **.opencode/ship.lock.json** lock that records managed paths, hashes, and the installer-owned
|
|
56
|
+
- a **.opencode/ship.lock.json** install lock that records managed paths, hashes, and the installer-owned root permissions;
|
|
57
|
+
- a **.opencode/ship.skills.lock.json** skill inventory that records project-local dynamic skills with immutable provenance;
|
|
57
58
|
- **recovery** for interrupted cleanup, half-written state files, and stale worktrees.
|
|
58
59
|
|
|
59
60
|
The package **does not** own:
|
|
@@ -157,7 +158,7 @@ The shipped artifact is built by esbuild (`scripts/build.mjs`); self-contained `
|
|
|
157
158
|
## Status and licensing
|
|
158
159
|
|
|
159
160
|
- **License:** MIT. See `LICENSE`.
|
|
160
|
-
- **Versioning:** SemVer. v0.2.0 is the first npm-distributed release. v0.3.0 is the installer foundation
|
|
161
|
+
- **Versioning:** SemVer. v0.2.0 is the first npm-distributed release. v0.3.0 is the installer foundation. v0.4.0 adds the profile-aware installer foundation (`--profile` flag, lock schema v2, profile precedence) that issue #18 requires. v0.5.0 ships the engineering profile content (triage + grill-with-docs SKILL.md placeholders) required by issue #20. v0.6.0 ships the durable plan artifact + Plan Mode permission integration required by issue #21. v0.7.0 ships the M3 task loop contract (run store, task brief, Spec/Quality verdicts, 3-round breaker, commit binding, compaction context) required by issue #22. v0.8.0 ships the Ready gate contract (parallel Standards/Spec + verifier + CI on one HEAD) required by issue #23. v0.9.0 ships the transition matrix smoke (engineering installs all assets, lock tracks the active profile) required by issue #24. v1.0.0 promotes the dogfooded 0.10.0 to stable. v1.1.0 removes the legacy core profile and ships the one-liner init + setup-ship-workflow skill. v1.1.1 is the first fully self-hosting release (see `docs/release/1.1.1-stabilization-plan.md`).
|
|
161
162
|
- **Compatibility:** the bundled plugin targets `@opencode-ai/plugin >= 1.15.5 < 2` and OpenCode `>= 1.15.5`.
|
|
162
163
|
|
|
163
164
|
## FAQ
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Third-Party Notices
|
|
2
2
|
|
|
3
|
-
`opencode-ship@1.1.
|
|
3
|
+
`opencode-ship@1.1.1` ships the complete Matt Pocock and Superpowers
|
|
4
4
|
methodology under the MIT license, plus the Ship-owned installer,
|
|
5
5
|
plugin, agents, and skills. The complete immutable pin list is in
|
|
6
6
|
`vendor/sources.json`; the upstream snapshots are under
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Deterministic Ship controller. Owns durable workflow state, Git/GitHub mutations, and the same-HEAD Ready / merge gates. Use for `ship-deliver`, `ship-resume`, and `ship-status`.
|
|
3
3
|
mode: subagent
|
|
4
4
|
temperature: 0.1
|
|
5
|
-
model:
|
|
5
|
+
model: <model-from-config>
|
|
6
6
|
steps: 12
|
|
7
7
|
permission:
|
|
8
8
|
edit: deny
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Strong Spec final reviewer. Records the Spec axis of the final review through `delivery_review` with `axis: spec`. Independent of the Standards reviewer and the controller.
|
|
3
3
|
mode: subagent
|
|
4
4
|
temperature: 0.2
|
|
5
|
-
model:
|
|
5
|
+
model: <model-from-config>
|
|
6
6
|
steps: 10
|
|
7
7
|
permission:
|
|
8
8
|
edit: deny
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Strong Standards final reviewer. Records the Standards axis of the final review through `delivery_review` with `axis: standards`. Independent of the Spec reviewer and the controller.
|
|
3
3
|
mode: subagent
|
|
4
4
|
temperature: 0.2
|
|
5
|
-
model:
|
|
5
|
+
model: <model-from-config>
|
|
6
6
|
steps: 10
|
|
7
7
|
permission:
|
|
8
8
|
edit: deny
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Read-only strong planner. Writes the PlanV2 contract and submits it to the durable plan store. Never edits source, never commits.
|
|
3
3
|
mode: subagent
|
|
4
4
|
temperature: 0.3
|
|
5
|
-
model:
|
|
5
|
+
model: <model-from-config>
|
|
6
6
|
steps: 10
|
|
7
7
|
permission:
|
|
8
8
|
edit: deny
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Cheap task builder. Implements one task at a time. Reports through `ship_task_report`. Cannot commit, push, mutate GitHub, or record reviews.
|
|
3
3
|
mode: subagent
|
|
4
4
|
temperature: 0.2
|
|
5
|
-
model:
|
|
5
|
+
model: <model-from-config>
|
|
6
6
|
steps: 8
|
|
7
7
|
permission:
|
|
8
8
|
edit: allow
|