@codeyam/codeyam-cli 0.1.0-staging.79ef713 → 0.1.0-staging.7c30edc

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 (195) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +101 -0
  4. package/analyzer-template/packages/ai/src/lib/astScopes/sharedPatterns.ts +28 -0
  5. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +6 -0
  6. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +176 -8
  7. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +46 -6
  8. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +33 -15
  9. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +32 -5
  10. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +38 -2
  11. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +359 -142
  12. package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
  13. package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
  14. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +24 -4
  15. package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
  16. package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
  17. package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
  18. package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
  19. package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
  20. package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
  21. package/analyzer-template/packages/database/src/lib/kysely/db.ts +6 -0
  22. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  23. package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
  24. package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
  25. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
  26. package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
  27. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
  28. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
  29. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
  30. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
  31. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
  32. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
  33. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
  34. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
  35. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
  36. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
  37. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
  38. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
  39. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -0
  40. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  41. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +3 -0
  42. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  43. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  44. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  45. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  46. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  47. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
  48. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
  49. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
  50. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
  51. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
  52. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
  53. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +4 -0
  54. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  55. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +7 -1
  56. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +4 -0
  57. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  58. package/background/src/lib/local/createLocalAnalyzer.js +1 -1
  59. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  60. package/codeyam-cli/src/cli.js +2 -0
  61. package/codeyam-cli/src/cli.js.map +1 -1
  62. package/codeyam-cli/src/codeyam-cli.js +18 -2
  63. package/codeyam-cli/src/codeyam-cli.js.map +1 -1
  64. package/codeyam-cli/src/commands/analyze.js +2 -0
  65. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  66. package/codeyam-cli/src/commands/baseline.js +2 -0
  67. package/codeyam-cli/src/commands/baseline.js.map +1 -1
  68. package/codeyam-cli/src/commands/debug.js +2 -0
  69. package/codeyam-cli/src/commands/debug.js.map +1 -1
  70. package/codeyam-cli/src/commands/default.js +25 -19
  71. package/codeyam-cli/src/commands/default.js.map +1 -1
  72. package/codeyam-cli/src/commands/detect-universal-mocks.js +2 -0
  73. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +1 -1
  74. package/codeyam-cli/src/commands/init.js +49 -257
  75. package/codeyam-cli/src/commands/init.js.map +1 -1
  76. package/codeyam-cli/src/commands/memory.js +9 -9
  77. package/codeyam-cli/src/commands/memory.js.map +1 -1
  78. package/codeyam-cli/src/commands/recapture.js +2 -0
  79. package/codeyam-cli/src/commands/recapture.js.map +1 -1
  80. package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
  81. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
  82. package/codeyam-cli/src/commands/setup-simulations.js +284 -0
  83. package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
  84. package/codeyam-cli/src/commands/test-startup.js +2 -0
  85. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  86. package/codeyam-cli/src/commands/verify.js +2 -0
  87. package/codeyam-cli/src/commands/verify.js.map +1 -1
  88. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +127 -85
  89. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  90. package/codeyam-cli/src/utils/analyzer.js +7 -0
  91. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  92. package/codeyam-cli/src/utils/install-skills.js +41 -61
  93. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  94. package/codeyam-cli/src/utils/labsAutoCheck.js +48 -0
  95. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  96. package/codeyam-cli/src/utils/progress.js +7 -0
  97. package/codeyam-cli/src/utils/progress.js.map +1 -1
  98. package/codeyam-cli/src/utils/requireSimulations.js +10 -0
  99. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
  100. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +4 -4
  101. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -1
  102. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +95 -2
  103. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -1
  104. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +4 -4
  105. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -1
  106. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +3 -3
  107. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -1
  108. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +23 -23
  109. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -1
  110. package/codeyam-cli/src/utils/rules/parser.js +5 -0
  111. package/codeyam-cli/src/utils/rules/parser.js.map +1 -1
  112. package/codeyam-cli/src/utils/rules/ruleState.js +10 -10
  113. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -1
  114. package/codeyam-cli/src/utils/rules/staleness.js +6 -6
  115. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -1
  116. package/codeyam-cli/src/utils/serverState.js +37 -10
  117. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  118. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +19 -42
  119. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  120. package/codeyam-cli/src/webserver/app/lib/database.js +14 -3
  121. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  122. package/codeyam-cli/src/webserver/backgroundServer.js +31 -0
  123. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  124. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-CN61MOMa.js +11 -0
  125. package/codeyam-cli/src/webserver/build/client/assets/api.labs-survey-l0sNRNKZ.js +1 -0
  126. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  127. package/codeyam-cli/src/webserver/build/client/assets/globals-CuCsBc3b.css +1 -0
  128. package/codeyam-cli/src/webserver/build/client/assets/labs-CB3MGcys.js +1 -0
  129. package/codeyam-cli/src/webserver/build/client/assets/{manifest-87319d0f.js → manifest-de6ccaf4.js} +1 -1
  130. package/codeyam-cli/src/webserver/build/client/assets/memory-DCA-kLYt.js +81 -0
  131. package/codeyam-cli/src/webserver/build/client/assets/root-F7e6dvys.js +62 -0
  132. package/codeyam-cli/src/webserver/build/client/assets/settings-BejnUJ6R.js +1 -0
  133. package/codeyam-cli/src/webserver/build/server/assets/{index-9ox9LcrG.js → index-CFKHuovO.js} +1 -1
  134. package/codeyam-cli/src/webserver/build/server/assets/server-build-BQe9Dh4p.js +260 -0
  135. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  136. package/codeyam-cli/src/webserver/build-info.json +5 -5
  137. package/codeyam-cli/templates/codeyam-memory-hook.sh +14 -14
  138. package/codeyam-cli/templates/codeyam:diagnose.md +193 -515
  139. package/codeyam-cli/templates/codeyam:memory.md +9 -21
  140. package/codeyam-cli/templates/codeyam:setup.md +12 -0
  141. package/codeyam-cli/templates/rule-reflection-hook.py +64 -27
  142. package/codeyam-cli/templates/rules-instructions.md +50 -41
  143. package/package.json +1 -1
  144. package/packages/ai/src/lib/astScopes/processExpression.js +78 -1
  145. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  146. package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
  147. package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
  148. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +128 -7
  149. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  150. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +40 -6
  151. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  152. package/packages/ai/src/lib/dataStructureChunking.js +26 -11
  153. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -1
  154. package/packages/ai/src/lib/generateEntityScenarioData.js +22 -3
  155. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  156. package/packages/ai/src/lib/generateExecutionFlows.js +16 -2
  157. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  158. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +242 -81
  159. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -1
  160. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
  161. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
  162. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
  163. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
  164. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +17 -2
  165. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  166. package/packages/database/src/lib/analysisBranchToDb.js +1 -1
  167. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
  168. package/packages/database/src/lib/analysisToDb.js +1 -1
  169. package/packages/database/src/lib/analysisToDb.js.map +1 -1
  170. package/packages/database/src/lib/branchToDb.js +1 -1
  171. package/packages/database/src/lib/branchToDb.js.map +1 -1
  172. package/packages/database/src/lib/commitBranchToDb.js +1 -1
  173. package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
  174. package/packages/database/src/lib/commitToDb.js +1 -1
  175. package/packages/database/src/lib/commitToDb.js.map +1 -1
  176. package/packages/database/src/lib/fileToDb.js +1 -1
  177. package/packages/database/src/lib/fileToDb.js.map +1 -1
  178. package/packages/database/src/lib/kysely/db.js +3 -0
  179. package/packages/database/src/lib/kysely/db.js.map +1 -1
  180. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  181. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  182. package/packages/database/src/lib/projectToDb.js +1 -1
  183. package/packages/database/src/lib/projectToDb.js.map +1 -1
  184. package/packages/database/src/lib/saveFiles.js +1 -1
  185. package/packages/database/src/lib/saveFiles.js.map +1 -1
  186. package/packages/database/src/lib/scenarioToDb.js +1 -1
  187. package/packages/database/src/lib/scenarioToDb.js.map +1 -1
  188. package/scripts/finalize-analyzer.cjs +8 -76
  189. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DfKzxuoe.js +0 -11
  190. package/codeyam-cli/src/webserver/build/client/assets/globals-Bh6jH0cL.css +0 -1
  191. package/codeyam-cli/src/webserver/build/client/assets/labs-CdVUfvji.js +0 -1
  192. package/codeyam-cli/src/webserver/build/client/assets/memory-CPIDnDEj.js +0 -76
  193. package/codeyam-cli/src/webserver/build/client/assets/root-D6oziHts.js +0 -62
  194. package/codeyam-cli/src/webserver/build/client/assets/settings-eBI36Yv5.js +0 -1
  195. package/codeyam-cli/src/webserver/build/server/assets/server-build-Cq5Vqcob.js +0 -260
