godpowers 1.6.2 → 1.6.3
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 +26 -0
- package/README.md +5 -5
- package/RELEASE.md +19 -21
- package/lib/router.js +46 -0
- package/package.json +1 -1
- package/routing/god-deploy.yaml +3 -0
- package/skills/god-doctor.md +1 -1
- package/skills/god-next.md +10 -0
- package/skills/god-version.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,32 @@ All notable changes to Godpowers will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.6.3] - 2026-05-16
|
|
9
|
+
|
|
10
|
+
Safe sync routing patch. Keeps the 1.6 command surface stable while making
|
|
11
|
+
`/god-next` and `/god-deploy` honor unresolved release sync blockers before
|
|
12
|
+
Tier 3 work.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- Added router detection for `.godpowers/sync/SAFE-SYNC-PLAN.md`.
|
|
16
|
+
- Added router detection for checkpoint text that marks safe sync as a
|
|
17
|
+
blocking red gate.
|
|
18
|
+
- Added `safe-sync-clear` prerequisite support for routing files.
|
|
19
|
+
- Added regression tests for safe sync plan blockers, checkpoint blockers,
|
|
20
|
+
deploy prerequisites, and resolved safe sync plans.
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
- `/god-next` now suggests `/god-reconcile Release Truth And Safe Sync` before
|
|
24
|
+
`/god-deploy` when safe sync remains unresolved.
|
|
25
|
+
- `/god-deploy` now advertises the safe sync reconcile command as its
|
|
26
|
+
auto-complete route when the gate is red.
|
|
27
|
+
|
|
28
|
+
### Guardrails
|
|
29
|
+
- This patch does not add slash commands, agents, workflows, recipes, schemas,
|
|
30
|
+
or public artifact formats.
|
|
31
|
+
- The blocker clears only when `.godpowers/sync/SAFE-SYNC-DONE.md` or
|
|
32
|
+
`.godpowers/sync/SAFE-SYNC-RESOLVED.md` exists.
|
|
33
|
+
|
|
8
34
|
## [1.6.2] - 2026-05-16
|
|
9
35
|
|
|
10
36
|
Codex agent metadata compatibility patch. Keeps the public command surface
|
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.**
|
|
@@ -12,10 +12,10 @@ idea to hardened production. It runs as **slash commands inside your AI coding
|
|
|
12
12
|
tool** (Claude Code, Codex, Cursor, etc.) that orchestrate **specialist agents**
|
|
13
13
|
in fresh contexts to do the work.
|
|
14
14
|
|
|
15
|
-
Version 1.6.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
Version 1.6.3 hardens Godpowers routing around release truth and safe sync:
|
|
16
|
+
`/god-next` now routes unresolved safe-sync blockers to
|
|
17
|
+
`/god-reconcile Release Truth And Safe Sync` before deploy-era work, while
|
|
18
|
+
Codex installs keep per-agent TOML metadata for all 39 specialist agents.
|
|
19
19
|
|
|
20
20
|
It fuses four disciplines into one unified workflow:
|
|
21
21
|
|
package/RELEASE.md
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# Godpowers 1.6.
|
|
1
|
+
# Godpowers 1.6.3 Release
|
|
2
2
|
|
|
3
3
|
Date: 2026-05-16
|
|
4
4
|
|
|
5
|
-
Godpowers 1.6.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
metadata, without changing the public command surface.
|
|
5
|
+
Godpowers 1.6.3 hardens release-truth routing around the stable 1.6 surface.
|
|
6
|
+
The goal of this patch is to make `/god-next` and `/god-deploy` honor safe
|
|
7
|
+
sync blockers before Tier 3 work, without changing the public command surface.
|
|
9
8
|
|
|
10
9
|
## What is stable
|
|
11
10
|
|
|
@@ -15,6 +14,7 @@ metadata, without changing the public command surface.
|
|
|
15
14
|
- 36 intent recipes
|
|
16
15
|
- 15-runtime installer
|
|
17
16
|
- Codex installs with 39 generated `god-*.toml` agent metadata files
|
|
17
|
+
- Safe-sync routing before deploy, observe, harden, or launch work
|
|
18
18
|
- Native Pillars project context through `AGENTS.md` and `agents/*.md`
|
|
19
19
|
- `.godpowers/` workflow state and artifact layout
|
|
20
20
|
- Core schemas: intent, state, events, workflow, routing, recipes, extension
|
|
@@ -25,22 +25,20 @@ metadata, without changing the public command surface.
|
|
|
25
25
|
|
|
26
26
|
## What is new
|
|
27
27
|
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
- Claude Code, Pi, and the other non-Codex runtimes keep their existing
|
|
37
|
-
markdown agent install behavior.
|
|
28
|
+
- `/god-next` detects `.godpowers/sync/SAFE-SYNC-PLAN.md` and routes to
|
|
29
|
+
`/god-reconcile Release Truth And Safe Sync` before `/god-deploy`.
|
|
30
|
+
- `/god-next` also detects checkpoint text that marks safe sync as a blocking
|
|
31
|
+
red gate before deploy.
|
|
32
|
+
- `/god-deploy` has a `safe-sync-clear` prerequisite with the same reconcile
|
|
33
|
+
route as its auto-complete command.
|
|
34
|
+
- Router tests now cover unresolved safe sync plans, checkpoint blockers,
|
|
35
|
+
deploy prerequisite failure, and resolved safe sync plans.
|
|
38
36
|
|
|
39
|
-
## What 1.6.
|
|
37
|
+
## What 1.6.3 means
|
|
40
38
|
|
|
41
|
-
Godpowers 1.6.
|
|
42
|
-
runtime
|
|
43
|
-
|
|
39
|
+
Godpowers 1.6.3 does not expand the public command surface. It tightens the
|
|
40
|
+
runtime decision path so project truth can override the structural tier order
|
|
41
|
+
when a safe-sync gate is still red.
|
|
44
42
|
|
|
45
43
|
The domain glossary remains preparation context. PRD, ARCH, ROADMAP, STACK,
|
|
46
44
|
docs, and Pillars files still carry durable decisions for their own domains.
|
|
@@ -50,8 +48,8 @@ docs, and Pillars files still carry durable decisions for their own domains.
|
|
|
50
48
|
During the 1.x stability window, do not add broad new command families, change
|
|
51
49
|
schema formats, or rename public artifacts without evidence from real use.
|
|
52
50
|
|
|
53
|
-
The `v1.6.
|
|
54
|
-
`godpowers@1.6.
|
|
51
|
+
The `v1.6.3` git tag points to the release commit that matches the npm
|
|
52
|
+
`godpowers@1.6.3` package. Public publishes should prefer the tag-triggered
|
|
55
53
|
GitHub workflow so npm provenance, git history, and release notes stay aligned.
|
|
56
54
|
|
|
57
55
|
Allowed changes:
|
package/lib/router.js
CHANGED
|
@@ -14,6 +14,11 @@ const { parseSimpleYaml } = require('./intent');
|
|
|
14
14
|
const state = require('./state');
|
|
15
15
|
|
|
16
16
|
const ROUTING_DIR = path.join(__dirname, '..', 'routing');
|
|
17
|
+
const SAFE_SYNC_PLAN = '.godpowers/sync/SAFE-SYNC-PLAN.md';
|
|
18
|
+
const SAFE_SYNC_DONE_FILES = [
|
|
19
|
+
'.godpowers/sync/SAFE-SYNC-DONE.md',
|
|
20
|
+
'.godpowers/sync/SAFE-SYNC-RESOLVED.md'
|
|
21
|
+
];
|
|
17
22
|
|
|
18
23
|
let _cache = null;
|
|
19
24
|
|
|
@@ -107,6 +112,10 @@ function evaluateCheck(check, projectRoot) {
|
|
|
107
112
|
return actual === expected || actual === parseValue(expected);
|
|
108
113
|
}
|
|
109
114
|
|
|
115
|
+
if (check === 'safe-sync-clear') {
|
|
116
|
+
return detectSafeSyncBlocker(projectRoot) === null;
|
|
117
|
+
}
|
|
118
|
+
|
|
110
119
|
// mode-A-greenfield: pass-through hint, treat as satisfiable
|
|
111
120
|
if (check.includes('greenfield') || check.includes('mode-A')) {
|
|
112
121
|
return !fs.existsSync(path.join(projectRoot, '.godpowers'));
|
|
@@ -236,6 +245,9 @@ function suggestNext(projectRoot) {
|
|
|
236
245
|
if (subStepStatus(tiers, 'tier-2', 'build') !== 'done')
|
|
237
246
|
return { command: '/god-build', reason: 'Build pending', tier: 'tier-2' };
|
|
238
247
|
|
|
248
|
+
const safeSync = detectSafeSyncBlocker(projectRoot);
|
|
249
|
+
if (safeSync) return safeSync;
|
|
250
|
+
|
|
239
251
|
// Tier 3
|
|
240
252
|
if (subStepStatus(tiers, 'tier-3', 'deploy') !== 'done')
|
|
241
253
|
return { command: '/god-deploy', reason: 'Deploy pipeline not set up', tier: 'tier-3' };
|
|
@@ -258,6 +270,39 @@ function subStepStatus(tiers, tierKey, subKey) {
|
|
|
258
270
|
return tiers[tierKey] && tiers[tierKey][subKey] && tiers[tierKey][subKey].status;
|
|
259
271
|
}
|
|
260
272
|
|
|
273
|
+
function detectSafeSyncBlocker(projectRoot) {
|
|
274
|
+
if (SAFE_SYNC_DONE_FILES.some(file => fs.existsSync(path.join(projectRoot, file)))) {
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
const planPath = path.join(projectRoot, SAFE_SYNC_PLAN);
|
|
279
|
+
if (fs.existsSync(planPath)) {
|
|
280
|
+
return safeSyncSuggestion(`Unresolved safe sync plan at ${SAFE_SYNC_PLAN}`, SAFE_SYNC_PLAN);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
const checkpointPath = path.join(projectRoot, '.godpowers', 'CHECKPOINT.md');
|
|
284
|
+
if (!fs.existsSync(checkpointPath)) return null;
|
|
285
|
+
|
|
286
|
+
const checkpoint = fs.readFileSync(checkpointPath, 'utf8');
|
|
287
|
+
const mentionsSafeSync = /safe sync/i.test(checkpoint);
|
|
288
|
+
const isBlocking = /block|red gate|missing|unresolved|before deploy|blocks deploy/i.test(checkpoint);
|
|
289
|
+
if (mentionsSafeSync && isBlocking) {
|
|
290
|
+
return safeSyncSuggestion('Checkpoint says safe sync is blocking Tier 3 work', '.godpowers/CHECKPOINT.md');
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
return null;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
function safeSyncSuggestion(reason, evidence) {
|
|
297
|
+
return {
|
|
298
|
+
command: '/god-reconcile Release Truth And Safe Sync',
|
|
299
|
+
reason,
|
|
300
|
+
tier: 'tier-0',
|
|
301
|
+
blocker: 'safe-sync',
|
|
302
|
+
evidence
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
|
|
261
306
|
/**
|
|
262
307
|
* Clear cached routing (for tests).
|
|
263
308
|
*/
|
|
@@ -275,5 +320,6 @@ module.exports = {
|
|
|
275
320
|
getSpawnedAgents,
|
|
276
321
|
suggestNext,
|
|
277
322
|
evaluateCheck,
|
|
323
|
+
detectSafeSyncBlocker,
|
|
278
324
|
clearCache
|
|
279
325
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "godpowers",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.3",
|
|
4
4
|
"description": "AI-powered development system: 106 slash commands and 39 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"
|
package/routing/god-deploy.yaml
CHANGED
|
@@ -10,6 +10,9 @@ prerequisites:
|
|
|
10
10
|
- check: state:tier-2.build.status == done
|
|
11
11
|
auto-complete: /god-build
|
|
12
12
|
human-required: true
|
|
13
|
+
- check: safe-sync-clear
|
|
14
|
+
auto-complete: /god-reconcile Release Truth And Safe Sync
|
|
15
|
+
human-required: true
|
|
13
16
|
|
|
14
17
|
execution:
|
|
15
18
|
spawns: [god-deploy-engineer]
|
package/skills/god-doctor.md
CHANGED
|
@@ -48,7 +48,7 @@ GODPOWERS DOCTOR
|
|
|
48
48
|
Install: claude (~/.claude/)
|
|
49
49
|
[OK] 106 skills installed
|
|
50
50
|
[OK] 39 agents installed
|
|
51
|
-
[OK] VERSION matches (1.6.
|
|
51
|
+
[OK] VERSION matches (1.6.3)
|
|
52
52
|
[WARN] routing/god-doctor.yaml exists but skill file did not until now
|
|
53
53
|
|
|
54
54
|
Project: /Users/.../my-project/.godpowers/
|
package/skills/god-next.md
CHANGED
|
@@ -135,6 +135,7 @@ Use <runtimeRoot>/lib/router.js suggestNext(projectRoot) <- structural next
|
|
|
135
135
|
For each tier in order:
|
|
136
136
|
- Find first non-done sub-step
|
|
137
137
|
- That's the suggested next command
|
|
138
|
+
- Before Tier 3, honor red gates such as unresolved safe sync
|
|
138
139
|
|
|
|
139
140
|
v
|
|
140
141
|
If all tiers done:
|
|
@@ -232,6 +233,15 @@ Display both with: "Run in any order. /god-roadmap is critical-path."
|
|
|
232
233
|
### State drift (artifact missing but state says done)
|
|
233
234
|
Detected by lib/state.detectDrift(). Suggest /god-repair.
|
|
234
235
|
|
|
236
|
+
### Safe sync blocks deploy
|
|
237
|
+
If `.godpowers/sync/SAFE-SYNC-PLAN.md` exists, or `.godpowers/CHECKPOINT.md`
|
|
238
|
+
states that safe sync is a blocking red gate, suggest
|
|
239
|
+
`/god-reconcile Release Truth And Safe Sync` before `/god-deploy`,
|
|
240
|
+
`/god-observe`, `/god-harden`, or `/god-launch`.
|
|
241
|
+
|
|
242
|
+
The blocker is cleared when `.godpowers/sync/SAFE-SYNC-DONE.md` or
|
|
243
|
+
`.godpowers/sync/SAFE-SYNC-RESOLVED.md` exists.
|
|
244
|
+
|
|
235
245
|
### Steady state with multiple workflow options
|
|
236
246
|
If lifecycle-phase = steady-state-active, route by user intent if provided
|
|
237
247
|
(use the User Intent Map below).
|
package/skills/god-version.md
CHANGED
|
@@ -14,7 +14,7 @@ Print version and a short capability summary.
|
|
|
14
14
|
## Output
|
|
15
15
|
|
|
16
16
|
```
|
|
17
|
-
Godpowers v1.6.
|
|
17
|
+
Godpowers v1.6.3
|
|
18
18
|
Install: /Users/.../.claude/ (matches package.json)
|
|
19
19
|
Surface: 106 skills, 39 agents, 13 workflows, 36 recipes
|
|
20
20
|
Schema: intent.v1, state.v1, events.v1, workflow.v1, routing.v1, recipe.v1
|