godpowers 2.6.0 → 3.0.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.
Files changed (96) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +46 -34
  3. package/RELEASE.md +49 -37
  4. package/SKILL.md +46 -48
  5. package/agents/god-deploy-engineer.md +2 -2
  6. package/agents/god-designer.md +3 -2
  7. package/agents/god-greenfieldifier.md +2 -4
  8. package/agents/god-launch-strategist.md +4 -5
  9. package/agents/god-observability-engineer.md +5 -5
  10. package/agents/god-reconciler.md +10 -4
  11. package/agents/god-retrospective.md +1 -1
  12. package/agents/god-updater.md +5 -5
  13. package/bin/install.js +11 -6
  14. package/extensions/data-pack/manifest.yaml +1 -1
  15. package/extensions/data-pack/package.json +1 -1
  16. package/extensions/launch-pack/manifest.yaml +1 -1
  17. package/extensions/launch-pack/package.json +1 -1
  18. package/extensions/security-pack/manifest.yaml +1 -1
  19. package/extensions/security-pack/package.json +1 -1
  20. package/fixtures/gate/build-pass/.godpowers/state.json +33 -0
  21. package/lib/README.md +2 -0
  22. package/lib/artifact-map.js +15 -3
  23. package/lib/cli-dispatch.js +39 -1
  24. package/lib/command-families.js +13 -8
  25. package/lib/context-writer.js +4 -4
  26. package/lib/gate.js +107 -9
  27. package/lib/install-profiles.js +39 -13
  28. package/lib/installer-args.js +25 -1
  29. package/lib/pillars.js +2 -4
  30. package/lib/recipes.js +16 -0
  31. package/lib/router.js +1 -5
  32. package/lib/source-sync.js +1 -1
  33. package/lib/state-advance.js +244 -0
  34. package/lib/state-lock.js +8 -4
  35. package/lib/state-views.js +460 -0
  36. package/lib/state.js +52 -3
  37. package/package.json +2 -2
  38. package/routing/god-audit.yaml +1 -1
  39. package/routing/god-build.yaml +1 -1
  40. package/routing/god-capture.yaml +41 -0
  41. package/routing/god-context.yaml +1 -1
  42. package/routing/god-deploy.yaml +3 -1
  43. package/routing/god-design.yaml +2 -2
  44. package/routing/god-extend.yaml +47 -0
  45. package/routing/god-fix.yaml +37 -0
  46. package/routing/god-launch.yaml +4 -1
  47. package/routing/god-lifecycle.yaml +1 -1
  48. package/routing/god-locate.yaml +1 -1
  49. package/routing/god-migrate.yaml +0 -1
  50. package/routing/god-mode.yaml +1 -1
  51. package/routing/god-observe.yaml +4 -1
  52. package/routing/god-plan.yaml +45 -0
  53. package/routing/god-prd.yaml +1 -1
  54. package/routing/god-reconcile.yaml +2 -5
  55. package/routing/god-ship.yaml +39 -0
  56. package/routing/god-sync.yaml +1 -1
  57. package/routing/recipes/returning-after-break.yaml +1 -1
  58. package/schema/state.v1.json +68 -1
  59. package/skills/god-arch.md +1 -1
  60. package/skills/god-build.md +6 -4
  61. package/skills/god-capture.md +45 -0
  62. package/skills/god-deploy.md +16 -14
  63. package/skills/god-design.md +3 -3
  64. package/skills/god-doctor.md +1 -1
  65. package/skills/god-extend.md +48 -0
  66. package/skills/god-fast.md +2 -2
  67. package/skills/god-feature.md +1 -1
  68. package/skills/god-fix.md +43 -0
  69. package/skills/god-harden.md +3 -3
  70. package/skills/god-hotfix.md +1 -1
  71. package/skills/god-init.md +14 -10
  72. package/skills/god-launch.md +14 -12
  73. package/skills/god-lifecycle.md +8 -1
  74. package/skills/god-locate.md +6 -0
  75. package/skills/god-mode.md +5 -4
  76. package/skills/god-observe.md +15 -13
  77. package/skills/god-pause-work.md +2 -2
  78. package/skills/god-plan.md +51 -0
  79. package/skills/god-prd.md +5 -4
  80. package/skills/god-quick.md +1 -1
  81. package/skills/god-repo.md +1 -1
  82. package/skills/god-resume-work.md +5 -4
  83. package/skills/god-roadmap-check.md +1 -0
  84. package/skills/god-roadmap-update.md +1 -1
  85. package/skills/god-roadmap.md +1 -1
  86. package/skills/god-rollback.md +1 -1
  87. package/skills/god-ship.md +44 -0
  88. package/skills/god-skip.md +2 -2
  89. package/skills/god-stack.md +1 -1
  90. package/skills/god-standards.md +1 -1
  91. package/skills/god-status.md +14 -9
  92. package/skills/god-story.md +1 -1
  93. package/skills/god-sync.md +2 -2
  94. package/skills/god-version.md +1 -1
  95. package/workflows/bluefield-arc.yaml +2 -4
  96. package/workflows/brownfield-arc.yaml +2 -4
