godpowers 2.3.0 → 2.4.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 +61 -0
- package/README.md +28 -16
- package/RELEASE.md +35 -27
- package/SKILL.md +26 -3
- package/agents/god-debugger.md +44 -8
- package/agents/god-executor.md +28 -0
- package/agents/god-quality-reviewer.md +23 -1
- package/agents/god-spec-reviewer.md +6 -0
- package/bin/install.js +6 -0
- package/lib/README.md +5 -2
- package/lib/agent-cache.js +25 -3
- package/lib/code-intelligence.js +161 -0
- package/lib/command-families.js +375 -0
- package/lib/dashboard.js +54 -20
- package/lib/extensions.js +6 -13
- package/lib/feature-awareness.js +2 -2
- package/lib/host-capabilities.js +4 -0
- package/lib/install-profiles.js +1 -0
- package/lib/planning-systems.js +7 -4
- package/lib/quick-proof.js +5 -2
- package/lib/release-surface-sync.js +4 -1
- package/lib/route-quality-sync.js +42 -12
- package/lib/router.js +32 -0
- package/lib/workflow-helper-groups.js +50 -0
- package/lib/workflow-runner.js +6 -1
- package/package.json +2 -2
- package/routing/god-add-backlog.yaml +1 -0
- package/routing/god-add-tests.yaml +1 -0
- package/routing/god-add-todo.yaml +1 -0
- package/routing/god-agent-audit.yaml +6 -0
- package/routing/god-arch.yaml +1 -0
- package/routing/god-archaeology.yaml +1 -0
- package/routing/god-audit.yaml +1 -0
- package/routing/god-automation-setup.yaml +1 -0
- package/routing/god-automation-status.yaml +1 -0
- package/routing/god-budget.yaml +6 -0
- package/routing/god-build-agent.yaml +1 -0
- package/routing/god-build.yaml +1 -0
- package/routing/god-cache-clear.yaml +6 -0
- package/routing/god-check-todos.yaml +6 -0
- package/routing/god-context-scan.yaml +6 -0
- package/routing/god-context.yaml +1 -0
- package/routing/god-cost.yaml +6 -0
- package/routing/god-debug.yaml +1 -0
- package/routing/god-deploy.yaml +1 -0
- package/routing/god-design-impact.yaml +6 -0
- package/routing/god-design.yaml +1 -0
- package/routing/god-discuss.yaml +12 -0
- package/routing/god-docs.yaml +1 -0
- package/routing/god-doctor.yaml +6 -0
- package/routing/god-dogfood.yaml +1 -0
- package/routing/god-explore.yaml +1 -0
- package/routing/god-export-otel.yaml +1 -0
- package/routing/god-extension-add.yaml +6 -0
- package/routing/god-extension-info.yaml +6 -0
- package/routing/god-extension-list.yaml +6 -0
- package/routing/god-extension-remove.yaml +6 -0
- package/routing/god-extension-scaffold.yaml +26 -0
- package/routing/god-extract-learnings.yaml +1 -0
- package/routing/god-fast.yaml +1 -0
- package/routing/god-feature.yaml +1 -0
- package/routing/god-graph.yaml +6 -0
- package/routing/god-harden.yaml +1 -0
- package/routing/god-help.yaml +6 -0
- package/routing/god-hotfix.yaml +1 -0
- package/routing/god-hygiene.yaml +1 -0
- package/routing/god-init.yaml +1 -0
- package/routing/god-intel.yaml +1 -0
- package/routing/god-launch.yaml +6 -0
- package/routing/god-lifecycle.yaml +12 -0
- package/routing/god-link.yaml +1 -0
- package/routing/god-lint.yaml +1 -0
- package/routing/god-list-assumptions.yaml +6 -0
- package/routing/god-locate.yaml +6 -0
- package/routing/god-logs.yaml +12 -0
- package/routing/god-map-codebase.yaml +1 -0
- package/routing/god-metrics.yaml +6 -0
- package/routing/god-migrate.yaml +1 -0
- package/routing/god-mode.yaml +6 -0
- package/routing/god-next.yaml +12 -0
- package/routing/god-note.yaml +1 -0
- package/routing/god-observe.yaml +1 -0
- package/routing/god-org-context.yaml +1 -0
- package/routing/god-party.yaml +1 -0
- package/routing/god-pause-work.yaml +6 -0
- package/routing/god-plant-seed.yaml +1 -0
- package/routing/god-postmortem.yaml +1 -0
- package/routing/god-pr-branch.yaml +1 -0
- package/routing/god-prd.yaml +1 -0
- package/routing/god-preflight.yaml +1 -0
- package/routing/god-progress.yaml +7 -0
- package/routing/god-quick.yaml +1 -0
- package/routing/god-reconcile.yaml +6 -0
- package/routing/god-reconstruct.yaml +1 -0
- package/routing/god-redo.yaml +6 -0
- package/routing/god-refactor.yaml +1 -0
- package/routing/god-repair.yaml +1 -0
- package/routing/god-repo.yaml +1 -0
- package/routing/god-restore.yaml +1 -0
- package/routing/god-resume-work.yaml +6 -0
- package/routing/god-review-changes.yaml +1 -0
- package/routing/god-review.yaml +1 -0
- package/routing/god-roadmap-check.yaml +6 -0
- package/routing/god-roadmap-update.yaml +1 -0
- package/routing/god-roadmap.yaml +1 -0
- package/routing/god-rollback.yaml +1 -0
- package/routing/god-scan.yaml +1 -0
- package/routing/god-set-profile.yaml +1 -0
- package/routing/god-settings.yaml +1 -0
- package/routing/god-skip.yaml +1 -0
- package/routing/god-smite.yaml +1 -0
- package/routing/god-spike.yaml +1 -0
- package/routing/god-sprint.yaml +6 -0
- package/routing/god-stack.yaml +2 -1
- package/routing/god-standards.yaml +1 -0
- package/routing/god-status.yaml +1 -0
- package/routing/god-stories.yaml +1 -0
- package/routing/god-story-build.yaml +1 -0
- package/routing/god-story-close.yaml +1 -0
- package/routing/god-story-verify.yaml +1 -0
- package/routing/god-story.yaml +1 -0
- package/routing/god-suite-init.yaml +1 -0
- package/routing/god-suite-patch.yaml +1 -0
- package/routing/god-suite-release.yaml +1 -0
- package/routing/god-suite-status.yaml +6 -0
- package/routing/god-suite-sync.yaml +1 -0
- package/routing/god-sync.yaml +1 -0
- package/routing/god-tech-debt.yaml +1 -0
- package/routing/god-test-extension.yaml +6 -0
- package/routing/god-test-runtime.yaml +1 -0
- package/routing/god-thread.yaml +6 -0
- package/routing/god-trace.yaml +6 -0
- package/routing/god-undo.yaml +1 -0
- package/routing/god-update-deps.yaml +1 -0
- package/routing/god-upgrade.yaml +1 -0
- package/routing/god-version.yaml +1 -0
- package/routing/god-workstream.yaml +6 -0
- package/routing/god.yaml +6 -0
- package/routing/recipes/add-feature-mid-arc-pause.yaml +6 -0
- package/routing/recipes/brownfield-onboarding.yaml +5 -2
- package/routing/recipes/extension-authoring.yaml +32 -0
- package/routing/recipes/greenfield-fast.yaml +3 -0
- package/routing/recipes/production-broken.yaml +4 -0
- package/routing/recipes/release-maintenance.yaml +3 -0
- package/routing/recipes/returning-after-break.yaml +3 -0
- package/routing/recipes/weekly-health-check.yaml +2 -0
- package/schema/routing.v1.json +62 -4
- package/schema/workflow.v1.json +14 -0
- package/skills/god-discuss.md +10 -5
- package/skills/god-doctor.md +9 -3
- package/skills/god-extension-scaffold.md +66 -0
- package/skills/god-help.md +38 -3
- package/skills/god-next.md +19 -2
- package/skills/god-status.md +13 -0
- package/skills/god-sync.md +1 -1
- package/skills/god-version.md +2 -2
- package/skills/god.md +61 -12
- package/workflows/audit-only.yaml +2 -2
- package/workflows/bluefield-arc.yaml +3 -7
- package/workflows/brownfield-arc.yaml +4 -8
- package/workflows/deps-audit.yaml +2 -5
- package/workflows/docs-arc.yaml +2 -2
- package/workflows/feature-arc.yaml +3 -6
- package/workflows/full-arc.yaml +5 -11
- package/workflows/hotfix-arc.yaml +3 -6
- package/workflows/hygiene.yaml +2 -2
- package/workflows/migration-arc.yaml +3 -5
- package/workflows/postmortem.yaml +2 -5
- package/workflows/refactor-arc.yaml +3 -6
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,67 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.4.0] - 2026-06-08
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Added command-family UX metadata for start, continue, build, verify,
|
|
14
|
+
operate, maintain, capture, recover, extend, collaborate, and configure
|
|
15
|
+
while keeping every shipped leaf command available.
|
|
16
|
+
- Added capture, work-size, verification, status-view, and trigger-precedence
|
|
17
|
+
helpers in `lib/command-families.js`.
|
|
18
|
+
- Added typed route outcome metadata for contextual, verdict-based,
|
|
19
|
+
steady-state, session-end, and selection-based route exits.
|
|
20
|
+
- Added workflow helper groups with serialized plan expansion so closeout
|
|
21
|
+
helpers can be consolidated without hiding local runtime work.
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
- Updated `/god`, `/god-help`, `/god-next`, `/god-status`, README,
|
|
25
|
+
reference docs, recipes, architecture docs, command-flow docs, and
|
|
26
|
+
auto-invoke visibility docs to present the consolidated UX paths.
|
|
27
|
+
- Updated all shipped command routes with command family metadata.
|
|
28
|
+
- Updated repeated workflow closeout helper lists to named helper groups while
|
|
29
|
+
preserving explicit expanded helpers in generated plans.
|
|
30
|
+
- Updated extension recipe copy to describe current extension-pack-required
|
|
31
|
+
flows instead of old release annotations.
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
- Route-quality sync now requires typed outcomes for flexible route exits
|
|
35
|
+
instead of accepting unexplained placeholder next routes.
|
|
36
|
+
- The full-arc e2e smoke test now verifies both helper groups and expanded
|
|
37
|
+
local helper visibility.
|
|
38
|
+
|
|
39
|
+
## [2.3.1] - 2026-06-08
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
- Added `/god-extension-scaffold` as the slash-command entry point for
|
|
43
|
+
extension pack authoring, with routing metadata, installer profile coverage,
|
|
44
|
+
package payload checks, and front-door recipe coverage.
|
|
45
|
+
- Added code-intelligence host capability detection for optional `ast-grep`,
|
|
46
|
+
`sg`, and LSP tooling without downgrading baseline host guarantees when those
|
|
47
|
+
tools are absent.
|
|
48
|
+
- Added public starter-path regression checks that verify README and Quick
|
|
49
|
+
Proof goal labels resolve through shipped `/god` recipes and routes.
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
- Updated public surface counts to 112 slash commands and 42 intent recipes
|
|
53
|
+
across release notes, reference docs, architecture maps, package metadata,
|
|
54
|
+
and project Pillars.
|
|
55
|
+
- Tightened public front-door recipe matching for starter phrases including
|
|
56
|
+
"start a product", "add a feature", "fix production", "maintain health",
|
|
57
|
+
"audit an existing repo", "ship a release", and extension authoring.
|
|
58
|
+
- Aligned the brownfield onboarding recipe to audit reconstructed artifacts
|
|
59
|
+
before tech-debt prioritization.
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
- Prevented maintainer-repository documentation drift from leaking into normal
|
|
63
|
+
user project dashboards.
|
|
64
|
+
- Corrected Quick Proof output so fixture-backed checks render
|
|
65
|
+
`--project=.` for the user project path.
|
|
66
|
+
- Hardened extension install, planning-system detection, and agent-cache cleanup
|
|
67
|
+
around symlinked directories that point outside the trusted source tree.
|
|
68
|
+
- Removed phantom `god-*` examples from the extension scaffold skill prose so
|
|
69
|
+
agent-reference validation stays clean.
|
|
70
|
+
|
|
10
71
|
## [2.3.0] - 2026-05-30
|
|
11
72
|
|
|
12
73
|
### Added
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/aihxp/godpowers/actions/workflows/ci.yml)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](CHANGELOG.md)
|
|
6
6
|
[](https://www.npmjs.com/package/godpowers)
|
|
7
7
|
|
|
8
8
|
**Ship fast. Ship right. Ship everything. Ship accountably.**
|
|
@@ -21,15 +21,13 @@ Godpowers makes AI coding accountable: every serious run should leave disk
|
|
|
21
21
|
state, artifacts, validation gates, host guarantees, and a next action. Code is
|
|
22
22
|
only one output. The project memory and proof trail matter too.
|
|
23
23
|
|
|
24
|
-
Version 2.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
teams choose a smaller command surface, and failed executor attempts leave a
|
|
29
|
-
clear repair classification.
|
|
24
|
+
Version 2.4.0 keeps every leaf command available while making the command
|
|
25
|
+
surface easier to navigate. `/god`, `/god-help`, `/god-next`, and route
|
|
26
|
+
metadata now share command families, decision ladders, typed route outcomes,
|
|
27
|
+
and workflow helper groups so users see clearer paths without losing power.
|
|
30
28
|
|
|
31
|
-
Maintainer hardening continues on the 2.x line
|
|
32
|
-
|
|
29
|
+
Maintainer hardening continues on the 2.x line with small, audited public
|
|
30
|
+
surface updates when they close real workflow gaps. The 2.1.0 patch closes a command-injection vector in the
|
|
33
31
|
agent-browser driver, guards runtime file parsing against corrupt state,
|
|
34
32
|
makes data-directory installs a clean replace, and reconciles documentation
|
|
35
33
|
drift. The 2.0.3 patch range-checks workflow agent references,
|
|
@@ -109,6 +107,16 @@ preserves the complete command surface, while the smaller profiles install the
|
|
|
109
107
|
commands most relevant to the role. `--minimal` is an alias for
|
|
110
108
|
`--profile=core`.
|
|
111
109
|
|
|
110
|
+
Use profiles as journeys:
|
|
111
|
+
|
|
112
|
+
| Journey | Profile |
|
|
113
|
+
|---|---|
|
|
114
|
+
| I want the basics | `core` |
|
|
115
|
+
| I build products | `builder` |
|
|
116
|
+
| I maintain Godpowers or mature repos | `maintainer` |
|
|
117
|
+
| I coordinate suites | `suite` |
|
|
118
|
+
| I want everything | `full` |
|
|
119
|
+
|
|
112
120
|
Agent spawning is host-native. Claude uses its native agent/task interface,
|
|
113
121
|
Codex uses installed `agents/*.toml` metadata backed by the same Markdown agent
|
|
114
122
|
contracts, and the other runtimes use their supported agent or subagent
|
|
@@ -185,15 +193,19 @@ hook does the same thing when you open a new session in a Godpowers project.
|
|
|
185
193
|
If the full command surface feels large, begin with one of these paths and only
|
|
186
194
|
learn the next command when Godpowers recommends it.
|
|
187
195
|
|
|
196
|
+
`/god-help` presents command families first: start, continue, build, verify,
|
|
197
|
+
operate, maintain, capture, recover, extend, collaborate, and configure. Leaf
|
|
198
|
+
commands remain direct shortcuts.
|
|
199
|
+
|
|
188
200
|
| Goal | Starter path |
|
|
189
201
|
|---|---|
|
|
190
|
-
| Start a product | `/god-init`, `/god-prd`, `/god-design`, `/god-arch`, `/god-roadmap`, `/god-stack`, `/god-build` |
|
|
191
|
-
| Add a feature | `/god-
|
|
192
|
-
| Fix production | `/god-hotfix`, `/god-
|
|
193
|
-
| Audit an existing repo | `/god-preflight`, `/god-
|
|
194
|
-
| Ship a release | `/god-
|
|
202
|
+
| Start a product | `/god-init`, `/god-prd`, `/god-design`, `/god-arch`, `/god-roadmap`, `/god-stack`, `/god-repo`, `/god-build` |
|
|
203
|
+
| Add a feature | `/god-reconcile`, `/god-feature`, `/god-sync`, `/god-review` |
|
|
204
|
+
| Fix production | `/god-hotfix`, `/god-postmortem`, `/god-status` |
|
|
205
|
+
| Audit an existing repo | `/god-preflight`, `/god-archaeology`, `/god-reconstruct`, `/god-audit`, `/god-tech-debt` |
|
|
206
|
+
| Ship a release | `/god-sync`, `/god-docs`, `/god-version`, `/god-automation-setup`, `npm run release:check` |
|
|
195
207
|
| Maintain project health | `/god-hygiene`, `/god-update-deps`, `/god-docs`, `/god-check-todos` |
|
|
196
|
-
| Extend Godpowers | `/god-extension-
|
|
208
|
+
| Extend Godpowers | `/god-extension-scaffold --name=@godpowers/my-pack --output=.`, `/god-test-extension`, `/god-extension-add`, `/god-extension-list` |
|
|
197
209
|
|
|
198
210
|
The same status engine is available from the installer CLI for humans, CI,
|
|
199
211
|
Codex, Claude, Cursor, Gemini, OpenCode, Windsurf, Antigravity, and any host
|
|
@@ -498,7 +510,7 @@ Pi. T3 Code inherits from the underlying agent (Codex / Claude / OpenCode).
|
|
|
498
510
|
- [Getting Started](docs/getting-started.md)
|
|
499
511
|
- [Quick Proof](docs/quick-proof.md)
|
|
500
512
|
- [Concepts](docs/concepts.md)
|
|
501
|
-
- [Command reference (all
|
|
513
|
+
- [Command reference (all 112 skills + 40 agents)](docs/reference.md)
|
|
502
514
|
- [Feature awareness](docs/feature-awareness.md)
|
|
503
515
|
- [Adoption Canary](docs/adoption-canary.md)
|
|
504
516
|
- [Repository documentation sync](docs/repo-doc-sync.md)
|
package/RELEASE.md
CHANGED
|
@@ -1,51 +1,59 @@
|
|
|
1
|
-
# Godpowers 2.
|
|
1
|
+
# Godpowers 2.4.0 Release
|
|
2
2
|
|
|
3
|
-
> Status: Ready for
|
|
4
|
-
> Date: 2026-
|
|
3
|
+
> Status: Ready for package verification
|
|
4
|
+
> Date: 2026-06-08
|
|
5
5
|
|
|
6
|
-
Godpowers 2.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
Godpowers 2.4.0 is a UX flow consolidation release for the 2.x line. It keeps
|
|
7
|
+
the complete 112-command surface intact while making the primary paths easier
|
|
8
|
+
to understand through command families, decision ladders, typed route outcomes,
|
|
9
|
+
and auditable workflow helper groups.
|
|
10
10
|
|
|
11
11
|
## What's in this release
|
|
12
12
|
|
|
13
|
-
-
|
|
13
|
+
- 112 slash commands
|
|
14
14
|
- 40 specialist agents
|
|
15
15
|
- 13 executable workflows
|
|
16
|
-
-
|
|
16
|
+
- 42 intent recipes
|
|
17
17
|
|
|
18
18
|
## Highlights
|
|
19
19
|
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
20
|
+
- `/god-help` now presents command families first, then ladders and the full
|
|
21
|
+
catalog.
|
|
22
|
+
- `/god` and `/god-next` now share command-family helpers for capture, work
|
|
23
|
+
sizing, verification, and overlapping trigger phrases.
|
|
24
|
+
- `/god-status` is documented as the continue-family hub, with `/god-progress`,
|
|
25
|
+
`/god-lifecycle`, `/god-locate`, and `/god-next` as direct views.
|
|
26
|
+
- Every shipped route now carries command family metadata.
|
|
27
|
+
- Flexible route exits now carry typed `success-path.outcome` metadata so
|
|
28
|
+
contextual, verdict-based, steady-state, session-end, and selection outcomes
|
|
29
|
+
can be explained to users.
|
|
30
|
+
- Workflow YAML can now use named helper groups, while generated plans still
|
|
31
|
+
expand the exact local helper list for visibility.
|
|
32
|
+
- Recipes now split simple existing-repo onboarding from deeper inheritance
|
|
33
|
+
flows, and clarify workstream versus suite collaboration paths.
|
|
34
|
+
- Extension journey docs now describe current extension-pack-required flows
|
|
35
|
+
instead of old release annotations.
|
|
36
|
+
- Release guardrails now require the command-family runtime files, helper group
|
|
37
|
+
runtime files, and command-family regression test.
|
|
32
38
|
|
|
33
39
|
## Validation
|
|
34
40
|
|
|
35
41
|
- `npm test` green across the full suite
|
|
36
|
-
- `npm run
|
|
37
|
-
- `npm run
|
|
42
|
+
- `npm run test:audit` green
|
|
43
|
+
- `npm run pack:check` green
|
|
44
|
+
- `npm pack` creates a local `godpowers-2.4.0.tgz` tarball for package
|
|
45
|
+
inspection
|
|
38
46
|
|
|
39
47
|
## Upgrade
|
|
40
48
|
|
|
41
|
-
- `npm install -g godpowers@2.
|
|
49
|
+
- `npm install -g godpowers@2.4.0` or `npx godpowers@2.4.0`
|
|
42
50
|
- Re-run `/god-context` in each project to refresh installed runtime metadata
|
|
43
51
|
- No breaking changes; existing `.godpowers/` state is compatible. Users who
|
|
44
52
|
want a compact install can run `npx godpowers --profile=core`.
|
|
45
53
|
|
|
46
54
|
## Notes
|
|
47
55
|
|
|
48
|
-
- GitHub release creation for `v2.
|
|
56
|
+
- GitHub release creation for `v2.4.0`
|
|
49
57
|
- The tag should match the npm package version
|
|
50
|
-
- The `v2.
|
|
51
|
-
`godpowers@2.
|
|
58
|
+
- The `v2.4.0` tag should point to the release commit that matches the npm
|
|
59
|
+
`godpowers@2.4.0` package.
|
package/SKILL.md
CHANGED
|
@@ -198,7 +198,30 @@ When the command only recommends work, keep the same dashboard but set
|
|
|
198
198
|
command pauses, set `State: blocked` or `State: paused` and make `Next` the
|
|
199
199
|
one exact user decision needed to continue.
|
|
200
200
|
|
|
201
|
-
### 11.
|
|
201
|
+
### 11. Command Family UX
|
|
202
|
+
Godpowers has many leaf commands, but user-facing routing should start from
|
|
203
|
+
families. Keep the full command surface available while presenting these
|
|
204
|
+
families first:
|
|
205
|
+
|
|
206
|
+
- Start: start or import a project.
|
|
207
|
+
- Continue: understand state and choose the next move.
|
|
208
|
+
- Build: plan, implement, test, and ship product work.
|
|
209
|
+
- Verify: check artifacts, code, runtime behavior, and release readiness.
|
|
210
|
+
- Operate: deploy, observe, harden, launch, and respond in production.
|
|
211
|
+
- Maintain: keep artifacts, docs, dependencies, context, and repo surfaces current.
|
|
212
|
+
- Capture: save thoughts, tasks, backlog items, seeds, and learnings.
|
|
213
|
+
- Recover: undo, repair, restore, skip, or diagnose broken state.
|
|
214
|
+
- Extend: install, inspect, test, remove, or author extension packs.
|
|
215
|
+
- Collaborate: coordinate people, workstreams, suites, sprints, and pull requests.
|
|
216
|
+
- Configure: tune settings, budgets, cache, profiles, help, and version info.
|
|
217
|
+
|
|
218
|
+
When choosing between similar commands, use the ladders from
|
|
219
|
+
`lib/command-families.js`: capture ladder, work size ladder, verification
|
|
220
|
+
ladder, status views, and trigger precedence. `/god-help` should render
|
|
221
|
+
families before leaf commands, and `/god` should use the family helpers before
|
|
222
|
+
asking the user to choose from a long list.
|
|
223
|
+
|
|
224
|
+
### 12. User-Facing Vocabulary
|
|
202
225
|
Godpowers may use internal words such as "arc" in routing, recipes, and agent
|
|
203
226
|
implementation notes. Do not require the user to decode that word in visible
|
|
204
227
|
output.
|
|
@@ -218,7 +241,7 @@ and roadmap visibility when those files exist or are expected. Show whether
|
|
|
218
241
|
the PRD is done, whether the roadmap exists, which milestone or tier is active,
|
|
219
242
|
how close the tracked workflow is to completion, and the next concrete move.
|
|
220
243
|
|
|
221
|
-
###
|
|
244
|
+
### 13. Auto-Invoke Visibility
|
|
222
245
|
When Godpowers automatically runs another command, agent, or local runtime
|
|
223
246
|
helper, show the user what happened. Do not describe these as "background"
|
|
224
247
|
unless they are truly detached from the current run. Most Godpowers sync work
|
|
@@ -271,7 +294,7 @@ Automatic steps that especially need visible reporting:
|
|
|
271
294
|
- dogfood runner execution during `/god-dogfood`, release checks, or explicit
|
|
272
295
|
dogfood requests
|
|
273
296
|
|
|
274
|
-
###
|
|
297
|
+
### 14. Proactive Auto-Invoke Policy
|
|
275
298
|
Godpowers should be proactive from disk evidence, not from guesswork. Before
|
|
276
299
|
auto-invoking anything, classify the action by risk and apply the safest
|
|
277
300
|
allowed behavior.
|
package/agents/god-debugger.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: god-debugger
|
|
3
3
|
description: |
|
|
4
|
-
Systematic
|
|
5
|
-
guess-and-check. Evidence-driven root cause analysis with
|
|
4
|
+
Systematic debugger: Observe, Minimize, Instrument, Hypothesize, Test,
|
|
5
|
+
Conclude. No guess-and-check. Evidence-driven root cause analysis with
|
|
6
|
+
regression tests.
|
|
6
7
|
|
|
7
8
|
Spawned by: /god-debug, when build encounters failures
|
|
8
9
|
tools: Read, Edit, Bash, Grep, Glob, WebSearch
|
|
@@ -22,10 +23,44 @@ Gather evidence before forming any hypothesis:
|
|
|
22
23
|
- Can you reproduce it RELIABLY? (if not, find a reliable repro first)
|
|
23
24
|
- All error messages, stack traces, logs (full text, not paraphrased)
|
|
24
25
|
- What is NOT happening that should be? (sometimes the silence is the clue)
|
|
26
|
+
- When available, use `ast-grep`, `sg`, or LSP diagnostics/references to
|
|
27
|
+
narrow impacted symbols before forming a hypothesis.
|
|
25
28
|
|
|
26
29
|
Output an observation document. Don't proceed until observations are complete.
|
|
27
30
|
|
|
28
|
-
## Phase 2:
|
|
31
|
+
## Phase 2: Minimize
|
|
32
|
+
|
|
33
|
+
Reduce the failure to the smallest reliable reproduction before proposing a
|
|
34
|
+
root cause:
|
|
35
|
+
|
|
36
|
+
- Remove unrelated inputs, branches, services, files, data, and timing from the
|
|
37
|
+
reproduction while keeping the failure present.
|
|
38
|
+
- Identify the smallest command, test, request, or user flow that still fails.
|
|
39
|
+
- Record the exact boundary where removing one more thing makes the failure
|
|
40
|
+
disappear.
|
|
41
|
+
- If minimization is impossible, record why and name the remaining broad
|
|
42
|
+
dependency that keeps the repro large.
|
|
43
|
+
|
|
44
|
+
Do not proceed until the minimized reproduction is clear enough that another
|
|
45
|
+
agent could rerun it without guessing.
|
|
46
|
+
|
|
47
|
+
## Phase 3: Instrument
|
|
48
|
+
|
|
49
|
+
Add or use focused evidence probes before forming a hypothesis:
|
|
50
|
+
|
|
51
|
+
- Prefer existing logs, traces, diagnostics, failing assertions, and debugger
|
|
52
|
+
output when they already expose the state transition.
|
|
53
|
+
- Add temporary probes only when they answer a specific question, then remove
|
|
54
|
+
them before the final fix unless they become a useful permanent test or log.
|
|
55
|
+
- Instrument the boundary between expected and actual behavior, not every
|
|
56
|
+
nearby function.
|
|
57
|
+
- Capture the observed values and the point where reality diverges from the
|
|
58
|
+
expected path.
|
|
59
|
+
|
|
60
|
+
Do not proceed until the instrumentation either narrows the failure boundary or
|
|
61
|
+
proves that more observation is needed.
|
|
62
|
+
|
|
63
|
+
## Phase 4: Hypothesize
|
|
29
64
|
|
|
30
65
|
Based on observations, list 2-3 most likely root causes:
|
|
31
66
|
|
|
@@ -35,7 +70,7 @@ For each hypothesis:
|
|
|
35
70
|
- What evidence would REFUTE this hypothesis?
|
|
36
71
|
- Rank by probability (1-10) with rationale
|
|
37
72
|
|
|
38
|
-
## Phase
|
|
73
|
+
## Phase 5: Test
|
|
39
74
|
|
|
40
75
|
Take the highest-probability hypothesis. Design a SPECIFIC test:
|
|
41
76
|
- The test should produce different evidence depending on which hypothesis is true
|
|
@@ -43,11 +78,12 @@ Take the highest-probability hypothesis. Design a SPECIFIC test:
|
|
|
43
78
|
- Record the evidence
|
|
44
79
|
- Compare to predicted outcomes
|
|
45
80
|
|
|
46
|
-
If hypothesis confirmed: proceed to Phase
|
|
81
|
+
If hypothesis confirmed: proceed to Phase 6.
|
|
47
82
|
If hypothesis refuted: cross it off, move to next hypothesis.
|
|
48
|
-
If all hypotheses refuted: return to Phase 1,
|
|
83
|
+
If all hypotheses refuted: return to Phase 1, then revisit minimization and
|
|
84
|
+
instrumentation with the new evidence.
|
|
49
85
|
|
|
50
|
-
## Phase
|
|
86
|
+
## Phase 6: Conclude (Fix and Verify)
|
|
51
87
|
|
|
52
88
|
1. **Write the regression test FIRST**
|
|
53
89
|
- The test should reproduce the bug
|
|
@@ -74,4 +110,4 @@ If all hypotheses refuted: return to Phase 1, expand observation scope.
|
|
|
74
110
|
- **Never apply multiple fixes at once** (can't tell which one worked)
|
|
75
111
|
- **Always write the regression test first** (locks in the contract)
|
|
76
112
|
- **If the bug is in a dependency**: document the workaround, file upstream, link in commit
|
|
77
|
-
- **Time-boxing**: if Phase 1-
|
|
113
|
+
- **Time-boxing**: if Phase 1-5 takes >2 hours with no progress, ask for help (the observations are likely incomplete)
|
package/agents/god-executor.md
CHANGED
|
@@ -96,6 +96,34 @@ Every changed line must trace back to that contract, the failing test, or a
|
|
|
96
96
|
cleanup created by your own change. If you cannot explain the trace, revert
|
|
97
97
|
that line before returning control to the orchestrator.
|
|
98
98
|
|
|
99
|
+
## Optional Style Profile
|
|
100
|
+
|
|
101
|
+
If `CODEDNA.md` exists at the project root or appears in the provided context
|
|
102
|
+
loadout, read it before editing:
|
|
103
|
+
- Match the repo's naming, file organization, comment density, extraction
|
|
104
|
+
threshold, error handling style, and test idioms when they do not conflict
|
|
105
|
+
with the slice plan.
|
|
106
|
+
- Treat formatter, linter, tests, and explicit project conventions as
|
|
107
|
+
higher-priority evidence when they conflict with the profile.
|
|
108
|
+
- Do not invent or generate a `CODEDNA.md` profile in executor scope.
|
|
109
|
+
- If no profile exists, continue by matching the surrounding code directly.
|
|
110
|
+
- Preserve required `// Implements: P-...` annotations even when the profile
|
|
111
|
+
prefers fewer comments.
|
|
112
|
+
|
|
113
|
+
## Optional Code Intelligence
|
|
114
|
+
|
|
115
|
+
When host capabilities or local probing report `ast-grep`, `sg`, or LSP tools:
|
|
116
|
+
- Use `ast-grep` or `sg` for structural search before broad text rewrites.
|
|
117
|
+
- Use LSP diagnostics, definitions, references, or rename support when the
|
|
118
|
+
host exposes them for the touched language.
|
|
119
|
+
- Treat these tools as evidence helpers, not authority. Tests, source
|
|
120
|
+
grounding, and request trace still decide whether the slice is complete.
|
|
121
|
+
- Record the tool only when it shaped file selection, rewrite scope, or a
|
|
122
|
+
repair decision.
|
|
123
|
+
|
|
124
|
+
If optional code intelligence is unavailable, continue with Grep, Glob, and
|
|
125
|
+
Bash evidence. Absence of these tools is not a blocker.
|
|
126
|
+
|
|
99
127
|
## After All Behaviors Complete
|
|
100
128
|
|
|
101
129
|
1. Run the full test suite. All tests must pass.
|
|
@@ -63,6 +63,26 @@ Your job: would you ship this code in production?
|
|
|
63
63
|
- Flag missing or inaccurate annotations: the deliverable ledger derives
|
|
64
64
|
requirement status from them, so a gap here understates delivered work
|
|
65
65
|
|
|
66
|
+
### 8. Comment Quality and Style Fidelity
|
|
67
|
+
- Required traceability comments such as `// Implements: P-...` remain present
|
|
68
|
+
and accurate.
|
|
69
|
+
- Comments explain non-obvious why, constraints, hazards, or tradeoffs. Flag
|
|
70
|
+
comments that narrate obvious code, duplicate names, go stale, or use generic
|
|
71
|
+
AI-assistant prose.
|
|
72
|
+
- Avoid decorative section banners or chatty explanation unless the surrounding
|
|
73
|
+
codebase already uses that convention.
|
|
74
|
+
- If `CODEDNA.md` exists, compare naming, comment voice, extraction threshold,
|
|
75
|
+
error style, test style, and common idioms against the profile.
|
|
76
|
+
- Absence of `CODEDNA.md` is not a failure. When no profile exists, judge style
|
|
77
|
+
against nearby code and repository conventions.
|
|
78
|
+
|
|
79
|
+
### 9. Optional Code Intelligence
|
|
80
|
+
- When `ast-grep`, `sg`, or LSP tools are available, use them to support
|
|
81
|
+
maintainability review for structural matches, impacted references, or
|
|
82
|
+
diagnostics that plain grep can miss.
|
|
83
|
+
- Absence of these tools is not a failure. Treat them as extra evidence when
|
|
84
|
+
present.
|
|
85
|
+
|
|
66
86
|
## Output
|
|
67
87
|
|
|
68
88
|
Return verdict to orchestrator:
|
|
@@ -78,6 +98,8 @@ Return verdict to orchestrator:
|
|
|
78
98
|
- [PASS/FAIL] Maintainability: [evidence]
|
|
79
99
|
- [PASS/FAIL] Simplicity and surgicality: [evidence]
|
|
80
100
|
- [PASS/FAIL] Requirement traceability: [evidence]
|
|
101
|
+
- [PASS/FAIL] Comment quality and style fidelity: [evidence]
|
|
102
|
+
- [PASS/FAIL] Optional code intelligence: [evidence or not applicable]
|
|
81
103
|
|
|
82
104
|
### Verdict: PASS / FAIL
|
|
83
105
|
|
|
@@ -86,7 +108,7 @@ Return verdict to orchestrator:
|
|
|
86
108
|
|
|
87
109
|
## Pass Criteria
|
|
88
110
|
|
|
89
|
-
ALL
|
|
111
|
+
ALL nine dimensions must PASS. Any FAIL blocks the commit.
|
|
90
112
|
|
|
91
113
|
If FAIL: orchestrator returns the slice to god-executor.
|
|
92
114
|
If PASS: orchestrator commits the slice atomically.
|
|
@@ -65,6 +65,12 @@ Answer each with EVIDENCE from the code:
|
|
|
65
65
|
- If the slice added a dependency, is there package legitimacy evidence or
|
|
66
66
|
an explicit accepted-risk note?
|
|
67
67
|
|
|
68
|
+
8. **Did available code intelligence support the review?**
|
|
69
|
+
- If `ast-grep`, `sg`, or LSP tools are available, use them to verify
|
|
70
|
+
impacted references, structural matches, or diagnostics for the touched
|
|
71
|
+
language when relevant.
|
|
72
|
+
- If unavailable or irrelevant, do not fail the slice for absence alone.
|
|
73
|
+
|
|
68
74
|
## Output
|
|
69
75
|
|
|
70
76
|
Return verdict to orchestrator:
|
package/bin/install.js
CHANGED
|
@@ -18,6 +18,7 @@ const {
|
|
|
18
18
|
countInstalledSurface
|
|
19
19
|
} = require('../lib/installer-core');
|
|
20
20
|
const { describeProfiles } = require('../lib/install-profiles');
|
|
21
|
+
const commandFamilies = require('../lib/command-families');
|
|
21
22
|
const identity = require('../lib/package-identity');
|
|
22
23
|
|
|
23
24
|
const VERSION = identity.PACKAGE_VERSION;
|
|
@@ -55,6 +56,11 @@ function showHelp() {
|
|
|
55
56
|
log(' dogfood Run built-in messy-repo dogfood scenarios');
|
|
56
57
|
log(' extension-scaffold Create a publishable extension pack skeleton');
|
|
57
58
|
log('');
|
|
59
|
+
log('Command families:');
|
|
60
|
+
for (const family of commandFamilies.COMMAND_FAMILIES) {
|
|
61
|
+
log(` ${family.id.padEnd(12)} ${family.purpose}`);
|
|
62
|
+
}
|
|
63
|
+
log('');
|
|
58
64
|
log('Options:');
|
|
59
65
|
log(' --project=<path> Project root for status, next, proof, or automation commands');
|
|
60
66
|
log(' --json Emit JSON for status, next, proof, or automation commands');
|
package/lib/README.md
CHANGED
|
@@ -13,10 +13,11 @@ package-level integrations.
|
|
|
13
13
|
| `intent.js` | Read and validate `intent.yaml` from project roots or `.godpowers/`. |
|
|
14
14
|
| `checkpoint.js` | Create and inspect resumable checkpoint artifacts. |
|
|
15
15
|
| `feature-awareness.js` | Detect and refresh existing-project awareness after runtime upgrades. |
|
|
16
|
-
| `
|
|
16
|
+
| `code-intelligence.js` | Detect optional `ast-grep`, `sg`, and LSP tooling for structural search, rewrite, and diagnostics guidance. |
|
|
17
|
+
| `host-capabilities.js` | Detect host guarantees for shell, git, npm, agent spawning, optional code intelligence, extension authoring, and suite dry-runs. |
|
|
17
18
|
| `repo-doc-sync.js` | Detect and refresh mechanical repository documentation surfaces. |
|
|
18
19
|
| `repo-surface-sync.js` | Detect structural drift across commands, routes, packages, agents, workflows, recipes, extensions, and release policy. |
|
|
19
|
-
| `route-quality-sync.js` | Detect symbolic route spawns, unresolved agent targets, and
|
|
20
|
+
| `route-quality-sync.js` | Detect symbolic route spawns, unresolved agent targets, and untyped contextual route exits. |
|
|
20
21
|
| `recipe-coverage-sync.js` | Detect missing high-frequency intent recipe coverage. |
|
|
21
22
|
| `release-surface-sync.js` | Detect release-facing drift across badges, release notes, changelog, package checks, and release checklist policy. |
|
|
22
23
|
| `dogfood-runner.js` | Run deterministic messy-repo scenarios against migration, host, extension, and suite release behavior. |
|
|
@@ -40,9 +41,11 @@ package-level integrations.
|
|
|
40
41
|
| Module | Purpose |
|
|
41
42
|
|--------|---------|
|
|
42
43
|
| `router.js` | Resolve user intent to skills, agents, recipes, and workflows. |
|
|
44
|
+
| `command-families.js` | Define UX command families, status views, decision ladders, and trigger precedence helpers. |
|
|
43
45
|
| `recipes.js` | Load and validate routing recipes. |
|
|
44
46
|
| `workflow-parser.js` | Parse workflow YAML into executable steps. |
|
|
45
47
|
| `workflow-runner.js` | Execute workflow steps with validation hooks. |
|
|
48
|
+
| `workflow-helper-groups.js` | Expand named workflow helper groups into explicit local helper names for plan visibility. |
|
|
46
49
|
| `agent-cache.js` | Cache agent metadata for faster routing. |
|
|
47
50
|
| `agent-validator.js` | Validate agent frontmatter and contracts. |
|
|
48
51
|
| `agent-refs.js` | Validate workflow agent references and scan skill/agent prose for phantom references. |
|
package/lib/agent-cache.js
CHANGED
|
@@ -134,9 +134,29 @@ function clear(projectRoot, opts = {}) {
|
|
|
134
134
|
const now = Date.now();
|
|
135
135
|
for (const shard of fs.readdirSync(dir)) {
|
|
136
136
|
const shardPath = path.join(dir, shard);
|
|
137
|
-
|
|
137
|
+
const shardStat = fs.lstatSync(shardPath);
|
|
138
|
+
if (shardStat.isSymbolicLink()) {
|
|
139
|
+
if (opts.all) {
|
|
140
|
+
fs.unlinkSync(shardPath);
|
|
141
|
+
removed++;
|
|
142
|
+
} else {
|
|
143
|
+
kept++;
|
|
144
|
+
}
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
if (!shardStat.isDirectory()) continue;
|
|
138
148
|
for (const fname of fs.readdirSync(shardPath)) {
|
|
139
149
|
const fpath = path.join(shardPath, fname);
|
|
150
|
+
const fileStat = fs.lstatSync(fpath);
|
|
151
|
+
if (fileStat.isSymbolicLink()) {
|
|
152
|
+
if (opts.all) { fs.unlinkSync(fpath); removed++; }
|
|
153
|
+
else { kept++; }
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
if (!fileStat.isFile()) {
|
|
157
|
+
kept++;
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
140
160
|
let entry;
|
|
141
161
|
try { entry = JSON.parse(fs.readFileSync(fpath, 'utf8')); }
|
|
142
162
|
catch (e) {
|
|
@@ -173,10 +193,12 @@ function stats(projectRoot) {
|
|
|
173
193
|
let oldestTs = null;
|
|
174
194
|
for (const shard of fs.readdirSync(dir)) {
|
|
175
195
|
const shardPath = path.join(dir, shard);
|
|
176
|
-
|
|
196
|
+
const shardStat = fs.lstatSync(shardPath);
|
|
197
|
+
if (shardStat.isSymbolicLink() || !shardStat.isDirectory()) continue;
|
|
177
198
|
for (const fname of fs.readdirSync(shardPath)) {
|
|
178
199
|
const fpath = path.join(shardPath, fname);
|
|
179
|
-
const stat = fs.
|
|
200
|
+
const stat = fs.lstatSync(fpath);
|
|
201
|
+
if (stat.isSymbolicLink() || !stat.isFile()) continue;
|
|
180
202
|
totalBytes += stat.size;
|
|
181
203
|
count += 1;
|
|
182
204
|
try {
|