@manehorizons/cadence-core 1.4.0 → 1.5.1

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 (65) hide show
  1. package/bin/cadence.cjs +7 -0
  2. package/dist/checks/boundary.d.ts +9 -0
  3. package/dist/checks/boundary.d.ts.map +1 -1
  4. package/dist/checks/boundary.js +10 -2
  5. package/dist/checks/boundary.js.map +1 -1
  6. package/dist/cli/commands/handoff.d.ts +3 -0
  7. package/dist/cli/commands/handoff.d.ts.map +1 -0
  8. package/dist/cli/commands/handoff.js +39 -0
  9. package/dist/cli/commands/handoff.js.map +1 -0
  10. package/dist/cli/commands/resume.d.ts +3 -0
  11. package/dist/cli/commands/resume.d.ts.map +1 -0
  12. package/dist/cli/commands/resume.js +30 -0
  13. package/dist/cli/commands/resume.js.map +1 -0
  14. package/dist/cli/commands/settle.d.ts.map +1 -1
  15. package/dist/cli/commands/settle.js +13 -0
  16. package/dist/cli/commands/settle.js.map +1 -1
  17. package/dist/cli/index.js +7 -1
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/node-guard.d.ts +12 -0
  20. package/dist/cli/node-guard.d.ts.map +1 -0
  21. package/dist/cli/node-guard.js +16 -0
  22. package/dist/cli/node-guard.js.map +1 -0
  23. package/dist/cli/register.d.ts.map +1 -1
  24. package/dist/cli/register.js +4 -0
  25. package/dist/cli/register.js.map +1 -1
  26. package/dist/errors.d.ts +4 -1
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/errors.js +6 -0
  29. package/dist/errors.js.map +1 -1
  30. package/dist/handoff/git-facts.d.ts +4 -0
  31. package/dist/handoff/git-facts.d.ts.map +1 -0
  32. package/dist/handoff/git-facts.js +43 -0
  33. package/dist/handoff/git-facts.js.map +1 -0
  34. package/dist/handoff/locate.d.ts +10 -0
  35. package/dist/handoff/locate.d.ts.map +1 -0
  36. package/dist/handoff/locate.js +60 -0
  37. package/dist/handoff/locate.js.map +1 -0
  38. package/dist/handoff/render-session.d.ts +10 -0
  39. package/dist/handoff/render-session.d.ts.map +1 -0
  40. package/dist/handoff/render-session.js +88 -0
  41. package/dist/handoff/render-session.js.map +1 -0
  42. package/dist/handoff/run-handoff.d.ts +15 -0
  43. package/dist/handoff/run-handoff.d.ts.map +1 -0
  44. package/dist/handoff/run-handoff.js +51 -0
  45. package/dist/handoff/run-handoff.js.map +1 -0
  46. package/dist/handoff/run-resume.d.ts +3 -0
  47. package/dist/handoff/run-resume.d.ts.map +1 -0
  48. package/dist/handoff/run-resume.js +31 -0
  49. package/dist/handoff/run-resume.js.map +1 -0
  50. package/dist/hooks/handlers.d.ts.map +1 -1
  51. package/dist/hooks/handlers.js +1 -0
  52. package/dist/hooks/handlers.js.map +1 -1
  53. package/dist/init/claude-md-template.js +2 -2
  54. package/dist/notify/collect.d.ts +7 -0
  55. package/dist/notify/collect.d.ts.map +1 -1
  56. package/dist/notify/collect.js +1 -0
  57. package/dist/notify/collect.js.map +1 -1
  58. package/dist/state/simple.d.ts.map +1 -1
  59. package/dist/state/simple.js +4 -1
  60. package/dist/state/simple.js.map +1 -1
  61. package/dist/verify/verifier-factory.d.ts +17 -0
  62. package/dist/verify/verifier-factory.d.ts.map +1 -1
  63. package/dist/verify/verifier-factory.js +24 -0
  64. package/dist/verify/verifier-factory.js.map +1 -1
  65. package/package.json +5 -2
package/bin/cadence.cjs CHANGED
@@ -1,4 +1,11 @@
1
1
  #!/usr/bin/env node
2
+ var nodeMajor = parseInt(process.versions.node.split('.')[0], 10);
3
+ if (Number.isFinite(nodeMajor) && nodeMajor < 20) {
4
+ process.stderr.write(
5
+ 'CADENCE requires Node >=20 (you have ' + process.versions.node + '). Upgrade Node and retry.\n',
6
+ );
7
+ process.exit(1);
8
+ }
2
9
  require('node:child_process')
3
10
  .spawn(process.execPath, [require('node:path').join(__dirname, '..', 'dist', 'cli', 'index.js'), ...process.argv.slice(2)], { stdio: 'inherit' })
4
11
  .on('exit', (code) => process.exit(code ?? 0));
@@ -20,6 +20,15 @@ export interface BoundaryCheckInput {
20
20
  * `{ source: 'hook.preToolEdit' }`; settle supplies none).
21
21
  */
22
22
  extraContext?: Record<string, unknown>;
23
+ /**
24
+ * Phase 47 — repo root for path normalization. When set, declared + touched
25
+ * paths are relativized to this root (and `\\`→`/`) before the boundary
26
+ * comparison, so an ABSOLUTE touched path (recorded by the PreToolUse hook)
27
+ * matches a RELATIVE DRAFT `files:` declaration. Comparison-only: the
28
+ * ORIGINAL touched path is still what gets emitted. Omit to keep exact-string
29
+ * matching (back-compat — settle/hook supply it; unit callers may not).
30
+ */
31
+ root?: string;
23
32
  }
24
33
  /**
25
34
  * Phase 43.1 — the single home for files-outside-boundary detection. One rule
@@ -1 +1 @@
1
- {"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../src/checks/boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,iEAAiE;AACjE,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MACU,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC;;;;OAIG;IACH,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAc1E"}
1
+ {"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../src/checks/boundary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,iEAAiE;AACjE,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MACU,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC;;;;OAIG;IACH,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAqB1E"}
@@ -1,3 +1,4 @@
1
+ import { isAbsolute, relative } from 'node:path';
1
2
  /** The single line both emission points use for a stray file. */
2
3
  export const boundaryMessage = (file) => `${file} touched but not declared in any task's files:`;
