forge-orkes 0.3.9 → 0.3.10

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.
@@ -5,30 +5,26 @@ description: "Sync Forge framework files from a local dev repo or NPM. Use when
5
5
 
6
6
  # Upgrading: Local Dev Sync
7
7
 
8
- Sync framework files from a local Forge source repo into the current project. Use this during Forge development to test changes without publishing to NPM.
8
+ Sync framework files from a local Forge source repo into the current project for testing without publishing to NPM.
9
9
 
10
- For published upgrades, use `npx forge-orkes upgrade` instead.
10
+ For published upgrades, use `npx forge-orkes upgrade`.
11
11
 
12
12
  ## Step 1: Resolve Source Path
13
13
 
14
14
  Check if `.forge/dev-source` exists in the project root.
15
15
 
16
- - **If it exists:** read the path from the file (first line, trimmed). Verify the path exists and contains `packages/create-forge/template/`.
17
- - **If it doesn't exist:** ask the user: *"Where is your local Forge repo? (e.g., ~/Dev/forge)"*
18
- - Validate the path has `packages/create-forge/template/`
19
- - Save the path to `.forge/dev-source` for next time
16
+ - **Exists:** Read the path (first line, trimmed). Confirm it contains `packages/create-forge/template/`.
17
+ - **Missing:** Ask the user for the local Forge repo path, validate it has `packages/create-forge/template/`, save to `.forge/dev-source`.
20
18
 
21
- The template directory is `{source}/packages/create-forge/template/`.
19
+ Template directory: `{source}/packages/create-forge/template/`.
22
20
 
23
21
  ## Step 2: File Classification
24
22
 
25
- Files are classified into three categories:
26
-
27
23
  | Category | Paths | Behavior |
28
24
  |----------|-------|----------|
29
- | **Framework-owned** | `.claude/agents/*.md`, `.claude/skills/*/SKILL.md` | Overwrite — these are Forge's |
25
+ | **Framework-owned** | `.claude/agents/*.md`, `.claude/skills/*/SKILL.md` | Overwrite |
30
26
  | **Merge-owned** | `CLAUDE.md`, `.claude/settings.json` | Never auto-overwrite |
31
- | **Template-only** | `.forge/templates/**` | Overwrite — reference templates |
27
+ | **Template-only** | `.forge/templates/**` | Overwrite |
32
28
 
33
29
  **Never touch** user-generated files: `.forge/project.yml`, `.forge/state/`, `.forge/constitution.md`, `.forge/context.md`, `.forge/requirements.yml`, `.forge/roadmap.yml`, `.forge/design-system.md`, `.forge/refactor-backlog.yml`.
34
30
 
@@ -36,34 +32,30 @@ Files are classified into three categories:
36
32
 
37
33
  For each framework-owned file in the source template:
38
34
 
