@codeyam/codeyam-cli 0.1.18 → 0.1.20

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.
Files changed (85) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +1 -1
  4. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +9 -6
  5. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +9 -12
  6. package/analyzer-template/packages/database/package.json +1 -1
  7. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +19 -15
  8. package/analyzer-template/packages/database/src/lib/loadEntity.ts +8 -4
  9. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  10. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +1 -1
  11. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  12. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -1
  13. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js +1 -1
  14. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -1
  15. package/analyzer-template/project/analyzeFileEntities.ts +26 -0
  16. package/background/src/lib/virtualized/project/analyzeFileEntities.js +22 -0
  17. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  18. package/codeyam-cli/src/cli.js +15 -0
  19. package/codeyam-cli/src/cli.js.map +1 -1
  20. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +9 -9
  21. package/codeyam-cli/src/commands/editor.js +570 -300
  22. package/codeyam-cli/src/commands/editor.js.map +1 -1
  23. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +273 -1
  24. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -1
  25. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js +67 -0
  26. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js.map +1 -0
  27. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +20 -0
  28. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -1
  29. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +16 -1
  30. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -1
  31. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js +84 -0
  32. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js.map +1 -0
  33. package/codeyam-cli/src/utils/analysisRunner.js +8 -6
  34. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  35. package/codeyam-cli/src/utils/editorAudit.js +73 -4
  36. package/codeyam-cli/src/utils/editorAudit.js.map +1 -1
  37. package/codeyam-cli/src/utils/editorGuard.js +36 -0
  38. package/codeyam-cli/src/utils/editorGuard.js.map +1 -0
  39. package/codeyam-cli/src/utils/editorScenarios.js +37 -5
  40. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -1
  41. package/codeyam-cli/src/utils/queue/job.js +6 -3
  42. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  43. package/codeyam-cli/src/utils/screenshotHash.js +26 -0
  44. package/codeyam-cli/src/utils/screenshotHash.js.map +1 -0
  45. package/codeyam-cli/src/utils/simulationGateMiddleware.js +9 -0
  46. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -1
  47. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +28 -1
  48. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -1
  49. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +38 -7
  50. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -1
  51. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js +135 -0
  52. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js.map +1 -0
  53. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +12 -0
  54. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -1
  55. package/codeyam-cli/src/webserver/build/client/assets/{editor.entity.(_sha)-Bnx7yUP0.js → editor.entity.(_sha)-DII1pg_z.js} +13 -13
  56. package/codeyam-cli/src/webserver/build/client/assets/globals-Yn9W3zp3.css +1 -0
  57. package/codeyam-cli/src/webserver/build/client/assets/{manifest-b9d4d267.js → manifest-cdf2c0a7.js} +1 -1
  58. package/codeyam-cli/src/webserver/build/client/assets/{root-DB3O9_9j.js → root-BxUQigda.js} +5 -5
  59. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-B_PsTAb1.js +13 -0
  60. package/codeyam-cli/src/webserver/build/server/assets/{index-D4meMKy3.js → index-CjLhfz6Z.js} +1 -1
  61. package/codeyam-cli/src/webserver/build/server/assets/{init-odGJ_c2-.js → init-BEqlbI84.js} +1 -1
  62. package/codeyam-cli/src/webserver/build/server/assets/{server-build-TmPfF7pT.js → server-build-YI63xTu4.js} +112 -111
  63. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  64. package/codeyam-cli/src/webserver/build-info.json +5 -5
  65. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +17 -0
  66. package/codeyam-cli/src/webserver/server.js +52 -14
  67. package/codeyam-cli/src/webserver/server.js.map +1 -1
  68. package/codeyam-cli/src/webserver/terminalServer.js +129 -22
  69. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -1
  70. package/codeyam-cli/templates/__tests__/editor-step-hook.prompt-capture.test.ts +118 -0
  71. package/codeyam-cli/templates/codeyam-editor-claude.md +2 -0
  72. package/codeyam-cli/templates/codeyam-editor-reference.md +1 -1
  73. package/codeyam-cli/templates/editor-step-hook.py +93 -46
  74. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +19 -1
  75. package/package.json +1 -1
  76. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +2 -2
  77. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  78. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +9 -7
  79. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  80. package/packages/database/src/lib/loadAnalysis.js +1 -1
  81. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  82. package/packages/database/src/lib/loadEntity.js +1 -1
  83. package/packages/database/src/lib/loadEntity.js.map +1 -1
  84. package/codeyam-cli/src/webserver/build/client/assets/globals-fAqOD9ex.css +0 -1
  85. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-CGwTN3V2.js +0 -13
