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.
- package/CHANGELOG.md +45 -0
- package/README.md +46 -34
- package/RELEASE.md +49 -37
- package/SKILL.md +46 -48
- package/agents/god-deploy-engineer.md +2 -2
- package/agents/god-designer.md +3 -2
- package/agents/god-greenfieldifier.md +2 -4
- package/agents/god-launch-strategist.md +4 -5
- package/agents/god-observability-engineer.md +5 -5
- package/agents/god-reconciler.md +10 -4
- package/agents/god-retrospective.md +1 -1
- package/agents/god-updater.md +5 -5
- package/bin/install.js +11 -6
- package/extensions/data-pack/manifest.yaml +1 -1
- package/extensions/data-pack/package.json +1 -1
- package/extensions/launch-pack/manifest.yaml +1 -1
- package/extensions/launch-pack/package.json +1 -1
- package/extensions/security-pack/manifest.yaml +1 -1
- package/extensions/security-pack/package.json +1 -1
- package/fixtures/gate/build-pass/.godpowers/state.json +33 -0
- package/lib/README.md +2 -0
- package/lib/artifact-map.js +15 -3
- package/lib/cli-dispatch.js +39 -1
- package/lib/command-families.js +13 -8
- package/lib/context-writer.js +4 -4
- package/lib/gate.js +107 -9
- package/lib/install-profiles.js +39 -13
- package/lib/installer-args.js +25 -1
- package/lib/pillars.js +2 -4
- package/lib/recipes.js +16 -0
- package/lib/router.js +1 -5
- package/lib/source-sync.js +1 -1
- package/lib/state-advance.js +244 -0
- package/lib/state-lock.js +8 -4
- package/lib/state-views.js +460 -0
- package/lib/state.js +52 -3
- package/package.json +2 -2
- package/routing/god-audit.yaml +1 -1
- package/routing/god-build.yaml +1 -1
- package/routing/god-capture.yaml +41 -0
- package/routing/god-context.yaml +1 -1
- package/routing/god-deploy.yaml +3 -1
- package/routing/god-design.yaml +2 -2
- package/routing/god-extend.yaml +47 -0
- package/routing/god-fix.yaml +37 -0
- package/routing/god-launch.yaml +4 -1
- package/routing/god-lifecycle.yaml +1 -1
- package/routing/god-locate.yaml +1 -1
- package/routing/god-migrate.yaml +0 -1
- package/routing/god-mode.yaml +1 -1
- package/routing/god-observe.yaml +4 -1
- package/routing/god-plan.yaml +45 -0
- package/routing/god-prd.yaml +1 -1
- package/routing/god-reconcile.yaml +2 -5
- package/routing/god-ship.yaml +39 -0
- package/routing/god-sync.yaml +1 -1
- package/routing/recipes/returning-after-break.yaml +1 -1
- package/schema/state.v1.json +68 -1
- package/skills/god-arch.md +1 -1
- package/skills/god-build.md +6 -4
- package/skills/god-capture.md +45 -0
- package/skills/god-deploy.md +16 -14
- package/skills/god-design.md +3 -3
- package/skills/god-doctor.md +1 -1
- package/skills/god-extend.md +48 -0
- package/skills/god-fast.md +2 -2
- package/skills/god-feature.md +1 -1
- package/skills/god-fix.md +43 -0
- package/skills/god-harden.md +3 -3
- package/skills/god-hotfix.md +1 -1
- package/skills/god-init.md +14 -10
- package/skills/god-launch.md +14 -12
- package/skills/god-lifecycle.md +8 -1
- package/skills/god-locate.md +6 -0
- package/skills/god-mode.md +5 -4
- package/skills/god-observe.md +15 -13
- package/skills/god-pause-work.md +2 -2
- package/skills/god-plan.md +51 -0
- package/skills/god-prd.md +5 -4
- package/skills/god-quick.md +1 -1
- package/skills/god-repo.md +1 -1
- package/skills/god-resume-work.md +5 -4
- package/skills/god-roadmap-check.md +1 -0
- package/skills/god-roadmap-update.md +1 -1
- package/skills/god-roadmap.md +1 -1
- package/skills/god-rollback.md +1 -1
- package/skills/god-ship.md +44 -0
- package/skills/god-skip.md +2 -2
- package/skills/god-stack.md +1 -1
- package/skills/god-standards.md +1 -1
- package/skills/god-status.md +14 -9
- package/skills/god-story.md +1 -1
- package/skills/god-sync.md +2 -2
- package/skills/god-version.md +1 -1
- package/workflows/bluefield-arc.yaml +2 -4
- package/workflows/brownfield-arc.yaml +2 -4
package/routing/god-design.yaml
CHANGED
|
@@ -8,7 +8,7 @@ metadata:
|
|
|
8
8
|
|
|
9
9
|
prerequisites:
|
|
10
10
|
required:
|
|
11
|
-
- check:
|
|
11
|
+
- check: state:initialized == true
|
|
12
12
|
reason: "/god-design needs an initialized project"
|
|
13
13
|
auto-complete: /god-init
|
|
14
14
|
- check: file:.godpowers/prd/PRD.md
|
|
@@ -37,7 +37,7 @@ execution:
|
|
|
37
37
|
writes:
|
|
38
38
|
- DESIGN.md
|
|
39
39
|
- PRODUCT.md
|
|
40
|
-
- .godpowers/
|
|
40
|
+
- .godpowers/state.json
|
|
41
41
|
|
|
42
42
|
standards:
|
|
43
43
|
have-nots:
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
apiVersion: godpowers/v1
|
|
2
|
+
kind: CommandRouting
|
|
3
|
+
metadata:
|
|
4
|
+
command: /god-extend
|
|
5
|
+
description: Extend verb dispatcher
|
|
6
|
+
tier: 0
|
|
7
|
+
family: extend
|
|
8
|
+
|
|
9
|
+
prerequisites:
|
|
10
|
+
required: []
|
|
11
|
+
|
|
12
|
+
execution:
|
|
13
|
+
spawns: [built-in]
|
|
14
|
+
context: fresh
|
|
15
|
+
reads:
|
|
16
|
+
- routing/god-extension-scaffold.yaml
|
|
17
|
+
- routing/god-extension-add.yaml
|
|
18
|
+
- routing/god-extension-list.yaml
|
|
19
|
+
- routing/god-extension-info.yaml
|
|
20
|
+
- routing/god-extension-remove.yaml
|
|
21
|
+
- routing/god-test-extension.yaml
|
|
22
|
+
- routing/god-build-agent.yaml
|
|
23
|
+
writes: []
|
|
24
|
+
|
|
25
|
+
dispatch:
|
|
26
|
+
scaffold: /god-extension-scaffold
|
|
27
|
+
add: /god-extension-add
|
|
28
|
+
list: /god-extension-list
|
|
29
|
+
info: /god-extension-info
|
|
30
|
+
remove: /god-extension-remove
|
|
31
|
+
test: /god-test-extension
|
|
32
|
+
agent: /god-build-agent
|
|
33
|
+
|
|
34
|
+
success-path:
|
|
35
|
+
next-recommended: varies
|
|
36
|
+
outcome:
|
|
37
|
+
type: contextual
|
|
38
|
+
label: Extend dispatch route
|
|
39
|
+
reason: The next route depends on the requested extension operation.
|
|
40
|
+
allowed-next: [/god-extension-scaffold, /god-extension-add, /god-extension-list, /god-extension-info, /god-extension-remove, /god-test-extension, /god-build-agent]
|
|
41
|
+
|
|
42
|
+
failure-path:
|
|
43
|
+
on-error: /god-doctor
|
|
44
|
+
|
|
45
|
+
endoff:
|
|
46
|
+
state-update: no direct state update; selected leaf command owns state
|
|
47
|
+
events: [agent.start, decision.route, agent.end]
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
apiVersion: godpowers/v1
|
|
2
|
+
kind: CommandRouting
|
|
3
|
+
metadata:
|
|
4
|
+
command: /god-fix
|
|
5
|
+
description: Fix verb dispatcher
|
|
6
|
+
tier: 0
|
|
7
|
+
family: build
|
|
8
|
+
|
|
9
|
+
prerequisites:
|
|
10
|
+
required: []
|
|
11
|
+
|
|
12
|
+
execution:
|
|
13
|
+
spawns: [built-in]
|
|
14
|
+
context: fresh
|
|
15
|
+
reads:
|
|
16
|
+
- routing/god-debug.yaml
|
|
17
|
+
- routing/god-hotfix.yaml
|
|
18
|
+
writes: []
|
|
19
|
+
|
|
20
|
+
dispatch:
|
|
21
|
+
debug: /god-debug
|
|
22
|
+
hotfix: /god-hotfix
|
|
23
|
+
|
|
24
|
+
success-path:
|
|
25
|
+
next-recommended: varies
|
|
26
|
+
outcome:
|
|
27
|
+
type: contextual
|
|
28
|
+
label: Fix dispatch route
|
|
29
|
+
reason: The next route depends on whether production urgency is present.
|
|
30
|
+
allowed-next: [/god-debug, /god-hotfix]
|
|
31
|
+
|
|
32
|
+
failure-path:
|
|
33
|
+
on-error: /god-doctor
|
|
34
|
+
|
|
35
|
+
endoff:
|
|
36
|
+
state-update: no direct state update; selected leaf command owns state
|
|
37
|
+
events: [agent.start, decision.route, agent.end]
|
package/routing/god-launch.yaml
CHANGED
package/routing/god-locate.yaml
CHANGED
package/routing/god-migrate.yaml
CHANGED
package/routing/god-mode.yaml
CHANGED
package/routing/god-observe.yaml
CHANGED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
apiVersion: godpowers/v1
|
|
2
|
+
kind: CommandRouting
|
|
3
|
+
metadata:
|
|
4
|
+
command: /god-plan
|
|
5
|
+
description: Planning verb dispatcher
|
|
6
|
+
tier: 0
|
|
7
|
+
family: start
|
|
8
|
+
|
|
9
|
+
prerequisites:
|
|
10
|
+
required: []
|
|
11
|
+
|
|
12
|
+
execution:
|
|
13
|
+
spawns: [built-in]
|
|
14
|
+
context: fresh
|
|
15
|
+
reads:
|
|
16
|
+
- routing/god-prd.yaml
|
|
17
|
+
- routing/god-design.yaml
|
|
18
|
+
- routing/god-arch.yaml
|
|
19
|
+
- routing/god-roadmap.yaml
|
|
20
|
+
- routing/god-stack.yaml
|
|
21
|
+
- routing/god-reconstruct.yaml
|
|
22
|
+
writes: []
|
|
23
|
+
|
|
24
|
+
dispatch:
|
|
25
|
+
prd: /god-prd
|
|
26
|
+
design: /god-design
|
|
27
|
+
arch: /god-arch
|
|
28
|
+
roadmap: /god-roadmap
|
|
29
|
+
stack: /god-stack
|
|
30
|
+
reconstruct: /god-reconstruct
|
|
31
|
+
|
|
32
|
+
success-path:
|
|
33
|
+
next-recommended: varies
|
|
34
|
+
outcome:
|
|
35
|
+
type: contextual
|
|
36
|
+
label: Planning dispatch route
|
|
37
|
+
reason: The next route depends on the requested planning artifact.
|
|
38
|
+
allowed-next: [/god-prd, /god-design, /god-arch, /god-roadmap, /god-stack, /god-reconstruct]
|
|
39
|
+
|
|
40
|
+
failure-path:
|
|
41
|
+
on-error: /god-doctor
|
|
42
|
+
|
|
43
|
+
endoff:
|
|
44
|
+
state-update: no direct state update; selected leaf command owns state
|
|
45
|
+
events: [agent.start, decision.route, agent.end]
|
package/routing/god-prd.yaml
CHANGED
|
@@ -8,7 +8,7 @@ metadata:
|
|
|
8
8
|
|
|
9
9
|
prerequisites:
|
|
10
10
|
required:
|
|
11
|
-
- check:
|
|
11
|
+
- check: state:initialized == true
|
|
12
12
|
auto-complete: /god-init
|
|
13
13
|
human-required: true
|
|
14
14
|
|
|
@@ -21,11 +21,8 @@ execution:
|
|
|
21
21
|
- .godpowers/roadmap/ROADMAP.md
|
|
22
22
|
- .godpowers/stack/DECISION.md
|
|
23
23
|
- .godpowers/repo/AUDIT.md
|
|
24
|
-
- .godpowers/
|
|
25
|
-
- .godpowers/deploy/STATE.md
|
|
26
|
-
- .godpowers/observe/STATE.md
|
|
24
|
+
- .godpowers/state.json
|
|
27
25
|
- .godpowers/harden/FINDINGS.md
|
|
28
|
-
- .godpowers/launch/STATE.md
|
|
29
26
|
- .godpowers/backlog/BACKLOG.md
|
|
30
27
|
- .godpowers/seeds/
|
|
31
28
|
- .godpowers/todos/TODOS.md
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
apiVersion: godpowers/v1
|
|
2
|
+
kind: CommandRouting
|
|
3
|
+
metadata:
|
|
4
|
+
command: /god-ship
|
|
5
|
+
description: Ship verb dispatcher
|
|
6
|
+
tier: 0
|
|
7
|
+
family: operate
|
|
8
|
+
|
|
9
|
+
prerequisites:
|
|
10
|
+
required: []
|
|
11
|
+
|
|
12
|
+
execution:
|
|
13
|
+
spawns: [built-in]
|
|
14
|
+
context: fresh
|
|
15
|
+
reads:
|
|
16
|
+
- routing/god-deploy.yaml
|
|
17
|
+
- routing/god-observe.yaml
|
|
18
|
+
- routing/god-launch.yaml
|
|
19
|
+
writes: []
|
|
20
|
+
|
|
21
|
+
dispatch:
|
|
22
|
+
deploy: /god-deploy
|
|
23
|
+
observe: /god-observe
|
|
24
|
+
launch: /god-launch
|
|
25
|
+
|
|
26
|
+
success-path:
|
|
27
|
+
next-recommended: varies
|
|
28
|
+
outcome:
|
|
29
|
+
type: contextual
|
|
30
|
+
label: Ship dispatch route
|
|
31
|
+
reason: The next route depends on the requested shipping closure step.
|
|
32
|
+
allowed-next: [/god-deploy, /god-observe, /god-launch]
|
|
33
|
+
|
|
34
|
+
failure-path:
|
|
35
|
+
on-error: /god-doctor
|
|
36
|
+
|
|
37
|
+
endoff:
|
|
38
|
+
state-update: no direct state update; selected leaf command owns state
|
|
39
|
+
events: [agent.start, decision.route, agent.end]
|
package/routing/god-sync.yaml
CHANGED
package/schema/state.v1.json
CHANGED
|
@@ -269,7 +269,7 @@
|
|
|
269
269
|
"properties": {
|
|
270
270
|
"status": {
|
|
271
271
|
"type": "string",
|
|
272
|
-
"enum": ["pending", "in-flight", "done", "skipped", "imported", "failed", "re-invoked"]
|
|
272
|
+
"enum": ["pending", "in-flight", "done", "skipped", "imported", "failed", "re-invoked", "not-required"]
|
|
273
273
|
},
|
|
274
274
|
"artifact": {
|
|
275
275
|
"type": "string",
|
|
@@ -297,8 +297,75 @@
|
|
|
297
297
|
"notes": {
|
|
298
298
|
"type": "string",
|
|
299
299
|
"description": "Free-form for skip reason, failure detail, etc."
|
|
300
|
+
},
|
|
301
|
+
"readiness-scope": {
|
|
302
|
+
"type": "string",
|
|
303
|
+
"description": "Deploy, observe, or launch readiness scope such as local-readiness, local-staging, ci-readiness, deployed-staging, live-target, or deferred-external-access."
|
|
304
|
+
},
|
|
305
|
+
"verified-target-type": {
|
|
306
|
+
"type": "string",
|
|
307
|
+
"description": "Target class verified by deploy, observe, or launch work, such as local-staging, ci, deployed-staging, production, or live."
|
|
308
|
+
},
|
|
309
|
+
"target-evidence": {
|
|
310
|
+
"type": "string",
|
|
311
|
+
"description": "Evidence source for a deploy, observe, or launch target, such as config, CI variable, IaC output, provider CLI output, docs, or current user input."
|
|
312
|
+
},
|
|
313
|
+
"external-access-deferral": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"description": "Relative artifact path or concise reason when deployed staging, provider, dashboard, or live launch access is deferred."
|
|
316
|
+
},
|
|
317
|
+
"waiting-artifact": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"description": "Relative artifact path for the smallest outstanding external access bundle."
|
|
320
|
+
},
|
|
321
|
+
"rollback-evidence": {
|
|
322
|
+
"type": "string",
|
|
323
|
+
"description": "Deploy rollback command, run result, or artifact path proving rollback was tested."
|
|
324
|
+
},
|
|
325
|
+
"slo-evidence": {
|
|
326
|
+
"type": "string",
|
|
327
|
+
"description": "Observability evidence for SLO definitions and error budget policy coverage."
|
|
328
|
+
},
|
|
329
|
+
"alert-evidence": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"description": "Observability evidence for alert definitions and alert response coverage."
|
|
332
|
+
},
|
|
333
|
+
"runbook-evidence": {
|
|
334
|
+
"type": "string",
|
|
335
|
+
"description": "Observability or launch evidence for tested runbooks."
|
|
336
|
+
},
|
|
337
|
+
"launch-evidence": {
|
|
338
|
+
"type": "string",
|
|
339
|
+
"description": "Launch evidence for live launch, local launch-readiness, source attribution, or launch deferral."
|
|
340
|
+
},
|
|
341
|
+
"verification": {
|
|
342
|
+
"type": "object",
|
|
343
|
+
"description": "Structured verification evidence used by executable gates instead of markdown STATE.md parsing.",
|
|
344
|
+
"properties": {
|
|
345
|
+
"commands": {
|
|
346
|
+
"type": "array",
|
|
347
|
+
"items": { "$ref": "#/$defs/VerificationCommand" }
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"additionalProperties": true
|
|
300
351
|
}
|
|
301
352
|
}
|
|
353
|
+
},
|
|
354
|
+
"VerificationCommand": {
|
|
355
|
+
"type": "object",
|
|
356
|
+
"required": ["command", "status"],
|
|
357
|
+
"properties": {
|
|
358
|
+
"command": { "type": "string" },
|
|
359
|
+
"status": {
|
|
360
|
+
"type": "string",
|
|
361
|
+
"enum": ["pass", "passed", "green", "success", "succeeded", "ok", "fail", "failed", "red", "error", "skipped"]
|
|
362
|
+
},
|
|
363
|
+
"exitCode": { "type": "integer" },
|
|
364
|
+
"ranAt": { "type": "string", "format": "date-time" },
|
|
365
|
+
"durationMs": { "type": "integer", "minimum": 0 },
|
|
366
|
+
"diagnostics": { "type": "string" }
|
|
367
|
+
},
|
|
368
|
+
"additionalProperties": true
|
|
302
369
|
}
|
|
303
370
|
},
|
|
304
371
|
"additionalProperties": false
|
package/skills/god-arch.md
CHANGED
|
@@ -27,7 +27,7 @@ After god-architect returns:
|
|
|
27
27
|
1. Verify ARCH.md and ADRs exist on disk
|
|
28
28
|
2. Spawn god-auditor to verify have-nots pass
|
|
29
29
|
3. Run `npx godpowers gate --tier=arch --project=.` and do not proceed on a non-zero exit
|
|
30
|
-
4.
|
|
30
|
+
4. Run `npx godpowers state advance --step=arch --status=done --project=.` to update `state.json` and regenerate `.godpowers/PROGRESS.md`.
|
|
31
31
|
|
|
32
32
|
## Pause Format
|
|
33
33
|
|
package/skills/god-build.md
CHANGED
|
@@ -61,7 +61,8 @@ For each slice in the wave (parallel):
|
|
|
61
61
|
- If FAIL: return slice to god-executor with findings, including any
|
|
62
62
|
overcomplication, speculative abstraction, or unrelated cleanup
|
|
63
63
|
- If PASS: commit the slice atomically
|
|
64
|
-
5.
|
|
64
|
+
5. Record build status and slice evidence in `.godpowers/state.json` so
|
|
65
|
+
`.godpowers/build/STATE.md` regenerates as a managed view.
|
|
65
66
|
|
|
66
67
|
Move to next wave only when current wave is fully committed.
|
|
67
68
|
|
|
@@ -76,9 +77,10 @@ After all waves:
|
|
|
76
77
|
decompose, prune, or escalate. Pass the exact failing diagnostics, rerun the
|
|
77
78
|
command, and repeat until green or until the same root failure exhausts the
|
|
78
79
|
repair budget.
|
|
79
|
-
5. Record the exact verification commands that passed in `.godpowers/
|
|
80
|
+
5. Record the exact verification commands that passed in `.godpowers/state.json`
|
|
81
|
+
under `tiers.tier-2.build.verification.commands`
|
|
80
82
|
6. Run `npx godpowers gate --tier=build --project=.` and do not proceed on a non-zero exit
|
|
81
|
-
7.
|
|
83
|
+
7. Run `npx godpowers state advance --step=build --status=done --project=.` to update `state.json` and regenerate `.godpowers/PROGRESS.md` plus `.godpowers/build/STATE.md`.
|
|
82
84
|
8. If the build plan or implementation establishes durable conventions, plan
|
|
83
85
|
pillar updates through `lib/pillars.planArtifactSync`. Under
|
|
84
86
|
`/god-mode --yolo`, apply those updates immediately and log the decision.
|
|
@@ -93,7 +95,7 @@ Pause for user ONLY if:
|
|
|
93
95
|
## On Completion
|
|
94
96
|
|
|
95
97
|
```
|
|
96
|
-
Build complete: .godpowers/build/STATE.md
|
|
98
|
+
Build complete: .godpowers/build/STATE.md (generated view)
|
|
97
99
|
[N] slices delivered. [N] commits. All tests passing.
|
|
98
100
|
|
|
99
101
|
Suggested next: /god-harden (adversarial review, gates Launch)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: god-capture
|
|
3
|
+
description: |
|
|
4
|
+
Capture verb dispatcher. Routes thoughts, todos, backlog items, and seeds
|
|
5
|
+
to the existing capture leaf commands.
|
|
6
|
+
|
|
7
|
+
Triggers on: "god capture", "/god-capture", "capture this", "note this",
|
|
8
|
+
"add todo", "add backlog", "plant seed"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /god-capture
|
|
12
|
+
|
|
13
|
+
Route capture intent to the smallest existing capture command.
|
|
14
|
+
|
|
15
|
+
## Runtime module resolution
|
|
16
|
+
|
|
17
|
+
Resolve the Godpowers runtime root before inspecting routes:
|
|
18
|
+
|
|
19
|
+
1. If `<projectRoot>/routing/god-note.yaml` exists, use the repository checkout runtime at `<projectRoot>`.
|
|
20
|
+
2. Otherwise use the installed bundle at `<tool-config-dir>/godpowers-runtime`.
|
|
21
|
+
3. Read routing metadata from `<runtimeRoot>/routing/`.
|
|
22
|
+
|
|
23
|
+
## Dispatch
|
|
24
|
+
|
|
25
|
+
| Signal | Hand off to |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `todo`, `task`, `remind`, `priority` | `/god-add-todo` |
|
|
28
|
+
| `backlog`, `later`, `someday`, `future` | `/god-add-backlog` |
|
|
29
|
+
| `when`, `if`, `after`, `once`, `trigger` | `/god-plant-seed` |
|
|
30
|
+
| `note`, `thought`, `remember` | `/god-note` |
|
|
31
|
+
|
|
32
|
+
Default to `/god-note` when no priority, backlog, or trigger signal exists.
|
|
33
|
+
|
|
34
|
+
## Process
|
|
35
|
+
|
|
36
|
+
1. Select the target leaf command from the table.
|
|
37
|
+
2. Read the selected leaf route YAML so prerequisites and next-step metadata stay source-controlled.
|
|
38
|
+
3. Show the selected command and the matched capture signal.
|
|
39
|
+
4. Hand off to the selected leaf command after user confirmation.
|
|
40
|
+
|
|
41
|
+
## Guardrails
|
|
42
|
+
|
|
43
|
+
- Do not write notes, todos, backlog items, or seeds directly from this dispatcher.
|
|
44
|
+
- Do not assign priority unless the user provided priority evidence.
|
|
45
|
+
- Keep each capture leaf callable as a direct shortcut.
|
package/skills/god-deploy.md
CHANGED
|
@@ -13,15 +13,15 @@ Spawn the **god-deploy-engineer** agent in a fresh context via the host platform
|
|
|
13
13
|
|
|
14
14
|
## Setup
|
|
15
15
|
|
|
16
|
-
1. Verify build is complete
|
|
16
|
+
1. Verify build is complete through `.godpowers/state.json` `tier-2.build.status == done` and passing build verification commands.
|
|
17
17
|
2. Verify all tests pass.
|
|
18
18
|
3. Spawn god-deploy-engineer with ARCH and stack DECISION paths.
|
|
19
|
-
4. The agent
|
|
19
|
+
4. The agent returns structured deploy evidence for `.godpowers/state.json`; the generated `.godpowers/deploy/STATE.md` view refreshes after state mutation.
|
|
20
20
|
|
|
21
21
|
## Verification
|
|
22
22
|
|
|
23
23
|
After god-deploy-engineer returns:
|
|
24
|
-
1. Verify
|
|
24
|
+
1. Verify deploy evidence is recorded in `.godpowers/state.json`
|
|
25
25
|
2. Verify rollback procedure has been tested (not paper-only)
|
|
26
26
|
3. Verify the deploy path is one of:
|
|
27
27
|
- real staging or production target tested
|
|
@@ -29,15 +29,17 @@ After god-deploy-engineer returns:
|
|
|
29
29
|
commands
|
|
30
30
|
- local/CI deploy readiness complete with deployed staging verification
|
|
31
31
|
deferred in `.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md`
|
|
32
|
-
4.
|
|
33
|
-
real target or tested local staging harness exists. If
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
4. Run `npx godpowers state advance --step=deploy --status=done --project=.`
|
|
33
|
+
only when a tested real target or tested local staging harness exists. If
|
|
34
|
+
deployed staging is deferred, record the waiting artifact path in
|
|
35
|
+
`.godpowers/deploy/WAITING-FOR-EXTERNAL-ACCESS.md` and keep that evidence
|
|
36
|
+
in `state.json` through the owning deploy command rather than editing the
|
|
37
|
+
generated progress or deploy state views.
|
|
36
38
|
|
|
37
39
|
## On Completion
|
|
38
40
|
|
|
39
41
|
```
|
|
40
|
-
Deploy pipeline complete: .godpowers/deploy/STATE.md
|
|
42
|
+
Deploy pipeline complete: .godpowers/deploy/STATE.md (generated view)
|
|
41
43
|
|
|
42
44
|
Suggested next: /god-observe (wire SLOs, alerts, runbooks)
|
|
43
45
|
```
|
|
@@ -69,15 +71,15 @@ known, do not use it as staging without explicit user approval.
|
|
|
69
71
|
|
|
70
72
|
## Re-invocation contract
|
|
71
73
|
|
|
72
|
-
What happens if `/god-deploy` is run when
|
|
74
|
+
What happens if `/god-deploy` is run when deploy state evidence already exists:
|
|
73
75
|
|
|
74
76
|
| Existing state | Behavior |
|
|
75
77
|
|---|---|
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
| `--force` flag passed | Snapshot existing
|
|
78
|
+
| State evidence does not exist | Spawn god-deploy-engineer; record deploy evidence; mark sub-step done |
|
|
79
|
+
| State evidence exists and state.json says `done` | Pause: ask user (A) re-run anyway with diff preview, (B) treat as imported (no-op), (C) cancel |
|
|
80
|
+
| State evidence fails checks or the owning wrapper reports a generated view checksum warning | Spawn god-deploy-engineer in update mode with current evidence plus findings as input. Diff preview before overwrite. |
|
|
81
|
+
| State evidence exists, state.json says `pending` | Treat as imported: hash + register, no agent spawn. User can `/god-deploy --force` to re-run. |
|
|
82
|
+
| `--force` flag passed | Snapshot existing evidence to `.godpowers/.trash/god-deploy-<ts>/`. Spawn agent fresh. |
|
|
81
83
|
| `--dry-run` flag passed | Show what would happen; touch nothing |
|
|
82
84
|
|
|
83
85
|
Snapshots in `.trash/` are recoverable via `/god-restore` for 30 days.
|
package/skills/god-design.md
CHANGED
|
@@ -96,9 +96,9 @@ applied to design.
|
|
|
96
96
|
|
|
97
97
|
After god-designer and god-design-reviewer return:
|
|
98
98
|
1. Verify `DESIGN.md` exists on disk
|
|
99
|
-
2.
|
|
99
|
+
2. Record design lint, review verdict, and command history in `.godpowers/state.json`
|
|
100
100
|
3. Run `npx godpowers gate --tier=design --project=.` and do not proceed on a non-zero exit
|
|
101
|
-
4.
|
|
101
|
+
4. Run `npx godpowers state advance --step=design --status=done --project=.` when the project requires design, or `npx godpowers state advance --step=design --status=not-required --project=.` when design is explicitly not required.
|
|
102
102
|
|
|
103
103
|
## Output
|
|
104
104
|
|
|
@@ -107,7 +107,7 @@ Project root:
|
|
|
107
107
|
- `PRODUCT.md` (impeccable strategic file, when impeccable installed)
|
|
108
108
|
|
|
109
109
|
Inside `.godpowers/design/`:
|
|
110
|
-
- `STATE.md` (
|
|
110
|
+
- `STATE.md` (generated design state view from `.godpowers/state.json`)
|
|
111
111
|
- `HISTORY.md` (append-only log of design changes; populated by god-designer)
|
|
112
112
|
- `REJECTED.md` (append-only log of blocked changes; populated by god-design-reviewer)
|
|
113
113
|
|
package/skills/god-doctor.md
CHANGED
|
@@ -48,7 +48,7 @@ Plain-text report grouped by severity:
|
|
|
48
48
|
GODPOWERS DOCTOR
|
|
49
49
|
|
|
50
50
|
Install: claude (~/.claude/)
|
|
51
|
-
[OK]
|
|
51
|
+
[OK] 117 skills installed
|
|
52
52
|
[OK] 40 agents installed
|
|
53
53
|
[OK] VERSION matches (2.3.1)
|
|
54
54
|
[WARN] routing/god-doctor.yaml exists but skill file did not until now
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: god-extend
|
|
3
|
+
description: |
|
|
4
|
+
Extend verb dispatcher. Routes extension installation, inspection, removal,
|
|
5
|
+
testing, and authoring intent to existing extension leaf commands.
|
|
6
|
+
|
|
7
|
+
Triggers on: "god extend", "/god-extend", "install extension",
|
|
8
|
+
"list extensions", "remove extension", "scaffold extension"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /god-extend
|
|
12
|
+
|
|
13
|
+
Route extension intent to the smallest existing extension command.
|
|
14
|
+
|
|
15
|
+
## Runtime module resolution
|
|
16
|
+
|
|
17
|
+
Resolve the Godpowers runtime root before inspecting routes:
|
|
18
|
+
|
|
19
|
+
1. If `<projectRoot>/routing/god-extension-add.yaml` exists, use the repository checkout runtime at `<projectRoot>`.
|
|
20
|
+
2. Otherwise use the installed bundle at `<tool-config-dir>/godpowers-runtime`.
|
|
21
|
+
3. Read routing metadata from `<runtimeRoot>/routing/`.
|
|
22
|
+
|
|
23
|
+
## Dispatch
|
|
24
|
+
|
|
25
|
+
| Signal | Hand off to |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `scaffold`, `author`, `create pack` | `/god-extension-scaffold` |
|
|
28
|
+
| `add`, `install` | `/god-extension-add` |
|
|
29
|
+
| `list`, `installed` | `/god-extension-list` |
|
|
30
|
+
| `info`, `inspect`, `details` | `/god-extension-info` |
|
|
31
|
+
| `remove`, `uninstall` | `/god-extension-remove` |
|
|
32
|
+
| `test`, `verify` | `/god-test-extension` |
|
|
33
|
+
| `agent`, `custom agent` | `/god-build-agent` |
|
|
34
|
+
|
|
35
|
+
Default to `/god-extension-list` when no stronger signal exists.
|
|
36
|
+
|
|
37
|
+
## Process
|
|
38
|
+
|
|
39
|
+
1. Select the target leaf command from the table.
|
|
40
|
+
2. Read the selected leaf route YAML so prerequisites and next-step metadata stay source-controlled.
|
|
41
|
+
3. Show the selected command, the matched signal, and whether the target mutates installed packs.
|
|
42
|
+
4. Hand off to the selected leaf command after user confirmation.
|
|
43
|
+
|
|
44
|
+
## Guardrails
|
|
45
|
+
|
|
46
|
+
- Do not install, remove, scaffold, or test extension packs directly from this dispatcher.
|
|
47
|
+
- Do not bypass package legitimacy checks from extension leaf commands.
|
|
48
|
+
- Keep each extension leaf callable as a direct shortcut.
|
package/skills/god-fast.md
CHANGED
|
@@ -3,7 +3,7 @@ name: god-fast
|
|
|
3
3
|
description: |
|
|
4
4
|
Make a quick inline edit without full Godpowers planning overhead. For trivial
|
|
5
5
|
changes: typo fixes, config tweaks, single-line updates. No agents, no plans,
|
|
6
|
-
no
|
|
6
|
+
no state mutation.
|
|
7
7
|
|
|
8
8
|
Triggers on: "god fast", "/god-fast", "quick fix", "trivial change", "tiny tweak"
|
|
9
9
|
---
|
|
@@ -36,7 +36,7 @@ Skip the full pipeline. Make a small edit inline.
|
|
|
36
36
|
|
|
37
37
|
- If running tests reveals regressions: STOP. Switch to /god-build or /god-debug.
|
|
38
38
|
- If the change touches more than 3 lines: STOP. Switch to /god-build.
|
|
39
|
-
- Skip
|
|
39
|
+
- Skip state mutation and generated progress view refreshes because this is below the planning threshold.
|
|
40
40
|
|
|
41
41
|
## On Completion
|
|
42
42
|
|
package/skills/god-feature.md
CHANGED
|
@@ -57,7 +57,7 @@ Spawn **god-planner** scoped to the feature only.
|
|
|
57
57
|
Then run god-executor + god-spec-reviewer + god-quality-reviewer per slice.
|
|
58
58
|
|
|
59
59
|
### Phase 4: Deploy
|
|
60
|
-
Use existing deploy pipeline
|
|
60
|
+
Use existing deploy pipeline from `.godpowers/state.json` deploy evidence. No new pipeline.
|
|
61
61
|
Feature flag the rollout if the feature is high-risk.
|
|
62
62
|
|
|
63
63
|
### Phase 5: Harden (just the new code)
|