39
- 1. Read the source file content
40
- 2. Read the local file content (if it exists)
41
- 3. If different overwrite local with source, report as **updated**
42
- 4. If same → report as **unchanged**
43
- 5. If source has a new file not in localcopy it, report as **added**
44
- 6. If local has a file not in source → report as **removed from template** (don't delete — let user decide)
35
+ 1. Read source and local content
36
+ 2. Different overwrite local, report **updated**
37
+ 3. Same → report **unchanged**
38
+ 4. Source has new file copy, report **added**
39
+ 5. Local has file not in sourcereport **removed from template** (don't delete -- let user decide)
45
40
 
46
41
  ## Step 4: Sync Template-Only Files
47
42
 
48
- Same process as Step 3, but for `.forge/templates/**`.
43
+ Same process as Step 3 for `.forge/templates/**`.
49
44
 
50
45
  ## Step 5: Handle Merge-Owned Files
51
46
 
52
- For `CLAUDE.md`:
47
+ **`CLAUDE.md`:**
53
48
  1. Read source and local versions
54
- 2. If different → **do not overwrite**. Instead, summarize what changed in prose (new sections, removed sections, modified text)
55
- 3. Present the summary to the user and let them decide how to merge
49
+ 2. If different → summarize changes (new/removed/modified sections) and let the user decide how to merge. Do not overwrite.
56
50
 
57
- For `.claude/settings.json`:
51
+ **`.claude/settings.json`:**
58
52
  1. Read source and local versions
59
- 2. Compare the `forge.*` keys only
60
- 3. If forge keys differ → update only `forge.*` keys in local, preserve user's `hooks` and any other custom keys
61
- 4. Update `forge.version` to match the source package version
53
+ 2. Compare `forge.*` keys only
54
+ 3. If different → update `forge.*` keys in local, preserve user's `hooks` and custom keys
55
+ 4. Set `forge.version` to match the source package version
62
56
 
63
57
  ## Step 6: Report
64
58
 
65
- Present a summary:
66
-
67
59
  ```
68
60
  Forge Local Sync Complete
69
61
  ─────────────────────────
@@ -1,86 +1,69 @@
1
1
  ---
2
2
  name: verifying
3
- description: "Use when work is complete and you need to prove it actually works. Trigger after execution: does the code meet original requirements? Not 'did we complete tasks' but 'does it work?' This skill enforces goal-backward verification with 3 levels: Observable Truths, Artifacts, and Key Links."
3
+ description: "Prove completed work delivers what was promised. Goal-backward verification with 3 levels: Observable Truths, Artifacts, and Key Links. Task completion ≠ goal achievement."
4
4
  ---
5
5
 
6
6
  # Verifying
7
7
 
8
- Prove completed work actually delivers what was promised. Task completion ≠ goal achievement.
8
+ Prove completed work delivers what was promised. Task completion ≠ goal achievement.
9
9
 
10
10
  ## Core Question
11
11
 
12
- Don't ask: "Did we complete all the tasks?"
13
- Ask: "Does the user get what they were promised?"
12
+ Not "Did we complete all tasks?" but "Does the user get what they were promised?"
14
13
 
15
14
  ## Load Context
16
15
 
17
- When entering with a fresh context (after `/clear`):
16
+ After `/clear`, load with fresh eyes don't carry the executor's assumptions:
18
17
 
19
18
  ```
20
19
  Read: .forge/state/milestone-{id}.yml → current phase, plans completed
21
20
  Read: .forge/project.yml → tech stack (for running tests)
22
21
  Read: .forge/phases/m{M}-{N}-{name}/plan-{NN}.md → must_haves (truths, artifacts, key_links)
23
- Read: .forge/context.md → locked decisions (to understand intent)
22
+ Read: .forge/context.md → locked decisions
24
23
  Read: .forge/requirements.yml → requirement IDs for coverage check
25
24
  ```
26
25
 
27
- This is critical — the verifier should assess the code with fresh eyes, not carry the executor's assumptions. Load must_haves from the plan files and verify against the actual codebase.
28
-
29
26
  ## 3-Level Goal-Backward Verification
30
27
 
31
28
  ### Level 1: Observable Truths
32
29
 
33
30
  Read the plan's `must_haves.truths`. For each truth:
34
31
 
35
- 1. Design a test (automated or manual) that proves/disproves it
32
+ 1. Design a test that proves/disproves it
36
33
  2. Run the test
37
- 3. Record result: **VERIFIED** | **FAILED** | **UNCERTAIN**
34
+ 3. Record: **VERIFIED** | **FAILED** | **UNCERTAIN**
38
35
 
39
36
  ```markdown
40
37
  | Truth | Test | Result |
41
38
  |-------|------|--------|
42
- | User can see their profile | Navigate to /profile, check render | VERIFIED |
43
- | User can edit their bio | Click edit, type, save, verify persistence | VERIFIED |
44
- | Profile photo uploads correctly | Upload image, check display | FAILED — 413 error on large files |
39
+ | User can edit their bio | Click edit, type, save, check persistence | VERIFIED |
40
+ | Profile photo uploads correctly | Upload image, check display | FAILED 413 on large files |
45
41
  ```
46
42
 
47
43
  ### Level 2: Artifacts (Exists → Substantive → Wired)
48
44
 
49
- Read the plan's `must_haves.artifacts`. For each artifact:
45
+ Read the plan's `must_haves.artifacts`. For each:
50
46
 
51
47
  | Check | Question | Pass Criteria |
52
48
  |-------|----------|---------------|
53
- | **Exists** | Does the file exist? | File present at specified path |
54
- | **Substantive** | Is it real code, not a stub? | Exceeds min_lines, no placeholder text, real logic |
55
- | **Wired** | Is it imported and used by other code? | Has importers, called in production paths |
49
+ | **Exists** | Does the file exist? | Present at specified path |
50
+ | **Substantive** | Real code, not a stub? | Exceeds min_lines, no placeholders, real logic |
51
+ | **Wired** | Imported and used? | Has importers, called in production paths |
56
52
 
57
53
  ```markdown
58
54
  | Artifact | Exists | Substantive | Wired | Status |
59
55
  |----------|--------|-------------|-------|--------|
60
56
  | src/components/Profile.tsx | ✓ | ✓ (87 lines) | ✓ (imported in routes) | VERIFIED |
61
- | src/api/users/[id].ts | ✓ | ✓ (43 lines) | ✓ (called by Profile) | VERIFIED |
62
57
  | src/hooks/useProfile.ts | ✓ | ✗ (returns {}) | - | STUB |
63
58
  ```
64
59
 
65
60
  ### Stub Detection Red Flags
66
61
 
67
- Watch for these patterns that indicate stubs, not real implementations:
68
-
69
- **React components:**
70
- - `<div>Component</div>` or `<div>Placeholder</div>`
71
- - `onClick={() => {}}` (empty handler)
72
- - `onChange={() => console.log()}` (logging-only handler)
73
- - Hardcoded data instead of API calls
62
+ **React components:** `<div>Placeholder</div>`, `onClick={() => {}}`, `onChange={() => console.log()}`, hardcoded data instead of API calls
74
63
 
75
- **API endpoints:**
76
- - `return Response.json({ message: "Not implemented" })`
77
- - Empty arrays without database queries
78
- - TODO comments in response path
64
+ **API endpoints:** `return Response.json({ message: "Not implemented" })`, empty arrays without DB queries, TODO in response path
79
65
 
80
- **Wiring:**
81
- - `fetch()` without await/then
82
- - Query without returning result
83
- - Form with only `preventDefault`
66
+ **Wiring:** `fetch()` without await/then, query without returning result, form with only `preventDefault`
84
67
 
85
68
  ### Level 3: Key Links
86
69
 
@@ -88,8 +71,8 @@ Read the plan's `must_haves.key_links`. Verify each connection:
88
71
 
89
72
  | Pattern | How to Verify |
90
73
  |---------|---------------|
91
- | Component → API | Find fetch/axios call in component pointing to API route |
92
- | API → Database | Find ORM/query call in API handler returning data |
74
+ | Component → API | Find fetch/axios call pointing to API route |
75
+ | API → Database | Find ORM/query call returning data |
93
76
  | Form → Handler | Find onSubmit with API call and response handling |
94
77
  | State → Render | Find state variable used in JSX (not just declared) |
95
78
 
@@ -97,12 +80,11 @@ Read the plan's `must_haves.key_links`. Verify each connection:
97
80
  | From | To | Via | Pattern | Status |
98
81
  |------|----|-----|---------|--------|
99
82
  | Profile.tsx | /api/users/[id] | fetch in useEffect | fetch.*api/users | VERIFIED |
100
- | ProfileForm.tsx | /api/users/[id] | PUT on submit | method.*PUT | VERIFIED |
101
83
  ```
102
84
 
103
85
  ## Anti-Pattern Scan
104
86
 
105
- After 3-level verification, scan for common issues:
87
+ After 3-level verification:
106
88
 
107
89
  - [ ] No `TODO` or `FIXME` in production code paths
108
90
  - [ ] No `console.log` as error handling
@@ -112,27 +94,24 @@ After 3-level verification, scan for common issues:
112
94
 
113
95
  ## Requirements Coverage
114
96
 
115
- Cross-reference verified work against `.forge/requirements.yml`:
97
+ Cross-reference against `.forge/requirements.yml`:
116
98
 
117
99
  ```markdown
118
100
  | Requirement | Status | Evidence |
119
101
  |-------------|--------|----------|
120
102
  | FR-001 | Verified | Profile renders, tests pass |
121
- | FR-002 | Verified | Edit flow works end-to-end |
122
103
  | FR-003 | Partial | Upload works for small files, fails > 5MB |
123
104
  ```
124
105
 
125
106
  ## Verdict
126
107
 
127
- Based on all verification levels:
128
-
129
108
  ### PASSED
130
109
  All truths verified, all artifacts substantive and wired, all key links connected, requirements covered.
131
- → Route to `reviewing` skill for health audit + refactoring review before milestone completion.
110
+ → Route to `reviewing` skill for health audit + refactoring review.
132
111
 
133
112
  ### GAPS FOUND
134
113
  Some truths failed or artifacts are stubs.
135
- → Document gaps in YAML format:
114
+ → Document gaps:
136
115
 
137
116
  ```yaml
138
117
  gaps:
@@ -150,8 +129,8 @@ gaps:
150
129
  → Return to `planning` skill in gap-closure mode.
151
130
 
152
131
  ### HUMAN VERIFICATION NEEDED
153
- Some items can't be verified automatically (visual appearance, real-time behavior, external service integration).
154
- → List items for user to verify manually:
132
+ Items that can't be verified automatically (visual appearance, real-time behavior, external services).
133
+ → List for manual check:
155
134
 
156
135
  ```markdown
157
136
  ## Human Verification Items
@@ -162,68 +141,61 @@ Some items can't be verified automatically (visual appearance, real-time behavio
162
141
 
163
142
  ## Re-Verification Mode
164
143
 
165
- When re-verifying after gap closure:
144
+ After gap closure:
166
145
  1. Load previous verification results
167
146
  2. Full 3-level check on previously failed items
168
- 3. Quick regression check on previously passed items (exists + basic sanity)
169
- 4. Merge results and issue updated verdict
147
+ 3. Quick regression check on passed items (exists + basic sanity)
148
+ 4. Merge results, issue updated verdict
170
149
 
171
150
  ## Desire Paths Retrospective
172
151
 
173
- After completing verification (PASSED or GAPS FOUND), do a quick retrospective on framework usage patterns. This takes 1-2 minutes and feeds the framework's self-improvement loop.
152
+ After verification completes (PASSED or GAPS FOUND), run a quick retrospective on framework usage patterns. Update `.forge/state/index.yml desire_paths` (global, not per-milestone).
174
153
 
175
154
  ### Collect Signals
176
155
 
177
- Review the current session and update `.forge/state/index.yml → desire_paths` (desire paths are global, not per-milestone):
156
+ **1. Deviation patterns**: Read `.forge/state/milestone-{id}.yml → deviations`. Repeating?
157
+ - Same Rule 1 fix in multiple places → plan template should include this check
158
+ - Same Rule 2 addition everywhere → constitution needs a new article
159
+ - Same Rule 3 issue → project setup is missing something
178
160
 
179
- **1. Deviation patterns**: Read `.forge/state/milestone-{id}.yml deviations` from this session. Are any repeating?
180
- - Same Rule 1 fix in multiple places → maybe the plan template should include this check
181
- - Same Rule 2 addition everywhere → maybe the constitution needs a new article
182
- - Same Rule 3 issue → maybe the project setup is missing something
161
+ **2. Tier overrides**: User override tier detection? Log detected vs. chosen. Repeated overrides = wrong heuristics.
183
162
 
184
- **2. Tier overrides**: Did the user override tier detection this session? Log what was detected vs. chosen. Repeated overrides mean the detection heuristics are wrong.
163
+ **3. Skipped steps**: User ask to skip workflow steps? Repeated skips = friction without value.
185
164
 
186
- **3. Skipped steps**: Did the user ask to skip any workflow steps? (e.g., "skip the constitution check", "don't need a full research phase"). Repeated skips mean the step adds friction without value for this project type.
165
+ **4. Recurring friction**: Same problem from previous sessions? Check prior `desire_paths`. Increment counts.
187
166
 
188
- **4. Recurring friction**: Did the same problem come up that appeared in previous sessions? Check previous `desire_paths` entries. Increment occurrence counts.
167
+ **5. Agent struggles**: Agent need multiple attempts or human intervention? Log task type and failure pattern.
189
168
 
190
- **5. Agent struggles**: Did any agent need multiple attempts or human intervention to complete a task? Log the task type and failure pattern.
191
-
192
- **6. User corrections**: Did the user correct the same thing multiple times? (e.g., "remember to use the Card component, not a div", "always add error boundaries"). These are implicit rules that should become explicit.
169
+ **6. User corrections**: User correct the same thing multiple times? Implicit rules that should become explicit.
193
170
 
194
171
  ### Surface Recommendations
195
172
 
196
- When any pattern reaches **3+ occurrences**, surface it to the user:
197
-
198
- *"I've noticed a recurring pattern: [{description}] has come up {N} times now. This suggests we should evolve the framework. Options:"*
173
+ When any pattern reaches **3+ occurrences**, surface it:
199
174
 
200
175
  | Pattern Type | Suggested Evolution |
201
176
  |-------------|-------------------|
202
- | Repeated deviations | Add pre-check to planning skill, or new constitutional article |
177
+ | Repeated deviations | Add pre-check to planning, or new constitutional article |
203
178
  | Tier overrides | Adjust detection heuristics in forge skill |
204
- | Skipped steps | Make step optional for this project type, or merge into another step |
205
- | Recurring friction | Add specific guidance to relevant skill, or create a new template |
206
- | Agent struggles | Add examples or anti-patterns to the skill that handles this task |
207
- | User corrections | Add as a rule to constitution, context.md, or the relevant skill |
179
+ | Skipped steps | Make step optional, or merge into another step |
180
+ | Recurring friction | Add guidance to relevant skill, or create a template |
181
+ | Agent struggles | Add examples or anti-patterns to the relevant skill |
182
+ | User corrections | Add rule to constitution, context.md, or relevant skill |
208
183
 
209
- **Concrete actions the user can approve:**
210
- - *"Should I add 'always use Card component for content containers' to the design-system.md?"*
211
- - *"Should I add a null-check verification step to the planning template?"*
212
- - *"Should I make the research phase optional for Standard tier in this project?"*
213
- - *"Should I add a new constitutional article: 'Error Boundaries Required'?"*
184
+ Propose concrete actions:
185
+ - *"Add 'always use Card component for content containers' to design-system.md?"*
186
+ - *"Add null-check verification step to planning template?"*
187
+ - *"Make research phase optional for Standard tier in this project?"*
214
188
 
215
- Only suggest changes when there's clear evidence (3+ occurrences). One-off issues are noise, not signal.
189
+ Only suggest at 3+ occurrences. One-off issues are noise.
216
190
 
217
191
  ## Phase Handoff
218
192
 
219
- After verification completes with a PASSED verdict:
193
+ After PASSED verdict:
220
194
 
221
- 1. **Verify persistence** — Confirm verification results are documented, desire paths retrospective is logged to `.forge/state/index.yml`
195
+ 1. **Persist** — Confirm verification results documented, desire paths logged to `.forge/state/index.yml`
222
196
  2. **Update state** — Set `current.status` to `reviewing` in `.forge/state/milestone-{id}.yml`
223
197
  3. **Recommend context clear:**
224
198
 
225
- *"Verification phase complete — all truths verified, artifacts substantive and wired. I recommend clearing context (`/clear`) before the review the reviewing skill spawns fresh subagents anyway, and a clean orchestrator context ensures nothing is missed.*
226
-
227
- *Ready to continue? Clear context and invoke `/forge` to resume."*
199
+ *"Verification passed. State written. `/clear` then `/forge` to continue with reviewing."*
228
200
 
229
- Note: If verification found GAPS, route back to planning in gap-closure mode instead. The context clear recommendation applies after the re-verified PASSED verdict.
201
+ If GAPS found, route back to planning in gap-closure mode. Context clear applies after re-verified PASSED verdict.