@@ -0,0 +1,118 @@
1
+ import { execFileSync } from 'child_process';
2
+ import fs from 'fs';
3
+ import os from 'os';
4
+ import path from 'path';
5
+
6
+ /**
7
+ * Tests for the prompt capture logic in editor-step-hook.py.
8
+ *
9
+ * The hook captures the user's feature request text on UserPromptSubmit events
10
+ * and writes it to `.codeyam/editor-user-prompt.txt`. This prompt is later
11
+ * recorded in the journal entry.
12
+ *
13
+ * The critical invariant: when a new feature starts (previous feature at step 18
14
+ * or no state file), the hook must overwrite the stale prompt from the previous
15
+ * feature — not skip writing because the file already exists.
16
+ */
17
+ describe('editor-step-hook prompt capture', () => {
18
+ const hookPath = path.join(__dirname, '..', 'editor-step-hook.py');
19
+ let tmpDir: string;
20
+ let codeyamDir: string;
21
+ let promptPath: string;
22
+ let statePath: string;
23
+
24
+ beforeEach(() => {
25
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'hook-prompt-test-'));
26
+ codeyamDir = path.join(tmpDir, '.codeyam');
27
+ fs.mkdirSync(codeyamDir, { recursive: true });
28
+ promptPath = path.join(codeyamDir, 'editor-user-prompt.txt');
29
+ statePath = path.join(codeyamDir, 'editor-step.json');
30
+ });
31
+
32
+ afterEach(() => {
33
+ fs.rmSync(tmpDir, { recursive: true, force: true });
34
+ });
35
+
36
+ function runHook(input: object): string {
37
+ try {
38
+ return execFileSync('python3', [hookPath], {
39
+ input: JSON.stringify(input),
40
+ env: {
41
+ ...process.env,
42
+ CODEYAM_EDITOR_ACTIVE: '1',
43
+ CLAUDE_PROJECT_DIR: tmpDir,
44
+ },
45
+ encoding: 'utf8',
46
+ timeout: 5000,
47
+ });
48
+ } catch (e: unknown) {
49
+ // Hook may exit with non-zero or produce stderr; capture stdout
50
+ return (e as { stdout?: string }).stdout || '';
51
+ }
52
+ }
53
+
54
+ function writeState(step: number, label: string): void {
55
+ fs.writeFileSync(
56
+ statePath,
57
+ JSON.stringify({ step, label, feature: 'Test Feature' }),
58
+ );
59
+ }
60
+
61
+ it('should capture the first user prompt when no prompt file exists', () => {
62
+ // No state file, no prompt file — brand new session
63
+ runHook({ prompt: 'CUJ 28 — Add author column to library table' });
64
+
65
+ expect(fs.existsSync(promptPath)).toBe(true);
66
+ expect(fs.readFileSync(promptPath, 'utf8')).toBe(
67
+ 'CUJ 28 — Add author column to library table',
68
+ );
69
+ });
70
+
71
+ it('should NOT overwrite prompt during an active feature (step < 18)', () => {
72
+ // Feature in progress at step 5
73
+ writeState(5, 'Confirm');
74
+ fs.writeFileSync(promptPath, 'Original feature request');
75
+
76
+ runHook({ prompt: 'ok sounds good' });
77
+
78
+ expect(fs.readFileSync(promptPath, 'utf8')).toBe(
79
+ 'Original feature request',
80
+ );
81
+ });
82
+
83
+ it('should overwrite stale prompt when previous feature is done (step >= 18)', () => {
84
+ // Previous feature completed (step 18), prompt file has stale content
85
+ writeState(18, 'Push');
86
+ fs.writeFileSync(promptPath, 'Previous feature request — STALE');
87
+
88
+ runHook({ prompt: 'CUJ 29 — User can write notes about articles' });
89
+
90
+ expect(fs.readFileSync(promptPath, 'utf8')).toBe(
91
+ 'CUJ 29 — User can write notes about articles',
92
+ );
93
+ });
94
+
95
+ it('should overwrite stale prompt when no state file exists (between features)', () => {
96
+ // State file was cleared (between features), but prompt file persists
97
+ fs.writeFileSync(promptPath, 'Previous feature request — STALE');
98
+ // No state file — it was deleted
99
+
100
+ runHook({ prompt: 'CUJ 30 — New article highlights in collections' });
101
+
102
+ expect(fs.readFileSync(promptPath, 'utf8')).toBe(
103
+ 'CUJ 30 — New article highlights in collections',
104
+ );
105
+ });
106
+
107
+ it('should NOT capture slash commands as user prompts', () => {
108
+ runHook({ prompt: '/codeyam-dev-mode' });
109
+
110
+ expect(fs.existsSync(promptPath)).toBe(false);
111
+ });
112
+
113
+ it('should NOT capture empty prompts', () => {
114
+ runHook({ prompt: ' ' });
115
+
116
+ expect(fs.existsSync(promptPath)).toBe(false);
117
+ });
118
+ });
@@ -26,6 +26,8 @@ A **scenario** is a named set of data that drives how the app renders. Scenarios
26
26
  - **App-level scenarios**: Full application state — what the database contains, what API responses return. Example: "Empty Dashboard", "Dashboard with 50 Tasks", "Dashboard with Overdue Tasks"
