godpowers 1.6.10 → 1.6.12

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.
@@ -52,6 +52,23 @@ When showing "affected files," this skill cross-references
52
52
  `lib/linkage.queryByFile(projectRoot, file)` so the user sees which
53
53
  artifact IDs that file is linked to. Helps decide what to fix.
54
54
 
55
+ ## Proactive invocation
56
+
57
+ Godpowers should suggest this skill automatically when
58
+ `REVIEW-REQUIRED.md` gains pending entries from reverse-sync, design impact,
59
+ runtime verification, docs drift, or security-sensitive changes.
60
+
61
+ Default behavior is suggestion only:
62
+
63
+ ```text
64
+ Proactive checks:
65
+ Reviews: <N> pending, suggest /god-review-changes
66
+ ```
67
+
68
+ Do not auto-run the interactive walkthrough unless the user asks to address
69
+ the pending items now. Do not auto-clear review items under default mode or
70
+ `--yolo`.
71
+
55
72
  ## Output
56
73
 
57
74
  ```
@@ -9,7 +9,7 @@ description: |
9
9
 
10
10
  # /god-review
11
11
 
12
- Spawn two specialist review agents in fresh contexts via Task tool.
12
+ Spawn two specialist review agents in fresh contexts via the host platform's native agent spawning mechanism.
13
13
 
14
14
  ## Setup
15
15
 
@@ -9,7 +9,7 @@ description: |
9
9
 
10
10
  # /god-roadmap
11
11
 
12
- Spawn the **god-roadmapper** agent in a fresh context via Task tool.
12
+ Spawn the **god-roadmapper** agent in a fresh context via the host platform's native agent spawning mechanism.
13
13
 
14
14
  ## Setup
15
15
 
@@ -17,6 +17,19 @@ god-build, god-feature, god-hotfix etc. trigger automatically (per
17
17
  Phase 7 workflow integration). Useful when you want to refresh state
18
18
  between automatic triggers, or after manual code edits.
19
19
 
20
+ Because `/god-scan` calls the local reverse-sync runtime directly, it must be
21
+ explicit when no agent is spawned:
22
+
23
+ ```
24
+ Auto-invoked:
25
+ Trigger: /god-scan
26
+ Agent: none, local runtime only
27
+ Local syncs:
28
+ + reverse-sync: pending
29
+ Artifacts: pending
30
+ Log: REVIEW-REQUIRED.md if drift is found
31
+ ```
32
+
20
33
  ## Forms
21
34
 
22
35
  | Form | Action |
@@ -43,6 +56,17 @@ between automatic triggers, or after manual code edits.
43
56
  - Drift findings (errors, warnings, infos)
44
57
  - Footers updated
45
58
  - REVIEW-REQUIRED items added
59
+ 4. End with sync status:
60
+
61
+ ```
62
+ Sync status:
63
+ Trigger: /god-scan
64
+ Agent: none, local runtime only
65
+ Local syncs:
66
+ + reverse-sync: <scanned N files, updated M footers, populated K review items>
67
+ Artifacts: <changed linkage files, fenced artifacts, REVIEW-REQUIRED.md, or no-op>
68
+ Log: <REVIEW-REQUIRED.md or none>
69
+ ```
46
70
 
47
71
  ## Fence rules
48
72
 
@@ -9,7 +9,7 @@ description: |
9
9
 
10
10
  # /god-stack
11
11
 
12
- Spawn the **god-stack-selector** agent in a fresh context via Task tool.
12
+ Spawn the **god-stack-selector** agent in a fresh context via the host platform's native agent spawning mechanism.
13
13
 
14
14
  ## Setup
15
15
 
@@ -15,8 +15,12 @@ Re-derive state from disk. Your memory is not authoritative. The file system is.
15
15
 
16
16
  1. Check if `.godpowers/PROGRESS.md` exists
17
17
  - If not: "No Godpowers project found. Run `god init` to start."
18
- 2. Read PROGRESS.md for recorded state
19
- 3. Scan ALL artifact paths on disk:
18
+ 2. Resolve the runtime root and load `<runtimeRoot>/lib/dashboard.js`.
19
+ 3. Call `dashboard.compute(projectRoot)` and use the returned object as the
20
+ primary dashboard source.
21
+ 4. Read PROGRESS.md for recorded state when state.json is missing or when you
22
+ need to explain legacy progress.
23
+ 5. Scan ALL artifact paths on disk:
20
24
  - `.godpowers/prd/PRD.md`
21
25
  - `.godpowers/arch/ARCH.md`
22
26
  - `.godpowers/roadmap/ROADMAP.md`
@@ -27,31 +31,45 @@ Re-derive state from disk. Your memory is not authoritative. The file system is.
27
31
  - `.godpowers/observe/STATE.md`
28
32
  - `.godpowers/launch/STATE.md`
29
33
  - `.godpowers/harden/FINDINGS.md`
30
- 4. For each artifact found: run a lightweight have-nots check
31
- 5. Compare disk state to PROGRESS.md state:
34
+ - `.godpowers/SYNC-LOG.md`
35
+ - `.godpowers/CHECKPOINT.md`
36
+ 6. For each artifact found: run a lightweight have-nots check
37
+ 7. Compare disk state to PROGRESS.md state:
32
38
  - If PROGRESS.md says "done" but artifact is missing: FLAG as phantom resume
33
39
  - If artifact exists but PROGRESS.md says "pending": FLAG as untracked work
34
- 6. Report:
40
+ 8. Report the Godpowers Dashboard from `dashboard.render(result)`:
35
41
  - Current mode and scale
42
+ - Current phase, tier number, step label, and step number
36
43
  - Progress summary: percentage, completed step count, current step number
37
44
  - Planning visibility: PRD status, roadmap status, active milestone, and
38
45
  completion basis
39
46
  - What happened recently, using CHECKPOINT.md actions when available
47
+ - Last sync status, using SYNC-LOG.md when available
48
+ - Proactive opportunities based on the auto-invoke policy
40
49
  - What happens next, using routing and disk state
41
50
  - Per-tier status (with disk verification)
42
51
  - Any inconsistencies between PROGRESS.md and disk
43
52
  - Suggested next action
44
- 7. If inconsistencies found: offer to repair PROGRESS.md to match disk truth
53
+ 9. If inconsistencies found: offer to repair PROGRESS.md to match disk truth
54
+
55
+ If the runtime module is unavailable, fall back to the manual scan below and
56
+ say `Dashboard engine: unavailable, manual scan used`.
45
57
 
46
58
  ## Output Format
47
59
 
48
- ```
49
- Godpowers Status
60
+ ```text
61
+ Godpowers Dashboard
50
62
 
51
63
  Mode: A (greenfield) Scale: medium
52
64
  Started: 2026-05-09
53
- Progress: 15% (2 of 13 steps complete; current step 3 of 13)
54
- Current: Tier 1 Planning / Architecture
65
+
66
+ Current status:
67
+ State: in progress
68
+ Phase: Planning (tier 2 of 4, internal tier-1)
69
+ Step: Architecture (step 3 of 13)
70
+ Progress: 15% (2 of 13 steps complete)
71
+ Worktree: clean
72
+ Index: untouched
55
73
 
56
74
  Planning visibility:
57
75
  PRD: done .godpowers/prd/PRD.md
@@ -63,6 +81,26 @@ What happened recently:
63
81
  1. PRD artifact verified on disk
64
82
  2. Tier state refreshed from state.json
65
83
 
84
+ Last sync:
85
+ Trigger: /god-mode final sync
86
+ Agent: god-updater
87
+ Local syncs:
88
+ + reverse-sync: scanned 14 files, updated 2 footers, populated 0 review items
89
+ + pillars-sync: no-op
90
+ + checkpoint-sync: CHECKPOINT.md updated
91
+ + context-refresh: no-op
92
+ Log: .godpowers/SYNC-LOG.md
93
+
94
+ Proactive opportunities:
95
+ Checkpoint: fresh
96
+ Reviews: 5 pending, suggest /god-review-changes
97
+ Sync: fresh
98
+ Docs: possible drift, suggest /god-docs
99
+ Runtime: known local URL, suggest /god-test-runtime
100
+ Security: clear
101
+ Dependencies: clear
102
+ Hygiene: stale, suggest /god-hygiene
103
+
66
104
  What happens next:
67
105
  1. Run /god-arch
68
106
  2. Verify architecture artifact
@@ -97,7 +135,12 @@ Suite (Mode D) status:
97
135
  This repo is a sibling of suite "my-products" (hub: ../hub)
98
136
  Run /god-suite-status to see all 3 repos and meta-linter findings.
99
137
 
100
- Next: god roadmap
138
+ Open items:
139
+ 1. Roadmap and stack are still pending
140
+
141
+ Next:
142
+ Recommended: /god-roadmap
143
+ Why: architecture is done and the roadmap is the next planning gate.
101
144
  ```