@@ -69,9 +69,8 @@ For each channel:
69
69
  - D+7: post-launch retrospective
70
70
 
71
71
  ### 6. Shipping Closure
72
- - Read `.godpowers/deploy/STATE.md`,
73
- `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` if present, and
74
- `.godpowers/observe/STATE.md`.
72
+ - Read `.godpowers/state.json` deploy and observe evidence plus
73
+ `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` if present.
75
74
  - If deploy or observe is waiting on external access, do not create a broad
76
75
  dashboard checklist. Reference only the smallest next access item from the
77
76
  waiting bundle and write launch state as local-ready with deployed
@@ -96,7 +95,7 @@ For each channel:
96
95
 
97
96
  ## Output
98
97
 
99
- Write `.godpowers/launch/STATE.md` with all artifacts.
98
+ Return launch evidence for `.godpowers/state.json`; `lib/state-views.js` generates `.godpowers/launch/STATE.md` with the launch artifact summary.
100
99
 
101
100
  ## Have-Nots
102
101
 
@@ -129,7 +128,7 @@ pause. Log to YOLO-DECISIONS.md so the user can revise:
129
128
  - Auto-picked tone: direct/professional (default)
130
129
  - Auto-picked headline: [actual headline written]
131
130
  - Reason: substitution-tested headline that emphasizes the strongest PRD value prop
132
- - Reversible by: edit `.godpowers/launch/STATE.md` headline section
131
+ - Reversible by: update launch evidence in `.godpowers/state.json` and regenerate the launch state view
133
132
  - Timestamp: [ISO 8601]