27
27
  - **Component-level scenarios**: Props for a single component in isolation. Example: "TaskCard - Default", "TaskCard - Overdue", "TaskCard - Completed"
28
28
 
29
+ **Name scenarios by data state** ("Rich Data", "Empty", "Mobile"), not by feature. When adding a feature, enhance an existing scenario's data — rename it if the scope has grown.
30
+
29
31
  **Only create scenarios for states the current code can render.** If you seed 10 articles but the app doesn't have an article list component yet, the screenshot will show an empty page — that's a broken scenario. After registering, always view the captured screenshot to verify the data is actually visible.
30
32
 
31
33
  **Always register scenarios with CodeYam** using the CLI:
@@ -73,7 +73,7 @@ All commands use the pattern `codeyam editor <subcommand>`.
73
73
 
74
74
  | Command | Description |
75
75
  | ------------------------------------------------------- | --------------------------------------------------------------- |
76
- | `codeyam editor <1-16>` | Jump to a specific editor workflow step |
76
+ | `codeyam editor <1-18>` | Jump to a specific editor workflow step |
77
77
  | `codeyam editor steps` | Show setup overview or cycle progress |
78
78
  | `codeyam editor change <feature>` | Start the change workflow for modifying features |
79
79
  | `codeyam editor sync` | Import scenarios from manifest into database (used after clone) |
@@ -15,40 +15,44 @@ from datetime import datetime, timezone
15
15
 
16
16
  STEP_LABELS = {
17
17
  1: "Plan",
18
- 2: "Prototype",
19
- 3: "Confirm",
20
- 4: "Deconstruct",
21
- 5: "Extract",
22
- 6: "Glossary",
23
- 7: "Analyze",
24
- 8: "App Scenarios",
25
- 9: "User Scenarios",
26
- 10: "Verify",
27
- 11: "Journal",
28
- 12: "Review",
29
- 13: "Present",
30
- 14: "Commit",
31
- 15: "Finalize",
32
- 16: "Push",
18
+ 2: "Prepare",
19
+ 3: "Prototype",
20
+ 4: "Verify Prototype",
21
+ 5: "Confirm",
22
+ 6: "Deconstruct",
23
+ 7: "Extract",
24
+ 8: "Glossary",
25
+ 9: "Analyze",
26
+ 10: "App Scenarios",
27
+ 11: "User Scenarios",
28
+ 12: "Verify",
29
+ 13: "Journal",
30
+ 14: "Review",
31
+ 15: "Present",
32
+ 16: "Commit",
33
+ 17: "Finalize",
34
+ 18: "Push",
33
35
  }
