@event4u/agent-config 10.1.0 → 10.3.0

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 (158) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +110 -167
  3. package/README.md +1 -1
  4. package/dist/agent-src/commands/analyze/reference-repo.md +62 -0
  5. package/dist/agent-src/commands/roadmap/create.md +4 -1
  6. package/dist/agent-src/commands/roadmap/next.md +38 -0
  7. package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +22 -1
  8. package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -1
  9. package/dist/agent-src/personas/advisors/first-principles.md +6 -0
  10. package/dist/agent-src/rules/active-remediation.md +53 -2
  11. package/dist/agent-src/rules/code-provenance.md +66 -4
  12. package/dist/agent-src/rules/content-quoting-floor.md +6 -0
  13. package/dist/agent-src/rules/context-hygiene.md +39 -0
  14. package/dist/agent-src/rules/design-fidelity.md +49 -3
  15. package/dist/agent-src/rules/token-budget-discipline.md +3 -2
  16. package/dist/agent-src/rules/token-efficiency.md +22 -0
  17. package/dist/agent-src/skills/ai-council/SKILL.md +28 -6
  18. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  19. package/dist/agent-src/skills/design-review/references/verification-automation.md +23 -1
  20. package/dist/agent-src/skills/fe-design/SKILL.md +27 -3
  21. package/dist/agent-src/skills/judge-synthesis/SKILL.md +30 -0
  22. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +11 -0
  23. package/dist/agent-src/skills/roadmap-writing/SKILL.md +9 -9
  24. package/dist/agent-src/skills/skill-writing/SKILL.md +4 -0
  25. package/dist/agent-src/skills/token-optimizer/SKILL.md +5 -1
  26. package/dist/agent-src/templates/agent-settings.md +12 -28
  27. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +2 -2
  28. package/dist/agent-src/templates/persona.md +26 -0
  29. package/dist/agent-src/templates/roadmaps.md +27 -7
  30. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -1
  31. package/dist/agent-src/templates/skill.md +35 -1
  32. package/dist/cli/commands/commands.candidates.test.js +257 -0
  33. package/dist/cli/commands/commands.candidates.test.js.map +1 -0
  34. package/dist/cli/commands/commands.js +199 -0
  35. package/dist/cli/commands/commands.js.map +1 -1
  36. package/dist/cli/main.js +1 -0
  37. package/dist/cli/main.js.map +1 -1
  38. package/dist/cli/registry.js +2 -2
  39. package/dist/cli/registry.js.map +1 -1
  40. package/dist/cli-delegate/{chunk-3JUTT26I.js → chunk-6ENSXSBW.js} +1 -1
  41. package/dist/cli-delegate/{chunk-TVGXH7VA.js → chunk-6LOPHJLD.js} +1 -1
  42. package/dist/cli-delegate/{chunk-XT2YTJCZ.js → chunk-AYKQGIBG.js} +4 -0
  43. package/dist/cli-delegate/{chunk-HJSKTMIF.js → chunk-BV3WR67D.js} +3 -19
  44. package/dist/cli-delegate/{chunk-HTIU3W56.js → chunk-BWMXLD4B.js} +6 -2
  45. package/dist/cli-delegate/{chunk-2H5SE7DU.js → chunk-FV34EGEX.js} +166 -39
  46. package/dist/cli-delegate/{chunk-XTC5ARB6.js → chunk-IR3IVRVC.js} +7 -2
  47. package/dist/cli-delegate/{chunk-LRXJK6GN.js → chunk-JMQZ7MM5.js} +1 -1
  48. package/dist/cli-delegate/{chunk-NX5AXSLD.js → chunk-X3VOARZD.js} +3 -3
  49. package/dist/cli-delegate/cmd_analyze_session.js +1 -1
  50. package/dist/cli-delegate/cmd_brand_status.js +1 -1
  51. package/dist/cli-delegate/cmd_conformance.js +881 -204
  52. package/dist/cli-delegate/cmd_doctor.js +3 -3
  53. package/dist/cli-delegate/cmd_explain.js +2 -2
  54. package/dist/cli-delegate/cmd_export.js +4 -4
  55. package/dist/cli-delegate/cmd_handoff.js +6 -5
  56. package/dist/cli-delegate/cmd_mcp_available.js +1 -1
  57. package/dist/cli-delegate/cmd_migrate.js +2 -2
  58. package/dist/cli-delegate/cmd_packs_active.js +2 -2
  59. package/dist/cli-delegate/cmd_prune.js +4 -4
  60. package/dist/cli-delegate/cmd_route_audit.js +2 -2
  61. package/dist/cli-delegate/cmd_route_explain.js +1 -1
  62. package/dist/cli-delegate/cmd_session_recycle.js +44 -9
  63. package/dist/cli-delegate/cmd_settings_get.js +2 -2
  64. package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
  65. package/dist/cli-delegate/cmd_settings_set.js +2 -2
  66. package/dist/cli-delegate/cmd_sync.js +4 -4
  67. package/dist/cli-delegate/cmd_uninstall.js +4 -4
  68. package/dist/cli-delegate/cmd_update.js +1 -1
  69. package/dist/cli-delegate/cmd_upgrade.js +1 -1
  70. package/dist/cli-delegate/cmd_validate.js +4 -4
  71. package/dist/cli-delegate/cmd_versions.js +1 -1
  72. package/dist/discovery/deprecation-report.md +1 -1
  73. package/dist/discovery/discovery-manifest.json +21 -21
  74. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  75. package/dist/discovery/discovery-manifest.summary.md +1 -1
  76. package/dist/discovery/dormancy-report.md +1 -1
  77. package/dist/discovery/orphan-report.md +1 -1
  78. package/dist/discovery/packs.json +2 -2
  79. package/dist/discovery/trust-report.md +1 -1
  80. package/dist/discovery/workspaces.json +2 -2
  81. package/dist/hooks/dispatch.js +204 -44
  82. package/dist/install/install.mjs +9 -21
  83. package/dist/mcp/registry-manifest.json +2 -2
  84. package/dist/mcp/server.json +2 -2
  85. package/dist/mcp/server.mjs +1337 -490
  86. package/dist/router.json +1 -1
  87. package/dist/scripts/_lib/agent_settings.js +25 -2
  88. package/dist/scripts/_lib/agent_settings.js.map +1 -1
  89. package/dist/scripts/_lib/compile_time_toggles.js +4 -3
  90. package/dist/scripts/_lib/compile_time_toggles.js.map +1 -1
  91. package/dist/server/io/yamlIO.js +0 -2
  92. package/dist/server/io/yamlIO.js.map +1 -1
  93. package/dist/server/schemas/settings.js +3 -9
  94. package/dist/server/schemas/settings.js.map +1 -1
  95. package/dist/shared/settingsClasses.js +64 -2
  96. package/dist/shared/settingsClasses.js.map +1 -1
  97. package/dist/ui/assets/{index-B5qGYOJo.js → index-5fXOHoVh.js} +2 -2
  98. package/dist/ui/assets/index-5fXOHoVh.js.map +1 -0
  99. package/dist/ui/index.html +1 -1
  100. package/docs/contracts/settings-classes.md +307 -145
  101. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +54 -0
  102. package/docs/guidelines/agent-infra/layered-settings.md +1 -2
  103. package/docs/guidelines/agent-infra/symptom-driven-harvest-loop.md +104 -0
  104. package/docs/guidelines/design-antipatterns.md +79 -10
  105. package/docs/guidelines/design-fidelity-mechanics.md +120 -2
  106. package/package.json +1 -1
  107. package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -1
  108. package/src/config/agent-settings.template.yml +12 -30
  109. package/src/config/gate-coverage.yml +42 -8
  110. package/src/config/gate-violation-baselines.json +15 -3
  111. package/src/config/profiles/balanced.ini +0 -2
  112. package/src/config/profiles/full.ini +1 -3
  113. package/src/config/profiles/minimal.ini +0 -2
  114. package/src/config/review-prompt-binding-baseline.json +19 -0
  115. package/src/config/rule-enforcement-baseline.json +0 -1
  116. package/src/scripts/_cli/cmd_session_recycle.ts +66 -9
  117. package/src/scripts/_cli/handoff_sessions.ts +3 -2
  118. package/src/scripts/_dispatch.bash +1 -0
  119. package/src/scripts/_lib/agent_settings.ts +25 -2
  120. package/src/scripts/_lib/bench_telegraph.ts +1 -1
  121. package/src/scripts/_lib/cc_transcript.ts +25 -0
  122. package/src/scripts/_lib/compile_time_toggles.ts +4 -3
  123. package/src/scripts/ai_council/clients.ts +243 -34
  124. package/src/scripts/cache_realization_report.ts +3 -2
  125. package/src/scripts/check_ci_local_parity.ts +60 -6
  126. package/src/scripts/check_review_prompt_binding.ts +553 -0
  127. package/src/scripts/check_rule_projection_integrity.ts +3 -1
  128. package/src/scripts/check_suppression_hygiene.ts +19 -3
  129. package/src/scripts/conformance_scan.ts +282 -9
  130. package/src/scripts/cost/track.mjs +10 -4
  131. package/src/scripts/council_cli.ts +33 -3
  132. package/src/scripts/design_slop_rules.test.ts +37 -6
  133. package/src/scripts/design_slop_rules.ts +150 -22
  134. package/src/scripts/dispatch_r2_reviewer.ts +15 -1
  135. package/src/scripts/external_sources_denylist.json +3 -1
  136. package/src/scripts/hook_manifest.yaml +17 -6
  137. package/src/scripts/hooks/block_unauthorized_git.ts +54 -8
  138. package/src/scripts/hooks/delegation_nudge_hook.ts +33 -8
  139. package/src/scripts/hooks/evidence_independence.ts +61 -9
  140. package/src/scripts/hooks/session_eol_hook.ts +123 -3
  141. package/src/scripts/hooks/turn_end_gate_hook.ts +31 -0
  142. package/src/scripts/hooks/ui_route_nudge_hook.ts +55 -2
  143. package/src/scripts/lint_design_antipattern_parity.ts +201 -0
  144. package/src/scripts/lint_harvest_provenance.ts +483 -0
  145. package/src/scripts/lint_settings_classes.ts +273 -11
  146. package/src/scripts/lint_skill_router_head.ts +254 -0
  147. package/src/scripts/lint_symptom_intake.ts +241 -0
  148. package/src/scripts/report_consultation_rate.ts +128 -2
  149. package/src/scripts/report_skill_activation.ts +6 -4
  150. package/src/scripts/report_skill_obligation_violations.ts +2 -1
  151. package/src/scripts/run_skill_evals.ts +10 -5
  152. package/src/scripts/schemas/persona.schema.json +8 -0
  153. package/src/scripts/schemas/provenance-harvest.schema.json +39 -0
  154. package/src/scripts/sweep_dead_scan_roots.ts +51 -0
  155. package/src/server/io/yamlIO.ts +0 -2
  156. package/src/server/schemas/settings.ts +3 -19
  157. package/src/shared/settingsClasses.ts +93 -2
  158. package/dist/ui/assets/index-B5qGYOJo.js.map +0 -1
