godpowers 1.6.22 → 1.6.24
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/AGENTS.md +6 -0
- package/CHANGELOG.md +74 -0
- package/INSPIRATION.md +6 -0
- package/README.md +7 -5
- package/RELEASE.md +44 -71
- package/SKILL.md +24 -4
- package/agents/god-orchestrator.md +18 -3
- package/agents/god-reconciler.md +52 -5
- package/agents/god-updater.md +84 -2
- package/hooks/pre-tool-use.sh +13 -1
- package/hooks/session-start.sh +12 -0
- package/lib/automation-providers.js +32 -0
- package/lib/events.js +6 -0
- package/lib/feature-awareness.js +12 -0
- package/lib/have-nots-validator.js +2 -2
- package/lib/workflow-runner.js +4 -0
- package/package.json +2 -2
- package/references/HAVE-NOTS.md +16 -0
- package/references/orchestration/MODE-DETECTION.md +36 -3
- package/references/orchestration/README.md +5 -2
- package/references/planning/ROADMAP-ANTIPATTERNS.md +1 -1
- package/references/shared/ORCHESTRATORS.md +42 -11
- package/references/shared/README.md +4 -4
- package/routing/recipes/release-maintenance.yaml +2 -0
- package/schema/events.v1.json +9 -0
- package/schema/intent.v1.yaml.json +5 -1
- package/schema/recipe.v1.json +2 -1
- package/schema/routing.v1.json +20 -0
- package/schema/state.v1.json +51 -0
- package/schema/workflow.v1.json +31 -2
- package/skills/god-automation-setup.md +5 -0
- package/skills/god-mode.md +4 -1
- package/skills/god-reconcile.md +13 -4
- package/skills/god-version.md +1 -1
- package/templates/DOCS-UPDATE-LOG.md +14 -0
- package/templates/IMPORTED-CONTEXT.md +2 -0
- package/templates/INITIAL-FINDINGS.md +5 -0
- package/templates/PROGRESS.md +8 -0
- package/workflows/audit-only.yaml +12 -0
- package/workflows/bluefield-arc.yaml +16 -1
- package/workflows/brownfield-arc.yaml +17 -1
- package/workflows/deps-audit.yaml +13 -0
- package/workflows/docs-arc.yaml +23 -0
- package/workflows/feature-arc.yaml +14 -0
- package/workflows/full-arc.yaml +19 -0
- package/workflows/hotfix-arc.yaml +14 -0
- package/workflows/hygiene.yaml +6 -0
- package/workflows/migration-arc.yaml +15 -0
- package/workflows/postmortem.yaml +13 -0
- package/workflows/refactor-arc.yaml +14 -0
- package/workflows/spike.yaml +11 -0
package/hooks/pre-tool-use.sh
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
# Godpowers PreToolUse Safety Hook
|
|
3
3
|
# Runs before destructive tool calls in a Godpowers project.
|
|
4
|
-
# Warns on: rm -rf, git reset --hard, force push to main, deleting .godpowers
|
|
4
|
+
# Warns on: rm -rf, git reset --hard, force push to main, deleting .godpowers/,
|
|
5
|
+
# and irreversible public release actions.
|
|
5
6
|
|
|
6
7
|
set -euo pipefail
|
|
7
8
|
|
|
@@ -31,6 +32,17 @@ case "$TOOL_INPUT" in
|
|
|
31
32
|
echo "destroy collaborators' work."
|
|
32
33
|
exit 1
|
|
33
34
|
;;
|
|
35
|
+
*"npm publish"*)
|
|
36
|
+
echo "WARNING: npm publish is a public release action."
|
|
37
|
+
echo "Confirm release checklist, repo-doc-sync, repo-surface-sync,"
|
|
38
|
+
echo "release-surface-sync, package contents, and installer smoke first."
|
|
39
|
+
exit 1
|
|
40
|
+
;;
|
|
41
|
+
*"gh release create"*)
|
|
42
|
+
echo "WARNING: gh release create publishes public release notes."
|
|
43
|
+
echo "Confirm README, badges, CHANGELOG, RELEASE, package, tag, and npm version agree."
|
|
44
|
+
exit 1
|
|
45
|
+
;;
|
|
34
46
|
*"rm -rf node_modules"*)
|
|
35
47
|
# Allowed: this is just cache
|
|
36
48
|
exit 0
|
package/hooks/session-start.sh
CHANGED
|
@@ -30,6 +30,17 @@ cat <<'EOF'
|
|
|
30
30
|
A Godpowers project is active in this directory.
|
|
31
31
|
EOF
|
|
32
32
|
|
|
33
|
+
# Prefer the shared dashboard action brief when the installed CLI is available.
|
|
34
|
+
# This keeps hook orientation aligned with /god-status and /god-next.
|
|
35
|
+
if command -v godpowers >/dev/null 2>&1; then
|
|
36
|
+
BRIEF="$(godpowers status --project . --brief 2>/dev/null | head -30 || true)"
|
|
37
|
+
if [ -n "$BRIEF" ]; then
|
|
38
|
+
echo ""
|
|
39
|
+
echo "$BRIEF"
|
|
40
|
+
echo ""
|
|
41
|
+
fi
|
|
42
|
+
fi
|
|
43
|
+
|
|
33
44
|
# Prefer CHECKPOINT.md (the orient-a-new-session pin) when present
|
|
34
45
|
if [ -f "$CHECKPOINT_FILE" ]; then
|
|
35
46
|
echo ""
|
|
@@ -69,6 +80,7 @@ Next step: run /god-next (it inspects disk state and proposes the next command)
|
|
|
69
80
|
Or: /god-mode for the full autonomous project run
|
|
70
81
|
Or: /god-help to see the catalog
|
|
71
82
|
Or: /god-status for the full project snapshot
|
|
83
|
+
Or: /god-context refresh after installing a newer Godpowers runtime
|
|
72
84
|
|
|
73
85
|
Disk state is authoritative. Conversation memory is not.
|
|
74
86
|
EOF
|
|
@@ -14,6 +14,24 @@ const os = require('os');
|
|
|
14
14
|
|
|
15
15
|
const CONFIG_PATH = '.godpowers/automations.json';
|
|
16
16
|
|
|
17
|
+
const STRICT_RELEASE_SURFACES = [
|
|
18
|
+
'root docs: README.md, CHANGELOG.md, RELEASE.md, CONTRIBUTING.md, SUPPORT.md, USERS.md, ARCHITECTURE.md, ARCHITECTURE-MAP.md, AGENTS.md, SKILL.md',
|
|
19
|
+
'docs/: release checklist, roadmap, reference, validation, concepts, getting started, feature awareness, auto-invoke visibility, repo sync docs',
|
|
20
|
+
'agents/: pillar files and specialist agent contracts',
|
|
21
|
+
'skills/: command skills and release-visible examples',
|
|
22
|
+
'routing/: command routes and high-frequency recipes',
|
|
23
|
+
'workflows/: full arc, feature, hotfix, refactor, migration, docs, deps, hygiene, suite, and audit workflows',
|
|
24
|
+
'schema/: events, intent, routing, recipe, state, workflow, and extension schemas',
|
|
25
|
+
'templates/: generated artifact templates and update logs',
|
|
26
|
+
'references/: have-nots, orchestration, planning, building, design, and shared references',
|
|
27
|
+
'hooks/: session-start and pre-tool-use runtime hooks',
|
|
28
|
+
'lib/: sync detectors, release guardrails, host capabilities, automation providers, and runtime helpers',
|
|
29
|
+
'scripts/: release gate, smoke, package, and sync tests',
|
|
30
|
+
'tests/ and fixtures/: integration, dogfood, and golden fixtures',
|
|
31
|
+
'.github/workflows/: CI, publish, and pack publish gates',
|
|
32
|
+
'package surface: package.json, package-lock.json, npm files list, pack contents, npm latest, git tag, and release notes'
|
|
33
|
+
];
|
|
34
|
+
|
|
17
35
|
const SAFE_TEMPLATES = [
|
|
18
36
|
{
|
|
19
37
|
id: 'daily-status',
|
|
@@ -43,6 +61,20 @@ const SAFE_TEMPLATES = [
|
|
|
43
61
|
risk: 'read-only',
|
|
44
62
|
prompt: 'Run a read-only hygiene summary for docs drift, dependency signals, checkpoint age, and pending reviews.'
|
|
45
63
|
},
|
|
64
|
+
{
|
|
65
|
+
id: 'strict-release-readiness',
|
|
66
|
+
title: 'Strict release readiness report',
|
|
67
|
+
cadence: 'Manual, before release, or weekly before planned releases',
|
|
68
|
+
risk: 'read-only, fail-closed',
|
|
69
|
+
surfaces: STRICT_RELEASE_SURFACES.slice(),
|
|
70
|
+
prompt: [
|
|
71
|
+
'Run strict release readiness for every required Godpowers release surface.',
|
|
72
|
+
'Check root docs, docs/, agents/, skills/, routing/, workflows/, schema/, templates/, references/, hooks/, lib/, scripts/, tests/, fixtures/, .github/workflows/, package metadata, git tag state, GitHub release state, npm latest, and local install state.',
|
|
73
|
+
'Run or report the status of repo documentation sync, repo surface sync, route quality sync, recipe coverage sync, release surface sync, automation surface sync, package content checks, release gate status, CI status, publish workflow status, forbidden character scan, stale version scan, and unstaged work.',
|
|
74
|
+
'Fail closed when any required surface is unchecked, stale, missing from the package manifest, not covered by tests, or inconsistent with the intended version.',
|
|
75
|
+
'Summarize blockers and exact next commands only. Do not modify files, stage, commit, tag, push, create a GitHub release, publish to npm, delete files, or clear caches.'
|
|
76
|
+
].join(' ')
|
|
77
|
+
},
|
|
46
78
|
{
|
|
47
79
|
id: 'release-readiness',
|
|
48
80
|
title: 'Release readiness report',
|
package/lib/events.js
CHANGED
|
@@ -20,6 +20,12 @@ const VALID_EVENT_NAMES = new Set([
|
|
|
20
20
|
'gate.fail', 'gate.pass',
|
|
21
21
|
'tier.skip',
|
|
22
22
|
'state.repair', 'state.rollback',
|
|
23
|
+
'local-helper.run', 'local-helper.complete',
|
|
24
|
+
'dashboard.render',
|
|
25
|
+
'host-capabilities.detect',
|
|
26
|
+
'dogfood.run',
|
|
27
|
+
'source-system.import', 'source-system.sync-back',
|
|
28
|
+
'repo-doc-sync.detect', 'repo-surface-sync.detect',
|
|
23
29
|
'extension.install', 'extension.activate',
|
|
24
30
|
// Cost / cache / budget (v0.14 token cost saver)
|
|
25
31
|
'cost.recorded', 'cache.hit', 'cache.miss', 'budget.exceeded',
|
package/lib/feature-awareness.js
CHANGED
|
@@ -71,6 +71,12 @@ const FEATURES = [
|
|
|
71
71
|
commands: ['/god-dogfood'],
|
|
72
72
|
description: 'Run messy-repo fixtures for migration, host guarantee, extension authoring, and suite release readiness.'
|
|
73
73
|
},
|
|
74
|
+
{
|
|
75
|
+
id: 'dashboard-action-brief',
|
|
76
|
+
since: '1.6.22',
|
|
77
|
+
commands: ['/god-status', '/god-next', '/god-mode'],
|
|
78
|
+
description: 'Render compressed action brief, readiness, attention, and host guarantee lines from disk state.'
|
|
79
|
+
},
|
|
74
80
|
{
|
|
75
81
|
id: 'host-capabilities',
|
|
76
82
|
since: '1.6.22',
|
|
@@ -82,6 +88,12 @@ const FEATURES = [
|
|
|
82
88
|
since: '1.6.22',
|
|
83
89
|
commands: ['/god-extension-add', '/god-test-extension'],
|
|
84
90
|
description: 'Scaffold and validate publishable Godpowers extension packs.'
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: 'suite-release-dry-run',
|
|
94
|
+
since: '1.6.22',
|
|
95
|
+
commands: ['/god-suite-release'],
|
|
96
|
+
description: 'Plan Mode D suite releases with impacted dependents and planned writes before mutation.'
|
|
85
97
|
}
|
|
86
98
|
];
|
|
87
99
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Have-Nots Validator
|
|
3
3
|
*
|
|
4
|
-
* Registry of mechanical checks against the
|
|
4
|
+
* Registry of mechanical checks against the 156 named have-nots from
|
|
5
5
|
* references/HAVE-NOTS.md. Each check returns structured findings:
|
|
6
6
|
*
|
|
7
7
|
* { code, severity: 'error'|'warning'|'info', line, column, message, suggestion }
|
|
@@ -70,7 +70,7 @@ function findPositions(content, regex) {
|
|
|
70
70
|
/** U-08: em or en dash present */
|
|
71
71
|
function checkEmEnDash(content) {
|
|
72
72
|
const findings = [];
|
|
73
|
-
const positions = findPositions(content, /[
|
|
73
|
+
const positions = findPositions(content, /[\u2013\u2014]/g);
|
|
74
74
|
for (const p of positions) {
|
|
75
75
|
findings.push({
|
|
76
76
|
code: 'U-08',
|
package/lib/workflow-runner.js
CHANGED
|
@@ -111,6 +111,7 @@ function plan(workflow, ctx = {}) {
|
|
|
111
111
|
review: job.review || null,
|
|
112
112
|
'on-pass': job['on-pass'] || null,
|
|
113
113
|
'on-fail': job['on-fail'] || null,
|
|
114
|
+
localHelpers: job['local-helpers'] || [],
|
|
114
115
|
with: job.with || null
|
|
115
116
|
});
|
|
116
117
|
}
|
|
@@ -191,6 +192,9 @@ function serializePlan(p) {
|
|
|
191
192
|
if (step.tier) lines.push(` tier: ${step.tier}`);
|
|
192
193
|
if (step.agent) lines.push(` agent: ${step.agent}`);
|
|
193
194
|
if (step.uses) lines.push(` uses: ${step.uses}`);
|
|
195
|
+
if (step.localHelpers && step.localHelpers.length) {
|
|
196
|
+
lines.push(` local-helpers: [${step.localHelpers.join(', ')}]`);
|
|
197
|
+
}
|
|
194
198
|
if (step.needs && step.needs.length) {
|
|
195
199
|
lines.push(` needs: [${step.needs.join(', ')}]`);
|
|
196
200
|
}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "godpowers",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.24",
|
|
4
4
|
"description": "AI-powered development system: 110 slash commands and 40 specialist agents that take a project from raw idea to hardened production. Runs inside Claude Code, Codex, Cursor, Windsurf, Gemini, and 10+ other AI coding tools.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"godpowers": "./bin/install.js"
|
|
7
7
|
},
|
|
8
8
|
"scripts": {
|
|
9
9
|
"test": "node scripts/validate-skills.js && node scripts/test-doc-surface-counts.js && bash scripts/smoke.sh && node scripts/test-runtime.js && node scripts/test-router.js && node scripts/test-recipes.js && node scripts/test-context-writer.js && node scripts/test-pillars.js && node scripts/test-artifact-linter.js && node scripts/test-artifact-diff.js && node scripts/test-design-foundation.js && node scripts/test-linkage.js && node scripts/test-impact.js && node scripts/test-reverse-sync.js && node scripts/test-planning-systems.js && node scripts/test-feature-awareness.js && node scripts/test-repo-doc-sync.js && node scripts/test-repo-surface-sync.js && node scripts/test-automation-surface-sync.js && node scripts/test-host-capabilities.js && node scripts/test-extension-authoring.js && node scripts/test-dogfood-runner.js && node scripts/test-integration.js && node scripts/test-cross-artifact.js && node scripts/test-awesome-design.js && node scripts/test-skillui-bridge.js && node scripts/test-runtime-verification.js && node scripts/test-agent-browser.js && node scripts/test-mode-d.js && node scripts/test-runtime-heuristics.js && node scripts/test-agent-validator.js && node scripts/test-story-validator.js && node scripts/test-state.js && node scripts/test-dashboard.js && node scripts/test-automation-providers.js && node scripts/test-intent.js && node scripts/test-events.js && node scripts/test-golden-artifacts.js && node scripts/test-install-smoke.js && node scripts/test-checkpoint.js && node scripts/test-extensions.js && node scripts/test-event-reader.js && node scripts/test-state-lock.js && node scripts/test-cost-saver.js && node scripts/test-budget-onoff.js && node scripts/test-workflow-runner.js && npm run test:e2e && node scripts/test-otel-exporter.js && node scripts/test-extensions-publish.js",
|
|
10
|
-
"prepublishOnly": "npm
|
|
10
|
+
"prepublishOnly": "npm run release:check",
|
|
11
11
|
"validate-skills": "node scripts/validate-skills.js",
|
|
12
12
|
"test:surface": "node scripts/test-doc-surface-counts.js",
|
|
13
13
|
"smoke": "bash scripts/smoke.sh",
|
package/references/HAVE-NOTS.md
CHANGED
|
@@ -78,6 +78,22 @@ the Decisions Log. Fail.
|
|
|
78
78
|
### O-06 YOLO decisions silent
|
|
79
79
|
--yolo flag was used but no YOLO-DECISIONS log was emitted. Fail.
|
|
80
80
|
|
|
81
|
+
### O-07 Invisible auto-invoke
|
|
82
|
+
Automatic local helper or specialist work ran without reporting the trigger,
|
|
83
|
+
agent status, helper result, changed artifacts, and next route. Fail.
|
|
84
|
+
|
|
85
|
+
### O-08 Stale dashboard closeout
|
|
86
|
+
A command completed without a disk-derived dashboard, action brief, or
|
|
87
|
+
recommended next command. Fail.
|
|
88
|
+
|
|
89
|
+
### O-09 Sync-back ambiguity
|
|
90
|
+
Imported GSD, BMAD, or Superpowers context exists but the project does not say
|
|
91
|
+
whether managed sync-back is enabled, disabled, or not applicable. Fail.
|
|
92
|
+
|
|
93
|
+
### O-10 Host guarantees hidden
|
|
94
|
+
The workflow relies on shell, git, npm, release tooling, or fresh-context
|
|
95
|
+
agent spawning without reporting host guarantee level. Fail.
|
|
96
|
+
|
|
81
97
|
---
|
|
82
98
|
|
|
83
99
|
## Tier 1: Planning Have-Nots
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Mode Detection
|
|
2
2
|
|
|
3
|
-
> How god-orchestrator decides which mode (A/B/C/
|
|
3
|
+
> How god-orchestrator decides which mode (A/B/C/E) to use, and when Mode D
|
|
4
|
+
> suite coordination also applies.
|
|
4
5
|
|
|
5
6
|
## Mode A: Greenfield (default)
|
|
6
7
|
|
|
@@ -17,6 +18,8 @@
|
|
|
17
18
|
- Some `.godpowers/<tier>/<artifact>` files already exist
|
|
18
19
|
- OR existing codebase signals: package.json, Dockerfile, .github/workflows
|
|
19
20
|
- User describes an existing project they want to add Godpowers to
|
|
21
|
+
- GSD, BMAD, or Superpowers planning context is detected and should be imported
|
|
22
|
+
into Godpowers preparation artifacts
|
|
20
23
|
|
|
21
24
|
**Behavior**:
|
|
22
25
|
1. For each canonical artifact path: check existence on disk
|
|
@@ -30,6 +33,8 @@ Codebase signals (for inferring partial completion):
|
|
|
30
33
|
- `.github/workflows/` or `.gitlab-ci.yml` exists -> CI present
|
|
31
34
|
- `tests/` or `*.test.*` files exist -> Build tier in progress
|
|
32
35
|
- `Dockerfile` + deploy config -> Deploy tier may be done
|
|
36
|
+
- `.planning/`, `.gsd/`, `_bmad-output/`, `.bmad/`, or Superpowers specs ->
|
|
37
|
+
source-system import and managed sync-back may be needed
|
|
33
38
|
|
|
34
39
|
## Mode C: Audit
|
|
35
40
|
|
|
@@ -39,14 +44,34 @@ Codebase signals (for inferring partial completion):
|
|
|
39
44
|
|
|
40
45
|
**Behavior**: run god-auditor on all existing artifacts. Build nothing.
|
|
41
46
|
|
|
42
|
-
## Mode
|
|
47
|
+
## Mode E: Bluefield
|
|
48
|
+
|
|
49
|
+
**Signals**:
|
|
50
|
+
- User is starting new code inside an existing organization or platform.
|
|
51
|
+
- Parent or sibling directories contain org standards, shared packages,
|
|
52
|
+
deployment conventions, or platform contracts.
|
|
53
|
+
- User names shared constraints such as approved infrastructure, design system,
|
|
54
|
+
compliance baseline, or internal libraries.
|
|
55
|
+
|
|
56
|
+
**Behavior**:
|
|
57
|
+
1. Load org context with `/god-org-context`.
|
|
58
|
+
2. Run `/god-preflight` against the surrounding environment.
|
|
59
|
+
3. Run a greenfield simulation audit against the org constraints.
|
|
60
|
+
4. Use `god-greenfieldifier` to plan approved artifact updates.
|
|
61
|
+
5. Continue the normal arc with the org constraints respected.
|
|
62
|
+
|
|
63
|
+
## Mode D: Multi-repo suite membership
|
|
43
64
|
|
|
44
65
|
**Signals**:
|
|
45
66
|
- Working directory contains workspace config (pnpm-workspace.yaml, nx.json, lerna.json, turbo.json)
|
|
46
67
|
- OR multiple sub-repos with their own `.git/`
|
|
47
68
|
- User describes a system spanning multiple repos
|
|
69
|
+
- `.godpowers/suite/` exists or sibling repos share byte-identical managed files
|
|
48
70
|
|
|
49
|
-
**
|
|
71
|
+
**Behavior**: Mode D is not a replacement for A/B/C/E. It is suite membership
|
|
72
|
+
managed by `god-coordinator` as a Tier-0 peer. Each repo still runs one of
|
|
73
|
+
A/B/C/E underneath, while `/god-suite-*` commands handle cross-repo status,
|
|
74
|
+
sync, patch, and release planning.
|
|
50
75
|
|
|
51
76
|
## Worked example
|
|
52
77
|
|
|
@@ -72,3 +97,11 @@ Reports to user:
|
|
|
72
97
|
> Setting Mode B (gap-fill). I'll work backward to fill missing artifacts.
|
|
73
98
|
> First: I need to understand what this codebase does. Let me start with
|
|
74
99
|
> /god-explore or you can describe it briefly."
|
|
100
|
+
|
|
101
|
+
## Existing Godpowers projects after upgrades
|
|
102
|
+
|
|
103
|
+
When `.godpowers/state.json` already exists, mode detection should also run
|
|
104
|
+
feature awareness. The safe local helper records the installed Godpowers
|
|
105
|
+
feature set, refreshes managed AI-tool context fences, and reports missing
|
|
106
|
+
planning-system import or sync-back opportunities. It does not overwrite
|
|
107
|
+
product artifacts.
|
|
@@ -5,14 +5,17 @@ god-orchestrator and related agents.
|
|
|
5
5
|
|
|
6
6
|
## Files
|
|
7
7
|
|
|
8
|
-
- (
|
|
8
|
+
- [MODE-DETECTION.md](MODE-DETECTION.md): Mode A/B/C/E detection, plus Mode D
|
|
9
|
+
suite membership.
|
|
10
|
+
- [SCALE-DETECTION.md](SCALE-DETECTION.md): scale rubric and calibration.
|
|
9
11
|
|
|
10
12
|
## Contribution Welcome
|
|
11
13
|
|
|
12
14
|
This directory is the natural home for:
|
|
13
|
-
- Mode A/B/C/
|
|
15
|
+
- More Mode A/B/C/E and Mode D suite detection examples
|
|
14
16
|
- Scale detection rubric with calibration cases
|
|
15
17
|
- Pause vs no-pause decision tree examples
|
|
16
18
|
- YOLO default rationale documents
|
|
19
|
+
- Auto-invoke visibility examples for local helpers and specialist spawns
|
|
17
20
|
|
|
18
21
|
If you'd like to contribute, see [CONTRIBUTING.md](../../CONTRIBUTING.md).
|
|
@@ -42,18 +42,47 @@ codebase mappers, story trackers). The rules below let them coexist.
|
|
|
42
42
|
## Migration into Godpowers
|
|
43
43
|
|
|
44
44
|
If you arrive at Godpowers carrying artifacts from another system,
|
|
45
|
-
`/god-init` Mode B (gap-fill)
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
`/god-init` Mode B (gap-fill) and `/god-migrate` read what exists and map it
|
|
46
|
+
forward:
|
|
47
|
+
|
|
48
|
+
- GSD `.planning/` or `.gsd/` context -> `.godpowers/prep/IMPORTED-CONTEXT.md`
|
|
49
|
+
and optional native seed artifacts
|
|
50
|
+
- BMAD `_bmad-output/` or `.bmad/` context -> imported preparation context and
|
|
51
|
+
open questions for PRD, architecture, roadmap, and stack
|
|
52
|
+
- Superpowers specs or plans -> imported preparation context and native
|
|
53
|
+
Godpowers seed artifacts when confidence is high
|
|
54
|
+
- Existing PRD-like documents -> `.godpowers/prd/PRD.md` after
|
|
55
|
+
substitution-test rewrite if needed
|
|
49
56
|
- Existing ADRs -> `.godpowers/arch/adr/`
|
|
50
|
-
- Existing roadmap
|
|
51
|
-
- Existing story
|
|
52
|
-
|
|
57
|
+
- Existing roadmap or milestones -> `.godpowers/roadmap/ROADMAP.md`
|
|
58
|
+
- Existing story or ticket files -> `.godpowers/stories/STORY-*.md` through
|
|
59
|
+
`/god-story`
|
|
60
|
+
|
|
61
|
+
Mode B does not delete the source files. It produces Godpowers artifacts
|
|
62
|
+
alongside them. Once parity is reached, you can retire the older system at
|
|
63
|
+
your own pace.
|
|
64
|
+
|
|
65
|
+
## Managed sync-back
|
|
66
|
+
|
|
67
|
+
Godpowers can keep a source system informed without making that source system
|
|
68
|
+
authoritative. `/god-sync` writes managed companion files such as:
|
|
69
|
+
|
|
70
|
+
- `.planning/GODPOWERS-SYNC.md`
|
|
71
|
+
- `_bmad-output/GODPOWERS-SYNC.md`
|
|
72
|
+
- `docs/superpowers/GODPOWERS-SYNC.md`
|
|
73
|
+
|
|
74
|
+
The sync-back file is a bridge, not a second source of truth. It should contain
|
|
75
|
+
the current Godpowers status, imported-context mapping, open conflicts, and the
|
|
76
|
+
next safe route back into either system. It must be fenced or companion-owned
|
|
77
|
+
so Godpowers does not overwrite arbitrary GSD, BMAD, or Superpowers artifacts.
|
|
78
|
+
|
|
79
|
+
## Existing Godpowers projects after upgrades
|
|
53
80
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
81
|
+
Feature awareness is the upgrade path for projects that are already
|
|
82
|
+
Godpowers-native. `/god-context refresh`, `/god-sync`, `/god-doctor --fix`, and
|
|
83
|
+
God Mode resume can record the current runtime feature set, refresh managed AI
|
|
84
|
+
tool fences, and point out missing migration, sync-back, dogfood, host
|
|
85
|
+
capability, extension-authoring, or suite-release readiness.
|
|
57
86
|
|
|
58
87
|
## Migration out of Godpowers
|
|
59
88
|
|
|
@@ -64,7 +93,9 @@ frontmatter. There's no proprietary binary state. To leave:
|
|
|
64
93
|
2. Strip the fenced "Implementation Linkage" footers if the target
|
|
65
94
|
system doesn't understand them (they're recoverable from code
|
|
66
95
|
annotations).
|
|
67
|
-
3.
|
|
96
|
+
3. Use the most recent managed sync-back file as the return-path summary if the
|
|
97
|
+
target system is GSD, BMAD, or Superpowers.
|
|
98
|
+
4. Delete `.godpowers/`.
|
|
68
99
|
|
|
69
100
|
## What Godpowers does not try to be
|
|
70
101
|
|
|
@@ -4,11 +4,11 @@ Cross-tier reference content used by multiple agents.
|
|
|
4
4
|
|
|
5
5
|
## Files
|
|
6
6
|
|
|
7
|
-
- [HAVE-NOTS.md](../HAVE-NOTS.md) (canonical failure-mode catalog
|
|
7
|
+
- [HAVE-NOTS.md](../HAVE-NOTS.md) (canonical failure-mode catalog)
|
|
8
|
+
- [ORCHESTRATORS.md](ORCHESTRATORS.md): composition patterns with other AI
|
|
9
|
+
coding workflow systems, including migration and managed sync-back.
|
|
10
|
+
- [GLOSSARY.md](GLOSSARY.md): standardized vocabulary across tiers.
|
|
8
11
|
|
|
9
12
|
## Planned content
|
|
10
13
|
|
|
11
|
-
- ORCHESTRATORS.md: composition patterns with other AI coding workflow systems
|
|
12
14
|
- RESEARCH.md: dated research notes informing agent design decisions
|
|
13
|
-
- GLOSSARY.md: standardized vocabulary across tiers (substitution test,
|
|
14
|
-
three-label test, flip point, have-not, paper artifact, theater, AI-slop)
|
|
@@ -23,5 +23,7 @@ sequences:
|
|
|
23
23
|
why: "Verify README, release notes, badges, and public docs against code"
|
|
24
24
|
- command: "/god-version"
|
|
25
25
|
why: "Confirm installed runtime and package version visibility"
|
|
26
|
+
- command: "/god-automation-setup"
|
|
27
|
+
why: "Use strict-release-readiness for any background release check; do not publish without explicit user approval"
|
|
26
28
|
|
|
27
29
|
default-sequence: default
|
package/schema/events.v1.json
CHANGED
|
@@ -48,6 +48,15 @@
|
|
|
48
48
|
"tier.skip",
|
|
49
49
|
"state.repair",
|
|
50
50
|
"state.rollback",
|
|
51
|
+
"local-helper.run",
|
|
52
|
+
"local-helper.complete",
|
|
53
|
+
"dashboard.render",
|
|
54
|
+
"host-capabilities.detect",
|
|
55
|
+
"dogfood.run",
|
|
56
|
+
"source-system.import",
|
|
57
|
+
"source-system.sync-back",
|
|
58
|
+
"repo-doc-sync.detect",
|
|
59
|
+
"repo-surface-sync.detect",
|
|
51
60
|
"extension.install",
|
|
52
61
|
"extension.activate",
|
|
53
62
|
"error",
|
|
@@ -108,7 +108,11 @@
|
|
|
108
108
|
"properties": {
|
|
109
109
|
"yolo": { "type": "boolean", "default": false },
|
|
110
110
|
"conservative": { "type": "boolean", "default": false },
|
|
111
|
-
"trash-retention-days": { "type": "integer", "minimum": 0, "default": 30 }
|
|
111
|
+
"trash-retention-days": { "type": "integer", "minimum": 0, "default": 30 },
|
|
112
|
+
"repo-doc-sync": { "type": "boolean", "default": true },
|
|
113
|
+
"repo-surface-sync": { "type": "boolean", "default": true },
|
|
114
|
+
"source-sync-back": { "type": "boolean", "default": true },
|
|
115
|
+
"dashboard-brief": { "type": "boolean", "default": true }
|
|
112
116
|
}
|
|
113
117
|
}
|
|
114
118
|
},
|
package/schema/recipe.v1.json
CHANGED
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"enum": [
|
|
28
28
|
"starting", "planning", "building", "shipping",
|
|
29
29
|
"production", "maintaining", "recovering", "collaborating",
|
|
30
|
-
"knowledge", "feature-addition", "configuration", "meta"
|
|
30
|
+
"knowledge", "feature-addition", "configuration", "meta",
|
|
31
|
+
"migration", "release", "extension", "suite", "dogfood"
|
|
31
32
|
]
|
|
32
33
|
},
|
|
33
34
|
"description": { "type": "string" }
|
package/schema/routing.v1.json
CHANGED
|
@@ -65,6 +65,26 @@
|
|
|
65
65
|
"type": "array",
|
|
66
66
|
"items": { "type": "string" },
|
|
67
67
|
"description": "Agents spawned by primary agent (e.g., reviewers)"
|
|
68
|
+
},
|
|
69
|
+
"local-helpers": {
|
|
70
|
+
"type": "array",
|
|
71
|
+
"description": "Visible local runtime helpers this command may run without spawning a specialist agent.",
|
|
72
|
+
"items": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"enum": [
|
|
75
|
+
"checkpoint-sync",
|
|
76
|
+
"feature-awareness",
|
|
77
|
+
"host-capabilities",
|
|
78
|
+
"repo-doc-sync",
|
|
79
|
+
"repo-surface-sync",
|
|
80
|
+
"route-quality-sync",
|
|
81
|
+
"recipe-coverage-sync",
|
|
82
|
+
"release-surface-sync",
|
|
83
|
+
"dogfood-runner",
|
|
84
|
+
"source-sync-back",
|
|
85
|
+
"pillars-sync-plan"
|
|
86
|
+
]
|
|
87
|
+
}
|
|
68
88
|
}
|
|
69
89
|
}
|
|
70
90
|
},
|
package/schema/state.v1.json
CHANGED
|
@@ -157,6 +157,57 @@
|
|
|
157
157
|
},
|
|
158
158
|
"additionalProperties": false
|
|
159
159
|
},
|
|
160
|
+
"host-capabilities": {
|
|
161
|
+
"type": "object",
|
|
162
|
+
"description": "Most recent host guarantee report used by dashboard and release readiness surfaces.",
|
|
163
|
+
"properties": {
|
|
164
|
+
"host": { "type": "string" },
|
|
165
|
+
"level": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"enum": ["full", "degraded", "unknown"]
|
|
168
|
+
},
|
|
169
|
+
"gaps": {
|
|
170
|
+
"type": "array",
|
|
171
|
+
"items": { "type": "string" }
|
|
172
|
+
},
|
|
173
|
+
"checked-at": {
|
|
174
|
+
"type": "string",
|
|
175
|
+
"format": "date-time"
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"additionalProperties": true
|
|
179
|
+
},
|
|
180
|
+
"dashboard": {
|
|
181
|
+
"type": "object",
|
|
182
|
+
"description": "Optional cached dashboard summary. Runtime recomputes from disk when present data is stale.",
|
|
183
|
+
"properties": {
|
|
184
|
+
"last-rendered-at": { "type": "string", "format": "date-time" },
|
|
185
|
+
"action-brief": {
|
|
186
|
+
"type": "object",
|
|
187
|
+
"properties": {
|
|
188
|
+
"next": { "type": "string" },
|
|
189
|
+
"why": { "type": "string" },
|
|
190
|
+
"readiness": { "type": "string", "enum": ["ready", "needs attention"] },
|
|
191
|
+
"attention": { "type": "array", "items": { "type": "string" } },
|
|
192
|
+
"host-guarantees": { "type": "string" }
|
|
193
|
+
},
|
|
194
|
+
"additionalProperties": false
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
"additionalProperties": false
|
|
198
|
+
},
|
|
199
|
+
"dogfood": {
|
|
200
|
+
"type": "object",
|
|
201
|
+
"description": "Most recent deterministic messy-repo fixture run summary.",
|
|
202
|
+
"properties": {
|
|
203
|
+
"status": { "type": "string", "enum": ["not-run", "pass", "fail"] },
|
|
204
|
+
"total": { "type": "integer", "minimum": 0 },
|
|
205
|
+
"passed": { "type": "integer", "minimum": 0 },
|
|
206
|
+
"failed": { "type": "integer", "minimum": 0 },
|
|
207
|
+
"last-run-at": { "type": "string", "format": "date-time" }
|
|
208
|
+
},
|
|
209
|
+
"additionalProperties": false
|
|
210
|
+
},
|
|
160
211
|
"yolo-decisions": {
|
|
161
212
|
"type": "array",
|
|
162
213
|
"description": "Auto-decisions made under --yolo. Mirrored to YOLO-DECISIONS.md.",
|
package/schema/workflow.v1.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"type": "array",
|
|
28
28
|
"items": {
|
|
29
29
|
"type": "string",
|
|
30
|
-
"pattern": "^/god-[a-z-]
|
|
30
|
+
"pattern": "^/god-[a-z-]+(\\s.*)?$"
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"jobs": {
|
|
@@ -86,10 +86,39 @@
|
|
|
86
86
|
"additionalProperties": true
|
|
87
87
|
}
|
|
88
88
|
},
|
|
89
|
+
"local-helpers": {
|
|
90
|
+
"type": "array",
|
|
91
|
+
"description": "Visible local runtime helpers that run in this job without specialist-agent judgment.",
|
|
92
|
+
"items": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"enum": [
|
|
95
|
+
"checkpoint-sync",
|
|
96
|
+
"feature-awareness",
|
|
97
|
+
"host-capabilities",
|
|
98
|
+
"repo-doc-sync",
|
|
99
|
+
"repo-surface-sync",
|
|
100
|
+
"route-quality-sync",
|
|
101
|
+
"recipe-coverage-sync",
|
|
102
|
+
"release-surface-sync",
|
|
103
|
+
"dogfood-runner",
|
|
104
|
+
"source-sync-back",
|
|
105
|
+
"pillars-sync-plan"
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
},
|
|
89
109
|
"per": { "type": "string", "enum": ["slice", "wave"] },
|
|
90
110
|
"parallel-by": { "type": "string", "enum": ["slice", "wave"] },
|
|
91
111
|
"on-pass": { "type": "string" },
|
|
92
|
-
"
|
|
112
|
+
"on-fail": { "type": "string" },
|
|
113
|
+
"skip-when": { "type": "string" },
|
|
114
|
+
"verification": {
|
|
115
|
+
"type": "object",
|
|
116
|
+
"additionalProperties": true
|
|
117
|
+
},
|
|
118
|
+
"closure": {
|
|
119
|
+
"type": "object",
|
|
120
|
+
"additionalProperties": true
|
|
121
|
+
}
|
|
93
122
|
}
|
|
94
123
|
}
|
|
95
124
|
}
|
|
@@ -83,8 +83,13 @@ for that exact write-capable automation:
|
|
|
83
83
|
- `stale-checkpoint`: inspect checkpoint freshness and suggest `/god-sync` or `/god-resume-work`
|
|
84
84
|
- `review-queue`: report unresolved review items without clearing them
|
|
85
85
|
- `weekly-hygiene`: report docs, dependencies, checkpoint, reviews, and hygiene signals
|
|
86
|
+
- `strict-release-readiness`: fail-closed release readiness across root docs, docs, agents, skills, routing, workflows, schema, templates, references, hooks, lib, scripts, tests, fixtures, GitHub workflows, package metadata, git tag state, GitHub release state, npm latest, and local install state
|
|
86
87
|
- `release-readiness`: report release readiness without publishing
|
|
87
88
|
|
|
89
|
+
Use `strict-release-readiness` for any background release automation. Use
|
|
90
|
+
`release-readiness` only for quick manual checks where the user explicitly
|
|
91
|
+
accepts a narrower report.
|
|
92
|
+
|
|
88
93
|
## Provider Guidance
|
|
89
94
|
|
|
90
95
|
- Codex App: use native Codex automations when the host exposes them.
|
package/skills/god-mode.md
CHANGED
|
@@ -286,10 +286,13 @@ Default. Skip the hygiene pass. Use when iterating quickly.
|
|
|
286
286
|
## Mandatory final sync
|
|
287
287
|
|
|
288
288
|
Regardless of flags, `/god-mode` always runs `/god-sync` before declaring
|
|
289
|
-
complete. This ensures all 14 artifact categories
|
|
289
|
+
complete. This ensures all 14 core artifact categories and local sync surfaces
|
|
290
|
+
are in a consistent state:
|
|
290
291
|
|
|
291
292
|
- 10 Tier 0-3 artifacts validated (have-nots passing)
|
|
292
293
|
- 4 capture artifacts noted as `not-yet-created` (graceful handling)
|
|
294
|
+
- repo-doc, repo-surface, feature awareness, source sync-back, host capability,
|
|
295
|
+
checkpoint, Pillars, and context refresh statuses reported
|
|
293
296
|
- SYNC-LOG.md updated with project-run completion entry
|
|
294
297
|
- state.json reflects final tier statuses
|
|
295
298
|
|