34
36
 
35
37
  STEP_RESTRICTIONS = {
36
38
  1: "Do NOT write any code. Plan and describe only. Wait for user confirmation.",
37
- 2: "Do NOT create scenarios or run codeyam analyze. Build fast working prototype with real data.",
38
- 3: "Present a selection menu (AskUserQuestion) for confirmation. Do NOT refactor or create scenarios until approved.",
39
- 4: "Do NOT write any code. Read every file, identify all extractable pieces, write a numbered plan. Planning only.",
40
- 5: "Execute the extraction plan from step 4. Components first (no tests), then library functions via TDD. Page files must contain ZERO direct JSX.",
41
- 6: "Do NOT write application code or scenarios. Update the glossary only.",
42
- 7: "Create isolation routes for visual components, run tests for library functions. Register component scenarios via codeyam editor register.",
43
- 8: "Do NOT modify application code. Create and register app-level scenarios only.",
44
- 9: "Do NOT modify application code. Create user-persona scenarios only (or skip if no users).",
45
- 10: "Verify component isolation screenshots AND editor scenarios. After ANY code fix, re-register affected components. Fix only — do NOT add features.",
46
- 11: "Create or update the journal entry for this feature. Do NOT create a duplicate check if one exists first.",
47
- 12: "Verify ALL screenshots exist and NO client-side errors (/api/editor-client-errors). Run codeyam editor audit. Do not proceed until all checks pass.",
48
- 13: "Show the results panel, present summary, then selection menu (AskUserQuestion): Save or make changes.",
49
- 14: "Hide the results panel and commit all changes. Do NOT push that happens in step 16.",
50
- 15: "Update the journal entry with the commit SHA and amend the commit to include the journal update.",
51
- 16: "Check for a git remote and offer to push. WAIT for the user's answer before starting the next feature.",
39
+ 2: "Do NOT write any code or build features. Set up the project and prepare the database only.",
40
+ 3: "Do NOT create scenarios or run codeyam analyze. Build fast working prototype with real data.",
41
+ 4: "Verify the prototype works. Do NOT add features only fix broken functionality.",
42
+ 5: "Present a selection menu (AskUserQuestion) for confirmation. Do NOT refactor or create scenarios until approved.",
43
+ 6: "Do NOT write any code. Read every file, identify all extractable pieces, write a numbered plan. Planning only.",
44
+ 7: "Execute the extraction plan from step 6. Components first (no tests), then library functions via TDD. Page files must contain ZERO direct JSX.",
45
+ 8: "Do NOT write application code or scenarios. Update the glossary only.",
46
+ 9: "Create isolation routes for visual components, run tests for library functions. Register component scenarios via codeyam editor register.",
47
+ 10: "Do NOT modify application code. Create and register app-level scenarios only.",
48
+ 11: "Do NOT modify application code. Create user-persona scenarios only (or skip if no users).",
49
+ 12: "Verify component isolation screenshots AND editor scenarios. After ANY code fix, re-register affected components. Fix only do NOT add features.",
50
+ 13: "Create or update the journal entry for this feature. Do NOT create a duplicate check if one exists first.",
51
+ 14: "Verify ALL screenshots exist and NO client-side errors (/api/editor-client-errors). Run codeyam editor audit. Do not proceed until all checks pass.",
52
+ 15: "Show the results panel, present summary, then selection menu (AskUserQuestion): Save or make changes.",
53
+ 16: "Hide the results panel and commit all changes. Do NOT push that happens in step 18.",
54
+ 17: "Update the journal entry with the commit SHA and amend the commit to include the journal update.",
55
+ 18: "Check for a git remote and offer to push. WAIT for the user's answer before starting the next feature.",
52
56
  }