@@ -0,0 +1,48 @@
1
+ import { createHmac } from 'crypto';
2
+ import { updateProjectMetadata } from "../../../packages/database/index.js";
3
+ const CODEYAM_API_BASE = process.env.CODEYAM_API_BASE || 'https://dev.codeyam.com';
4
+ const LABS_UNLOCK_SALT = process.env.LABS_UNLOCK_SALT || 'codeyam-labs-default-salt';
5
+ /**
6
+ * Generate the unlock code for a project slug.
7
+ * Deterministic: same slug + salt always produces the same code.
8
+ */
9
+ export function generateUnlockCode(projectSlug) {
10
+ const hmac = createHmac('sha256', LABS_UNLOCK_SALT);
11
+ hmac.update(projectSlug);
12
+ return `CY-${hmac.digest('hex').slice(0, 16)}`;
13
+ }
14
+ /**
15
+ * Validate an unlock code locally using the same HMAC-SHA256 logic as the server.
16
+ * No network call required — the code is deterministic per project slug + salt.
17
+ */
18
+ export function validateUnlockCode(projectSlug, unlockCode) {
19
+ return unlockCode === generateUnlockCode(projectSlug);
20
+ }
21
+ /**
22
+ * Check with the cloud API whether this project has been approved for labs access.
23
+ * If approved, automatically enables simulations in local project metadata.
24
+ * Fails silently on network errors (for offline users).
25
+ */
26
+ export async function checkLabsApproval(projectSlug) {
27
+ const response = await fetch(`${CODEYAM_API_BASE}/api/labs/check-approval`, {
28
+ method: 'POST',
29
+ headers: { 'Content-Type': 'application/json' },
30
+ body: JSON.stringify({ projectSlug }),
31
+ });
32
+ if (!response.ok) {
33
+ return false;
34
+ }
35
+ const result = (await response.json());
36
+ if (result.approved) {
37
+ await updateProjectMetadata({
38
+ projectSlug,
39
+ metadataUpdate: {
40
+ labs: { accessGranted: true, simulations: true },
41
+ },
42
+ });
43
+ console.log('🔓 Labs access approved — simulations enabled');
44
+ return true;
45
+ }
46
+ return false;
47
+ }
48
+ //# sourceMappingURL=labsAutoCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labsAutoCheck.js","sourceRoot":"","sources":["../../../../src/utils/labsAutoCheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;AAE5D,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,2BAA2B,CAAC;AAE9D;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,UAAkB;IAElB,OAAO,UAAU,KAAK,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,gBAAgB,0BAA0B,EAAE;QAC1E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;KACtC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAGpC,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,qBAAqB,CAAC;YAC1B,WAAW;YACX,cAAc,EAAE;gBACd,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;aACjD;SACF,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -24,6 +24,13 @@ export class ProgressReporter {
24
24
  console.log(chalk.cyan('⠿') + ' ' + this.currentMessage);