102
145
 
103
146
  ## Proposition Closeout
@@ -117,6 +160,24 @@ Recommended: [one option and why it fits the disk-derived state]
117
160
  If inconsistencies are present, make `/god-repair` the partial option and do
118
161
  not recommend `/god-mode` until disk state is coherent.
119
162
 
163
+ ## Proactive Opportunity Rules
164
+
165
+ Use the master auto-invoke policy to populate `Proactive opportunities`.
166
+ `/god-status` is read-only by default, so it suggests Level 3 agents instead of
167
+ spawning them unless the user asked status to continue work.
168
+
169
+ Report:
170
+ - Checkpoint: `fresh`, `missing`, `stale`, or `conflicts with state.json`
171
+ - Reviews: `none` or `<N> pending, suggest /god-review-changes`
172
+ - Sync: `fresh`, `missing`, `stale`, or `suggest /god-sync`
173
+ - Docs: `fresh`, `possible drift, suggest /god-docs`, or
174
+ `docs drift-check already logged`
175
+ - Runtime: `not-applicable`, `known URL, suggest /god-test-runtime`, or
176
+ `no known URL, defer deployed verification`
177
+ - Security: `clear` or `sensitive files changed, suggest /god-harden`
178
+ - Dependencies: `clear` or `dependency files changed, suggest /god-update-deps`
179
+ - Hygiene: `fresh` or `stale, suggest /god-hygiene`
180
+
120
181
  ## Mode D awareness