53
57
 
54
58
  MIGRATION_STEP_LABELS = {
@@ -127,18 +131,34 @@ def main():
127
131
  # Detect event early so we can capture the user prompt even before state exists
128
132
  event_type, event_data = detect_event()
129
133
 
130
- # Capture the very first real user prompt (before state file may exist).
131
- # Save to a separate file so it persists across state transitions.
134
+ # Capture the user's feature request prompt.
135
+ # Write when: (a) no prompt file yet, (b) no state file (between features),
136
+ # or (c) previous feature is done (step >= 18). This ensures the prompt
137
+ # is refreshed for each new feature instead of persisting stale text.
132
138
  # Skip slash commands (e.g. /codeyam-editor) — they aren't user prompts.
133
- if event_type == "user_prompt" and not os.path.exists(prompt_path):
139
+ if event_type == "user_prompt":
134
140
  prompt_text = event_data.get("prompt", "").strip()
135
141
  if prompt_text and not prompt_text.startswith("/"):
136
- try:
137
- os.makedirs(os.path.dirname(prompt_path), exist_ok=True)
138
- with open(prompt_path, "w") as f:
139
- f.write(prompt_text)
140
- except Exception:
141
- pass # Best-effort
142
+ should_capture = not os.path.exists(prompt_path)
143
+ if not should_capture:
144
+ # Overwrite stale prompt when between features
145
+ if not os.path.exists(state_path):
146
+ should_capture = True
147
+ else:
148
+ try:
149
+ with open(state_path, "r") as f:
150
+ prev = json.load(f)
151
+ if prev.get("step", 0) >= 18:
152
+ should_capture = True
153
+ except Exception:
154
+ pass
155
+ if should_capture:
156
+ try:
157
+ os.makedirs(os.path.dirname(prompt_path), exist_ok=True)
158
+ with open(prompt_path, "w") as f:
159
+ f.write(prompt_text)
160
+ except Exception:
161
+ pass # Best-effort
142
162
 
143
163
  if not os.path.exists(state_path):
144
164
  return
@@ -157,6 +177,27 @@ def main():
157
177
  if not step:
158
178
  return
159
179
 
180
+ # ── Task tracking ──────────────────────────────────────────────────
181
+ # Track whether TaskCreate was called between step transitions.
182
+ # If Claude advances to the next step without creating a task, block it.
183
+ task_tracking_path = os.path.join(project_dir, ".codeyam", "editor-task-tracking.json")
184
+
185
+ if event_type == "post_tool_use":
186
+ tool_name = event_data.get("tool_name", "")
187
+
188
+ # Record when TaskCreate is called
189
+ if tool_name == "TaskCreate":
190
+ try:
191
+ tracking = {}
192
+ if os.path.exists(task_tracking_path):
193
+ with open(task_tracking_path, "r") as f:
194
+ tracking = json.load(f)
195
+ tracking["taskCreated"] = True
196
+ with open(task_tracking_path, "w") as f:
197
+ json.dump(tracking, f)
198
+ except Exception:
199
+ pass
200
+
160
201
  # Log the hook firing
161
202
  log_data = {"step": step, "label": label, "feature": feature, "hook": event_type}
162
203
  if migration:
@@ -171,7 +212,7 @@ def main():
171
212
  next_cmd = f"codeyam editor migrate {step + 1}" if step < 10 else "codeyam editor migrate next"
172
213
  else:
173
214
  restriction = STEP_RESTRICTIONS.get(step, "")
174
- next_cmd = f"codeyam editor {step + 1}" if step < 16 else "codeyam editor 1"
215
+ next_cmd = f"codeyam editor {step + 1}" if step < 18 else "codeyam editor 1"
175
216
 
176
217
  # UserPromptSubmit: concise workflow reminder injected before Claude processes the user's message
177
218
  if event_type == "user_prompt":
@@ -212,14 +253,14 @@ def main():
212
253
  "The change workflow ensures Working Session Results are shown to the user. "
213
254
  "If the user chose to commit, run `codeyam editor migrate next` to advance to the next page."
214
255
  )