@@ -66,17 +66,17 @@ import {
66
66
  _wizard_state_path,
67
67
  main,
68
68
  shutilWhich
69
- } from "./chunk-2H5SE7DU.js";
69
+ } from "./chunk-FV34EGEX.js";
70
70
  import "./chunk-FTAISGDQ.js";
71
71
  import "./chunk-EJITJBJX.js";
72
72
  import "./chunk-Q26HT4QT.js";
73
- import "./chunk-XT2YTJCZ.js";
73
+ import "./chunk-AYKQGIBG.js";
74
74
  import "./chunk-PZWRPRWP.js";
75
75
  import "./chunk-M2DPGFZ4.js";
76
76
  import "./chunk-63WSP6YZ.js";
77
77
  import "./chunk-GRRPEPRN.js";
78
78
  import "./chunk-NXFWFAYV.js";
79
- import "./chunk-XTC5ARB6.js";
79
+ import "./chunk-IR3IVRVC.js";
80
80
  import "./chunk-NDJLNC6Q.js";
81
81
  import "./chunk-OY53J6II.js";
82
82
  import "./chunk-MCJYCQPF.js";
@@ -8,7 +8,7 @@ import {
8
8
  ProfileError,
9
9
  artefact_roots,
10
10
  resolve_profile
11
- } from "./chunk-TVGXH7VA.js";
11
+ } from "./chunk-6LOPHJLD.js";
12
12
  import {
13
13
  StateLoadError,
14
14
  load_state
@@ -19,7 +19,7 @@ import {
19
19
  load_agent_settings,
20
20
  logger,
21
21
  resolve_project_root
22
- } from "./chunk-XTC5ARB6.js";
22
+ } from "./chunk-IR3IVRVC.js";
23
23
  import "./chunk-NDJLNC6Q.js";
