godpowers 3.0.2 → 3.11.0

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 CHANGED
@@ -7,6 +7,235 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.11.0] - 2026-06-15
11
+
12
+ ### Added
13
+ - Added `lib/evidence-import.js` and the `npx godpowers import-ledger [--from
14
+ <path>]` CLI: a one-time, best-effort importer that copies an existing Mythify
15
+ `.mythify/` ledger into `.godpowers/ledger/` (verifications rebinding
16
+ plan/step to arc/substep, reflections, memory merged by key, lessons, and
17
+ outcomes). Records are appended; no state rollup and no gate events.
18
+ - Exported `readJsonl` and `appendJsonlAtomic` from `lib/evidence.js` for reuse.
19
+
20
+ ### Notes
21
+ - This is the final item in `docs/FUSION-ARCHITECTURE.md`. With it, the native
22
+ fusion of Mythify's evidence engine and quarterback into Godpowers (Phases 0-3
23
+ plus the optional importer) is complete.
24
+
25
+ ## [3.10.0] - 2026-06-15
26
+
27
+ ### Added
28
+ - Added three read-only MCP tools to `@godpowers/mcp` (Phase 3, the final fusion
29
+ slice): `work_report` (wraps `lib/work-report.js`, forced peek so it never
30
+ advances the cursor), `route` (wraps `lib/quarterback.js`, never mutates
31
+ state), and `verification_history` (wraps `lib/evidence.js` history). All
32
+ carry `readOnlyHint:true` via the same `requireRuntime` bridge. The companion
33
+ now exposes eight read-only tools.
34
+
35
+ ### Notes
36
+ - This release completes the native fusion of Mythify's evidence engine and
37
+ quarterback into Godpowers across Phases 0-3 (`docs/FUSION-ARCHITECTURE.md`):
38
+ the evidence producer, enforced close-on-evidence on the build and harden
39
+ gates, the quarterback entry router, the work report, reflections, memory,
40
+ lessons, outcome loops, and now the MCP read tools. Mutating verification stays
41
+ on the CLI and orchestrator path.
42
+
43
+ ## [3.9.0] - 2026-06-15
44
+
45
+ ### Added
46
+ - Added `evidence.outcome.start/check/stop/status` (Phase 3), rebound from
47
+ Mythify's `outcomes/<slug>/` store: a bounded retry loop with `goal.json` and
48
+ `iterations.jsonl` at `.godpowers/ledger/outcomes/<slug>/`. `check` runs the
49
+ verifier through `evidence.verify` (so the executed verdict is also written to
50
+ the main verifications ledger and rolled up), appends an iteration, and marks
51
+ the outcome succeeded, failed when the budget is exhausted, or still active.
52
+ - Added the `npx godpowers outcome start|check|stop|status <name> [--goal ...]
53
+ [--verify "<cmd>"] [--budget N] [--substep <id>] [--reason ...]` CLI subcommand.
54
+
55
+ ### Notes
56
+ - Outcome state lives under the ledger; `check` is the only path that mutates
57
+ shared state, and it does so through the existing `evidence.verify` rollup. No
58
+ existing command behavior changed.
59
+
60
+ ## [3.8.0] - 2026-06-15
61
+
62
+ ### Added
63
+ - Added `evidence.lesson.add/list` (Phase 3), rebound from Mythify's lessons
64
+ store: append tagged lessons with project or global scope to
65
+ `.godpowers/ledger/lessons.jsonl` (or `~/.godpowers/lessons.jsonl` for global).
66
+ - Added the `npx godpowers lesson add|list "<lesson>" [--tags a,b] [--scope
67
+ project|global]` CLI subcommand.
68
+
69
+ ### Changed
70
+ - `evidence.reflect()` now auto-records a project lesson tagged `auto-reflected`
71
+ when a reflection carries a lesson, matching the upstream reflect tool. The
72
+ reflection record itself is unchanged.
73
+
74
+ ### Notes
75
+ - The lessons store is isolated: it never touches `state.json`, the
76
+ verifications ledger, or the event stream.
77
+
78
+ ## [3.7.0] - 2026-06-15
79
+
80
+ ### Added
81
+ - Added `evidence.memory.set/get/list/clear` (Phase 3), rebound from Mythify's
82
+ memory.json: a durable key/value store with categories fact, decision,
83
+ discovery, and state at `.godpowers/ledger/memory.json`. `set` upserts by key
84
+ and defaults the category to fact; `clear` removes one key or all entries;
85
+ writes go through `lib/atomic-write.js`.
86
+ - Added the `npx godpowers memory set|get|list|clear [<key>] [<value>]
87
+ [--category ...]` CLI subcommand.
88
+
89
+ ### Notes
90
+ - The memory store is isolated: it never touches `state.json`, the verifications
91
+ ledger, or the event stream. No existing command behavior changed.
92
+
93
+ ## [3.6.0] - 2026-06-15
94
+
95
+ ### Added
96
+ - Added `evidence.reflect()` and `evidence.reflections()` (Phase 3), rebound from
97
+ Mythify's reflect tool: record action, outcome (success/partial/failure),
98
+ observation, root cause, next action, and an optional lesson to
99
+ `.godpowers/ledger/reflections.jsonl` with substep context.
100
+ - Added the `npx godpowers reflect --action "<...>" --outcome <...> --next "<...>"`
101
+ CLI subcommand (`--observation`, `--root-cause`, `--lesson`, `--substep`
102
+ optional).
103
+
104
+ ### Changed
105
+ - Generalized the ledger jsonl append/read into shared `appendJsonlAtomic` and
106
+ `readJsonl` helpers in `lib/evidence.js` so verifications and reflections share
107
+ one atomic path. No change to the verifications record shape or behavior.
108
+
109
+ ### Notes
110
+ - `reflect` is isolated: it never touches `state.json`, the verifications ledger,
111
+ or the event stream. No existing command behavior changed.
112
+
113
+ ## [3.5.0] - 2026-06-15
114
+
115
+ ### Added
116
+ - Added `lib/work-report.js`, the chat play-by-play (Phase 3) rebound from
117
+ Mythify's build_work_report. It reads the evidence ledger, surfaces an
118
+ Attention section for unverified records, summarizes passed/failed/attested,
119
+ and advances a report cursor at `.godpowers/ledger/reports/cursor.json` so a
120
+ fresh session emits only what is new.
121
+ - Added the read-only `npx godpowers report --since last` CLI subcommand
122
+ (`--since all` for full history, `--peek` to show without advancing the
123
+ cursor).
124
+
125
+ ### Notes
126
+ - `report` is read-only beyond the report cursor and never mutates `state.json`;
127
+ no existing command behavior changed. This is the first Phase 3 slice; outcome
128
+ loops, memory, lessons, reflections, and MCP read tools remain to come.
129
+
130
+ ## [3.4.0] - 2026-06-15
131
+
132
+ ### Added
133
+ - Added `lib/quarterback.js`, the entry-level two-layer router (Phase 2 of the
134
+ fusion design). It composes `router.suggestNext` and `recipes.matchIntent` and
135
+ adds the two genes Godpowers lacked at entry: refuse-on-red (never start new
136
+ work when the latest executed verdict is red or harden findings carry an
137
+ unresolved Critical) and proportional ceremony (a one-line fix routes to
138
+ `/god-fast`, not an arc). The priority ladder is recover, resume, recovery,
139
+ brownfield, research, review, full, feature, trivial; first match wins.
140
+ - Added the read-only `npx godpowers route "<prompt>"` CLI subcommand, which
141
+ returns the chosen play with its next command, ceremony level, verification
142
+ strategy, and an evidence block (classification, latest verdict, active arc,
143
+ open findings). `route` never mutates state.
144
+
145
+ ### Notes
146
+ - `route` is read-only and additive; no existing command behavior changed. The
147
+ quarterback reads the evidence ledger and harden findings to decide refuse-on-red.
148
+
149
+ ## [3.3.0] - 2026-06-15
150
+
151
+ ### Added
152
+ - Added the `npx godpowers can-close --substep <id>` CLI subcommand, a read-only
153
+ face over `evidence.canClose`. It exits zero only when the substep has the
154
+ evidence to close (executable-gated tiers need a passing executed record since
155
+ they went in-flight; other tiers accept an attested record), so skills and the
156
+ orchestrator can shell into the strict close gate the way they already shell
157
+ `gate` and `state advance`.
158
+
159
+ ### Changed
160
+ - Wired the `GOD-ORCHESTRATOR-RUNBOOK` close loop to record executed evidence and
161
+ confirm `can-close` is green before advancing an executable-gated sub-step to
162
+ done. This completes the orchestrator side of the Phase 1 close-on-evidence
163
+ path (`docs/FUSION-ARCHITECTURE.md`). No existing command behavior changed; the
164
+ CLI addition is additive and the runbook change is prompt-level guidance.
165
+
166
+ ## [3.2.0] - 2026-06-15
167
+
168
+ ### Changed
169
+ - BEHAVIOR CHANGE: the `harden` gate now requires executed verification
170
+ evidence. `lib/gate.js`'s build-only executed-evidence requirement is
171
+ generalized to every executable-gated tier, driven by
172
+ `evidence.EXECUTED_REQUIRED_SUBSTEPS` (`build`, `deploy`, `harden`). The
173
+ harden gate now requires at least one passed and zero failed verification
174
+ commands in `state.json` `verification.commands[]`, in addition to its
175
+ no-Critical-findings check. A security tier can no longer close "done" without
176
+ an exit-code-backed passing record. Finding ids are tier-prefixed, so the
177
+ build tier keeps its `build-verification-*` contract and harden gains
178
+ `harden-verification-*`.
179
+ - Updated the `god-harden` skill to record the executed security check
180
+ (for example `npx godpowers verify "npm audit --omit=dev" --substep
181
+ tier-3.harden`) before running the harden gate.
182
+
183
+ ### Added
184
+ - Added the `tier-3.harden` state-step mapping in `lib/artifact-map.js` so the
185
+ harden gate reads structured state evidence (matching `build`).
186
+
187
+ ### Notes
188
+ - This is the first enforced close-on-evidence behavior change from the Phase 1
189
+ fusion design (`docs/FUSION-ARCHITECTURE.md`). Projects that closed a harden
190
+ step without a verification record must now run `godpowers verify` (or record
191
+ an attested record where no executable check applies) before the harden gate
192
+ passes. The build gate behavior is unchanged.
193
+
194
+ ## [3.1.1] - 2026-06-15
195
+
196
+ ### Added
197
+ - Added `evidence.canClose(substep)` to `lib/evidence.js`, the read-only strict
198
+ close-gate primitive rebound from Mythify's completion rule: a substep may
199
+ close only when evidence bound to it since it went in-flight supports the
200
+ close. Tier-appropriate per `docs/FUSION-ARCHITECTURE.md` section 4.2:
201
+ `build`/`deploy`/`harden` require the latest executed record to be
202
+ `verified:true`; other substeps accept an executed pass or an attested record,
203
+ and a failed executed record always blocks.
204
+
205
+ ### Notes
206
+ - `canClose` is additive and read-only. It does not mutate state and is not yet
207
+ wired into `gate.js` or the close path; wiring it in (the deliberate
208
+ behavior change) is the remaining Phase 1 work tracked in
209
+ `docs/FUSION-ARCHITECTURE.md`. No existing behavior changed in this release.
210
+
211
+ ## [3.1.0] - 2026-06-15
212
+
213
+ ### Added
214
+ - Added the evidence producer in `lib/evidence.js`, vendored from the Mythify
215
+ Node engine (`mythify-mcp@3.6.3`, `verify_run`/`verify_claim`). `evidence.verify()`
216
+ executes a command, appends an exit-code-backed record to the new append-only
217
+ `.godpowers/ledger/verifications.jsonl`, rolls the latest verdict per command
218
+ into `state.json` `verification.commands[]` through `lib/state.js`, and emits
219
+ `gate.pass`/`gate.fail` to the hash-chained `runs/<id>/events.jsonl` stream.
220
+ `evidence.verifyClaim()` records a second-class attested record that never
221
+ rolls up.
222
+ - Added the `npx godpowers verify "<cmd>" --substep <id> --claim "<text>"` CLI
223
+ subcommand (with `--timeout`, and `--attest`/`--evidence` for attestations),
224
+ wired through `lib/cli-dispatch.js`.
225
+ - Added `lib/evidence/.provenance.json` recording the vendored engine's source,
226
+ version, commit, and adaptations, plus `scripts/sync-evidence-engine.js` to
227
+ re-pull the upstream engine, re-state the adaptations, and flag any upstream
228
+ record-shape drift for review.
229
+ - Added `docs/FUSION-ARCHITECTURE.md`, the canonical design for transplanting
230
+ Mythify's evidence engine and quarterback into Godpowers (Phases 0-3; this
231
+ release lands Phase 0).
232
+
233
+ ### Changed
234
+ - `state.json` `verification.commands[]` is now reliably populated by the
235
+ evidence producer (previously specified in the schema but never written).
236
+ This is additive: the build gate reads the same shape, no gate behavior or
237
+ close-on-evidence logic changed (that is Phase 1).
238
+
10
239
  ## [3.0.2] - 2026-06-11