3
4
  /**
@@ -11,10 +12,17 @@ export const boundaryMessage = (file) => `${file} touched but not declared in an
11
12
  * skill-audit (39.6), OUTSIDE the Phase 44.1 registry.
12
13
  */
13
14
  export function runBoundaryCheck(input) {
14
- const declared = new Set(input.declaredFiles);
15
+ const { root } = input;
16
+ // Normalize for COMPARISON only — relativize absolute paths to `root`, unify
17
+ // separators. The original (untransformed) path is what the event carries.
18
+ const norm = (p) => {
19
+ const rel = root && isAbsolute(p) ? relative(root, p) : p;
20
+ return rel.split('\\').join('/');
21
+ };
22
+ const declared = new Set([...input.declaredFiles].map(norm));
15
23
  const events = [];
16
24
  for (const file of input.touchedFiles) {
17
- if (declared.has(file))
25
+ if (declared.has(norm(file)))
18
26
  continue;
19
27
  events.push({
20
28
  type: 'files-outside-boundary',
@@ -1 +1 @@
1
- {"version":3,"file":"boundary.js","sourceRoot":"","sources":["../../src/checks/boundary.ts"],"names":[],"mappings":"AAEA,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE,CACtD,GAAG,IAAI,gDAAgD,CAAC;AAuB1D;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACjC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC;YAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE;YACxC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"boundary.js","sourceRoot":"","sources":["../../src/checks/boundary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGjD,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE,CACtD,GAAG,IAAI,gDAAgD,CAAC;AAgC1D;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE;QACjC,MAAM,GAAG,GAAG,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QACvC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC;YAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE;YACxC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerHandoffCommand(program: Command): void;
3
+ //# sourceMappingURL=handoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/handoff.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsC7D"}
@@ -0,0 +1,39 @@
1
+ import { runHandoff } from '../../handoff/run-handoff.js';
2
+ export function registerHandoffCommand(program) {
3
+ program
4
+ .command('handoff [label]')
5
+ .description('Scaffold a SESSION handoff doc in .cadence/handoff/ with machine facts pre-filled')
6
+ .option('--label <s>', 'context label (alternative to the positional arg)')
7
+ .option('--force', 'overwrite an existing same-day SESSION doc')
8
+ .option('--no-stamp', 'do not write state.session.lastHandoff (no state.json change)')
9
+ .option('--no-git', 'skip read-only git facts')
10
+ .option('--json', 'emit machine-readable JSON instead of a summary')
11
+ .action(async (labelArg, opts) => {
12
+ // commander negates --no-stamp/--no-git to stamp:false / git:false.
13
+ const handoffOpts = {
14
+ force: opts.force ?? false,
15
+ noStamp: opts.stamp === false,
16
+ noGit: opts.git === false,
17
+ };
18
+ const label = opts.label ?? labelArg;
19
+ if (label !== undefined)
20
+ handoffOpts.label = label;
21
+ try {
22
+ const res = await runHandoff(process.cwd(), handoffOpts);
23
+ if (opts.json) {
24
+ process.stdout.write(JSON.stringify(res) + '\n');
25
+ }
26
+ else {
27
+ const stamp = res.stamped ? ' · stamped lastHandoff' : '';
28
+ const git = res.gitAvailable ? '' : ' · git unavailable';
29
+ process.stdout.write(`handoff: wrote ${res.path}${stamp}${git}\n`);
30
+ }
31
+ }
32
+ catch (err) {
33
+ const msg = err instanceof Error ? err.message : String(err);
34
+ process.stderr.write(`${msg}\n`);
35
+ process.exitCode = /already exists/.test(msg) ? 2 : 1;
36
+ }
37
+ });
38
+ }
39
+ //# sourceMappingURL=handoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/cli/commands/handoff.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAuB,MAAM,8BAA8B,CAAC;AAE/E,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,mFAAmF,CAAC;SAChG,MAAM,CAAC,aAAa,EAAE,mDAAmD,CAAC;SAC1E,MAAM,CAAC,SAAS,EAAE,4CAA4C,CAAC;SAC/D,MAAM,CAAC,YAAY,EAAE,+DAA+D,CAAC;SACrF,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;SAC9C,MAAM,CAAC,QAAQ,EAAE,iDAAiD,CAAC;SACnE,MAAM,CACL,KAAK,EACH,QAA4B,EAC5B,IAAyF,EACzF,EAAE;QACF,oEAAoE;QACpE,MAAM,WAAW,GAAmB;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;YAC1B,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK;YAC7B,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,KAAK;SAC1B,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS;YAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerResumeCommand(program: Command): void;
3
+ //# sourceMappingURL=resume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4B5D"}
@@ -0,0 +1,30 @@
1
+ import { runResume } from '../../handoff/run-resume.js';
2
+ export function registerResumeCommand(program) {
3
+ program
4
+ .command('resume')
5
+ .description('Replay the freshest .cadence/handoff/ SESSION doc + live context (read-only)')
6
+ .option('--json', 'emit machine-readable JSON instead of rendered text')
7
+ .action(async (opts) => {
8
+ try {
9
+ const res = await runResume(process.cwd());
10
+ if (opts.json) {
11
+ process.stdout.write(JSON.stringify(res) + '\n');
12
+ return;
13
+ }
14
+ if (!res.found) {
15
+ process.stdout.write('resume: no handoff found — run `cadence handoff` to create one.\n');
16
+ return;
17
+ }
18
+ if (res.drift) {
19
+ process.stdout.write(`⚠ handoff written at ${res.drift.docLoopPosition}; live state now ${res.drift.liveLoopPosition}\n\n`);
20
+ }
21
+ process.stdout.write(`--- narrative from ${res.handoffPath} ---\n\n`);
22
+ process.stdout.write(res.doc.endsWith('\n') ? res.doc : res.doc + '\n');
23
+ }
24
+ catch (err) {
25
+ process.stderr.write(`resume failed: ${err instanceof Error ? err.message : String(err)}\n`);
26
+ process.exitCode = 1;
27
+ }
28
+ });
29
+ }
30
+ //# sourceMappingURL=resume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wBAAwB,GAAG,CAAC,KAAK,CAAC,eAAe,oBAAoB,GAAG,CAAC,KAAK,CAAC,gBAAgB,MAAM,CACtG,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,WAAW,UAAU,CAAC,CAAC;YACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/settle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyd5D"}
1
+ {"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/settle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiDzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwe5D"}
@@ -13,6 +13,7 @@ import { loadConfig } from '../../config/loader.js';
13
13
  import { effectiveGateSet } from '../../gates/engine.js';
14
14
  import { scanTestCoverage } from '../../verify/coverage.js';
15
15
  import { selectVerifier } from '../../verify/factory.js';
16
+ import { resolveEffectiveProvider, MOCK_FALLBACK_BANNER, } from '../../verify/verifier-factory.js';
16
17
  import { runSettleGates } from '../../gates/registry.js';
17
18
  import { runSkillAuditCheck } from '../../checks/skill-audit.js';
18
19
  import { ScriptedPrompter, StdinPrompter } from '../../verify/prompter.js';
@@ -81,6 +82,17 @@ export function registerSettleCommand(program) {
81
82
  cadenceConfig = null;
82
83
  }
83
84
  const gateSet = effectiveGateSet(state, cadenceConfig, draft);
85
+ // Onboarding hardening (phase 48): --deep asks for real verification.
86
+ // If the effective verifier provider is `mock` (the shipped default —
87
+ // `cadence init` writes verifier.provider='mock'), the verdicts are
88
+ // deterministic fakes. Warn loudly so the operator isn't handed false
89
+ // confidence. A configured real provider that downgrades to mock for a
90
+ // missing key already prints the factory's own "falling back to mock"
91
+ // warning, so that path is left to the factory.
92
+ if (opts.deep &&
93
+ resolveEffectiveProvider(cadenceConfig?.verifier).provider === 'mock') {
94
+ process.stderr.write(MOCK_FALLBACK_BANNER + '\n');
95
+ }
84
96
  // DESIGN.md §4 M2 — soft cap on auto × complex. Refuse here, before
85
97
  // any coverage / interactive / deep work, so wasted effort is avoided.
86
98
  // Phase 21.1 wires the locked decision into a live check.
@@ -351,6 +363,7 @@ export function registerSettleCommand(program) {
351
363
  progress,
352
364
  coverageBypassed,
353
365
  force: opts.force === true,
366
+ root: cwd,
354
367
  ...(deepVerify ? { deepVerify } : {}),
355
368
  ...(interactiveVerify ? { interactiveVerify } : {}),
356
369
  ...(verifierFailure ? { verifierFailure } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"settle.js","sourceRoot":"","sources":["../../../src/cli/commands/settle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settle.js","sourceRoot":"","sources":["../../../src/cli/commands/settle.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -4,6 +4,12 @@ import { fileURLToPath } from 'node:url';
4
4
  import { dirname, join } from 'node:path';
5
5
  import { Command } from 'commander';
6
6
  import { registerAllCommands } from './register.js';
7
+ import { checkNodeMajor } from './node-guard.js';
8
+ const nodeCheck = checkNodeMajor(process.versions.node);
9
+ if (!nodeCheck.ok) {
10
+ console.error(nodeCheck.message);
11
+ process.exit(1);
12
+ }
7
13
  // Read the real version from package.json so `--version` never drifts.
8
14
  // Resolves dist/cli/index.js → ../../package.json (present in the published
9
15
  // tarball and the source tree alike).
@@ -11,7 +17,7 @@ const pkg = JSON.parse(readFileSync(join(dirname(fileURLToPath(import.meta.url))
11
17
  const program = new Command();
12
18
  program
13
19
  .name('cadence')
14
- .description('CADENCE — Coordinated AI-Driven Engineering with Notifications and Customizable Execution')
20
+ .description('CADENCE — a draft/build/settle framework for AI-assisted development with configurable quality gates')
15
21
  .version(pkg.version);
16
22
  registerAllCommands(program);
17
23
  program.parseAsync(process.argv).catch((err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,uEAAuE;AACvE,4EAA4E;AAC5E,sCAAsC;AACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CACnE,CAAC;AAEzB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,2FAA2F,CAAC;KACxG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAE7B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,uEAAuE;AACvE,4EAA4E;AAC5E,sCAAsC;AACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CACnE,CAAC;AAEzB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,sGAAsG,CAAC;KACnH,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAE7B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Pure Node-major-version check. Fails *open* on unparseable input (returns ok)
3
+ * so a version-string oddity can never block the CLI — the real enforcement of
4
+ * a hard floor is the `engines` field; this is the friendly fast-fail message.
5
+ */
6
+ export declare function checkNodeMajor(versionString: string, min?: number): {
7
+ ok: true;
8
+ } | {
9
+ ok: false;
10
+ message: string;
11
+ };
12
+ //# sourceMappingURL=node-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-guard.d.ts","sourceRoot":"","sources":["../../src/cli/node-guard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,GAAG,SAAK,GACP;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAS/C"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Pure Node-major-version check. Fails *open* on unparseable input (returns ok)
3
+ * so a version-string oddity can never block the CLI — the real enforcement of
4
+ * a hard floor is the `engines` field; this is the friendly fast-fail message.
5
+ */
6
+ export function checkNodeMajor(versionString, min = 20) {
7
+ const major = Number.parseInt(versionString.replace(/^v/, ''), 10);
8
+ if (!Number.isFinite(major) || major >= min) {
9
+ return { ok: true };
10
+ }
11
+ return {
12
+ ok: false,
13
+ message: `CADENCE requires Node >=${min} (you have ${versionString}). Upgrade Node and retry.`,
14
+ };
15
+ }
16
+ //# sourceMappingURL=node-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-guard.js","sourceRoot":"","sources":["../../src/cli/node-guard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,aAAqB,EACrB,GAAG,GAAG,EAAE;IAER,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,2BAA2B,GAAG,cAAc,aAAa,4BAA4B;KAC/F,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/cli/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqB1D"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/cli/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuB1D"}
@@ -15,6 +15,8 @@ import { registerInspectCommand } from './commands/inspect.js';
15
15
  import { registerRecommendCommand } from './commands/recommend.js';
16
16
  import { registerMilestoneCommand } from './commands/milestone.js';
17
17
  import { registerContextCommand } from './commands/context.js';
18
+ import { registerHandoffCommand } from './commands/handoff.js';
19
+ import { registerResumeCommand } from './commands/resume.js';
18
20
  import { registerAssumptionCommand } from './commands/assumption.js';
19
21
  import { registerDecisionCommand } from './commands/decision.js';
20
22
  import { registerIntelligenceCommand } from './commands/intelligence.js';
@@ -36,6 +38,8 @@ export function registerAllCommands(program) {
36
38
  registerRecommendCommand(program);
37
39
  registerMilestoneCommand(program);
38
40
  registerContextCommand(program);
41
+ registerHandoffCommand(program);
42
+ registerResumeCommand(program);
39
43
  registerAssumptionCommand(program);
40
44
  registerDecisionCommand(program);
41
45
  registerIntelligenceCommand(program);
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/cli/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACvC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,2BAA2B,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/cli/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACvC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,2BAA2B,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type CadenceErrorCode = 'GENERIC' | 'STATE_CORRUPT' | 'CONFIG_INVALID' | 'LOOP_VIOLATION' | 'COHERENCE_FAILED' | 'HOOK_FAILED';
1
+ export type CadenceErrorCode = 'GENERIC' | 'STATE_CORRUPT' | 'NOT_INITIALIZED' | 'CONFIG_INVALID' | 'LOOP_VIOLATION' | 'COHERENCE_FAILED' | 'HOOK_FAILED';
2
2
  export declare class CadenceError extends Error {
3
3
  readonly code: CadenceErrorCode;
4
4
  constructor(message: string, code?: CadenceErrorCode);
@@ -6,6 +6,9 @@ export declare class CadenceError extends Error {
6
6
  export declare class StateCorruptError extends CadenceError {
7
7
  constructor(message: string);
8
8
  }
9
+ export declare class NotInitializedError extends CadenceError {
10
+ constructor(message?: string);
11
+ }
9
12
  export declare class ConfigInvalidError extends CadenceError {
10
13
  constructor(message: string);
11
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,CAAC;AAElB,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACpB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,gBAA4B;CAKhE;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAExB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB;CAM7D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,CAAC;AAElB,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACpB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,gBAA4B;CAKhE;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,mBAAoB,SAAQ,YAAY;gBAEjD,OAAO,SAAsE;CAKhF;AAED,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAExB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB;CAM7D"}
package/dist/errors.js CHANGED
@@ -12,6 +12,12 @@ export class StateCorruptError extends CadenceError {
12
12
  this.name = 'StateCorruptError';
13
13
  }
14
14
  }
15
+ export class NotInitializedError extends CadenceError {
16
+ constructor(message = 'CADENCE not initialized here — run `cadence init` to get started.') {
17
+ super(message, 'NOT_INITIALIZED');
18
+ this.name = 'NotInitializedError';
19
+ }
20
+ }
15
21
  export class ConfigInvalidError extends CadenceError {
16
22
  constructor(message) {
17
23
  super(message, 'CONFIG_INVALID');
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAmB;IAChC,YAAY,OAAe,EAAE,OAAyB,SAAS;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AASD,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IACzC,QAAQ,CAAqB;IAC7B,MAAM,CAAqB;IAEpC,YAAY,OAAe,EAAE,OAA6B,EAAE;QAC1D,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAmB;IAChC,YAAY,OAAe,EAAE,OAAyB,SAAS;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACnD,YACE,OAAO,GAAG,mEAAmE;QAE7E,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AASD,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IACzC,QAAQ,CAAqB;IAC7B,MAAM,CAAqB;IAEpC,YAAY,OAAe,EAAE,OAA6B,EAAE;QAC1D,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ import type { GitFacts } from '@manehorizons/cadence-types';
2
+ /** Best-effort, read-only. Never throws: non-repo / missing git → unavailable. */
3
+ export declare function readGitFacts(root: string): Promise<GitFacts>;
4
+ //# sourceMappingURL=git-facts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-facts.d.ts","sourceRoot":"","sources":["../../src/handoff/git-facts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAU5D,kFAAkF;AAClF,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0BlE"}
@@ -0,0 +1,43 @@
1
+ // packages/core/src/handoff/git-facts.ts
2
+ import { execFile } from 'node:child_process';
3
+ import { promisify } from 'node:util';
4
+ const pexec = promisify(execFile);
5
+ const EXEC_OPTS = { timeout: 5000, windowsHide: true, maxBuffer: 4 * 1024 * 1024 };
6
+ async function git(root, args) {
7
+ const { stdout } = await pexec('git', args, { cwd: root, ...EXEC_OPTS });
8
+ return stdout;
9
+ }
10
+ /** Best-effort, read-only. Never throws: non-repo / missing git → unavailable. */
11
+ export async function readGitFacts(root) {
12
+ try {
13
+ await git(root, ['rev-parse', '--is-inside-work-tree']);
14
+ }
15
+ catch {
16
+ return { available: false };
17
+ }
18
+ try {
19
+ const status = await git(root, ['status', '--short', '--branch']);
20
+ const lines = status.split('\n');
21
+ const header = lines[0] ?? '';
22
+ const branch = header.match(/^## (?:No commits yet on )?([^.\s]+)/)?.[1] ?? 'HEAD';
23
+ const ahead = Number(header.match(/ahead (\d+)/)?.[1] ?? '0');
24
+ const behind = Number(header.match(/behind (\d+)/)?.[1] ?? '0');
25
+ const dirty = lines.slice(1).some((l) => l.trim().length > 0);
26
+ const safe = async (args) => {
27
+ try {
28
+ return (await git(root, args)).trim();
29
+ }
30
+ catch {
31
+ return '';
32
+ }
33
+ };
34
+ const head = await safe(['rev-parse', '--short', 'HEAD']);
35
+ const recentCommits = await safe(['log', '--oneline', '-8']);
36
+ const diffStat = await safe(['diff', '--stat']);
37
+ return { available: true, branch, dirty, ahead, behind, head, recentCommits, diffStat };
38
+ }
39
+ catch {
40
+ return { available: false };
41
+ }
42
+ }
43
+ //# sourceMappingURL=git-facts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-facts.js","sourceRoot":"","sources":["../../src/handoff/git-facts.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAW,CAAC;AAE5F,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,IAAc;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,KAAK,EAAE,IAAc,EAAmB,EAAE;YACrD,IAAI,CAAC;gBAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,EAAE,CAAC;YAAC,CAAC;QACrE,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEhD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface LocatedHandoff {
2
+ path: string;
3
+ content: string;
4
+ generatedAt: string | null;
5
+ loopPosition: string | null;
6
+ }
7
+ /** Resolve the freshest SESSION doc. Prefers `lastHandoff` when its file exists;
8
+ * otherwise globs `SESSION-*.md` and ranks by generated_at → filename → mtime. */
9
+ export declare function locateFreshestHandoff(root: string, lastHandoff: string | null): Promise<LocatedHandoff | null>;
10
+ //# sourceMappingURL=locate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locate.d.ts","sourceRoot":"","sources":["../../src/handoff/locate.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAsBD;mFACmF;AACnF,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAoChC"}
@@ -0,0 +1,60 @@
1
+ // packages/core/src/handoff/locate.ts
2
+ import { readdir, readFile, stat } from 'node:fs/promises';
3
+ import { existsSync } from 'node:fs';
4
+ import { join } from 'node:path';
5
+ function handoffDir(root) {
6
+ return join(root, '.cadence', 'handoff');
7
+ }
8
+ function readKey(content, key) {
9
+ const m = content.match(new RegExp(`^${key}:\\s*(.*)$`, 'm'));
10
+ const v = m?.[1]?.trim();
11
+ return v ? v : null;
12
+ }
13
+ async function toLocated(path) {
14
+ const content = await readFile(path, 'utf8');
15
+ return {
16
+ path,
17
+ content,
18
+ generatedAt: readKey(content, 'generated_at'),
19
+ loopPosition: readKey(content, 'loop_position'),
20
+ };
21
+ }
22
+ /** Resolve the freshest SESSION doc. Prefers `lastHandoff` when its file exists;
23
+ * otherwise globs `SESSION-*.md` and ranks by generated_at → filename → mtime. */
24
+ export async function locateFreshestHandoff(root, lastHandoff) {
25
+ const dir = handoffDir(root);
26
+ if (lastHandoff) {
27
+ const pointer = join(dir, lastHandoff);
28
+ if (existsSync(pointer))
29
+ return toLocated(pointer);
30
+ }
31
+ if (!existsSync(dir))
32
+ return null;
33
+ const names = (await readdir(dir)).filter((n) => /^SESSION-.*\.md$/.test(n));
34
+ if (names.length === 0)
35
+ return null;
36
+ const ranked = await Promise.all(names.map(async (name) => {
37
+ const path = join(dir, name);
38
+ const content = await readFile(path, 'utf8');
39
+ const generatedAt = readKey(content, 'generated_at');
40
+ const fileDate = name.match(/SESSION-(\d{4}-\d{2}-\d{2})/)?.[1] ?? null;
41
+ const mtimeMs = (await stat(path)).mtimeMs;
42
+ const key = generatedAt ?? fileDate ?? '';
43
+ return { name, path, content, generatedAt, key, mtimeMs };
44
+ }));
45
+ ranked.sort((a, b) => {
46
+ if (a.key !== b.key)
47
+ return a.key < b.key ? 1 : -1; // desc
48
+ return b.mtimeMs - a.mtimeMs; // newer mtime first
49
+ });
50
+ const top = ranked[0];
51
+ if (!top)
52
+ return null;
53
+ return {
54
+ path: top.path,
55
+ content: top.content,
56
+ generatedAt: top.generatedAt,
57
+ loopPosition: readKey(top.content, 'loop_position'),
58
+ };
59
+ }
60
+ //# sourceMappingURL=locate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locate.js","sourceRoot":"","sources":["../../src/handoff/locate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ContextPacket, GitFacts } from '@manehorizons/cadence-types';
2
+ export interface SessionRenderInput {
3
+ generatedAt: string;
4
+ label: string | null;
5
+ packet: ContextPacket;
6
+ git: GitFacts;
7
+ contextPacketPath: string;
8
+ }
9
+ export declare function renderSession(input: SessionRenderInput): string;
10
+ //# sourceMappingURL=render-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-session.d.ts","sourceRoot":"","sources":["../../src/handoff/render-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE3E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,QAAQ,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AA0DD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CA8B/D"}
@@ -0,0 +1,88 @@
1
+ function fm(input) {
2
+ const { packet, git } = input;
3
+ const loop = packet.loop;
4
+ const lines = [
5
+ '---',
6
+ 'cadence_handoff: 1',
7
+ `generated_at: ${input.generatedAt}`,
8
+ `label: ${input.label ?? ''}`,
9
+ `loop_position: ${loop.loopPosition ?? 'IDLE'}`,
10
+ `active_phase: ${loop.activePhase ?? ''}`,
11
+ `active_draft: ${loop.activeDraft ?? ''}`,
12
+ `tier: ${loop.tier ?? ''}`,
13
+ `git_branch: ${git.available ? git.branch : 'unavailable'}`,
14
+ `git_dirty: ${git.available ? String(git.dirty) : 'unavailable'}`,
15
+ `git_head: ${git.available ? git.head : 'unavailable'}`,
16
+ `git_ahead: ${git.available ? String(git.ahead) : '0'}`,
17
+ `git_behind: ${git.available ? String(git.behind) : '0'}`,
18
+ `context_packet: ${input.contextPacketPath}`,
19
+ '---',
20
+ ];
21
+ return lines.join('\n');
22
+ }
23
+ function gitBlock(git) {
24
+ if (!git.available)
25
+ return '- git: unavailable (not a git repo or git not found)';
26
+ const dirty = git.dirty ? 'dirty' : 'clean';
27
+ const out = [
28
+ `- Branch \`${git.branch}\` (${dirty}), ${git.ahead} ahead / ${git.behind} behind origin`,
29
+ `- HEAD \`${git.head}\``,
30
+ ];
31
+ if (git.recentCommits)
32
+ out.push('- Recent commits:', '```', git.recentCommits, '```');
33
+ if (git.diffStat)
34
+ out.push('- Uncommitted (diff --stat):', '```', git.diffStat, '```');
35
+ return out.join('\n');
36
+ }
37
+ function contextBlock(packet) {
38
+ const recs = packet.recommendations.length
39
+ ? packet.recommendations.map((r) => ` - ${r.id} — ${r.title} (${r.status}/${r.readiness})`).join('\n')
40
+ : ' - (none)';
41
+ const asn = packet.assumptions.length
42
+ ? packet.assumptions.map((a) => ` - ${a.id} — ${a.text}`).join('\n')
43
+ : ' - (none)';
44
+ const dec = packet.decisions.length
45
+ ? packet.decisions.map((d) => ` - ${d.id} — ${d.title}`).join('\n')
46
+ : ' - (none)';
47
+ const files = packet.files.length
48
+ ? packet.files.map((f) => ` - \`${f.path}\` — ${f.why}`).join('\n')
49
+ : ' - (none)';
50
+ return [
51
+ `- Top recommendations:\n${recs}`,
52
+ `- Open assumptions:\n${asn}`,
53
+ `- Active decisions:\n${dec}`,
54
+ `- Files in play:\n${files}`,
55
+ ].join('\n');
56
+ }
57
+ export function renderSession(input) {
58
+ const { packet, git, label } = input;
59
+ const date = input.generatedAt.slice(0, 10);
60
+ const title = label ? `# Session Handoff — ${date} (${label})` : `# Session Handoff — ${date}`;
61
+ const loop = packet.loop;
62
+ return [
63
+ fm(input),
64
+ '',
65
+ title,
66
+ '',
67
+ '## TL;DR for the next session',
68
+ '<!-- 4–6 bullets: where things stand, the single next action, blockers. FILL IN. -->',
69
+ '',
70
+ "## State on handoff · pre-filled — verify, don't retype",
71
+ gitBlock(git),
72
+ `- Loop: ${loop.loopPosition ?? 'IDLE'} · phase ${loop.activePhase ?? '(none)'} · tier ${loop.tier ?? '(none)'}`,
73
+ '',
74
+ '## CADENCE context · pre-filled from `cadence context handoff`',
75
+ contextBlock(packet),
76
+ '',
77
+ '## What landed this session',
78
+ '<!-- FILL IN -->',
79
+ '',
80
+ '## Carry-forward gotchas',
81
+ '<!-- FILL IN -->',
82
+ '',
83
+ '## Next action',
84
+ '<!-- FILL IN -->',
85
+ '',
86
+ ].join('\n');
87
+ }
88
+ //# sourceMappingURL=render-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-session.js","sourceRoot":"","sources":["../../src/handoff/render-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface HandoffOptions {
2
+ label?: string;
3
+ force?: boolean;
4
+ noStamp?: boolean;
5
+ noGit?: boolean;
6
+ }
7
+ export interface HandoffResult {
8
+ path: string;
9
+ filename: string;
10
+ lastHandoff: string | null;
11
+ gitAvailable: boolean;
12
+ stamped: boolean;
13
+ }
14
+ export declare function runHandoff(root: string, opts?: HandoffOptions, now?: Date): Promise<HandoffResult>;
15
+ //# sourceMappingURL=run-handoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-handoff.d.ts","sourceRoot":"","sources":["../../src/handoff/run-handoff.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAMD,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,cAAmB,EACzB,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,aAAa,CAAC,CA2CxB"}
@@ -0,0 +1,51 @@
1
+ // packages/core/src/handoff/run-handoff.ts
2
+ import { existsSync } from 'node:fs';
3
+ import { mkdir } from 'node:fs/promises';
4
+ import { join } from 'node:path';
5
+ import { SimpleStateBackend } from '../state/simple.js';
6
+ import { atomicWriteText } from '../state/atomic-write.js';
7
+ import { runContext } from '../intelligence/context.js';
8
+ import { readGitFacts } from './git-facts.js';
9
+ import { renderSession } from './render-session.js';
10
+ function sanitizeLabel(label) {
11
+ return label.trim().replace(/\s+/g, '-').replace(/[^A-Za-z0-9._-]/g, '');
12
+ }
13
+ export async function runHandoff(root, opts = {}, now = new Date()) {
14
+ const date = now.toISOString().slice(0, 10);
15
+ const label = opts.label ? sanitizeLabel(opts.label) : '';
16
+ const filename = label ? `SESSION-${date}-${label}.md` : `SESSION-${date}.md`;
17
+ const dir = join(root, '.cadence', 'handoff');
18
+ const path = join(dir, filename);
19
+ if (existsSync(path) && !opts.force) {
20
+ throw new Error(`handoff: ${filename} already exists; pass a distinct --label or --force`);
21
+ }
22
+ const [packet, git] = await Promise.all([
23
+ runContext(root, 'handoff', now),
24
+ opts.noGit ? Promise.resolve({ available: false }) : readGitFacts(root),
25
+ ]);
26
+ const md = renderSession({
27
+ generatedAt: now.toISOString(),
28
+ label: label || null,
29
+ packet,
30
+ git,
31
+ contextPacketPath: '.cadence/intelligence/context/handoff.json',
32
+ });
33
+ await mkdir(dir, { recursive: true });
34
+ await atomicWriteText(path, md);
35
+ let stamped = false;
36
+ if (!opts.noStamp) {
37
+ const backend = new SimpleStateBackend(root);
38
+ const state = await backend.readState();
39
+ state.session = { ...state.session, lastHandoff: filename };
40
+ await backend.commit(state);
41
+ stamped = true;
42
+ }
43
+ return {
44
+ path,
45
+ filename,
46
+ lastHandoff: stamped ? filename : null,
47
+ gitAvailable: git.available,
48
+ stamped,
49
+ };
50
+ }
51
+ //# sourceMappingURL=run-handoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-handoff.js","sourceRoot":"","sources":["../../src/handoff/run-handoff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ResumeResult } from '@manehorizons/cadence-types';
2
+ export declare function runResume(root: string, now?: Date): Promise<ResumeResult>;
3
+ //# sourceMappingURL=run-resume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-resume.d.ts","sourceRoot":"","sources":["../../src/handoff/run-resume.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhE,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CA6B3F"}
@@ -0,0 +1,31 @@
1
+ import { SimpleStateBackend } from '../state/simple.js';
2
+ import { runContext } from '../intelligence/context.js';
3
+ import { locateFreshestHandoff } from './locate.js';
4
+ export async function runResume(root, now = new Date()) {
5
+ let lastHandoff = null;
6
+ let liveLoopPosition = null;
7
+ try {
8
+ const state = await new SimpleStateBackend(root).readState();
9
+ lastHandoff = state.session.lastHandoff;
10
+ liveLoopPosition = state.loopPosition;
11
+ }
12
+ catch {
13
+ // no/corrupt state — fall back to globbing, no drift comparison
14
+ }
15
+ const located = await locateFreshestHandoff(root, lastHandoff);
16
+ if (!located)
17
+ return { found: false };
18
+ const context = await runContext(root, 'handoff', now);
19
+ const drift = located.loopPosition && liveLoopPosition && located.loopPosition !== liveLoopPosition
20
+ ? { docLoopPosition: located.loopPosition, liveLoopPosition }
21
+ : null;
22
+ return {
23
+ found: true,
24
+ handoffPath: located.path,
25
+ generatedAt: located.generatedAt,
26
+ doc: located.content,
27
+ context,
28
+ drift,
29
+ };
30
+ }
31
+ //# sourceMappingURL=run-resume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-resume.js","sourceRoot":"","sources":["../../src/handoff/run-resume.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,MAAY,IAAI,IAAI,EAAE;IAClE,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAC7D,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QACxC,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAEtC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAEvD,MAAM,KAAK,GACT,OAAO,CAAC,YAAY,IAAI,gBAAgB,IAAI,OAAO,CAAC,YAAY,KAAK,gBAAgB;QACnF,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,YAAY,EAAE,gBAAgB,EAAE;QAC7D,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,EAAE,OAAO,CAAC,OAAO;QACpB,OAAO;QACP,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/hooks/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAS7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAWpG;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAMrB;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAkDrB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAWrB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CASrB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAIrB;AAID;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAWrB"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/hooks/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAS7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAWpG;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAMrB;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAmDrB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAWrB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CASrB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAIrB;AAID;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAWrB"}
@@ -41,6 +41,7 @@ export async function handlePreToolEdit(ctx, state, config) {
41
41
  touchedFiles: rawFiles,
42
42
  stamp: () => now,
43
43
  extraContext: { source: 'hook.preToolEdit' },
44
+ root: ctx.cwd,
44
45
  });
45
46
  if (events.length > 0) {
46
47
  const gateSet = effectiveGateSet(state, config, draft);
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/hooks/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/hooks/handlers.ts"],"names":[],"mappings":"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"}
@@ -17,14 +17,14 @@ loop. Do not freelance multi-step work; run it through the loop.
17
17
 
18
18
  - **Project:** ${opts.projectName}
19
19
  - **Config preset:** ${opts.preset}
20
- - **Gate profile:** ${opts.gateProfile} (gates scale with profile × tier — see DESIGN.md §4)
20
+ - **Gate profile:** ${opts.gateProfile} (gates scale with profile × tier — see https://github.com/manehorizons/cadence/blob/main/docs/concepts.md)
21
21
 
22
22
  ### Where state lives
23
23
 
24
24
  - \`.cadence/ROADMAP.md\` — phases and milestones
25
25
  - \`.cadence/STATE.md\` — current loop position, active draft/phase (derived; do not hand-edit)
26
26
  - \`.cadence/phases/<phase>/\` — per-phase DRAFT / PROGRESS / SUMMARY
27
- - \`DESIGN.md\` — architecture + the gate universe; project \`README.md\` — usage
27
+ - \`README.md\` — this project's usage; CADENCE concepts + the gate universe: https://github.com/manehorizons/cadence/blob/main/docs/concepts.md
28
28
 
29
29
  ### The loop
30
30
 
@@ -17,6 +17,13 @@ export interface CollectAnomaliesContext {
17
17
  message: string;
18
18
  provider?: string;
19
19
  } | undefined;
20
+ /**
21
+ * Phase 47 — repo root, forwarded to the boundary check so absolute
22
+ * `touchedFiles` (recorded by the PreToolUse hook) are relativized before
23
+ * comparison against the DRAFT's relative `files:` declarations. Optional:
24
+ * when omitted, the boundary check falls back to exact-string matching.
25
+ */
26
+ root?: string | undefined;
20
27
  }
21
28
  export interface CollectAnomaliesOptions {
22
29
  /** Test seam: stand in for `() => new Date()`. Production callers omit it. */
@@ -1 +1 @@
1
- {"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../src/notify/collect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,KAAK,EACN,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,4FAA4F;IAC5F,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACrD,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAAC;IACnE,oFAAoF;IACpF,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CACtE;AASD,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,uBAAuB,EAC5B,IAAI,GAAE,uBAA4B,GACjC,YAAY,EAAE,CA4HhB"}
1
+ {"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../src/notify/collect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,KAAK,EACN,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,4FAA4F;IAC5F,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACrD,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAAC;IACnE,oFAAoF;IACpF,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACrE;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AASD,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,uBAAuB,EAC5B,IAAI,GAAE,uBAA4B,GACjC,YAAY,EAAE,CA6HhB"}
@@ -64,6 +64,7 @@ export function collectAnomalies(ctx, opts = {}) {
64
64
  declaredFiles: ctx.draft.tasks.flatMap((t) => t.files),
65
65
  touchedFiles: touched,
66
66
  stamp,
67
+ ...(ctx.root !== undefined ? { root: ctx.root } : {}),
67
68
  }));
68
69
  // verifier-failure — emitted when the deep verifier transport itself blew up.
69
70
  if (ctx.verifierFailure) {
@@ -1 +1 @@
1
- {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/notify/collect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/notify/collect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../src/state/simple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEvC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAqBxC;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD,4EAA4E;YAC9D,UAAU;IASlB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUhD"}
1
+ {"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../src/state/simple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEvC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAwBxC;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD,4EAA4E;YAC9D,UAAU;IASlB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUhD"}
@@ -2,7 +2,7 @@ import { readFile, mkdir, rename } from 'node:fs/promises';
2
2
  import { existsSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import { CadenceStateZ } from '@manehorizons/cadence-types';
5
- import { StateCorruptError } from '../errors.js';
5
+ import { StateCorruptError, NotInitializedError } from '../errors.js';
6
6
  import { atomicWriteJSON, atomicWriteText } from './atomic-write.js';
7
7
  import { renderStateMd } from '../render/state-md.js';
8
8
  export class SimpleStateBackend {
@@ -15,6 +15,9 @@ export class SimpleStateBackend {
15
15
  }
16
16
  async readState() {
17
17
  const path = join(await this.resolveStateDir(), 'state.json');
18
+ if (!existsSync(path)) {
19
+ throw new NotInitializedError();
20
+ }
18
21
  let raw;
19
22
  try {
20
23
  raw = await readFile(path, 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/state/simple.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/state/simple.ts"],"names":[],"mappings":"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"}
@@ -41,5 +41,22 @@ export interface VerifierFactorySpec<C, V> {
41
41
  * and a model (`slice.model ?? CADENCE_LOCAL_MODEL`); a missing prerequisite
42
42
  * falls back to `mock` with one stderr warning so the caller knows it downgraded.
43
43
  */
44
+ /**
45
+ * Mirrors the selection algorithm's first line without building a verifier or
46
+ * touching env: `provider = override ?? slice.provider ?? 'mock'`. `defaulted`
47
+ * is true only when the provider fell through to `'mock'` with no explicit
48
+ * choice — that is the silent-false-confidence case worth warning about. An
49
+ * explicit `mock` (config or override) is NOT defaulted.
50
+ */
51
+ export declare function resolveEffectiveProvider(slice: {
52
+ provider?: VerifierProvider;
53
+ } | undefined, opts?: {
54
+ override?: VerifierProvider;
55
+ }): {
56
+ provider: VerifierProvider;
57
+ defaulted: boolean;
58
+ };
59
+ /** Prominent stderr banner for the silent mock-default case under real verify. */
60
+ export declare const MOCK_FALLBACK_BANNER: string;
44
61
  export declare function createVerifierFactory<C, V>(spec: VerifierFactorySpec<C, V>): (config: C | null, opts?: VerifierSelectOptions) => V;
45
62
  //# sourceMappingURL=verifier-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifier-factory.d.ts","sourceRoot":"","sources":["../../src/verify/verifier-factory.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAE9D,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sEAAsE;IACtE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACvC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd;;2BAEuB;IACvB,IAAI,CACF,MAAM,EAAE,CAAC,GAAG,IAAI,GACf;QAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;IAC3E,IAAI,IAAI,CAAC,CAAC;IACV,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EACxC,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,qBAAqB,KAAK,CAAC,CAmCvD"}
1
+ {"version":3,"file":"verifier-factory.d.ts","sourceRoot":"","sources":["../../src/verify/verifier-factory.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAE9D,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sEAAsE;IACtE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACvC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd;;2BAEuB;IACvB,IAAI,CACF,MAAM,EAAE,CAAC,GAAG,IAAI,GACf;QAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;IAC3E,IAAI,IAAI,CAAC,CAAC;IACV,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC;CACpD;AAED;;;;;;;GAOG;AACH;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAAG,SAAS,EAClD,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAA;CAAO,GACzC;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAKpD;AAED,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,QAUrB,CAAC;AAEb,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EACxC,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,qBAAqB,KAAK,CAAC,CAmCvD"}
@@ -6,6 +6,30 @@
6
6
  * and a model (`slice.model ?? CADENCE_LOCAL_MODEL`); a missing prerequisite
7
7
  * falls back to `mock` with one stderr warning so the caller knows it downgraded.
8
8
  */
9
+ /**
10
+ * Mirrors the selection algorithm's first line without building a verifier or
11
+ * touching env: `provider = override ?? slice.provider ?? 'mock'`. `defaulted`
12
+ * is true only when the provider fell through to `'mock'` with no explicit
13
+ * choice — that is the silent-false-confidence case worth warning about. An
14
+ * explicit `mock` (config or override) is NOT defaulted.
15
+ */
16
+ export function resolveEffectiveProvider(slice, opts = {}) {
17
+ const provider = opts.override ?? slice?.provider ?? 'mock';
18
+ const defaulted = opts.override === undefined && slice?.provider === undefined;
19
+ return { provider, defaulted };
20
+ }
21
+ /** Prominent stderr banner for the silent mock-default case under real verify. */
22
+ export const MOCK_FALLBACK_BANNER = [
23
+ '',
24
+ ' ┌─────────────────────────────────────────────────────────────────┐',
25
+ ' │ ⚠ MOCK verification — results are NOT real. │',
26
+ ' │ No verifier provider is configured, so --deep used the │',
27
+ ' │ deterministic mock. Set ANTHROPIC_API_KEY (or configure a │',
28
+ ' │ provider) for genuine verification. │',
29
+ ' └─────────────────────────────────────────────────────────────────┘',
30
+ ' https://github.com/manehorizons/cadence/blob/main/docs/providers.md',
31
+ '',
32
+ ].join('\n');
9
33
  export function createVerifierFactory(spec) {
10
34
  return (config, opts = {}) => {
11
35
  const slice = spec.read(config);
@@ -1 +1 @@
1
- {"version":3,"file":"verifier-factory.js","sourceRoot":"","sources":["../../src/verify/verifier-factory.ts"],"names":[],"mappings":"AA+BA;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA+B;IAE/B,OAAO,CAAC,MAAgB,EAAE,OAA8B,EAAE,EAAK,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAE1E,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CACF,GAAG,IAAI,CAAC,KAAK,gGAAgG,CAC9G,CAAC;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,GAAG,CAAC,iBAAiB;gBAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,GAAG,CAAC,mBAAmB,CAAC;YACtD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CACF,GAAG,IAAI,CAAC,KAAK,sGAAsG,CACpH,CAAC;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"verifier-factory.js","sourceRoot":"","sources":["../../src/verify/verifier-factory.ts"],"names":[],"mappings":"AA+BA;;;;;;;GAOG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAkD,EAClD,OAAwC,EAAE;IAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC;IAC5D,MAAM,SAAS,GACb,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC;IAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE;IACF,uEAAuE;IACvE,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,qBAAqB,CACnC,IAA+B;IAE/B,OAAO,CAAC,MAAgB,EAAE,OAA8B,EAAE,EAAK,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAE1E,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CACF,GAAG,IAAI,CAAC,KAAK,gGAAgG,CAC9G,CAAC;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,GAAG,CAAC,iBAAiB;gBAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,GAAG,CAAC,mBAAmB,CAAC;YACtD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CACF,GAAG,IAAI,CAAC,KAAK,sGAAsG,CACpH,CAAC;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@manehorizons/cadence-core",
3
- "version": "1.4.0",
3
+ "version": "1.5.1",
4
+ "engines": {
5
+ "node": ">=20"
6
+ },
4
7
  "description": "CADENCE engine — the DRAFT→BUILD→SETTLE loop, configurable quality gates, and the host-agnostic `cadence` CLI for AI-assisted development.",
5
8
  "license": "MIT",
6
9
  "author": "Thomas Powers",
@@ -47,7 +50,7 @@
47
50
  "@anthropic-ai/sdk": "^0.96.0",
48
51
  "commander": "^13.0.0",
49
52
  "zod": "^4.4.3",
50
- "@manehorizons/cadence-types": "1.4.0"
53
+ "@manehorizons/cadence-types": "1.5.1"
51
54
  },
52
55
  "devDependencies": {
53
56
  "vitest": "^2.1.0",