24
24
  import {
25
25
  __export
@@ -9,14 +9,14 @@ import {
9
9
  KIRO_MARKER,
10
10
  ROOCODE_MARKER,
11
11
  ZED_MARKER
12
- } from "./chunk-NX5AXSLD.js";
13
- import "./chunk-HJSKTMIF.js";
14
- import "./chunk-3JUTT26I.js";
12
+ } from "./chunk-X3VOARZD.js";
13
+ import "./chunk-BV3WR67D.js";
14
+ import "./chunk-6ENSXSBW.js";
15
15
  import "./chunk-BKO2AZ7Z.js";
16
16
  import "./chunk-63WSP6YZ.js";
17
17
  import "./chunk-GRRPEPRN.js";
18
18
  import "./chunk-NXFWFAYV.js";
19
- import "./chunk-XTC5ARB6.js";
19
+ import "./chunk-IR3IVRVC.js";
20
20
  import "./chunk-NDJLNC6Q.js";
21
21
  import "./chunk-523HCFYO.js";
22
22
  import "./chunk-OY53J6II.js";
@@ -4,7 +4,7 @@ import {
4
4
  derive_session_tag,
5
5
  list_sessions,
6
6
  read_entries
7
- } from "./chunk-LRXJK6GN.js";
7
+ } from "./chunk-JMQZ7MM5.js";
8
8
  import {
9
9
  RECYCLE_CONSUMED_REL,
10
10
  RECYCLE_ENVELOPE_REL,
@@ -22,10 +22,11 @@ import {
22
22
  } from "./chunk-MMJL4TIX.js";
23
23
  import {
24
24
  _RAW_KEY_PREFIXES,
25
- hardenedSpawnEnv
26
- } from "./chunk-XT2YTJCZ.js";
25
+ hardenedSpawnEnv,
26
+ projectStoreSlug
27
+ } from "./chunk-AYKQGIBG.js";
27
28
  import "./chunk-PZWRPRWP.js";
28
- import "./chunk-XTC5ARB6.js";
29
+ import "./chunk-IR3IVRVC.js";
29
30
  import "./chunk-NDJLNC6Q.js";
30
31
  import "./chunk-OY53J6II.js";
31
32
  import "./chunk-J55WI3RR.js";
@@ -741,7 +742,7 @@ var FETCH_OVERSHOOT = 3;
741
742
  var SUMMARY_SNIPPET_CHARS = 120;
742
743
  var SUBSTANTIVE_TOKEN_FLOOR = 1e4;
743
744
  function encode_project_path(cwd) {
744
- return cwd.replace(/[/.]/g, "-");
745
+ return projectStoreSlug(cwd);
745
746
  }
746
747
  function _snippet2(text, max = SUMMARY_SNIPPET_CHARS) {
747
748
  const oneLine = text.replace(/\s+/g, " ").trim();
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
2
2
  import {
3
3
  resolve_project_root
4
- } from "./chunk-XTC5ARB6.js";
4
+ } from "./chunk-IR3IVRVC.js";
5
5
  import "./chunk-NDJLNC6Q.js";
6
6
  import "./chunk-J55WI3RR.js";
7
7
 
@@ -1,8 +1,8 @@
1
1
  import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
2
2
  import {
3
3
  main
4
- } from "./chunk-3JUTT26I.js";
5
- import "./chunk-XTC5ARB6.js";
4
+ } from "./chunk-6ENSXSBW.js";
5
+ import "./chunk-IR3IVRVC.js";
6
6
  import "./chunk-NDJLNC6Q.js";