25
25
  return;
26
26
  }
27
+ // Render the first frame immediately so it's visible even if
28
+ // the caller blocks the event loop with execSync right after.
29
+ process.stdout.write('\r' +
30
+ chalk.cyan(this.spinnerFrames[this.spinnerIndex]) +
31
+ ' ' +
32
+ this.currentMessage);
33
+ this.spinnerIndex = (this.spinnerIndex + 1) % this.spinnerFrames.length;
27
34
  this.spinner = setInterval(() => {
28
35
  process.stdout.write('\r' +
29
36
  chalk.cyan(this.spinnerFrames[this.spinnerIndex]) +
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../../src/utils/progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../../src/utils/progress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { isAnalyzerFinalized } from "./analyzer.js";
2
+ import { error, info } from "./progress.js";
3
+ export function requireSimulations() {
4
+ if (!isAnalyzerFinalized()) {
5
+ error('Simulations are not set up yet.');
6
+ info('Run "codeyam setup-simulations" to enable visual simulations.');
7
+ process.exit(1);
8
+ }
9
+ }
10
+ //# sourceMappingURL=requireSimulations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireSimulations.js","sourceRoot":"","sources":["../../../../src/utils/requireSimulations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC3B,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACzC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -23,7 +23,7 @@ describe('contextBuilder', () => {
23
23
  expect(result).toContain('Changes:');
24
24
  expect(result).toContain('validateSession');
25
25
  expect(result).toContain('Changed file: src/api/auth.ts');
26
- expect(result).toContain('Rule timestamp: 2026-01-15T00:00:00Z');
26
+ expect(result).toContain('Last audited: 2026-01-15T00:00:00Z');
27
27
  });
28
28
  it('includes diff in stale rules section', () => {
29
29
  const staleRules = loadStaleRules();
@@ -36,7 +36,7 @@ describe('contextBuilder', () => {
36
36
  const result = buildStaleRulesContext(staleRules);
37
37
  expect(result).toContain('Changed file: src/api/auth.ts');
38
38
  expect(result).toContain('File modified: 2026-02-01T10:30:00Z');
39
- expect(result).toContain('Rule timestamp: 2026-01-15T00:00:00Z');
39
+ expect(result).toContain('Last audited: 2026-01-15T00:00:00Z');
40
40
  });
41
41
  it('includes Build Configuration rule content', () => {
42
42
  const staleRules = loadStaleRules();
@@ -120,7 +120,7 @@ describe('contextBuilder', () => {
120
120
  const result = buildConversationContext(snippets, new Set());
121
121
  expect(result).toContain('User corrections or redirections');
122
122
  expect(result).toContain('Investigation results and debugging knowledge');
123
- expect(result).toContain('When NOT to create a rule');
123
+ expect(result).toContain('What makes a rule valuable');
124
124
  expect(result).toContain('.codeyam/rules/instructions.md');
125
125
  });
126
126
  });
@@ -200,7 +200,7 @@ describe('contextBuilder', () => {
200
200
  const result = buildInterruptionContext(snippets, 'Wait, wrong approach', new Set());
201
201
  // Should include the shared guidance from conversation-guidance.txt
202
202
  expect(result).toContain('User corrections or redirections');
203
- expect(result).toContain('When NOT to create a rule');
203
+ expect(result).toContain('What makes a rule valuable');
204
204
  });
205
205
  it('does NOT contain stale rules or conversation review headers', () => {
206
206
  const snippets = [
@@ -1 +1 @@
1
- {"version":3,"file":"contextBuilder.test.js","sourceRoot":"","sources":["../../../../../../src/utils/ruleReflection/__tests__/contextBuilder.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextBuilder.test.js","sourceRoot":"","sources":["../../../../../../src/utils/ruleReflection/__tests__/contextBuilder.test.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,29 @@ import { snapshotRules, getRulesChanges, assertValidFrontmatter, } from "./helpe
5
5
  import { runClaude } from "./helpers/runClaude.js";
6
6
  import { buildStaleRulesContext, buildConversationContext, } from "../../contextBuilder.js";
7
7
  import { buildStaleRulesPrompt, buildConversationPrompt, } from "../../promptBuilder.js";
8
+ import { loadCapturedFixture, } from "./helpers/loadCapturedFixture.js";
9
+ /**
10
+ * Extract conversation snippets from a captured fixture's context.md.
11
+ * The context contains a `### Session transcript` section with lines like:
12
+ * [role]: content
13
+ */
14
+ function extractSnippetsFromFixture(fixture) {
15
+ if (!fixture.context)
16
+ return [];
17
+ const marker = '### Session transcript\n';
18
+ const idx = fixture.context.indexOf(marker);
19
+ if (idx === -1)
20
+ return [];
21
+ const transcriptSection = fixture.context.slice(idx + marker.length).trim();
22
+ const snippets = [];
23
+ for (const line of transcriptSection.split('\n')) {
24
+ const match = line.match(/^\[(\w+)\]:\s*(.+)$/);
25
+ if (match) {
26
+ snippets.push({ role: match[1], content: match[2] });
27
+ }
28
+ }
29
+ return snippets;
30
+ }
8
31
  const SKIP = !process.env.CODEYAM_RUN_INTEGRATION;
9
32
  const OUTPUT_DIR = path.resolve(__dirname, 'output');
10
33
  (SKIP ? describe.skip : describe)('Rule Reflection E2E', () => {
@@ -35,7 +58,7 @@ const OUTPUT_DIR = path.resolve(__dirname, 'output');
35
58
  const staleRules = [
36
59
  {
37
60
  name: 'build-config.md',
38
- rule_timestamp: '2026-01-01T00:00:00Z',
61
+ last_audited: '2026-01-01T00:00:00Z',
39
62
  newest_file: 'src/config.ts',
40
63
  file_modified: '2026-02-01T00:00:00Z',
41
64
  diff: '',
@@ -135,7 +158,7 @@ const OUTPUT_DIR = path.resolve(__dirname, 'output');
135
158
  const staleRules = [
136
159
  {
137
160
  name: 'api-auth.md',
138
- rule_timestamp: '2026-01-15T00:00:00Z',
161
+ last_audited: '2026-01-15T00:00:00Z',
139
162
  newest_file: 'src/api/auth.ts',
140
163
  file_modified: '2026-02-01T00:00:00Z',
141
164
  diff: '@@ -1 +1,2 @@\n+import { validateSession } from "./session.js"\n export function authenticate() {}',
@@ -280,6 +303,76 @@ const OUTPUT_DIR = path.resolve(__dirname, 'output');
280
303
  // no corrections, confusion, or non-obvious architectural decisions.
281
304
  expect(changes.created.length).toBe(0);
282
305
  }, 180000);
306
+ it('does not create rules for a bug fix that is now protected by code and tests (b4e050b8)', async () => {
307
+ // This fixture captured a session where a crash in ScopeDataStructure.ts
308
+ // was debugged and fixed: addComplexSourcePathVariables crashed when a
309
+ // usage equivalency referenced an HTML intrinsic element (<input>) that
310
+ // has no scope node. The fix added null guards and a reproduction test.
311
+ //
312
+ // The agent incorrectly created a rule about "HTML Elements and Scope
313
+ // Nodes" — but the fix is now in the code (null guards) and verified by
314
+ // a test, so the rule is redundant. Per guidance: "The specific bug
315
+ // being fixed (it will be resolved; the rule would be immediately stale)"
316
+ // and "Any requirements or information that can now be identified by
317
+ // the code."
318
+ //
319
+ // We rebuild the context using the CURRENT guidance template + the
320
+ // fixture's transcript so that guidance improvements are tested.
321
+ const fixture = loadCapturedFixture('b4e050b8-conv');
322
+ const snippets = extractSnippetsFromFixture(fixture);
323
+ tempProject = setupTempProject({
324
+ sourceFiles: {
325
+ 'packages/ai/src/lib/dataStructure/ScopeDataStructure.ts': [
326
+ 'export class ScopeDataStructure {',
327
+ ' addComplexSourcePathVariables() {',
328
+ ' // Guard: HTML elements create equivalencies but have no scope node',
329
+ ' const usageScopeNode = this.getScopeOrFunctionCallInfo(scopeNodeName);',
330
+ ' if (!usageScopeNode) continue;',
331
+ ' }',
332
+ ' captureComplexSourcePaths() {',
333
+ ' const usageScopeNode = this.getScopeOrFunctionCallInfo(scopeNodeName);',
334
+ ' if (!usageScopeNode) continue;',
335
+ ' }',
336
+ '}',
337
+ ].join('\n'),
338
+ 'packages/ai/src/lib/dataStructure/__tests__/analyzeScopeNoAI_memoryAudit.test.ts': [
339
+ "describe('MemoryAuditSection', () => {",
340
+ " it('handles HTML element equivalencies without crashing', () => {",
341
+ ' // Reproduction test for HTML intrinsic elements like <input>',
342
+ ' // that create equivalencies but never register as scope nodes',
343
+ ' expect(result).toBeDefined();',
344
+ ' });',
345
+ '});',
346
+ ].join('\n'),
347
+ },
348
+ });
349
+ const modifiedFiles = new Set([
350
+ ['packages/ai/src/lib/dataStructure/ScopeDataStructure.ts', 'Edit'],
351
+ [
352
+ 'packages/ai/src/lib/dataStructure/__tests__/analyzeScopeNoAI_memoryAudit.test.ts',
353
+ 'Write',
354
+ ],
355
+ ]);
356
+ const contextContent = buildConversationContext(snippets, modifiedFiles);
357
+ const contextFile = path.join(tempProject.dir, '.context.md');
358
+ fs.writeFileSync(contextFile, contextContent);
359
+ const notificationFile = path.join(tempProject.dir, 'rule-notification-conversation.md');
360
+ const before = await snapshotRules(tempProject.rulesDir);
361
+ const prompt = buildConversationPrompt(contextFile, tempProject.dir, notificationFile);
362
+ runClaude({
363
+ prompt,
364
+ cwd: tempProject.dir,
365
+ saveOutput: { dir: OUTPUT_DIR, label: 'fixture-b4e050b8-no-rule' },
366
+ });
367
+ const after = await snapshotRules(tempProject.rulesDir);
368
+ const changes = getRulesChanges(before, after);
369
+ // No rules should be created — this was a bug fix session.
370
+ // The null guards and reproduction test are now in the code,
371
+ // so the information is fully discernible from reading the source.
372
+ // The guidance explicitly says not to document "the specific bug
373
+ // being fixed" or information "that can now be identified by the code."
374
+ expect(changes.created.length).toBe(0);
375
+ }, 180000);
283
376
  });
284
377
  });
285
378
  //# sourceMappingURL=ruleReflectionE2E.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ruleReflectionE2E.test.js","sourceRoot":"","sources":["../../../../../../../src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ruleReflectionE2E.test.js","sourceRoot":"","sources":["../../../../../../../src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.ts"],"names":[],"mappings":"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"}
@@ -36,11 +36,11 @@ describe('promptBuilder', () => {
36
36
  it('includes notification format example', () => {
37
37
  expect(prompt).toContain('The background rule-reflection agent updated the following rules:');
38
38
  });
39
- it('instructs to still notify for timestamp-only changes', () => {
40
- expect(prompt).toContain('If you only touched timestamps without content changes, still write the notification.');
39
+ it('instructs to still notify for audit-only changes', () => {
40
+ expect(prompt).toContain('still write the notification');
41
41
  });
42
- it('instructs not to write notification when no changes', () => {
43
- expect(prompt).toContain('If no rules were changed at all, do NOT write the notification file.');
42
+ it('instructs to only write notification when rules changed', () => {
43
+ expect(prompt).toContain('Only write the notification file when rules are changed.');
44
44
  });
45
45
  it('does NOT mention conversation analysis', () => {
46
46
  expect(prompt).not.toContain('conversation review section');
@@ -1 +1 @@
1
- {"version":3,"file":"promptBuilder.test.js","sourceRoot":"","sources":["../../../../../../src/utils/ruleReflection/__tests__/promptBuilder.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promptBuilder.test.js","sourceRoot":"","sources":["../../../../../../src/utils/ruleReflection/__tests__/promptBuilder.test.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,8 @@ function buildStaleRulesSection(staleRules) {
24
24
  if (rule.file_modified) {
25
25
  parts.push(` File modified: ${rule.file_modified}`);
26
26
  }
27
- if (rule.rule_timestamp) {
28
- parts.push(` Rule timestamp: ${rule.rule_timestamp}`);
27
+ if (rule.last_audited) {
28
+ parts.push(` Last audited: ${rule.last_audited}`);
29
29
  }
30
30
  if (rule.diff) {
31
31
  parts.push(' Changes:');
@@ -74,7 +74,7 @@ export function buildStaleRulesContext(staleRules) {
74
74
  parts.push('For each rule, review the rule content and the diff of changes, then:');
75
75
  parts.push('1. Determine if the rule content needs updating based on the code changes');
76
76
  parts.push('2. Update the rule if needed');
77
- parts.push('3. ALWAYS update the timestamp (run `codeyam memory touch`)\n');
77
+ parts.push('3. ALWAYS run `codeyam memory touch` to mark rules as audited\n');
78
78
  parts.push(...buildStaleRulesSection(staleRules));
79
79
  return parts.join('\n');
80
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contextBuilder.js","sourceRoot":"","sources":["../../../../../src/utils/ruleReflection/contextBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextBuilder.js","sourceRoot":"","sources":["../../../../../src/utils/ruleReflection/contextBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import * as os from 'os';
4
- import { loadRuleState, saveRuleState, syncRuleState, touchTimestamps, setReviewed, getRuleTimestamp, isRuleReviewed, hashRuleContent, } from "../ruleState.js";
4
+ import { loadRuleState, saveRuleState, syncRuleState, touchLastAuditedAt, setReviewed, getRuleLastAuditedAt, isRuleReviewed, hashRuleContent, } from "../ruleState.js";
5
5
  describe('ruleState', () => {
6
6
  let tempDir;
7
7
  beforeEach(() => {
@@ -38,7 +38,7 @@ describe('ruleState', () => {
38
38
  version: 1,
39
39
  rules: {
40
40
  'test-rule.md': {
41
- timestamp: '2026-01-01T00:00:00Z',
41
+ lastAuditedAt: '2026-01-01T00:00:00Z',
42
42
  contentHash: 'abc123',
43
43
  reviewed: true,
44
44
  },
@@ -47,7 +47,7 @@ describe('ruleState', () => {
47
47
  fs.writeFileSync(path.join(tempDir, '.claude', 'codeyam-rule-state.json'), JSON.stringify(data));
48
48
  const state = await loadRuleState(tempDir);
49
49
  expect(state.rules['test-rule.md']).toEqual({
50
- timestamp: '2026-01-01T00:00:00Z',
50
+ lastAuditedAt: '2026-01-01T00:00:00Z',
51
51
  contentHash: 'abc123',
52
52
  reviewed: true,
53
53
  });
@@ -114,7 +114,7 @@ describe('ruleState', () => {
114
114
  version: 1,
115
115
  rules: {
116
116
  'existing.md': {
117
- timestamp: '2026-01-01T00:00:00Z',
117
+ lastAuditedAt: '2026-01-01T00:00:00Z',
118
118
  contentHash: hash,
119
119
  reviewed: true,
120
120
  },
@@ -124,7 +124,7 @@ describe('ruleState', () => {
124
124
  const rules = [makeRule('existing.md', ruleContent)];
125
125
  const state = await syncRuleState(tempDir, rules);
126
126
  expect(state.rules['existing.md'].reviewed).toBe(true);
127
- expect(state.rules['existing.md'].timestamp).toBe('2026-01-01T00:00:00Z');
127
+ expect(state.rules['existing.md'].lastAuditedAt).toBe('2026-01-01T00:00:00Z');
128
128
  });
129
129
  it('resets reviewed to false when content changes', async () => {
130
130
  const oldContent = '# Old Rule\n\nOld content.';
@@ -133,7 +133,7 @@ describe('ruleState', () => {
133
133
  version: 1,
134
134
  rules: {
135
135
  'changing.md': {
136
- timestamp: '2026-01-01T00:00:00Z',
136
+ lastAuditedAt: '2026-01-01T00:00:00Z',
137
137
  contentHash: hashRuleContent(oldContent),
138
138
  reviewed: true,
139
139
  },
@@ -144,8 +144,8 @@ describe('ruleState', () => {
144
144
  const state = await syncRuleState(tempDir, rules);
145
145
  expect(state.rules['changing.md'].reviewed).toBe(false);
146
146
  expect(state.rules['changing.md'].contentHash).toBe(hashRuleContent(newContent));
147
- // Timestamp should be preserved
148
- expect(state.rules['changing.md'].timestamp).toBe('2026-01-01T00:00:00Z');
147
+ // lastAuditedAt should be preserved
148
+ expect(state.rules['changing.md'].lastAuditedAt).toBe('2026-01-01T00:00:00Z');
149
149
  });
150
150
  it('removes entries for deleted rules', async () => {
151
151
  await saveRuleState(tempDir, {
@@ -162,8 +162,8 @@ describe('ruleState', () => {
162
162
  expect(state.rules['deleted.md']).toBeUndefined();
163
163
  });
164
164
  });
165
- describe('touchTimestamps', () => {
166
- it('sets timestamp to now for listed rules', async () => {
165
+ describe('touchLastAuditedAt', () => {
166
+ it('sets lastAuditedAt to now for listed rules', async () => {
167
167
  await saveRuleState(tempDir, {
168
168
  version: 1,
169
169
  rules: {
@@ -171,16 +171,16 @@ describe('ruleState', () => {
171
171
  'rule-b.md': {
172
172
  contentHash: 'hash-b',
173
173
  reviewed: false,
174
- timestamp: '2026-01-01T00:00:00Z',
174
+ lastAuditedAt: '2026-01-01T00:00:00Z',
175
175
  },
176
176
  },
177
177
  });
178
178
  const before = Date.now();
179
- await touchTimestamps(tempDir, ['rule-a.md', 'rule-b.md']);
179
+ await touchLastAuditedAt(tempDir, ['rule-a.md', 'rule-b.md']);
180
180
  const after = Date.now();
181
181
  const state = await loadRuleState(tempDir);
182
182
  for (const rulePath of ['rule-a.md', 'rule-b.md']) {
183
- const ts = new Date(state.rules[rulePath].timestamp).getTime();
183
+ const ts = new Date(state.rules[rulePath].lastAuditedAt).getTime();
184
184
  expect(ts).toBeGreaterThanOrEqual(before);
185
185
  expect(ts).toBeLessThanOrEqual(after);
186
186
  }
@@ -193,13 +193,13 @@ describe('ruleState', () => {
193
193
  'untouched.md': {
194
194
  contentHash: 'hash-u',
195
195
  reviewed: true,
196
- timestamp: '2026-01-01T00:00:00Z',
196
+ lastAuditedAt: '2026-01-01T00:00:00Z',
197
197
  },
198
198
  },
199
199
  });
200
- await touchTimestamps(tempDir, ['touched.md']);
200
+ await touchLastAuditedAt(tempDir, ['touched.md']);
201
201
  const state = await loadRuleState(tempDir);
202
- expect(state.rules['untouched.md'].timestamp).toBe('2026-01-01T00:00:00Z');
202
+ expect(state.rules['untouched.md'].lastAuditedAt).toBe('2026-01-01T00:00:00Z');
203
203
  });
204
204
  });
205
205
  describe('setReviewed', () => {
@@ -237,32 +237,32 @@ describe('ruleState', () => {
237
237
  expect(state.rules['brand-new.md'].reviewed).toBe(true);
238
238
  });
239
239
  });
240
- describe('getRuleTimestamp', () => {
241
- it('returns timestamp when it exists', () => {
240
+ describe('getRuleLastAuditedAt', () => {
241
+ it('returns lastAuditedAt when it exists', () => {
242
242
  const state = {
243
243
  version: 1,
244
244
  rules: {
245
245
  'rule.md': {
246
246
  contentHash: 'hash',
247
247
  reviewed: false,
248
- timestamp: '2026-02-01T00:00:00Z',
248
+ lastAuditedAt: '2026-02-01T00:00:00Z',
249
249
  },
250
250
  },
251
251
  };
252
- expect(getRuleTimestamp(state, 'rule.md')).toBe('2026-02-01T00:00:00Z');
252
+ expect(getRuleLastAuditedAt(state, 'rule.md')).toBe('2026-02-01T00:00:00Z');
253
253
  });
254
- it('returns null when rule has no timestamp', () => {
254
+ it('returns null when rule has no lastAuditedAt', () => {
255
255
  const state = {
256
256
  version: 1,
257
257
  rules: {
258
258
  'rule.md': { contentHash: 'hash', reviewed: false },
259
259
  },
260
260
  };
261
- expect(getRuleTimestamp(state, 'rule.md')).toBeNull();
261
+ expect(getRuleLastAuditedAt(state, 'rule.md')).toBeNull();
262
262
  });
263
263
  it('returns null when rule does not exist', () => {
264
264
  const state = { version: 1, rules: {} };
265
- expect(getRuleTimestamp(state, 'nonexistent.md')).toBeNull();
265
+ expect(getRuleLastAuditedAt(state, 'nonexistent.md')).toBeNull();
266
266
  });
267
267
  });
268
268
  describe('isRuleReviewed', () => {