215
- elif step in (13, 14, 15, 16) and not migration:
256
+ elif step in (15, 16, 17, 18) and not migration:
216
257
  lines.append(
217
258
  "If the user is requesting changes (even indirectly), "
218
259
  "run `codeyam editor change` BEFORE making any modifications "
219
260
  "(code, scenarios, data, styles — everything). "
220
261
  "The change command gives you the post-change checklist. "
221
262
  "The change workflow ensures Working Session Results are shown to the user. "
222
- "If the user chose to commit, run `codeyam editor 14` to advance to the commit step."
263
+ "If the user chose to commit, run `codeyam editor 16` to advance to the commit step."
223
264
  )
224
265
  elif migration:
225
266
  lines.append(
@@ -270,9 +311,9 @@ def main():
270
311
  tracker.append(f"{DIM} \u2502 \u25cb {cntnt}\u2502{RESET}")
271
312
  tracker.append(f"{DIM} \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518{RESET}")
272
313
  else:
273
- # Standard progress tracker (16 steps)
314
+ # Standard progress tracker (18 steps)
274
315
  tracker = [f"{DIM} \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510{RESET}"]
275
- for i in range(1, 17):
316
+ for i in range(1, 19):
276
317
  lbl = STEP_LABELS[i].ljust(28)
277
318
  num = f" {i}" if i < 10 else f"{i}"
278
319
  content = f"{num}. {lbl}"
@@ -291,7 +332,7 @@ def main():
291
332
  "\u2713 (done) or \u2717 (skipped + reason)."
292
333
  )
293
334
 
294
- if event_type == "stop" and ((step in (13, 14) and not migration) or (step == 8 and migration)):
335
+ if event_type == "stop" and ((step in (15, 16) and not migration) or (step == 8 and migration)):
295
336
  import subprocess as _sp
296
337
  try:
297
338
  _result = _sp.run(
@@ -309,9 +350,15 @@ def main():
309
350
  )
310
351
  lines.append(
311
352
  f"\033[31mRun `codeyam editor change` if you haven't already, then complete the "
312
- f"checklist and run `{'codeyam editor migrate 8' if migration else 'codeyam editor 13'}` to show results to the user.\033[0m"
353
+ f"checklist and run `{'codeyam editor migrate 8' if migration else 'codeyam editor 15'}` to show results to the user.\033[0m"
313
354
  )
314
355
 
356
+ if event_type == "stop":
357
+ lines.append(
358
+ f"\n\033[2mReminder: Only use `codeyam editor` subcommands in the Build terminal. "
359
+ f"Follow `codeyam editor steps` when changing code.\033[0m"
360
+ )
361
+
315
362
  lines.append(f"When this step is complete, run: {next_cmd}")
316
363
 
317
364
  print("\n".join(lines))
@@ -16,6 +16,15 @@ You MUST follow a step-by-step workflow driven by `codeyam editor` commands. Eac
16
16
 
17
17
  **The rule:** After completing what a command tells you to do, run the NEXT command it specifies. The commands are your instructions — follow them one at a time.
18
18
 
19
+ ## TASK Directive
20
+
21
+ Some `codeyam editor N` commands output a `━━━ TASK ━━━` section with an `EXACT_TASK_TITLE:` line. When you see one:
22
+
23
+ 1. Mark your current task as complete (if one exists)
24
+ 2. Run TaskCreate with the EXACT title from the `EXACT_TASK_TITLE:` line — copy it character-for-character, do NOT paraphrase
25
+
26
+ Do NOT create tasks on your own. Only create them when a `━━━ TASK ━━━` directive tells you to.
27
+
19
28
  ## Migration Mode
20
29
 
21
30
  When `codeyam editor steps` shows **"Project Migration"** instead of "Feature Cycle", the project is being migrated from an existing codebase. Follow the `codeyam editor migrate` commands instead of the normal 13-step cycle.