7
7
  import "./chunk-MCJYCQPF.js";
8
8
  import "./chunk-J55WI3RR.js";
@@ -4,12 +4,12 @@ import {
4
4
  SOURCE_MISSING,
5
5
  profile_file,
6
6
  resolve_profile
7
- } from "./chunk-TVGXH7VA.js";
7
+ } from "./chunk-6LOPHJLD.js";
8
8
  import {
9
9
  DEFAULT_PROJECT_FILE,
10
10
  load_agent_settings,
11
11
  resolve_project_root
12
- } from "./chunk-XTC5ARB6.js";
12
+ } from "./chunk-IR3IVRVC.js";
13
13
  import "./chunk-NDJLNC6Q.js";
14
14
  import "./chunk-J55WI3RR.js";
15
15
 
@@ -1,9 +1,9 @@
1
1
  import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
2
2
  import {
3
3
  PROJECT_BRIDGE_MARKERS
4
- } from "./chunk-NX5AXSLD.js";
5
- import "./chunk-HJSKTMIF.js";
6
- import "./chunk-3JUTT26I.js";
4
+ } from "./chunk-X3VOARZD.js";
5
+ import "./chunk-BV3WR67D.js";
6
+ import "./chunk-6ENSXSBW.js";
7
7
  import "./chunk-BKO2AZ7Z.js";
8
8
  import {
9
9
  manifest_path,
@@ -13,7 +13,7 @@ import "./chunk-GRRPEPRN.js";
13
13
  import "./chunk-NXFWFAYV.js";
14
14
  import {
15
15
  resolve_project_root
16
- } from "./chunk-XTC5ARB6.js";
16
+ } from "./chunk-IR3IVRVC.js";
17
17
  import "./chunk-NDJLNC6Q.js";
18
18
  import "./chunk-523HCFYO.js";
19
19
  import "./chunk-OY53J6II.js";
@@ -2,7 +2,7 @@
2
2
  import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
3
3
  import {
4
4
  read_entries
5
- } from "./chunk-LRXJK6GN.js";
5
+ } from "./chunk-JMQZ7MM5.js";
6
6
  import "./chunk-UEZ7D35A.js";
7
7
  import "./chunk-MMJL4TIX.js";
8
8
  import {
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-LF2KKJ4Q.js";
11
11
  import {
12
12
  load_agent_settings
13
- } from "./chunk-XTC5ARB6.js";
13
+ } from "./chunk-IR3IVRVC.js";
14
14
  import "./chunk-NDJLNC6Q.js";
15
15
  import "./chunk-OY53J6II.js";
16
16
  import {
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-LF2KKJ4Q.js";
7
7
  import {
8
8
  load_agent_settings
9
- } from "./chunk-XTC5ARB6.js";
9
+ } from "./chunk-IR3IVRVC.js";
10
10
  import "./chunk-NDJLNC6Q.js";
11
11
  import {
12
12
  resolvePackageRoot
@@ -11,8 +11,9 @@ import {
11
11
  } from "./chunk-EJITJBJX.js";
12
12
  import "./chunk-PZWRPRWP.js";
13
13
  import {
14
+ ORIGIN_CWD_FALLBACK,
14
15
  resolve_project_root
15
- } from "./chunk-XTC5ARB6.js";
16
+ } from "./chunk-IR3IVRVC.js";
16
17
  import "./chunk-NDJLNC6Q.js";
17
18
  import "./chunk-J55WI3RR.js";
18
19
 