121
182
 
122
183
  If `lib/multi-repo-detector.detect(projectRoot)` returns
@@ -37,6 +37,18 @@ User runs `/god-sync` after manual changes. Useful for:
37
37
  - Or: re-run reconciliation against current state to detect what changed
38
38
  - Recent commits for context
39
39
 
40
+ Before spawning, show a visible auto-invoke card:
41
+
42
+ ```
43
+ Auto-invoked:
44
+ Trigger: <manual /god-sync, recipe closeout, /god-mode final sync, or other source>
45
+ Agent: god-updater
46
+ Local syncs:
47
+ - pending: reverse-sync, pillars-sync, checkpoint-sync, context-refresh
48
+ Artifacts: pending
49
+ Log: .godpowers/SYNC-LOG.md
50
+ ```
51
+
40
52
  ## Verification
41
53
 
42
54
  After god-updater returns:
@@ -52,6 +64,21 @@ After god-updater returns:
52
64
  ```
53
65
  Sync complete.
54
66
 
67
+ Sync status:
68
+ Trigger: /god-mode final sync
69
+ Agent: god-updater spawned
70
+ Local syncs:
71
+ + reverse-sync: <scanned N files, updated M footers, populated K review items>
72
+ + pillars-sync: <updated N pillar files, no-op, or proposed>
73
+ + checkpoint-sync: <CHECKPOINT.md updated or skipped>
74
+ + context-refresh: <updated AGENTS.md/tool pointers, no-op, or skipped by setting>
75
+ Artifacts: <changed files, no-op, or deferred>
76
+ Log: .godpowers/SYNC-LOG.md
77
+
78
+ If this path ran only a local helper, say:
79
+ Agent: none, local runtime only
80
+ Why: this path called lib/reverse-sync.run directly
81
+
55
82
  Updated:
56
83
  - prd/PRD.md (added requirement P-MUST-12)
57
84
  - arch/ARCH.md (added ADR-007)
@@ -65,7 +92,13 @@ Updated:
65
92
  Have-nots: all passing
66
93
  SYNC-LOG.md updated.
67
94
 
68
- Suggested next: /god-status
95
+ Current status:
96
+ State: <complete | partial | blocked | no-op>
97
+ Progress: <pct>% when available
98
+
99
+ Next:
100
+ Recommended: /god-status
101
+ Why: verify the disk-derived state after sync.
69
102
  ```
70
103
 
71
104
  ## What this prevents
@@ -96,6 +96,32 @@ critical findings have the same gate semantics.
96
96
  | `/god-harden` | a11y portion | warning |
97
97
  | `/god-design` (post-change) | audit | warning |
98
98
 
99
+ Automatic runtime verification requires evidenced URL input:
100
+
101
+ - A local dev server URL from `state.json.dev-server.url`
102
+ - A deploy URL from `state.json.deploy.url`
103
+ - A user-provided URL in the current session
104
+ - A checked-in config or Godpowers artifact that explicitly identifies the URL
105
+ as current
106
+
107
+ If frontend-visible files changed but no URL is evidenced, do not guess. Add a
108
+ proactive suggestion for `/god-test-runtime` and explain what URL source is
109
+ missing. If only a local URL is evidenced, run local verification and defer
110
+ deployed staging verification until the user provides
111
+ `STAGING_APP_URL=<deployed staging origin>` or reaches final sign-off.
112
+
113
+ When auto-invoked, show:
114
+
115
+ ```text
116
+ Auto-invoked:
117
+ Trigger: frontend-visible files changed and URL was evidenced
118
+ Agent: god-browser-tester
119
+ Local syncs:
120
+ + runtime-verification: <audit | test | full pipeline>
121
+ Artifacts: .godpowers/runtime/<run-id>/
122
+ Log: .godpowers/runtime/<run-id>/summary.md
123
+ ```
124
+
99
125
  ## Output to events.jsonl
100
126
 
101
127
  ```json