@@ -117,6 +126,9 @@ This command gives you the post-change checklist (re-register scenarios, re-run
117
126
  ## Key Rules
118
127
 
119
128
  - **Run the commands** — they ARE your instructions, not suggestions
129
+ - **One step at a time** — run each `codeyam editor N` command, read its FULL output, complete every checklist item, then advance. The CLI enforces a minimum time per step.
130
+ - **NEVER batch-run steps** — `for step in 5 6 7 8; do codeyam editor $step; done` or piping to `head` defeats the entire workflow. Each step has unique instructions you must read and follow.
131
+ - **NEVER delegate multiple steps to a subagent** — each step must be run, read, and completed in the main conversation. You MAY use subagents for parallelizable work _within_ a single step (e.g. extracting components + writing tests in step 5).
120
132
  - **Every feature gets scenarios** — this is the core value of CodeYam
121
133
  - **Always scaffold with a database** (Prisma + SQLite)
122
134
  - **Build real API routes** — the proxy handles scenario data transparently
@@ -176,7 +188,13 @@ codeyam editor register '{"name":"Full Catalog","type":"application","url":"/","
176
188
  # Register app scenario with localStorage (for apps using client-side storage instead of a database)
177
189
  codeyam editor register '{"name":"Full Library","type":"application","url":"/","dimensions":["<name from screenSizes>"],"localStorage":{"articles":[...],"collections":[...]}}'
178
190
 
179
- # For large seed/localStorage data, write JSON to a temp file and use @ prefix:
191
+ # BULK REGISTRATION (preferred register all scenarios at once):
192
+ # Write an array of scenarios to a temp file, then register with @ prefix.
193
+ # This is faster and avoids repeated screenshot capture overhead.
194
+ # File format: [{"name":"...","type":"...","url":"...","seed":{...}}, ...]
195
+ codeyam editor register @.codeyam/tmp/scenarios.json
196
+
197
+ # Single scenario from file (for large seed/localStorage data):
180
198
  codeyam editor register @/tmp/scenario-data.json
181
199
 
182
200
  # Journal entry (one per feature, references scenario names)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeyam/codeyam-cli",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "description": "Local development CLI for CodeYam analysis",
5
5
  "type": "module",
6
6
  "bin": {
@@ -49,11 +49,11 @@ export default async function findOrCreateEntity({ file, commitId, branchId, ent
49
49
  code = fileAnalyzer.getEntityCode(localEntityName);
50
50
  }
51
51
  catch (e) {
52
- console.log('CodeYam Error: could not get entity code', {
52
+ console.log(`CodeYam Error: Could not extract code for "${localEntityName}" from ${file.path} — export not found in file, may have been moved or renamed during refactoring`, {
53
53
  filePath: file.path,
54
54
  localEntityName,
55
55
  entityName,
56
- error: e,
56
+ error: String(e),
57
57
  });
58
58
  return null;
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"findOrCreateEntity.js","sourceRoot":"","sources":["../../../../../../../../packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findOrCreateEntity.js","sourceRoot":"","sources":["../../../../../../../../packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts"],"names":[],"mappings":"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"}
@@ -60,13 +60,15 @@ export default async function gatherEntityMap({ entity, commitId, branchId, cont
60
60
  context,
61
61
  });
62
62
  if (!importedEntity) {
63
- console.log(`CodeYam Error: Entity not found while gathering entity map: ${importedFile.path}: ${importedExportName}`, {
64
- entityName: entity.name,
65
- entityFilePath: entity.filePath,
66
- importedFilePath: importedFile.path,
67
- importedExportName: importedExportName,
68
- });
69
- throw new Error(`Entity not found while gathering entity map: ${importedFile.path}: ${importedExport.name}`);
63
+ const msg = [
64
+ `Entity not found: "${importedExportName}" in ${importedFile.path}`,
65
+ ` While analyzing dependencies of: ${entity.name} (${entity.filePath})`,
66
+ ` This usually means "${importedExportName}" was moved or renamed but`,
67
+ ` ${entity.filePath} still has stale import metadata referencing the old location.`,
68
+ ` Fix: Update or re-analyze ${entity.filePath} so its importedExports reflect current code.`,
69
+ ].join('\n');
70
+ console.log(`CodeYam Error: ${msg}`);
71
+ throw new Error(msg);
70
72
  }
71
73
  // Add newly created entity to context
72
74
  context.addEntity(importedEntity);
@@ -1 +1 @@
1
- {"version":3,"file":"gatherEntityMap.js","sourceRoot":"","sources":["../../../../../../../../packages/analyze/src/lib/files/analyze/gatherEntityMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gatherEntityMap.js","sourceRoot":"","sources":["../../../../../../../../packages/analyze/src/lib/files/analyze/gatherEntityMap.ts"],"names":[],"mappings":"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"}
@@ -91,7 +91,7 @@ export default async function loadAnalysis({ id, analysisBranchId, projectId, fi
91
91
  const analysis = await query.executeTakeFirst();
92
92
  const queryTime = Date.now() - startTime;
93
93
  if (!analysis) {
94
- awsLog('CodeYam Error: Analysis not found', null, {
94
+ awsLog(`CodeYam Error: Analysis not found${entityName ? ` for ${entityName}` : ''}${id ? ` (id=${id})` : ''}`, null, {
95
95
  id,
96
96
  analysisBranchId,
97
97
  projectId,
@@ -1 +1 @@
1
- {"version":3,"file":"loadAnalysis.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadAnalysis.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadAnalysis.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export default async function loadEntity({ projectId, sha }) {
17
17
  // Only log at debug level - Entity not found is expected in E2E baseline mode
18
18
  // where entities are created fresh and don't exist in the database yet
19
19
  if (process.env.CODEYAM_E2E_BASELINE_MODE !== 'true') {
20
- awsLog('CodeYam Error: Load Entity: Entity not found', null, {
20
+ awsLog(`CodeYam Error: Load Entity: Entity not found (sha=${sha?.substring(0, 12)})`, null, {
21
21
  projectId,
22
22
  sha,
23
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"loadEntity.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadEntity.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAa/D,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,EAAkB;IACzE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE;aACpB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC;aAClD,SAAS,CAAC,UAAU,CAAC;aACrB,MAAM,CAAC,CAAC,EAA+B,EAAE,EAAE,CAC1C,uBAAuB,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAClC,GAAG,CAAC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE,cAAc,CAAC,CAChE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CACxB;aACA,KAAK,CAAC,kBAAkB,EAAE,GAAG,EAAE,SAAS,CAAC;aACzC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC;aAC/B,gBAAgB,EAAE,CAAC;QAEtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,8EAA8E;YAC9E,uEAAuE;YACvE,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,MAAM,EAAE,CAAC;gBACrD,MAAM,CACJ,qDAAqD,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAC7E,IAAI,EACJ;oBACE,SAAS;oBACT,GAAG;iBACJ,CACF,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,4CAA4C,EAAE,KAAK,EAAE;YAC1D,SAAS;YACT,GAAG;SACJ,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAC5C,SAAS,EACT,IAAI,EACJ,QAAQ,GACoB;IAC5B,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE;aACpB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC;aAClD,SAAS,CAAC,UAAU,CAAC;aACrB,MAAM,CAAC,CAAC,EAA+B,EAAE,EAAE,CAC1C,uBAAuB,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAClC,GAAG,CAAC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE,cAAc,CAAC,CAChE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CACxB;aACA,KAAK,CAAC,kBAAkB,EAAE,GAAG,EAAE,SAAS,CAAC;aACzC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC;aACjC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC;aAClC,gBAAgB,EAAE,CAAC;QAEtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CACJ,+DAA+D,EAC/D,IAAI,EACJ;gBACE,SAAS;gBACT,IAAI;gBACJ,QAAQ;aACT,CACF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,4CAA4C,EAAE,KAAK,EAAE;YAC1D,SAAS;YACT,IAAI;YACJ,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}