@@ -58,6 +59,11 @@ function parseArgv(argv) {
58
59
  if (!value) return { ok: false, message: "--file requires a path" };
59
60
  parsed.file = value;
60
61
  i += 1;
62
+ } else if (a === "--project") {
63
+ const value = argv[i + 1];
64
+ if (!value) return { ok: false, message: "--project requires a path" };
65
+ parsed.project = value;
66
+ i += 1;
61
67
  } else if (a === "-h" || a === "--help") {
62
68
  return { ok: false, message: "usage" };
63
69
  } else {
@@ -69,7 +75,29 @@ function parseArgv(argv) {
69
75
  function runSessionRecycle(input, opts) {
70
76
  const out = [];
71
77
  const err = [];
72
- const [projectRoot] = resolve_project_root(null, { cwd: opts.cwd });
78
+ let projectRoot;
79
+ let origin;
80
+ try {
81
+ [projectRoot, origin] = resolve_project_root(opts.project ?? null, { cwd: opts.cwd });
82
+ } catch (exc) {
83
+ return { code: 1, out, err: [`recycle envelope refused \u2014 ${String(exc)}`] };
84
+ }
85
+ if (origin === ORIGIN_CWD_FALLBACK) {
86
+ return {
87
+ code: 1,
88
+ out,
89
+ err: [
90
+ `recycle envelope refused \u2014 no project anchor at or above ${projectRoot}`,
91
+ "Writing here would put the envelope where the successor session never reads it,",
92
+ "and the resume instruction would then advise /clear on a session that cannot resume.",
93
+ "Name the repository explicitly \u2014 it must be the WORKSPACE ROOT OF THE SESSION",
94
+ "that will resume, because that is the directory the successor reads the envelope",
95
+ "from; a path that merely happens to be a project is not enough:",
96
+ ` agent-config session:recycle --project <session-workspace-root> \u2026`,
97
+ ` AGENT_CONFIG_PROJECT_ROOT=<session-workspace-root> agent-config session:recycle \u2026`
98
+ ]
99
+ };
100
+ }
73
101
  let parsed;
74
102
  try {
75
103
  parsed = JSON.parse(input);
@@ -117,17 +145,18 @@ function runSessionRecycle(input, opts) {
117
145
  ]
118
146
  };
119
147
  }
148
+ const target = path.join(projectRoot, RECYCLE_ENVELOPE_REL);
120
149
  if (opts.verify === true) {
121
150
  out.push(`recycle envelope VALID \u2014 ${bytes} bytes, not written (--verify).`);
151
+ out.push(`Target would be: ${target}`);
122
152
  return { code: 0, out, err };
123
153
  }
124
- const target = path.join(projectRoot, RECYCLE_ENVELOPE_REL);
125
154
  try {
126
155
  atomic_write_json(target, envelope);
127
156
  } catch (exc) {
128
157
  return { code: 1, out, err: [`could not write ${target}: ${String(exc)}`] };
129
158
  }
130
- out.push(`recycle envelope written \u2014 ${RECYCLE_ENVELOPE_REL} (${bytes} bytes)`);
159
+ out.push(`recycle envelope written \u2014 ${target} (${bytes} bytes)`);
131
160
  out.push("");
132
161
  out.push("Resume instruction:");
133
162
  out.push(" 1. End this session now: run /clear (or start a fresh session in this workspace).");
@@ -141,10 +170,15 @@ function main(argv = process.argv.slice(2)) {
141
170
  const parsed = parseArgv(argv);
142
171
  if (!parsed.ok) {
143
172
  const usage = [
144
- "usage: agent-config session:recycle [--file <envelope.json>] [--template] [--verify]",
145
- " --file <path> read the envelope JSON from a file (default: stdin)",
146
- " --template print a skeleton envelope and exit",
147
- " --verify validate only \u2014 same rejections, no write"
173
+ "usage: agent-config session:recycle [--file <envelope.json>] [--project <path>] [--template] [--verify]",
174
+ " --file <path> read the envelope JSON from a file (default: stdin)",
175
+ " --project <path> the workspace root of the session that will resume \u2014 required",
176
+ " when the working directory is outside any project (the command",
177
+ " refuses rather than writing an envelope the successor cannot",
178
+ " find). The successor reads the envelope from ITS OWN workspace",
179
+ " root, so a path that is merely a valid project is not enough.",
180
+ " --template print a skeleton envelope and exit",
181
+ " --verify validate only \u2014 same rejections, no write"
148
182
  ].join("\n");
149
183
  if (parsed.message === "usage") {
150
184
  process.stdout.write(`${usage}
@@ -178,7 +212,8 @@ ${usage}
178
212
  }
179
213
  const result = runSessionRecycle(input, {
180
214
  cwd: process.cwd(),
181
- ...parsed.verify === true ? { verify: true } : {}
215
+ ...parsed.verify === true ? { verify: true } : {},
216
+ ...parsed.project !== void 0 ? { project: parsed.project } : {}
182
217
  });
183
218
  for (const line of result.out) process.stdout.write(`${line}
184
219
  `);
@@ -4,7 +4,7 @@ import {
4
4
  classOfPath,
5
5
  getSettingsLeaf,
6
6
  parseSettingsClassRows
7
- } from "./chunk-HTIU3W56.js";
7
+ } from "./chunk-BWMXLD4B.js";
8
8
  import {
9
9
  load
10
10
  } from "./chunk-Q26HT4QT.js";
@@ -14,7 +14,7 @@ import {
14
14
  USER_GLOBAL_FILENAME,
15
15
  iter_setting_overrides,
16
16
  load_agent_settings
17
- } from "./chunk-XTC5ARB6.js";
17
+ } from "./chunk-IR3IVRVC.js";
18
18
  import {
19
19
  resolve_with_fallback,
20
20
  write_target
@@ -3,14 +3,14 @@ import {
3
3
  GLOBAL_AGENT_SETTINGS_PATH,
4
4
  GLOBAL_USER_SETTINGS_PATH,
5
5
  SETTINGS_FILE
6
- } from "./chunk-NX5AXSLD.js";
7
- import "./chunk-HJSKTMIF.js";
8
- import "./chunk-3JUTT26I.js";
6
+ } from "./chunk-X3VOARZD.js";
7
+ import "./chunk-BV3WR67D.js";
8
+ import "./chunk-6ENSXSBW.js";
9
9
  import "./chunk-BKO2AZ7Z.js";
10
10
  import "./chunk-63WSP6YZ.js";
11
11
  import "./chunk-GRRPEPRN.js";
12
12
  import "./chunk-NXFWFAYV.js";
13
- import "./chunk-XTC5ARB6.js";
13
+ import "./chunk-IR3IVRVC.js";
14
14
  import "./chunk-NDJLNC6Q.js";
15
15
  import "./chunk-523HCFYO.js";
16
16
  import "./chunk-OY53J6II.js";
@@ -3,7 +3,7 @@ import {
3
3
  buildSettingsClassIndex,
4
4
  getSettingsLeaf,
5
5
  parseSettingsClassRows
6
- } from "./chunk-HTIU3W56.js";
6
+ } from "./chunk-BWMXLD4B.js";
7
7
  import {
8
8
  dump,
9
9
  load
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  external_exports,
13
13
  settingsSchema
14
- } from "./chunk-HJSKTMIF.js";
14
+ } from "./chunk-BV3WR67D.js";
15
15
  import {
16
16
  resolvePackageRoot
17
17
  } from "./chunk-MCJYCQPF.js";
@@ -1,9 +1,9 @@
1
1
  import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
2
2
  import {
3
3
  main
4
- } from "./chunk-NX5AXSLD.js";
5
- import "./chunk-HJSKTMIF.js";
6
- import "./chunk-3JUTT26I.js";
4
+ } from "./chunk-X3VOARZD.js";
5
+ import "./chunk-BV3WR67D.js";
6
+ import "./chunk-6ENSXSBW.js";
7
7
  import "./chunk-BKO2AZ7Z.js";
8
8
  import {
9
9
  manifest_path,
@@ -13,7 +13,7 @@ import "./chunk-GRRPEPRN.js";
13
13
  import "./chunk-NXFWFAYV.js";
14
14
  import {
15
15
  resolve_project_root
16
- } from "./chunk-XTC5ARB6.js";
16
+ } from "./chunk-IR3IVRVC.js";
17
17
  import "./chunk-NDJLNC6Q.js";
18
18
  import "./chunk-523HCFYO.js";
19
19
  import "./chunk-OY53J6II.js";
@@ -3,9 +3,9 @@ import {
3
3
  PROJECT_BRIDGE_MARKERS,
4
4
  USER_SCOPE_PATHS,
5
5
  subtract_pointers
6
- } from "./chunk-NX5AXSLD.js";
7
- import "./chunk-HJSKTMIF.js";
8
- import "./chunk-3JUTT26I.js";
6
+ } from "./chunk-X3VOARZD.js";
7
+ import "./chunk-BV3WR67D.js";
8
+ import "./chunk-6ENSXSBW.js";
9
9
  import "./chunk-BKO2AZ7Z.js";
10
10
  import {
11
11
  manifest_path,
@@ -23,7 +23,7 @@ import {
23
23
  import "./chunk-NXFWFAYV.js";
24
24
  import {
25
25
  resolve_project_root
26
- } from "./chunk-XTC5ARB6.js";
26
+ } from "./chunk-IR3IVRVC.js";
27
27
  import "./chunk-NDJLNC6Q.js";
28
28
  import "./chunk-523HCFYO.js";
29
29
  import "./chunk-OY53J6II.js";
@@ -16,7 +16,7 @@ import {
16
16
  LOCAL_PROJECT_SUBDIR,
17
17
  find_project_root,
18
18
  resolve_project_root
19
- } from "./chunk-XTC5ARB6.js";
19
+ } from "./chunk-IR3IVRVC.js";
20
20
  import "./chunk-NDJLNC6Q.js";
21
21
  import {
22
22
  resolvePackageRoot
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-GRRPEPRN.js";
20
20
  import {
21
21
  project_settings_path
22
- } from "./chunk-XTC5ARB6.js";
22
+ } from "./chunk-IR3IVRVC.js";
23
23
  import {
24
24
  event4u_root,
25
25
  write_target
@@ -3,9 +3,9 @@ import { createRequire as __acCreateRequire } from 'node:module'; const require
3
3
  import {
4
4
  PROJECT_BRIDGE_MARKERS,
5
5
  USER_SCOPE_PATHS
6
- } from "./chunk-NX5AXSLD.js";
7
- import "./chunk-HJSKTMIF.js";
8
- import "./chunk-3JUTT26I.js";
6
+ } from "./chunk-X3VOARZD.js";
7
+ import "./chunk-BV3WR67D.js";
8
+ import "./chunk-6ENSXSBW.js";
9
9
  import "./chunk-BKO2AZ7Z.js";
10
10
  import {
11
11
  manifest_path,
@@ -17,7 +17,7 @@ import {
17
17
  import "./chunk-NXFWFAYV.js";
18
18
  import {
19
19
  resolve_project_root
20
- } from "./chunk-XTC5ARB6.js";
20
+ } from "./chunk-IR3IVRVC.js";
21
21
  import "./chunk-NDJLNC6Q.js";
22
22
  import "./chunk-523HCFYO.js";
23
23
  import "./chunk-OY53J6II.js";
@@ -2,7 +2,7 @@ import { createRequire as __acCreateRequire } from 'node:module'; const require
2
2
  import {
3
3
  project_settings_path,
4
4
  resolve_project_root
5
- } from "./chunk-XTC5ARB6.js";
5
+ } from "./chunk-IR3IVRVC.js";
6
6
  import "./chunk-NDJLNC6Q.js";
7
7
  import {
8
8
  resolvePackageRoot
@@ -1,6 +1,6 @@
1
1
  # Discovery — Deprecation Report
2
2
 
3
- - Generated: `2026-08-12T12:21:21Z`
3
+ - Generated: `2026-08-13T06:03:54Z`
4
4
  - Deprecated artefacts: **0**
5
5
 
6
6
  _None. Tree is clean._
@@ -502,7 +502,7 @@
502
502
  },
503
503
  {
504
504
  "category": "command",
505
- "checksum": "sha256:5d7c5fee2c581f0bac976613d68846f0815eb324042d68689ab899d53d6995a2",
505
+ "checksum": "sha256:9155ca31cbf7f739653af9993cabf3052da9c36b5072bb44878cfeddf4853aba",
506
506
  "install": {
507
507
  "default": true,
508
508
  "removable": false
@@ -5022,7 +5022,7 @@
5022
5022
  },
5023
5023
  {
5024
5024
  "category": "command",
5025
- "checksum": "sha256:1c50c2e54a2937c971ab73ee9e6d9ef2251bfe9bdc909ccf6a04e80ddb1cc9af",
5025
+ "checksum": "sha256:723ba83b0522e73deb1b31e2d234b4c08c33ddaba4a51b8a7fd9ece8edd0828c",
5026
5026
  "install": {
5027
5027
  "default": true,
5028
5028
  "removable": false
@@ -5074,7 +5074,7 @@
5074
5074
  },
5075
5075
  {
5076
5076
  "category": "command",
5077
- "checksum": "sha256:7b6df8d87fc17588e344606cd47d081c8058a32f8ff9a2ecc0ce6d918a05d756",
5077
+ "checksum": "sha256:d3fcca2ca98361563140bc10aac1cdab99a2adc63be0623613160812c05e62f4",
5078
5078
  "install": {
5079
5079
  "default": true,
5080
5080
  "removable": false
@@ -5386,7 +5386,7 @@
5386
5386
  },
5387
5387
  {
5388
5388
  "category": "rule",
5389
- "checksum": "sha256:720b7e02e59ca76f751623e0e401cf55985f3545425924bd2cb233550a027fe5",
5389
+ "checksum": "sha256:5b9d4dbaa3c91d1eb709b0d7f56b709b221e7813f0dbac29df7f767584badc9b",
5390
5390
  "install": {
5391
5391
  "default": true,
5392
5392
  "removable": false
@@ -5712,7 +5712,7 @@
5712
5712
  },
5713
5713
  {
5714
5714
  "category": "rule",
5715
- "checksum": "sha256:571a5c681a8ed461f45889586feac80f4af106e61305ba9aecfefe6ae4ad0223",
5715
+ "checksum": "sha256:5837013d8b6ad35a8fb4ca2b6e78aeba3fcda8dc31ebac37c41eea63cd5527ad",
5716
5716
  "install": {
5717
5717
  "default": true,
5718
5718
  "removable": false
@@ -5835,7 +5835,7 @@
5835
5835
  },
5836
5836
  {
5837
5837
  "category": "rule",
5838
- "checksum": "sha256:4a0529c04723da0ec4f47fe0846f9b5b499ee83f3178223480432448cd720352",
5838
+ "checksum": "sha256:d657e99ed4c89f68e46dd81532f40e2861b559891c9f0943e65d7f05090c4225",
5839
5839
  "install": {
5840
5840
  "default": true,
5841
5841
  "removable": false
@@ -5865,7 +5865,7 @@
5865
5865
  },
5866
5866
  {
5867
5867
  "category": "rule",
5868
- "checksum": "sha256:dc4da6c8f86c54cb77f3ed762fac2e198f0b925af3002f61ab66501854eeed95",
5868
+ "checksum": "sha256:ad2718e7cc87c244b853e9fedcced788adf2b5b01e175a52c5541f4eba876b0f",
5869
5869
  "install": {
5870
5870
  "default": true,
5871
5871
  "removable": false
@@ -6013,7 +6013,7 @@
6013
6013
  },
6014
6014
  {
6015
6015
  "category": "rule",
6016
- "checksum": "sha256:4e4c10d51fa84b6679d6e80c44118e587bfe5da3c555d066406bb001075d021a",
6016
+ "checksum": "sha256:f2857a6ad7c55955a9d48ad1a018d031ae58d0e56db702ce723a516f59535108",
6017
6017
  "install": {
6018
6018
  "default": true,
6019
6019
  "removable": false
@@ -7823,7 +7823,7 @@
7823
7823
  },
7824
7824
  {
7825
7825
  "category": "rule",
7826
- "checksum": "sha256:991c69b3a8f60bec17ffc33ed4d8a4298bd73cc7924f26cd18f7808fb924c26e",
7826
+ "checksum": "sha256:2420cb2531a51c60bf047b53388c3e66a94e75ee63c0dedc431a602f04c08428",
7827
7827
  "install": {
7828
7828
  "default": true,
7829
7829
  "removable": false
@@ -7865,7 +7865,7 @@
7865
7865
  },
7866
7866
  {
7867
7867
  "category": "rule",
7868
- "checksum": "sha256:1f5c9ceed2e333a5f68a8a1be75a00b789d6df655140bfb869348989ccff9ccd",
7868
+ "checksum": "sha256:456681607fb73123ab1ef7642655f4878078bd0a55376cb0870b4819cf761220",
7869
7869
  "install": {
7870
7870
  "default": true,
7871
7871
  "removable": false
@@ -7886,7 +7886,7 @@
7886
7886
  },
7887
7887
  {
7888
7888
  "category": "rule",
7889
- "checksum": "sha256:1db334e1d69744204113fffd0224f39130caf187ccf6e745785965f6596074ea",
7889
+ "checksum": "sha256:1ffcf50f8de954c2a7d7404c2ed1215de79e22dee8f98a8c941865bb0450274c",
7890
7890
  "install": {
7891
7891
  "default": true,
7892
7892
  "removable": false
@@ -8281,7 +8281,7 @@
8281
8281
  },
8282
8282
  {
8283
8283
  "category": "skill",
8284
- "checksum": "sha256:20792918bfd60b09bb61a2c907bdb25f9bcb709d220800ac09a2b7fa2f7683ea",
8284
+ "checksum": "sha256:2fa23c2ed42adf221814a717be948d92c675052bdae720634fd5a78409dcda09",
8285
8285
  "install": {
8286
8286
  "default": true,
8287
8287
  "removable": false
@@ -9073,7 +9073,7 @@
9073
9073
  },
9074
9074
  {
9075
9075
  "category": "skill",
9076
- "checksum": "sha256:dfc82f74b9e832ed669457451700bd015e2c03de18bfe8b138721cd0142f9e3c",
9076
+ "checksum": "sha256:8edfd2c86071e64381dac5bdca35dde20e922cc1512eee1becd6deee42192a79",
9077
9077
  "install": {
9078
9078
  "default": true,
9079
9079
  "removable": false
@@ -10019,7 +10019,7 @@
10019
10019
  },
10020
10020
  {
10021
10021
  "category": "skill",
10022
- "checksum": "sha256:6d4c04c24932121ca8d48b6d8842b3c1c86d1848fbd8f23fe110edd5f8628c98",
10022
+ "checksum": "sha256:339832915b122fedf5314e3de8b551f495299e6bcb09d3952ceaeb4aed5380c3",
10023
10023
  "install": {
10024
10024
  "default": true,
10025
10025
  "removable": false
@@ -10811,7 +10811,7 @@
10811
10811
  },
10812
10812
  {
10813
10813
  "category": "skill",
10814
- "checksum": "sha256:c125c12dd1d061aaaa36c88a2df187e2bf60376adbb36ef819b1f1752279fb76",
10814
+ "checksum": "sha256:cbd60fce9d2110615cf9e8094980f34cd96cd8f9c791379efed549198bd5eb7d",
10815
10815
  "install": {
10816
10816
  "default": true,
10817
10817
  "removable": false
@@ -11185,7 +11185,7 @@
11185
11185
  },
11186
11186
  {
11187
11187
  "category": "skill",
11188
- "checksum": "sha256:a3df26df5be97ea93539d3c890253131a103dcb399965d48ba7e957d37e2dc46",
11188
+ "checksum": "sha256:1426f6278e65fbf2f59b18d28d34ca91daec14e896c11d3ff51caeee0a681e09",
11189
11189
  "install": {
11190
11190
  "default": true,
11191
11191
  "removable": false
@@ -13149,7 +13149,7 @@
13149
13149
  },
13150
13150
  {
13151
13151
  "category": "skill",
13152
- "checksum": "sha256:cd061a5fc90a31d3906346ebc2601de2f1cd12ae34c7db5bf91b3e7bfeec04f4",
13152
+ "checksum": "sha256:0d1dcadbb99eba47dd3927a7a5f1dd84a68ea3667def96ec4a614d9c413a14d3",
13153
13153
  "install": {
13154
13154
  "default": true,
13155
13155
  "removable": false
@@ -13589,7 +13589,7 @@
13589
13589
  },
13590
13590
  {
13591
13591
  "category": "skill",
13592
- "checksum": "sha256:8e1e957c9f87bcb762ef0111542f2e74567fab8266c8668dab2602c92029a08e",
13592
+ "checksum": "sha256:538e484632dc14a24f420afa12f4e9f5496d46147e95ab51b65471e920fb1297",
13593
13593
  "install": {
13594
13594
  "default": true,
13595
13595
  "removable": false
@@ -14073,7 +14073,7 @@
14073
14073
  },
14074
14074
  {
14075
14075
  "category": "skill",
14076
- "checksum": "sha256:6dbc940d274007c8440230d6cb7537ff92f237ab7712121fc8efbfbe63170cdd",
14076
+ "checksum": "sha256:81b5e68c7c6e8aad82afae3d793a9a4fa40aa6d8ceb2ab77bd7c28b482df6b74",
14077
14077
  "install": {
14078
14078
  "default": true,
14079
14079
  "removable": false
@@ -14486,7 +14486,7 @@
14486
14486
  "workspaces": []
14487
14487
  }
14488
14488
  ],
14489
- "checksum": "sha256:651edc81da3293762d2d404f360755f4ae48db41416cf431e4e3d725880ab473",
14489
+ "checksum": "sha256:80669a1f5e725ff7c28914cf550d50c890591d1329a51a65f08666a61377d6d3",
14490
14490
  "deprecations": [
14491
14491
  {
14492
14492
  "key": "tier",
@@ -14629,7 +14629,7 @@
14629
14629
  "reason": "scaffold template for ticket-bundle tickets (ADR-101); carries no runtime frontmatter — emit-tickets fills it in per ticket"
14630
14630
  }
14631
14631
  ],
14632
- "generated_at": "2026-08-12T12:21:21Z",
14632
+ "generated_at": "2026-08-13T06:03:54Z",
14633
14633
  "packs": [
14634
14634
  {
14635
14635
  "artefact_count": 118,
@@ -1 +1 @@
1
- 09bbebebb3c54450d49a3fa8d31cdf8b3149dff74cd1cfb5a648e03fcbcab1ed discovery-manifest.json
1
+ 95b62dc47162da0544a4518b065124a285176948e2574fc60bb97d589c2bd8a2 discovery-manifest.json
@@ -1,6 +1,6 @@
1
1
  # Discovery Manifest — Summary
2
2
 
3
- - Generated: `2026-08-12T12:21:21Z`
3
+ - Generated: `2026-08-13T06:03:54Z`
4
4
  - Scanner: `1eaf68b6e9c9`
5
5
  - Artefacts: **603**
6
6
  - Unassigned: **0**
@@ -1,6 +1,6 @@
1
1
  # Discovery — Dormancy Report
2
2
 
3
- - Generated: `2026-08-12T12:21:21Z`
3
+ - Generated: `2026-08-13T06:03:54Z`
4
4
  - Window: **6 months** without a commit
5
5
 
6
6
  > Dormancy triggers **review, never auto-deprecation**