134
133
  ```
135
134
 
@@ -15,10 +15,10 @@ Wire observability.
15
15
 
16
16
  ## Gate Check
17
17
 
18
- `.godpowers/deploy/STATE.md` exists. App is deployed and reachable, or deploy
19
- state documents a tested local staging harness plus a single external access
20
- bundle. A deferred staging URL must not block observability setup when local or
21
- CI-verifiable checks can still run.
18
+ `.godpowers/state.json` records deploy completion. The deploy evidence says the
19
+ app is deployed and reachable, or it documents a tested local staging harness
20
+ plus a single external access bundle. A deferred staging URL must not block
21
+ observability setup when local or CI-verifiable checks can still run.
22
22
 
23
23
  ## Process
24
24
 
@@ -78,7 +78,7 @@ For each PRD success metric, define an SLO:
78
78
 
79
79
  ## Output
80
80
 
81
- Write `.godpowers/observe/STATE.md` with:
81
+ Return observability evidence for `.godpowers/state.json`; `lib/state-views.js` generates `.godpowers/observe/STATE.md` with:
82
82
  - SLO definitions
83
83
  - Error budget policies
84
84
  - Alert catalog
@@ -82,12 +82,16 @@ For each artifact below, check (in parallel where possible):
82
82
 
83
83
  ### Tier 3 artifacts
84
84
 
85
- #### DEPLOY (`.godpowers/deploy/STATE.md`)
85
+ #### DEPLOY state evidence
86
+
87
+ Source: `.godpowers/state.json` `tier-3.deploy`.
86
88
  - Does the feature need a new env var?
87
89
  - New deploy step (e.g., new service)?
88
90
  - Verdict: covered / needs-extension
89
91
 
90
- #### OBSERVE (`.godpowers/observe/STATE.md`)
92
+ #### OBSERVE state evidence
93
+
94
+ Source: `.godpowers/state.json` `tier-3.observe`.
91
95
  - Does the feature need a new SLO?
92
96
  - New error budget category?
93
97
  - New alert + runbook?
@@ -99,7 +103,9 @@ For each artifact below, check (in parallel where possible):
99
103
  - New input source to validate?
100
104
  - Verdict: covered / needs-review / new-surface
101
105
 
102
- #### LAUNCH (`.godpowers/launch/STATE.md`)
106
+ #### LAUNCH state evidence
107
+
108
+ Source: `.godpowers/state.json` `tier-3.launch`.
103
109
  - Is the feature user-visible?
104
110
  - Does launch copy need updating?
105
111
  - New channel-specific messaging needed?
@@ -168,7 +174,7 @@ Return structured JSON to the orchestrating skill:
168
174
  "roadmap": { "status": "enhancement", "match": "Milestone 2", "action": "fold in or amend" },
169
175
  "stack": { "status": "covered" },
170
176
  "repo": { "status": "scaffolded" },
171
- "deploy": { "status": "needs-extension", "action": "add env var to deploy/STATE.md" },
177
+ "deploy": { "status": "needs-extension", "action": "record new env var in state.json deploy evidence" },
172
178
  "observe": { "status": "needs-slo", "action": "add SLO for new endpoint" },
173
179
  "harden": { "status": "needs-review", "action": "scope-to-new-code review" },
174
180
  "launch": { "status": "copy-update", "action": "update landing if launching publicly" },
@@ -22,7 +22,7 @@ sprint, not generic platitudes.
22
22
  ### 1. Gather Data
23
23
  Read:
24
24
  - Sprint PLAN.md (what was committed)
25
- - Sprint slice completion record from `.godpowers/build/STATE.md`
25
+ - Sprint slice completion record from `.godpowers/state.json`
26
26
  - Git log for the sprint window
27
27
  - Any HANDOFF.md or pause logs from the sprint
28
28
 
@@ -54,13 +54,13 @@ After feature work, every artifact that was impacted needs to reflect reality.
54
54
  - Validate have-nots S-01 through S-05
55
55
 
56
56
  ### DEPLOY update (if reconciler said "needs-extension")
57
- - Update deploy/STATE.md
57
+ - Update `.godpowers/state.json` deploy evidence
58
58
  - Document new env vars
59
59
  - Update CI/CD config notes
60
60
  - Have-nots D-01 through D-08
61
61
 
62
62
  ### OBSERVE update (if reconciler said "needs-slo" or "needs-alert")
63
- - Update observe/STATE.md
63
+ - Update `.godpowers/state.json` observe evidence
64
64
  - Define new SLO with error budget policy
65
65
  - Define new alert with runbook reference
66
66
  - Have-nots OB-01 through OB-08
@@ -71,7 +71,7 @@ After feature work, every artifact that was impacted needs to reflect reality.
71
71
  - Have-nots H-01 through H-11
72
72
 
73
73
  ### LAUNCH update (if reconciler said "copy-update" or "new-launch")
74
- - Update launch/STATE.md
74
+ - Update `.godpowers/state.json` launch evidence
75
75
  - Update landing copy if user-visible
76
76
  - Substitution-test new copy
77
77
 
@@ -260,8 +260,8 @@ Updated:
260
260
  - arch/ARCH.md: added ADR-007 (auth refactor)
261
261
  - arch/adr/007-auth-refactor.md: created
262
262
  - roadmap/ROADMAP.md: Milestone 2 marked complete
263
- - deploy/STATE.md: added STRIPE_WEBHOOK_SECRET env var
264
- - observe/STATE.md: added SLO for /api/stripe-webhook (99.5%)
263
+ - state.json tier-3.deploy: added STRIPE_WEBHOOK_SECRET env var
264
+ - state.json tier-3.observe: added SLO for /api/stripe-webhook (99.5%)
265
265
  - backlog/BACKLOG.md: resolved entry "Stripe webhook handling"
266
266
  - todos/TODOS.md: marked "wire stripe events" as done
267
267
  - threads/auth-migration.md: appended progress note
package/bin/install.js CHANGED
@@ -51,6 +51,7 @@ function showHelp() {
51
51
  log('Commands:');
52
52
  log(' status Show the Godpowers Dashboard for a project');
53
53
  log(' next Show the dashboard and recommended next command');
54
+ log(' state advance Update one tracked Godpowers state step');
54
55
  log(' gate Check a tier artifact gate');
55
56
  log(' mcp-info Show read-only MCP companion setup instructions');
56
57
  log(' quick-proof Show a runnable proof from the shipped fixture');
@@ -65,7 +66,9 @@ function showHelp() {
65
66
  }
66
67
  log('');
67
68
  log('Options:');
68
- log(' --project=<path> Project root for status, next, proof, or automation commands');
69
+ log(' --project=<path> Project root for status, next, state, proof, or automation commands');
70
+ log(' --step=<name> Step for state advance, such as prd or tier-1.prd');
71
+ log(' --status=<status> Status for state advance');
69
72
  log(' --tier=<name> Tier for gate: prd, design, arch, roadmap, stack, repo, build, or harden');
70
73
  log(' --json Emit JSON for status, next, proof, or automation commands');
71
74
  log(' --brief Render compact output for status, next, or proof');
@@ -92,7 +95,7 @@ function showHelp() {
92
95
  log(' --codebuddy Install for CodeBuddy');
93
96
  log(' --pi Install for Pi');
94
97
  log(' --all Install for all 15 runtimes');
95
- log(' --profile=<name> Install profile: core, builder, maintainer, suite, or full');
98
+ log(' --profile=<name> Install profile: core, builder, maintainer, suite, or full (default: core)');
96
99
  log(' --minimal Alias for --profile=core');
97
100
  log(' -u, --uninstall Uninstall Godpowers');
98
101
  log(' -h, --help Show this help message');
@@ -100,6 +103,7 @@ function showHelp() {
100
103
  log('Examples:');
101
104
  log(' npx godpowers status --project=.');
102
105
  log(' npx godpowers next --project=.');
106
+ log(' npx godpowers state advance --step=prd --status=done --project=.');
103
107
  log(' npx godpowers gate --tier=prd --project=.');
104
108
  log(' npx godpowers mcp-info --project=.');
105
109
  log(' npx godpowers quick-proof --project=.');
@@ -162,15 +166,15 @@ function runInstall(opts, srcDir) {
162
166
  log('');
163
167
  log(`\x1b[36mProfile:\x1b[0m ${describeProfiles(opts.profile)}`);
164
168
  log(`\x1b[36mInstalled:\x1b[0m`);
165
- log(` ${surface.skills} slash commands (try: /god-mode, /god-next, /god-status, /god-progress)`);
169
+ log(` ${surface.skills} slash commands (try: /god, /god-plan, /god-status, /god-mode)`);
166
170
  log(` ${surface.agents} specialist agents`);
167
171
  log(' Templates and references for artifact discipline');
168
172
  log('');
169
173
  log(`\x1b[36mNext steps:\x1b[0m`);
170
174
  log(' 1. Open your AI coding tool in any project directory');
171
- log(` 2. Type: \x1b[36m/god-mode\x1b[0m for the full autonomous project run`);
172
- log(` Or: \x1b[36m/god-next\x1b[0m to see what to run next`);
173
- log(` Or: \x1b[36m/god-init\x1b[0m to start a new project`);
175
+ log(` 2. Type: \x1b[36m/god\x1b[0m for the front door`);
176
+ log(` Or: \x1b[36m/god-plan\x1b[0m to start planning`);
177
+ log(` Or: \x1b[36m/god-mode\x1b[0m for the full autonomous project run`);
174
178
  log('');
175
179
  log(`\x1b[36mDocs:\x1b[0m ${identity.HOMEPAGE_URL}`);
176
180
  log('');
@@ -216,6 +220,7 @@ module.exports = {
216
220
  runMcpInfoCommand: cliDispatch.runMcpInfoCommand,
217
221
  runExtensionScaffoldCommand: cliDispatch.runExtensionScaffoldCommand,
218
222
  runGateCommand: cliDispatch.runGateCommand,
223
+ runStateCommand: cliDispatch.runStateCommand,
219
224
  applyDefaultRuntimeSelection,
220
225
  runInstall,
221
226
  runUninstall,
@@ -9,7 +9,7 @@ metadata:
9
9
  without SLOs, ETL without idempotency.
10
10
 
11
11
  engines:
12
- godpowers: ">=2.0.0 <3.0.0"
12
+ godpowers: ">=2.0.0 <4.0.0"
13
13
 
14
14
  provides:
15
15
  agents:
@@ -37,6 +37,6 @@
37
37
  "README.md"
38
38
  ],
39
39
  "peerDependencies": {
40
- "godpowers": ">=2.0.0 <3.0.0"
40
+ "godpowers": ">=2.0.0 <4.0.0"
41
41
  }
42
42
  }
@@ -9,7 +9,7 @@ metadata:
9
9
  god-launch-strategist with channel expertise.
10
10
 
11
11
  engines:
12
- godpowers: ">=2.0.0 <3.0.0"
12
+ godpowers: ">=2.0.0 <4.0.0"
13
13
 
14
14
  provides:
15
15
  agents:
@@ -36,6 +36,6 @@
36
36
  "README.md"
37
37
  ],
38
38
  "peerDependencies": {
39
- "godpowers": ">=2.0.0 <3.0.0"
39
+ "godpowers": ">=2.0.0 <4.0.0"
40
40
  }
41
41
  }
@@ -8,7 +8,7 @@ metadata:
8
8
  Layers on top of god-harden-auditor with regulation-specific checks.
9
9
 
10
10
  engines:
11
- godpowers: ">=2.0.0 <3.0.0"
11
+ godpowers: ">=2.0.0 <4.0.0"
12
12
 
13
13
  provides:
14
14
  agents:
@@ -37,6 +37,6 @@
37
37
  "README.md"
38
38
  ],
39
39
  "peerDependencies": {
40
- "godpowers": ">=2.0.0 <3.0.0"
40
+ "godpowers": ">=2.0.0 <4.0.0"
41
41
  }
42
42
  }
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://godpowers.dev/schema/state.v1.json",
3
+ "version": "1.0.0",
4
+ "project": {
5
+ "name": "build-pass",
6
+ "started": "2026-06-10T00:00:00.000Z"
7
+ },
8
+ "tiers": {
9
+ "tier-2": {
10
+ "build": {
11
+ "status": "done",
12
+ "updated": "2026-06-10T18:08:00.000Z",
13
+ "artifact": "build/STATE.md",
14
+ "verification": {
15
+ "commands": [
16
+ {
17
+ "command": "npm test",
18
+ "status": "pass",
19
+ "exitCode": 0,
20
+ "ranAt": "2026-06-10T18:07:00.000Z"
21
+ },
22
+ {
23
+ "command": "npm run lint",
24
+ "status": "pass",
25
+ "exitCode": 0,
26
+ "ranAt": "2026-06-10T18:07:30.000Z"
27
+ }
28
+ ]
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
package/lib/README.md CHANGED
@@ -9,6 +9,8 @@ package-level integrations.
9
9
  | Module | Purpose |
10
10
  |--------|---------|
11
11
  | `state.js` | Read, initialize, validate, and write `.godpowers/state.json`. |
12
+ | `state-views.js` | Generate managed markdown views such as `.godpowers/PROGRESS.md` and Godpowers-owned per-tier `STATE.md` files from `state.json`. |
13
+ | `state-advance.js` | Mutate one tracked state step through locking and generated state view refresh. |
12
14
  | `state-lock.js` | Coordinate state writes with a lock file. |
13
15
  | `intent.js` | Read and validate `intent.yaml` from project roots or `.godpowers/`. |
14
16
  | `frontmatter.js` | Parse shared markdown YAML frontmatter for skills, agents, Pillars, checkpoints, and design specs. |
@@ -9,7 +9,7 @@ const TIER_ARTIFACTS = {
9
9
  design: [
10
10
  { path: 'DESIGN.md', required: true, lint: true },
11
11
  { path: 'PRODUCT.md', required: false, lint: true },
12
- { path: '.godpowers/design/STATE.md', required: true, lint: true }
12
+ { path: '.godpowers/state.json', required: true, lint: false }
13
13
  ],
14
14
  arch: [
15
15
  { path: '.godpowers/arch/ARCH.md', required: true, lint: true }
@@ -24,13 +24,18 @@ const TIER_ARTIFACTS = {
24
24
  { path: '.godpowers/repo/AUDIT.md', required: true, lint: true }
25
25
  ],
26
26
  build: [
27
- { path: '.godpowers/build/STATE.md', required: true, lint: true }
27
+ { path: '.godpowers/state.json', required: true, lint: false }
28
28
  ],
29
29
  harden: [
30
30
  { path: '.godpowers/harden/FINDINGS.md', required: true, lint: true }
31
31
  ]
32
32
  };
33
33
 
34
+ const TIER_STATE_STEPS = {
35
+ design: { tierKey: 'tier-1', subStepKey: 'design' },
36
+ build: { tierKey: 'tier-2', subStepKey: 'build' }
37
+ };
38
+
34
39
  function normalizeTier(tier) {
35
40
  if (!tier) return null;
36
41
  return String(tier).replace(/^\/?god-/, '').toLowerCase();
@@ -51,10 +56,17 @@ function requiredArtifactsForTier(tier) {
51
56
  return artifacts ? artifacts.filter((artifact) => artifact.required) : null;
52
57
  }
53
58
 
59
+ function stateStepForTier(tier) {
60
+ const key = normalizeTier(tier);
61
+ if (!key || !TIER_STATE_STEPS[key]) return null;
62
+ return { ...TIER_STATE_STEPS[key] };
63
+ }
64
+
54
65
  module.exports = {
55
66
  TIER_ARTIFACTS,
56
67
  normalizeTier,
57
68
  tiers,
58
69
  artifactsForTier,
59
- requiredArtifactsForTier
70
+ requiredArtifactsForTier,
71
+ stateStepForTier
60
72
  };
@@ -4,6 +4,7 @@
4
4
 
5
5
  const gate = require('./gate');
6
6
  const identity = require('./package-identity');
7
+ const stateAdvance = require('./state-advance');
7
8
 
8
9
  const VERSION = identity.PACKAGE_VERSION;
9
10
 
@@ -140,9 +141,45 @@ function runGateCommand(opts) {
140
141
  }
141
142
  }
142
143
 
144
+ function runStateCommand(opts) {
145
+ if (opts.stateAction !== 'advance') {
146
+ const result = {
147
+ command: 'state',
148
+ verdict: 'fail',
149
+ project: opts.project,
150
+ step: opts.step || null,
151
+ status: opts.status || null,
152
+ previousStatus: null,
153
+ updated: null,
154
+ warnings: [],
155
+ checks: [{ id: 'state-action-required', status: 'fail', artifact: '.godpowers/state.json', reason: 'state requires subcommand advance' }],
156
+ findings: [{ id: 'state-action-required', severity: 'error', artifact: '.godpowers/state.json', reason: 'state requires subcommand advance' }],
157
+ summary: { updated: false, state: '.godpowers/state.json', views: ['.godpowers/PROGRESS.md'] }
158
+ };
159
+ if (opts.json) console.log(JSON.stringify(result, null, 2));
160
+ else console.log(stateAdvance.render(result));
161
+ process.exitCode = 1;
162
+ return;
163
+ }
164
+
165
+ const result = stateAdvance.advance(opts.project, {
166
+ step: opts.step,
167
+ status: opts.status
168
+ });
169
+ if (opts.json) {
170
+ console.log(JSON.stringify(result, null, 2));
171
+ } else {
172
+ console.log(stateAdvance.render(result));
173
+ }
174
+ if (stateAdvance.exitCode(result) !== 0) {
175
+ process.exitCode = 1;
176
+ }
177
+ }
178
+
143
179
  const COMMAND_RUNNERS = {
144
180
  status: runDashboardCommand,
145
181
  next: runDashboardCommand,
182
+ state: runStateCommand,
146
183
  'quick-proof': runQuickProofCommand,
147
184
  'mcp-info': runMcpInfoCommand,
148
185
  'automation-status': runAutomationCommand,
@@ -170,5 +207,6 @@ module.exports = {
170
207
  runQuickProofCommand,
171
208
  runMcpInfoCommand,
172
209
  runExtensionScaffoldCommand,
173
- runGateCommand
210
+ runGateCommand,
211
+ runStateCommand
174
212
  };
@@ -17,6 +17,7 @@ const COMMAND_FAMILIES = [
17
17
  '/god',
18
18
  '/god-init',
19
19
  '/god-mode',
20
+ '/god-plan',
20
21
  '/god-explore',
21
22
  '/god-discuss',
22
23
  '/god-list-assumptions',
@@ -42,8 +43,6 @@ const COMMAND_FAMILIES = [
42
43
  '/god-status',
43
44
  '/god-next',
44
45
  '/god-progress',
45
- '/god-lifecycle',
46
- '/god-locate',
47
46
  '/god-resume-work',
48
47
  '/god-pause-work'
49
48
  ]
@@ -54,6 +53,7 @@ const COMMAND_FAMILIES = [
54
53
  purpose: 'Plan, implement, test, and ship product work.',
55
54
  commands: [
56
55
  '/god-build',
56
+ '/god-fix',
57
57
  '/god-feature',
58
58
  '/god-story',
59
59
  '/god-stories',
@@ -91,6 +91,7 @@ const COMMAND_FAMILIES = [
91
91
  purpose: 'Deploy, observe, harden, launch, and respond in production.',
92
92
  commands: [
93
93
  '/god-deploy',
94
+ '/god-ship',
94
95
  '/god-observe',
95
96
  '/god-harden',
96
97
  '/god-launch',
@@ -128,6 +129,7 @@ const COMMAND_FAMILIES = [
128
129
  purpose: 'Save thoughts, tasks, backlog items, seeds, and learnings.',
129
130
  commands: [
130
131
  '/god-note',
132
+ '/god-capture',
131
133
  '/god-add-todo',
132
134
  '/god-check-todos',
133
135
  '/god-add-backlog',
@@ -158,6 +160,7 @@ const COMMAND_FAMILIES = [
158
160
  purpose: 'Install, inspect, test, remove, or author extension packs.',
159
161
  commands: [
160
162
  '/god-extension-scaffold',
163
+ '/god-extend',
161
164
  '/god-extension-add',
162
165
  '/god-extension-list',
163
166
  '/god-extension-info',
@@ -204,7 +207,9 @@ const COMMAND_FAMILIES = [
204
207
  purpose: 'Deprecated full-profile commands kept for backward compatibility.',
205
208
  visibility: 'hidden',
206
209
  commands: [
207
- '/god-roadmap-check'
210
+ '/god-roadmap-check',
211
+ '/god-lifecycle',
212
+ '/god-locate'
208
213
  ]
209
214
  }
210
215
  ];
@@ -212,8 +217,8 @@ const COMMAND_FAMILIES = [
212
217
  const STATUS_VIEWS = [
213
218
  { id: 'overview', command: '/god-status', label: 'Overview', purpose: 'Operational state, proactive checks, and blockers.' },
214
219
  { id: 'progress', command: '/god-progress', label: 'Progress', purpose: 'Requirement and roadmap increment completion.' },
215
- { id: 'lifecycle', command: '/god-lifecycle', label: 'Lifecycle', purpose: 'Project phase and fitting workflows.' },
216
- { id: 'locate', command: '/god-locate', label: 'Locate', purpose: 'Resume orientation from checkpoint and disk state.' },
220
+ { id: 'lifecycle', command: '/god-status --lifecycle', label: 'Lifecycle', purpose: 'Project phase and fitting workflows.' },
221
+ { id: 'locate', command: '/god-status --locate', label: 'Locate', purpose: 'Resume orientation from checkpoint and disk state.' },
217
222
  { id: 'next', command: '/god-next', label: 'Next', purpose: 'Single recommended command with reason.' }
218
223
  ];
219
224
 
@@ -275,11 +280,11 @@ const TRIGGER_PRECEDENCE = {
275
280
  reason: 'Progress answers deliverables while status answers operational state.'
276
281
  },
277
282
  'where am i': {
278
- default: '/god-lifecycle',
283
+ default: '/god-status --lifecycle',
279
284
  conditional: [
280
- { command: '/god-locate', when: 'checkpoint-or-handoff-exists', reason: 'Resume artifacts exist on disk.' }
285
+ { command: '/god-status --locate', when: 'checkpoint-or-handoff-exists', reason: 'Resume artifacts exist on disk.' }
281
286
  ],
282
- reason: 'Lifecycle explains the phase while locate orients a resumed session.'
287
+ reason: 'Status flags explain the phase or orient a resumed session.'
283
288
  }
284
289
  };
285
290
 
@@ -83,13 +83,13 @@ function buildCanonicalContent(state, opts = {}) {
83
83
  const scale = (state && (state.scale || (state.project && state.project.scale))) || opts.scale || 'unknown';
84
84
  lines.push(`- Project: ${projectName}`);
85
85
  lines.push(`- Mode: ${mode} Scale: ${scale}`);
86
- lines.push('- State: `.godpowers/state.json` (machine) and `.godpowers/PROGRESS.md` (human)');
86
+ lines.push('- State: `.godpowers/state.json` is authority; `.godpowers/PROGRESS.md` is generated for humans');
87
87
  lines.push('');
88
88
 
89
89
  lines.push('### Quarterback rule');
90
90
  lines.push('');
91
- lines.push('There is exactly one orchestrator: `god-orchestrator`. It owns all writes to');
92
- lines.push('`state.json`, `PROGRESS.md`, `intent.yaml`, and `events.jsonl`. Skills like');
91
+ lines.push('There is exactly one orchestrator: `god-orchestrator`. It owns writes to');
92
+ lines.push('`state.json`, `intent.yaml`, and `events.jsonl`; `PROGRESS.md` is regenerated from state. Skills like');
93
93
  lines.push('`/god`, `/god-next`, `/god-status` read state without writing.');
94
94
  lines.push('');
95
95
 
@@ -148,7 +148,7 @@ function buildCanonicalContent(state, opts = {}) {
148
148
  }
149
149
  }
150
150
 
151
- lines.push('See `.godpowers/PROGRESS.md` for the live tier table.');
151
+ lines.push('See `.godpowers/state.json` for authority and `.godpowers/PROGRESS.md` for the generated tier table.');
152
152
  return lines.join('\n');
153
153
  }
154
154