11
240
 
12
241
  ### Added
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![CI](https://github.com/aihxp/godpowers/actions/workflows/ci.yml/badge.svg)](https://github.com/aihxp/godpowers/actions/workflows/ci.yml)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
5
- [![Version](https://img.shields.io/badge/version-3.0.2-blue)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-3.11.0-blue)](CHANGELOG.md)
6
6
  [![npm](https://img.shields.io/npm/v/godpowers.svg)](https://www.npmjs.com/package/godpowers)
7
7
 
8
8
  **Ship fast. Ship right. Ship everything. Ship accountably.**
@@ -30,13 +30,19 @@ Godpowers makes AI coding accountable: every serious run should leave disk
30
30
  state, artifacts, validation gates, host guarantees, and a next action. Code is
31
31
  only one output. The project memory and proof trail matter too.
32
32
 
33
- Version 3.0.2 is a concierge surface patch on top of the 3.0.0 surface
34
- contraction release. The current 3.x line keeps the omitted installer profile
35
- on `core`, adds first-run, demo, and surface-control entry points, preserves
36
- `--profile=full` for compatibility, keeps locate and lifecycle views under
37
- `/god-status`, ships the optional `@godpowers/mcp` companion package, and
38
- verifies docs, package contents, npm metadata, GitHub release state, and
39
- published install behavior before public release.
33
+ Version 3.11.0 adds the optional one-time `.mythify/` ledger importer (`npx
34
+ godpowers import-ledger`), the final piece of the native fusion of Mythify's
35
+ evidence engine and quarterback into Godpowers. The fusion is now complete end
36
+ to end: the evidence producer, enforced close-on-evidence on the build and
37
+ harden gates, the quarterback entry router, the work report, reflections,
38
+ memory, lessons, outcome loops, the read-only MCP tools, and now a path to bring
39
+ existing Mythify ledgers along. The current 3.x line keeps
40
+ the omitted installer profile on `core`, keeps first-run, demo, and
41
+ surface-control entry points, preserves `--profile=full` for compatibility,
42
+ keeps locate and lifecycle views under `/god-status`, ships the optional
43
+ `@godpowers/mcp` companion package, and verifies docs, package contents, npm
44
+ metadata, GitHub release state, and published install behavior before public
45
+ release.
40
46
 
41
47
  Maintainer hardening continues on the 3.x line with small, audited public
42
48
  surface updates when they close real workflow gaps. Historical release details
@@ -315,14 +321,14 @@ dependency to the main `godpowers` package:
315
321
 
316
322
  ```bash
317
323
  npx godpowers mcp-info --project=.
318
- npx -y -p godpowers@3.0.2 -p @godpowers/mcp@3.0.2 godpowers-mcp serve --project=.
324
+ npx -y -p godpowers@3.11.0 -p @godpowers/mcp@3.11.0 godpowers-mcp serve --project=.
319
325
  ```
320
326
 
321
327
  The companion exposes `status`, `next`, `gate_check`, `lint_artifact`, and
322
328
  `trace_requirement`. Host registration is opt-in:
323
329
 
324
330
  ```bash
325
- npx -y -p godpowers@3.0.2 -p @godpowers/mcp@3.0.2 godpowers-mcp setup --host=codex --project=. --write
331
+ npx -y -p godpowers@3.11.0 -p @godpowers/mcp@3.11.0 godpowers-mcp setup --host=codex --project=. --write
326
332
  ```
327
333
 
328
334
  See [MCP Companion](docs/mcp.md) for package boundaries and setup details.
package/RELEASE.md CHANGED
@@ -1,53 +1,41 @@
1
- # Godpowers 3.0.2 Release
1
+ # Godpowers 3.11.0 Release
2
2
 
3
- > Status: Published
4
- > Date: 2026-06-11
3
+ > Status: Prepared
4
+ > Date: 2026-06-15
5
5
 
6
- [DECISION] Godpowers 3.0.2 is a concierge surface patch on top of the 3.0.0 surface contraction release and the 3.0.1 release-surface cleanup.
7
- [DECISION] This release keeps `core` as the omitted installer profile, keeps `--profile=full` as the complete compatibility surface, and adds first-run, demo, and surface-control entry points for safer onboarding.
8
- [DECISION] This release changes default guidance from catalog-first and dashboard-first output to compact recommendations with `Next commands:` blocks.
9
- [DECISION] This release keeps `@godpowers/mcp` as the optional read-only companion package.
6
+ [DECISION] Godpowers 3.11.0 adds the optional one-time `.mythify/` ledger importer, the final item in the fusion design. With it, the native fusion of Mythify's evidence engine and quarterback into Godpowers (Phases 0-3 plus the optional importer) is complete.
7
+ [DECISION] The importer is optional, one-time, and additive: it appends imported records to the Godpowers ledger and does not roll up into `state.json` or emit gate events. No existing command behavior changes.
8
+ [DECISION] This release keeps `core` as the omitted installer profile, keeps `--profile=full` as the complete compatibility surface, and keeps the 3.1.0-3.10.0 evidence, close-gate, quarterback, work-report, reflections, memory, lessons, outcome, and MCP surface.
10
9
 
11
10
  ## What's in this release
12
11
 
13
- - [DECISION] 120 slash commands.
14
- - [DECISION] 40 specialist agents.
15
- - [DECISION] 13 executable workflows.
16
- - [DECISION] 43 intent recipes.
17
- - [DECISION] Three concierge entry points are now shipped: `/god-first-run`, `/god-demo`, and `/god-surface`.
18
- - [DECISION] Five thin verb dispatch commands remain shipped: `/god-plan`, `/god-fix`, `/god-ship`, `/god-capture`, and `/god-extend`.
19
- - [DECISION] Five read-only MCP tools remain available in `@godpowers/mcp`: `status`, `next`, `gate_check`, `lint_artifact`, and `trace_requirement`.
12
+ - [DECISION] New `lib/evidence-import.js` and `npx godpowers import-ledger [--from <path>]`.
13
+ - [DECISION] It copies an existing Mythify `.mythify/` ledger into `.godpowers/ledger/`: verifications (rebinding plan/step_id/step_title/step_status to arc/substep/substep_status), reflections, memory (merged by key), lessons (lessons/*.json to lessons.jsonl), and outcomes (goal.json + iterations.jsonl per slug).
14
+ - [DECISION] Records are appended; the import does not roll up into `state.json` or emit gate events.
15
+ - [DECISION] 120 slash commands, 40 specialist agents, 13 executable workflows, 43 intent recipes, and the 3.1.0-3.10.0 evidence, close-gate, quarterback, work-report, reflections, memory, lessons, outcome, and eight-tool MCP surface remain available.
20
16
 
21
17
  ## Changes
22
18
 
23
- - [DECISION] `package.json`, `package-lock.json`, and `packages/mcp/package.json` now publish the 3.0.2 patch version.
24
- - [DECISION] `/god-help` now starts with contextual next moves, while `/god-help all` remains the full installed catalog.
25
- - [DECISION] `/god`, `/god-next`, `/god-status`, and the shared dashboard contract now prefer concise action briefs and explicit `Next commands:` blocks.
26
- - [DECISION] `godpowers demo` exposes the shipped sandbox proof from the CLI without modifying the current project.
27
- - [DECISION] `godpowers surface --profile=<name> --dry-run` previews runtime profile changes, and `--apply` writes the selected installed surface.
28
- - [DECISION] README, roadmap, reference, architecture, release notes, and Pillar context now describe the 3.0.2 concierge surface.
19
+ - [DECISION] `package.json`, `package-lock.json`, and `packages/mcp/package.json` now publish the 3.11.0 minor version.
20
+ - [DECISION] CHANGELOG, RELEASE notes, README, roadmap, reference, architecture, and the SECURITY supported-version series now describe the 3.11.0 importer and the completed fusion.
29
21
 
30
22
  ## Validation
31
23
 
32
- - [DECISION] `npm run test:quick-proof` passed with 22 tests.
33
24
  - [DECISION] `npm run lint` passed with 29 static checks.
34
- - [DECISION] `npm run release:check` passed with `coverage:lib` at 92.69 percent line coverage.
25
+ - [DECISION] `node scripts/test-evidence-import.js` passed with 4 importer tests, including the plan/step to arc/substep rebind.
26
+ - [DECISION] `node scripts/test-cli-dispatch.js` passed with 48 CLI dispatch tests, including the new `import-ledger` tests.
27
+ - [DECISION] `npm run release:check` passed `coverage:lib` above the 90 percent line floor for `lib/**/*.js` (evidence-import.js at 97 percent lines).
35
28
  - [DECISION] `npm run release:check` passed `npm audit --omit=dev` with 0 vulnerabilities.
36
- - [DECISION] `npm run release:check` passed public surface docs for version 3.0.2 with 120 skills, 40 agents, 13 workflows, and 43 recipes.
37
- - [DECISION] `npm run release:check` passed root package contents with 556 files.
38
- - [DECISION] `npm run release:check` passed `@godpowers/mcp` package contents with 8 files.
39
- - [DECISION] `npm pack --pack-destination /tmp/godpowers-release-3.0.2` produced `godpowers-3.0.2.tgz` with 556 files.
40
- - [DECISION] `npm pack --workspace @godpowers/mcp --pack-destination /tmp/godpowers-release-3.0.2` produced `godpowers-mcp-3.0.2.tgz` with 8 files.
29
+ - [DECISION] `npm run release:check` passed public surface docs for version 3.11.0 with 120 skills, 40 agents, 13 workflows, and 43 recipes.
30
+ - [DECISION] `npm run release:check` passed root and `@godpowers/mcp` package contents.
41
31
 
42
32
  ## Upgrade
43
33
 
44
- - [DECISION] Use `npm install -g godpowers@3.0.2` or `npx godpowers@3.0.2`.
45
- - [DECISION] Use `npx godpowers --profile=full` when the complete pre-3.0 command surface should be installed.
46
- - [DECISION] Use `npx godpowers --profile=core` or omit `--profile` for the contracted default surface.
47
- - [DECISION] Use optional MCP package install `npm install -g godpowers @godpowers/mcp` when the host can register MCP servers.
48
- - [DECISION] Re-run `/god-context` in each project to refresh installed runtime metadata.
34
+ - [DECISION] Use `npm install -g godpowers@3.11.0` or `npx godpowers@3.11.0`.
35
+ - [DECISION] No migration is required. The importer is optional and additive; no other behavior changed.
49
36
 
50
37
  ## Notes
51
38
 
52
- - [DECISION] The publish targets are npm `godpowers@3.0.2`, npm `@godpowers/mcp@3.0.2`, and GitHub release `https://github.com/aihxp/godpowers/releases/tag/v3.0.2`.
39
+ - [DECISION] The publish targets are npm `godpowers@3.11.0`, npm `@godpowers/mcp@3.11.0`, and GitHub release `https://github.com/aihxp/godpowers/releases/tag/v3.11.0`.
53
40
  - [DECISION] The tag-triggered GitHub publish workflow remains the preferred npm path because it publishes with provenance.
41
+ - [DECISION] This is the final planned release of the fusion design. Every phase (0-3) and the optional importer are implemented and shipped to main across 3.1.0-3.11.0.
package/bin/install.js CHANGED
@@ -53,6 +53,15 @@ function showHelp() {
53
53
  log(' next Show the dashboard and recommended next command');
54
54
  log(' state advance Update one tracked Godpowers state step');
55
55
  log(' gate Check a tier artifact gate');
56
+ log(' verify Run a command as executed verification evidence');
57
+ log(' can-close Check whether a substep has the evidence to close');
58
+ log(' route Classify a prompt into an entry play (quarterback)');
59
+ log(' report Show the verification play-by-play since last report');
60
+ log(' reflect Record a structured reflection to the ledger');
61
+ log(' memory Set, get, list, or clear ledger memory entries');
62
+ log(' lesson Add or list reusable lessons in the ledger');
63
+ log(' outcome Start, check, stop, or inspect a bounded retry loop');
64
+ log(' import-ledger Import an existing .mythify/ ledger into .godpowers/ledger/');
56
65
  log(' mcp-info Show read-only MCP companion setup instructions');
57
66
  log(' quick-proof Show a runnable proof from the shipped fixture');
58
67
  log(' automation-status Show host automation provider support');
@@ -72,6 +81,13 @@ function showHelp() {
72
81
  log(' --step=<name> Step for state advance, such as prd or tier-1.prd');
73
82
  log(' --status=<status> Status for state advance');
74
83
  log(' --tier=<name> Tier for gate: prd, design, arch, roadmap, stack, repo, build, or harden');
84
+ log(' --substep=<id> Substep for verify, such as tier-2.build');
85
+ log(' --claim=<text> Claim a verify command checks');
86
+ log(' --timeout=<seconds> Kill a verify command after this many seconds (default 300)');
87
+ log(' --attest Record a self-reported attested claim instead of executing');
88
+ log(' --evidence=<text> Self-reported evidence for verify --attest');
89
+ log(' --since=<last|all> Window for report: new records since last, or all');
90
+ log(' --peek Show the report without advancing the report cursor');
75
91
  log(' --json Emit JSON for status, next, proof, or automation commands');
76
92
  log(' --brief Render compact output for status, next, or proof');
77
93
  log(' --full Render complete output for status, next, or demo');
@@ -111,6 +127,15 @@ function showHelp() {
111
127
  log(' npx godpowers next --project=.');
112
128
  log(' npx godpowers state advance --step=prd --status=done --project=.');
113
129
  log(' npx godpowers gate --tier=prd --project=.');
130
+ log(' npx godpowers verify "npm test" --substep tier-2.build --claim "build slice tests pass" --project=.');
131
+ log(' npx godpowers can-close --substep tier-2.build --project=.');
132
+ log(' npx godpowers route "add a feature" --project=.');
133
+ log(' npx godpowers report --since last --project=.');
134
+ log(' npx godpowers reflect --action "ran build" --outcome failure --next "fix the failing test" --project=.');
135
+ log(' npx godpowers memory set decision "use postgres" --category decision --project=.');
136
+ log(' npx godpowers lesson add "guard inputs before parsing" --tags parsing --project=.');
137
+ log(' npx godpowers outcome start green-build --verify "npm test" --budget 3 --substep tier-2.build --project=.');
138
+ log(' npx godpowers import-ledger --from ../legacy/.mythify --project=.');
114
139
  log(' npx godpowers mcp-info --project=.');
115
140
  log(' npx godpowers quick-proof --project=.');
116
141
  log(' npx godpowers automation-status --project=.');
@@ -231,6 +256,15 @@ module.exports = {
231
256
  runExtensionScaffoldCommand: cliDispatch.runExtensionScaffoldCommand,
232
257
  runGateCommand: cliDispatch.runGateCommand,
233
258
  runStateCommand: cliDispatch.runStateCommand,
259
+ runVerifyCommand: cliDispatch.runVerifyCommand,
260
+ runCanCloseCommand: cliDispatch.runCanCloseCommand,
261
+ runRouteCommand: cliDispatch.runRouteCommand,
262
+ runReportCommand: cliDispatch.runReportCommand,
263
+ runReflectCommand: cliDispatch.runReflectCommand,
264
+ runMemoryCommand: cliDispatch.runMemoryCommand,
265
+ runLessonCommand: cliDispatch.runLessonCommand,
266
+ runOutcomeCommand: cliDispatch.runOutcomeCommand,
267
+ runImportLedgerCommand: cliDispatch.runImportLedgerCommand,
234
268
  applyDefaultRuntimeSelection,
235
269
  runInstall,
236
270
  runUninstall,
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "https://godpowers.dev/schema/state.v1.json",
3
+ "version": "1.0.0",
4
+ "project": {
5
+ "name": "harden-pass",
6
+ "started": "2026-06-10T00:00:00.000Z"
7
+ },
8
+ "tiers": {
9
+ "tier-3": {
10
+ "harden": {
11
+ "status": "done",
12
+ "updated": "2026-06-10T18:08:00.000Z",
13
+ "verification": {
14
+ "commands": [
15
+ {
16
+ "command": "npm audit --omit=dev",
17
+ "status": "pass",
18
+ "exitCode": 0,
19
+ "ranAt": "2026-06-10T18:07:00.000Z"
20
+ }
21
+ ]
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
@@ -33,7 +33,8 @@ const TIER_ARTIFACTS = {
33
33
 
34
34
  const TIER_STATE_STEPS = {
35
35
  design: { tierKey: 'tier-1', subStepKey: 'design' },
36
- build: { tierKey: 'tier-2', subStepKey: 'build' }
36
+ build: { tierKey: 'tier-2', subStepKey: 'build' },
37
+ harden: { tierKey: 'tier-3', subStepKey: 'harden' }
37
38
  };
38
39
 
39
40
  function normalizeTier(tier) {