ctxr-cli 0.5.0 → 0.6.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 (200) hide show
  1. package/dist/adapter.d.ts +0 -1
  2. package/dist/adapter.d.ts.map +1 -1
  3. package/dist/adapter.js.map +1 -1
  4. package/dist/adapters/builtin/index.d.ts.map +1 -1
  5. package/dist/adapters/builtin/index.js +2 -2
  6. package/dist/adapters/builtin/index.js.map +1 -1
  7. package/dist/adapters/harness/claude-code.d.ts.map +1 -1
  8. package/dist/adapters/harness/claude-code.js +30 -14
  9. package/dist/adapters/harness/claude-code.js.map +1 -1
  10. package/dist/adapters/harness/hermes-agent.d.ts +9 -0
  11. package/dist/adapters/harness/hermes-agent.d.ts.map +1 -0
  12. package/dist/adapters/harness/hermes-agent.js +13 -0
  13. package/dist/adapters/harness/hermes-agent.js.map +1 -0
  14. package/dist/adapters/types.d.ts +39 -18
  15. package/dist/adapters/types.d.ts.map +1 -1
  16. package/dist/adapters/types.js +3 -3
  17. package/dist/adapters/types.js.map +1 -1
  18. package/dist/commands/adapters-generate.d.ts +4 -2
  19. package/dist/commands/adapters-generate.d.ts.map +1 -1
  20. package/dist/commands/adapters-generate.js +14 -6
  21. package/dist/commands/adapters-generate.js.map +1 -1
  22. package/dist/commands/archive.d.ts +4 -2
  23. package/dist/commands/archive.d.ts.map +1 -1
  24. package/dist/commands/archive.js +5 -3
  25. package/dist/commands/archive.js.map +1 -1
  26. package/dist/commands/check.d.ts.map +1 -1
  27. package/dist/commands/check.js +1 -6
  28. package/dist/commands/check.js.map +1 -1
  29. package/dist/commands/init.d.ts +2 -0
  30. package/dist/commands/init.d.ts.map +1 -1
  31. package/dist/commands/init.js +84 -18
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/publish-check.d.ts +23 -0
  34. package/dist/commands/publish-check.d.ts.map +1 -0
  35. package/dist/commands/publish-check.js +116 -0
  36. package/dist/commands/publish-check.js.map +1 -0
  37. package/dist/commands/publish-gather.d.ts +37 -0
  38. package/dist/commands/publish-gather.d.ts.map +1 -0
  39. package/dist/commands/publish-gather.js +92 -0
  40. package/dist/commands/publish-gather.js.map +1 -0
  41. package/dist/commands/publish-new.d.ts +18 -0
  42. package/dist/commands/publish-new.d.ts.map +1 -0
  43. package/dist/commands/publish-new.js +86 -0
  44. package/dist/commands/publish-new.js.map +1 -0
  45. package/dist/commands/serve.d.ts +32 -0
  46. package/dist/commands/serve.d.ts.map +1 -0
  47. package/dist/commands/serve.js +170 -0
  48. package/dist/commands/serve.js.map +1 -0
  49. package/dist/commands/update.js +3 -3
  50. package/dist/commands/update.js.map +1 -1
  51. package/dist/config/defaults.d.ts +39 -17
  52. package/dist/config/defaults.d.ts.map +1 -1
  53. package/dist/config/defaults.js +40 -21
  54. package/dist/config/defaults.js.map +1 -1
  55. package/dist/config/schema.d.ts +36 -9
  56. package/dist/config/schema.d.ts.map +1 -1
  57. package/dist/config/schema.js +71 -15
  58. package/dist/config/schema.js.map +1 -1
  59. package/dist/core/browse/link-resolver.d.ts +12 -0
  60. package/dist/core/browse/link-resolver.d.ts.map +1 -0
  61. package/dist/core/browse/link-resolver.js +12 -0
  62. package/dist/core/browse/link-resolver.js.map +1 -0
  63. package/dist/core/browse/render.d.ts +5 -0
  64. package/dist/core/browse/render.d.ts.map +1 -0
  65. package/dist/core/browse/render.js +66 -0
  66. package/dist/core/browse/render.js.map +1 -0
  67. package/dist/core/browse/routes.d.ts +31 -0
  68. package/dist/core/browse/routes.d.ts.map +1 -0
  69. package/dist/core/browse/routes.js +56 -0
  70. package/dist/core/browse/routes.js.map +1 -0
  71. package/dist/core/browse/templates.d.ts +4 -0
  72. package/dist/core/browse/templates.d.ts.map +1 -0
  73. package/dist/core/browse/templates.js +26 -0
  74. package/dist/core/browse/templates.js.map +1 -0
  75. package/dist/core/checks/integrity-checks.d.ts +18 -2
  76. package/dist/core/checks/integrity-checks.d.ts.map +1 -1
  77. package/dist/core/checks/integrity-checks.js +55 -10
  78. package/dist/core/checks/integrity-checks.js.map +1 -1
  79. package/dist/core/checks/organize-checks.d.ts +9 -1
  80. package/dist/core/checks/organize-checks.d.ts.map +1 -1
  81. package/dist/core/checks/organize-checks.js +13 -3
  82. package/dist/core/checks/organize-checks.js.map +1 -1
  83. package/dist/core/convention-doc.d.ts +8 -9
  84. package/dist/core/convention-doc.d.ts.map +1 -1
  85. package/dist/core/convention-doc.js +45 -18
  86. package/dist/core/convention-doc.js.map +1 -1
  87. package/dist/core/conventions.d.ts +2 -2
  88. package/dist/core/conventions.js +2 -2
  89. package/dist/core/disclosure/model.d.ts +11 -0
  90. package/dist/core/disclosure/model.d.ts.map +1 -1
  91. package/dist/core/disclosure/model.js +24 -0
  92. package/dist/core/disclosure/model.js.map +1 -1
  93. package/dist/core/errors.d.ts +27 -41
  94. package/dist/core/errors.d.ts.map +1 -1
  95. package/dist/core/errors.js +76 -119
  96. package/dist/core/errors.js.map +1 -1
  97. package/dist/core/git/repo.d.ts +0 -6
  98. package/dist/core/git/repo.d.ts.map +1 -1
  99. package/dist/core/git/repo.js +0 -13
  100. package/dist/core/git/repo.js.map +1 -1
  101. package/dist/core/git/worktree.d.ts +4 -7
  102. package/dist/core/git/worktree.d.ts.map +1 -1
  103. package/dist/core/git/worktree.js +4 -10
  104. package/dist/core/git/worktree.js.map +1 -1
  105. package/dist/core/graph/model.d.ts +14 -0
  106. package/dist/core/graph/model.d.ts.map +1 -1
  107. package/dist/core/graph/model.js +30 -14
  108. package/dist/core/graph/model.js.map +1 -1
  109. package/dist/core/harness/bridge.d.ts +30 -0
  110. package/dist/core/harness/bridge.d.ts.map +1 -0
  111. package/dist/core/harness/bridge.js +178 -0
  112. package/dist/core/harness/bridge.js.map +1 -0
  113. package/dist/core/json-config-merge.d.ts.map +1 -1
  114. package/dist/core/json-config-merge.js +30 -7
  115. package/dist/core/json-config-merge.js.map +1 -1
  116. package/dist/core/migrations/archive-destination-from-taxonomy.d.ts +35 -0
  117. package/dist/core/migrations/archive-destination-from-taxonomy.d.ts.map +1 -0
  118. package/dist/core/migrations/archive-destination-from-taxonomy.js +109 -0
  119. package/dist/core/migrations/archive-destination-from-taxonomy.js.map +1 -0
  120. package/dist/core/migrations/drop-forge-and-workspaces-external.d.ts +19 -0
  121. package/dist/core/migrations/drop-forge-and-workspaces-external.d.ts.map +1 -0
  122. package/dist/core/migrations/drop-forge-and-workspaces-external.js +49 -0
  123. package/dist/core/migrations/drop-forge-and-workspaces-external.js.map +1 -0
  124. package/dist/core/migrations/registry.d.ts.map +1 -1
  125. package/dist/core/migrations/registry.js +4 -0
  126. package/dist/core/migrations/registry.js.map +1 -1
  127. package/dist/core/notes/list.d.ts.map +1 -1
  128. package/dist/core/notes/list.js +5 -1
  129. package/dist/core/notes/list.js.map +1 -1
  130. package/dist/core/publish/script-check.d.ts +12 -0
  131. package/dist/core/publish/script-check.d.ts.map +1 -0
  132. package/dist/core/publish/script-check.js +39 -0
  133. package/dist/core/publish/script-check.js.map +1 -0
  134. package/dist/core/reconcile.d.ts +3 -0
  135. package/dist/core/reconcile.d.ts.map +1 -1
  136. package/dist/core/reconcile.js +15 -5
  137. package/dist/core/reconcile.js.map +1 -1
  138. package/dist/core/session.d.ts +9 -9
  139. package/dist/core/session.js +9 -9
  140. package/dist/core/skills.d.ts +36 -0
  141. package/dist/core/skills.d.ts.map +1 -1
  142. package/dist/core/skills.js +154 -29
  143. package/dist/core/skills.js.map +1 -1
  144. package/dist/core/write-lifecycle/path-gate.d.ts.map +1 -1
  145. package/dist/core/write-lifecycle/path-gate.js +4 -2
  146. package/dist/core/write-lifecycle/path-gate.js.map +1 -1
  147. package/dist/prompt/inquirer-prompter.d.ts.map +1 -1
  148. package/dist/prompt/inquirer-prompter.js +11 -1
  149. package/dist/prompt/inquirer-prompter.js.map +1 -1
  150. package/dist/prompt/prompter.d.ts +16 -0
  151. package/dist/prompt/prompter.d.ts.map +1 -1
  152. package/dist/run.d.ts.map +1 -1
  153. package/dist/run.js +61 -55
  154. package/dist/run.js.map +1 -1
  155. package/dist/taxonomy/profiles.d.ts +11 -0
  156. package/dist/taxonomy/profiles.d.ts.map +1 -1
  157. package/dist/taxonomy/profiles.js +1 -0
  158. package/dist/taxonomy/profiles.js.map +1 -1
  159. package/dist/version.d.ts +1 -1
  160. package/dist/version.js +1 -1
  161. package/package.json +3 -1
  162. package/templates/agents/canonical.md +1 -1
  163. package/templates/conventions/{baseline-convention.md → baseline-conventions.md} +4 -4
  164. package/templates/conventions/{custom-convention-seed.md → house-conventions-seed.md} +15 -2
  165. package/templates/hooks/pre-push.sh +1 -1
  166. package/templates/serve/shell.html +15 -0
  167. package/templates/serve/style.css +88 -0
  168. package/templates/skills/ctxr-land.md +32 -18
  169. package/templates/skills/ctxr-organize-audit.md +1 -1
  170. package/templates/skills/ctxr-publish.md +79 -0
  171. package/templates/skills/ctxr-session-capture.md +44 -1
  172. package/templates/skills/ctxr-session-lifecycle.md +20 -1
  173. package/templates/skills/ctxr-submit.md +15 -11
  174. package/templates/vendor/frontend-design/LICENSE.txt +177 -0
  175. package/templates/vendor/frontend-design/SKILL.md +55 -0
  176. package/templates/vendor/frontend-design/provenance.json +7 -0
  177. package/dist/adapters/forge/github.d.ts +0 -12
  178. package/dist/adapters/forge/github.d.ts.map +0 -1
  179. package/dist/adapters/forge/github.js +0 -76
  180. package/dist/adapters/forge/github.js.map +0 -1
  181. package/dist/adapters/forge/types.d.ts +0 -46
  182. package/dist/adapters/forge/types.d.ts.map +0 -1
  183. package/dist/adapters/forge/types.js +0 -2
  184. package/dist/adapters/forge/types.js.map +0 -1
  185. package/dist/commands/session-abandon.d.ts +0 -13
  186. package/dist/commands/session-abandon.d.ts.map +0 -1
  187. package/dist/commands/session-abandon.js +0 -22
  188. package/dist/commands/session-abandon.js.map +0 -1
  189. package/dist/commands/session-land.d.ts +0 -45
  190. package/dist/commands/session-land.d.ts.map +0 -1
  191. package/dist/commands/session-land.js +0 -171
  192. package/dist/commands/session-land.js.map +0 -1
  193. package/dist/commands/session-reap.d.ts +0 -22
  194. package/dist/commands/session-reap.d.ts.map +0 -1
  195. package/dist/commands/session-reap.js +0 -52
  196. package/dist/commands/session-reap.js.map +0 -1
  197. package/dist/commands/session-submit.d.ts +0 -29
  198. package/dist/commands/session-submit.d.ts.map +0 -1
  199. package/dist/commands/session-submit.js +0 -72
  200. package/dist/commands/session-submit.js.map +0 -1
package/dist/adapter.d.ts CHANGED
@@ -12,7 +12,6 @@
12
12
  * contexture's built-ins use, ready for that loading mechanism once it ships.
13
13
  */
14
14
  export type { Adapter, AdapterKind, HarnessGenerationAdapter } from './adapters/types.js';
15
- export type { ForgeAdapter, OpenPullRequestInput, OpenPullRequestResult } from './adapters/forge/types.js';
16
15
  import type { Adapter, AdapterKind } from './adapters/types.js';
17
16
  export declare function defineAdapter<K extends AdapterKind, A extends Adapter<K>>(adapter: A): A;
18
17
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAE3G,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAExF"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE1F,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAExF"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,aAAa,CAA8C,OAAU;IACnF,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,aAAa,CAA8C,OAAU;IACnF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/builtin/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,OAAO,EAAmD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/builtin/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,OAAO,EAA0D,CAAC"}
@@ -1,8 +1,8 @@
1
- import { githubForgeAdapter } from '../forge/github.js';
2
1
  import { claudeCodeHarnessAdapter } from '../harness/claude-code.js';
2
+ import { hermesAgentHarnessAdapter } from '../harness/hermes-agent.js';
3
3
  /**
4
4
  * Every adapter shipped with contexture itself, resolved by (kind, id)
5
5
  * against contexture.yaml's declared list.
6
6
  */
7
- export const BUILTIN_ADAPTERS = [githubForgeAdapter, claudeCodeHarnessAdapter];
7
+ export const BUILTIN_ADAPTERS = [claudeCodeHarnessAdapter, hermesAgentHarnessAdapter];
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/builtin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGrE;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAuB,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/builtin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAGvE;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAuB,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/adapters/harness/claude-code.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAyB,MAAM,aAAa,CAAC;AAYnF,eAAO,MAAM,wBAAwB,EAAE,wBAwEtC,CAAC"}
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/adapters/harness/claude-code.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAyB,MAAM,aAAa,CAAC;AAYnF,eAAO,MAAM,wBAAwB,EAAE,wBAwFtC,CAAC"}
@@ -10,8 +10,9 @@ const HOOK_TARGET_PATH = '.claude/hooks/claude-code-write-gate.sh';
10
10
  export const claudeCodeHarnessAdapter = {
11
11
  id: 'claude-code',
12
12
  kind: 'harness-generation',
13
- interfaceVersion: 1,
13
+ interfaceVersion: 2,
14
14
  entryFileName: 'CLAUDE.md',
15
+ skillsDir: '.claude/skills/',
15
16
  render(agentsMdPath) {
16
17
  return [`@${path.basename(agentsMdPath)}`];
17
18
  },
@@ -22,9 +23,10 @@ export const claudeCodeHarnessAdapter = {
22
23
  targetPath: HOOK_TARGET_PATH,
23
24
  },
24
25
  /**
25
- * task 8.4 (revised): deny raw `git push`/`git commit`, and deny an
26
- * edit anywhere under the store root except the active session
27
- * worktree via a PreToolUse hook rather than a permission rule.
26
+ * task 8.4 (revised): deny an edit anywhere under the store root except
27
+ * the active session worktree, via a PreToolUse hook rather than a
28
+ * permission rule. This emits no `Bash(git …)` deny — see
29
+ * `retiredRules` for why the two that used to live here are gone.
28
30
  *
29
31
  * A permission rule cannot express that carve-out: Claude Code
30
32
  * evaluates deny before allow with no exception mechanism ("a deny rule
@@ -40,26 +42,40 @@ export const claudeCodeHarnessAdapter = {
40
42
  * pre-commit path allowlist can never disagree about what counts as an
41
43
  * escape.
42
44
  */
43
- render({ root }) {
45
+ render({ mainRoot }) {
44
46
  return {
45
- permissions: {
46
- deny: ['Bash(git push:*)', 'Bash(git commit:*)'],
47
- },
48
47
  hooks: {
49
48
  PreToolUse: [
50
49
  {
51
50
  matcher: 'Edit|Write|NotebookEdit',
52
- hooks: [{ type: 'command', command: path.join(root, HOOK_TARGET_PATH) }],
51
+ // Anchored at the main worktree, never the checkout currently
52
+ // running the generator (stabilize-write-gate-hook-path) — a
53
+ // session worktree is deleted once its own session lands, and
54
+ // a hook command that no longer resolves fails open silently.
55
+ hooks: [{ type: 'command', command: path.join(mainRoot, HOOK_TARGET_PATH) }],
53
56
  },
54
57
  ],
55
58
  },
56
59
  };
57
60
  },
58
61
  /**
59
- * The deny/allow pair a previous release emitted for the same
60
- * `{root, worktreesPath}` — reconstructed here (not read back off disk)
61
- * so `mergeJsonArrayLists` can remove it by exact match, repairing a
62
- * store whose config was generated before this fix.
62
+ * Rules previous releases emitted that `render()` no longer does —
63
+ * reconstructed here (not read back off disk) so `mergeJsonArrayLists`
64
+ * can remove each by exact match, converging a store generated by an
65
+ * earlier version. Two generations are retired here:
66
+ *
67
+ * 1. The Write/Edit deny/allow pair, replaced by the PreToolUse hook
68
+ * above for the carve-out reason documented on `render()`.
69
+ * 2. `Bash(git push:*)` / `Bash(git commit:*)`. These existed to force
70
+ * every commit and push through `ctxr session submit`, which ran git
71
+ * as its own subprocess and so was never matched by a `Bash(git …)`
72
+ * rule. That command is gone (session-keeps-only-what-git-cannot-do);
73
+ * `ctxr-submit` now instructs `git commit` and `git push` directly,
74
+ * which these rules would deny — a config forbidding the very skill
75
+ * it ships alongside. The guarantee they were credited with is not
76
+ * lost: the pre-push hook refuses a push to the default branch
77
+ * whatever runs it, and that hook, not a permission rule, is the
78
+ * mechanism write-lifecycle actually names.
63
79
  */
64
80
  retiredRules({ root, worktreesPath }) {
65
81
  const absRoot = root.replace(/^\/+/, '').replace(/\/+$/, '');
@@ -68,7 +84,7 @@ export const claudeCodeHarnessAdapter = {
68
84
  const worktreeGlob = `//${absRoot}/${worktreesSegment}/**`;
69
85
  return {
70
86
  permissions: {
71
- deny: [`Write(${rootGlob})`, `Edit(${rootGlob})`],
87
+ deny: [`Write(${rootGlob})`, `Edit(${rootGlob})`, 'Bash(git push:*)', 'Bash(git commit:*)'],
72
88
  allow: [`Write(${worktreeGlob})`, `Edit(${worktreeGlob})`],
73
89
  },
74
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/adapters/harness/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B;;;;;GAKG;AAEH,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AAEnE,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,oBAAoB;IAC1B,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,WAAW;IAE1B,MAAM,CAAC,YAAoB;QACzB,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB,EAAE;QAChB,IAAI,EAAE,uBAAuB;QAE7B,QAAQ,EAAE;YACR,gBAAgB,EAAE,2BAA2B;YAC7C,UAAU,EAAE,gBAAgB;SAC7B;QAED;;;;;;;;;;;;;;;;;;WAkBG;QACH,MAAM,CAAC,EAAE,IAAI,EAAyB;YACpC,OAAO;gBACL,WAAW,EAAE;oBACX,IAAI,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;iBACjD;gBACD,KAAK,EAAE;oBACL,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE,yBAAyB;4BAClC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC;yBACzE;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED;;;;;WAKG;QACH,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAyB;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC7D,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,KAAK,OAAO,KAAK,CAAC;YACnC,MAAM,YAAY,GAAG,KAAK,OAAO,IAAI,gBAAgB,KAAK,CAAC;YAC3D,OAAO;gBACL,WAAW,EAAE;oBACX,IAAI,EAAE,CAAC,SAAS,QAAQ,GAAG,EAAE,QAAQ,QAAQ,GAAG,CAAC;oBACjD,KAAK,EAAE,CAAC,SAAS,YAAY,GAAG,EAAE,QAAQ,YAAY,GAAG,CAAC;iBAC3D;aACF,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/adapters/harness/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B;;;;;GAKG;AAEH,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AAEnE,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,oBAAoB;IAC1B,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,WAAW;IAC1B,SAAS,EAAE,iBAAiB;IAE5B,MAAM,CAAC,YAAoB;QACzB,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB,EAAE;QAChB,IAAI,EAAE,uBAAuB;QAE7B,QAAQ,EAAE;YACR,gBAAgB,EAAE,2BAA2B;YAC7C,UAAU,EAAE,gBAAgB;SAC7B;QAED;;;;;;;;;;;;;;;;;;;WAmBG;QACH,MAAM,CAAC,EAAE,QAAQ,EAAyB;YACxC,OAAO;gBACL,KAAK,EAAE;oBACL,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE,yBAAyB;4BAClC,8DAA8D;4BAC9D,6DAA6D;4BAC7D,8DAA8D;4BAC9D,8DAA8D;4BAC9D,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;yBAC7E;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED;;;;;;;;;;;;;;;;;;WAkBG;QACH,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAyB;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC7D,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,KAAK,OAAO,KAAK,CAAC;YACnC,MAAM,YAAY,GAAG,KAAK,OAAO,IAAI,gBAAgB,KAAK,CAAC;YAC3D,OAAO;gBACL,WAAW,EAAE;oBACX,IAAI,EAAE,CAAC,SAAS,QAAQ,GAAG,EAAE,QAAQ,QAAQ,GAAG,EAAE,kBAAkB,EAAE,oBAAoB,CAAC;oBAC3F,KAAK,EAAE,CAAC,SAAS,YAAY,GAAG,EAAE,QAAQ,YAAY,GAAG,CAAC;iBAC3D;aACF,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { HarnessGenerationAdapter } from '../types.js';
2
+ /**
3
+ * A skills-only harness-generation adapter (vendored-craft-skills spec):
4
+ * Hermes reads the canonical entry document directly, so this adapter
5
+ * declares no entry file and no permission config — its only contribution
6
+ * is `skillsDir`, bridged to the store's configured skills path.
7
+ */
8
+ export declare const hermesAgentHarnessAdapter: HarnessGenerationAdapter;
9
+ //# sourceMappingURL=hermes-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes-agent.d.ts","sourceRoot":"","sources":["../../../src/adapters/harness/hermes-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,wBAKvC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A skills-only harness-generation adapter (vendored-craft-skills spec):
3
+ * Hermes reads the canonical entry document directly, so this adapter
4
+ * declares no entry file and no permission config — its only contribution
5
+ * is `skillsDir`, bridged to the store's configured skills path.
6
+ */
7
+ export const hermesAgentHarnessAdapter = {
8
+ id: 'hermes-agent',
9
+ kind: 'harness-generation',
10
+ interfaceVersion: 2,
11
+ skillsDir: '.hermes/skills/',
12
+ };
13
+ //# sourceMappingURL=hermes-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes-agent.js","sourceRoot":"","sources":["../../../src/adapters/harness/hermes-agent.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA6B;IACjE,EAAE,EAAE,cAAc;IAClB,IAAI,EAAE,oBAAoB;IAC1B,gBAAgB,EAAE,CAAC;IACnB,SAAS,EAAE,iBAAiB;CAC7B,CAAC"}
@@ -1,14 +1,13 @@
1
1
  /**
2
- * Reserved shape for the adapters capability's single contract, covering the
3
- * two v1 kinds — harness-generation, forge (a search kind is deferred to v2
4
- * alongside the visibility-field naming decision).
5
- *
6
- * Phase 2.5 ships a concrete GitHub forge adapter six phases before Phase 8.2
7
- * formally defines discovery. Reserving this shape now means Phase 2 builds
8
- * against it instead of inventing its own registration mechanism, and
9
- * Phase 8 extends this rather than retrofitting Phase 2's adapter into it.
2
+ * Reserved shape for the adapters capability's single contract. `forge`
3
+ * (GitHub pull-request read/merge) was removed once its only consumers,
4
+ * `ctxr session submit`/`land`, were replaced by the `ctxr-submit`/`ctxr-land`
5
+ * skills driving `git`/`gh` directly (session-keeps-only-what-git-cannot-do).
6
+ * A search kind is deferred to v2 alongside the visibility-field naming
7
+ * decision — the registration mechanism stays kind-generic for that reason,
8
+ * even with one kind currently registered.
10
9
  */
11
- export type AdapterKind = 'harness-generation' | 'forge';
10
+ export type AdapterKind = 'harness-generation';
12
11
  export interface Adapter<K extends AdapterKind = AdapterKind> {
13
12
  kind: K;
14
13
  id: string;
@@ -24,28 +23,51 @@ export declare const SUPPORTED_ADAPTER_INTERFACE_VERSION: Record<AdapterKind, nu
24
23
  /**
25
24
  * A harness-generation adapter produces one harness-specific entry file
26
25
  * containing nothing beyond an import of AGENTS.md plus that harness's own
27
- * extras (harness-portability spec). `render()` returns exactly the lines
28
- * placed inside contexture's managed fenced region in that file — never the
29
- * whole file, so a hand-authored preamble outside the fence survives.
26
+ * extras (harness-portability spec), when it declares one at all —
27
+ * `entryFileName`/`render` are optional at v2 for a harness that reads the
28
+ * canonical entry document directly. `render()`, when present, returns
29
+ * exactly the lines placed inside contexture's managed fenced region in
30
+ * that file — never the whole file, so a hand-authored preamble outside the
31
+ * fence survives.
30
32
  */
31
33
  /**
32
- * `root` is the store's absolute filesystem path. Permission-rule paths are
33
- * anchored there (not written cwd-relative) because a session may be
34
+ * `root` is the checkout currently being reconciled — the store's absolute
35
+ * filesystem path, typically a session worktree. Permission-rule paths that
36
+ * describe the store's own tree (e.g. the worktree-scoping glob) are
37
+ * anchored there, not written cwd-relative, because a session may be
34
38
  * launched with its cwd already inside a worktree rather than at the store
35
39
  * root — a cwd-relative rule would then resolve against the wrong directory.
40
+ *
41
+ * `mainRoot` (stabilize-write-gate-hook-path) is the store's main/canonical
42
+ * worktree — the one persistent checkout that outlives any session worktree.
43
+ * Use this, never `root`, for any absolute path an enforcement primitive
44
+ * itself is invoked by (a hook command): `root` is deleted the moment the
45
+ * session worktree that generated it lands, so a path anchored there goes
46
+ * stale as soon as that happens.
47
+ *
36
48
  * `binPath` is this installation's own resolved CLI entrypoint, for a
37
49
  * harness whose config needs to shell out back to `ctxr` (a generated hook
38
50
  * script). See claude-code.ts's permissionConfig for the concrete case.
39
51
  */
40
52
  export interface PermissionConfigInput {
41
53
  root: string;
54
+ mainRoot: string;
42
55
  worktreesPath: string;
43
56
  binPath: string;
44
57
  }
45
58
  export interface HarnessGenerationAdapter extends Adapter<'harness-generation'> {
46
- /** The harness-specific file this adapter writes, relative to the store root (e.g. "CLAUDE.md"). */
47
- entryFileName: string;
48
- render(agentsMdPath: string): string[];
59
+ /**
60
+ * vendored-craft-skills spec: the store-relative directory this harness
61
+ * reads skills from (e.g. ".claude/skills/"). Contexture bridges this
62
+ * directory to the store's configured (canonical) skills path rather than
63
+ * writing skills here directly — never derived by inspecting the host
64
+ * machine, always the adapter's declaration (or a store's override, see
65
+ * AdapterDeclarationSchema.skills_dir).
66
+ */
67
+ skillsDir: string;
68
+ /** The harness-specific file this adapter writes, relative to the store root (e.g. "CLAUDE.md"). Omit for a harness that reads AGENTS.md directly — no entry file is generated for it. */
69
+ entryFileName?: string;
70
+ render?(agentsMdPath: string): string[];
49
71
  /** Optional: harnesses that support a structured permission config (task 8.4). */
50
72
  permissionConfig?: {
51
73
  /** Relative to the store root (e.g. ".claude/settings.json"). */
@@ -75,6 +97,5 @@ export interface HarnessGenerationAdapter extends Adapter<'harness-generation'>
75
97
  */
76
98
  export interface AdapterForKind {
77
99
  'harness-generation': HarnessGenerationAdapter;
78
- forge: import('./forge/types.js').ForgeAdapter;
79
100
  }
80
101
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC1D,IAAI,EAAE,CAAC,CAAC;IACR,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAI3E,CAAC;AAEF;;;;;;GAMG;AACH;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,oBAAoB,CAAC;IAC7E,oGAAoG;IACpG,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvC,kFAAkF;IAClF,gBAAgB,CAAC,EAAE;QACjB,iEAAiE;QACjE,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9D;;;;;;WAMG;QACH,YAAY,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpE,0GAA0G;QAC1G,QAAQ,CAAC,EAAE;YACT,uCAAuC;YACvC,gBAAgB,EAAE,MAAM,CAAC;YACzB,2EAA2E;YAC3E,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,KAAK,EAAE,OAAO,kBAAkB,EAAE,YAAY,CAAC;CAChD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAE/C,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC1D,IAAI,EAAE,CAAC,CAAC;IACR,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAI3E,CAAC;AAEF;;;;;;;;;GASG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,oBAAoB,CAAC;IAC7E;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,0LAA0L;IAC1L,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxC,kFAAkF;IAClF,gBAAgB,CAAC,EAAE;QACjB,iEAAiE;QACjE,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9D;;;;;;WAMG;QACH,YAAY,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpE,0GAA0G;QAC1G,QAAQ,CAAC,EAAE;YACT,uCAAuC;YACvC,gBAAgB,EAAE,MAAM,CAAC;YACzB,2EAA2E;YAC3E,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,oBAAoB,EAAE,wBAAwB,CAAC;CAChD"}
@@ -5,8 +5,8 @@
5
5
  * these is a deliberate, breaking change to that kind's interface.
6
6
  */
7
7
  export const SUPPORTED_ADAPTER_INTERFACE_VERSION = {
8
- 'harness-generation': 1,
9
- // session-submit-and-land spec (D5): pullRequest/mergePullRequest joined the forge interface at v2.
10
- forge: 2,
8
+ // vendored-craft-skills spec: skillsDir joined the harness-generation interface at v2,
9
+ // and entryFileName/render became optional (a skills-only adapter needs neither).
10
+ 'harness-generation': 2,
11
11
  };
12
12
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAgC;IAC9E,oBAAoB,EAAE,CAAC;IACvB,oGAAoG;IACpG,KAAK,EAAE,CAAC;CACT,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAgC;IAC9E,uFAAuF;IACvF,kFAAkF;IAClF,oBAAoB,EAAE,CAAC;CACxB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import type { CommandOutcome, CommandRequires } from '../core/command.js';
2
+ import type { RunEnv } from '../core/env.js';
3
+ import type { GitRunner } from '../core/git/exec.js';
2
4
  import type { Store } from '../core/store.js';
3
5
  export declare const requires: CommandRequires;
4
6
  export interface AdaptersGenerateFileResult {
@@ -16,6 +18,6 @@ export interface AdaptersGenerateData {
16
18
  * own entry file) never collide, because each owns a distinctly-named fence.
17
19
  */
18
20
  /** The generation itself, shared with `ctxr update`. */
19
- export declare function generateAdapterOutputs(store: Store): Promise<AdaptersGenerateFileResult[]>;
20
- export declare function execute(store: Store): Promise<CommandOutcome<AdaptersGenerateData>>;
21
+ export declare function generateAdapterOutputs(git: GitRunner, store: Store): Promise<AdaptersGenerateFileResult[]>;
22
+ export declare function execute(env: RunEnv, store: Store): Promise<CommandOutcome<AdaptersGenerateData>>;
21
23
  //# sourceMappingURL=adapters-generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapters-generate.d.ts","sourceRoot":"","sources":["../../src/commands/adapters-generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQ1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,0BAA0B,EAAE,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wDAAwD;AACxD,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC,CA2ChG;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAWzF"}
1
+ {"version":3,"file":"adapters-generate.d.ts","sourceRoot":"","sources":["../../src/commands/adapters-generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,0BAA0B,EAAE,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wDAAwD;AACxD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAkDhH;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAWtG"}
@@ -3,6 +3,7 @@ import { configuredAdapters } from '../adapters/registry.js';
3
3
  import { agentsMdPath } from '../core/agents-doc.js';
4
4
  import { ExitCode } from '../core/exit-codes.js';
5
5
  import { upsertFencedRegionInFile } from '../core/fs/fenced-region.js';
6
+ import { mainWorktreePath } from '../core/git/worktree.js';
6
7
  import { installTemplatedHookScript, resolveOwnBinPath } from '../core/hooks.js';
7
8
  import { mergeJsonArrayLists } from '../core/json-config-merge.js';
8
9
  import { harnessEntryFence } from '../core/markers.js';
@@ -15,15 +16,22 @@ export const requires = { store: 'required' };
15
16
  * own entry file) never collide, because each owns a distinctly-named fence.
16
17
  */
17
18
  /** The generation itself, shared with `ctxr update`. */
18
- export async function generateAdapterOutputs(store) {
19
+ export async function generateAdapterOutputs(git, store) {
19
20
  const files = [];
21
+ // Resolved once per run, not per adapter: every adapter's permission
22
+ // config that needs a stable absolute path (stabilize-write-gate-hook-path)
23
+ // anchors it here, regardless of which checkout is running this generator.
24
+ const mainRoot = await mainWorktreePath(git, store.root);
20
25
  for (const adapter of configuredAdapters(store.config, 'harness-generation')) {
21
- const entryPath = path.join(store.root, adapter.entryFileName);
22
- const { changed } = await upsertFencedRegionInFile(entryPath, harnessEntryFence(adapter.id), adapter.render(agentsMdPath(store.root)));
23
- files.push({ path: adapter.entryFileName, changed });
26
+ if (adapter.entryFileName !== undefined && adapter.render !== undefined) {
27
+ const entryPath = path.join(store.root, adapter.entryFileName);
28
+ const { changed } = await upsertFencedRegionInFile(entryPath, harnessEntryFence(adapter.id), adapter.render(agentsMdPath(store.root)));
29
+ files.push({ path: adapter.entryFileName, changed });
30
+ }
24
31
  if (adapter.permissionConfig) {
25
32
  const input = {
26
33
  root: store.root,
34
+ mainRoot,
27
35
  worktreesPath: store.config.session.worktrees_path,
28
36
  binPath: resolveOwnBinPath(),
29
37
  };
@@ -44,8 +52,8 @@ export async function generateAdapterOutputs(store) {
44
52
  }
45
53
  return files;
46
54
  }
47
- export async function execute(store) {
48
- const files = await generateAdapterOutputs(store);
55
+ export async function execute(env, store) {
56
+ const files = await generateAdapterOutputs(env.git, store);
49
57
  const changedCount = files.filter((f) => f.changed).length;
50
58
  return {
51
59
  exitCode: ExitCode.Ok,
@@ -1 +1 @@
1
- {"version":3,"file":"adapters-generate.js","sourceRoot":"","sources":["../../src/commands/adapters-generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters-generate.js","sourceRoot":"","sources":["../../src/commands/adapters-generate.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,10 @@ export interface ArchiveData {
16
16
  * read+delete+rewrite — so the note's frontmatter (including its
17
17
  * visibility field) is untouched by construction, and `git log --follow`
18
18
  * on the new path returns its full prior history. The destination lives
19
- * under `organize.archive_path`, independent of taxonomy layer names, so
20
- * this works identically under any configured taxonomy (task 7.1).
19
+ * under `organize.archive_destination`, independent of taxonomy layer names,
20
+ * so this works identically under any configured taxonomy (task 7.1). A
21
+ * shipped profile may seed that value at init
22
+ * (archive-destination-from-taxonomy), but nothing here reads the taxonomy.
21
23
  *
22
24
  * Wikilinks resolve by filename stem (context-retrieval spec), and archive
23
25
  * never changes a note's filename — only its directory — so no other
@@ -1 +1 @@
1
- {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CA0ClH"}
1
+ {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAOD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CA0ClH"}
@@ -17,8 +17,10 @@ function toStoreRelativePath(env, store, givenPath) {
17
17
  * read+delete+rewrite — so the note's frontmatter (including its
18
18
  * visibility field) is untouched by construction, and `git log --follow`
19
19
  * on the new path returns its full prior history. The destination lives
20
- * under `organize.archive_path`, independent of taxonomy layer names, so
21
- * this works identically under any configured taxonomy (task 7.1).
20
+ * under `organize.archive_destination`, independent of taxonomy layer names,
21
+ * so this works identically under any configured taxonomy (task 7.1). A
22
+ * shipped profile may seed that value at init
23
+ * (archive-destination-from-taxonomy), but nothing here reads the taxonomy.
22
24
  *
23
25
  * Wikilinks resolve by filename stem (context-retrieval spec), and archive
24
26
  * never changes a note's filename — only its directory — so no other
@@ -32,7 +34,7 @@ export async function execute(env, store, flags) {
32
34
  throw new NoteNotFoundError(relativePath);
33
35
  const stem = path.basename(relativePath, '.md');
34
36
  const newRelativePath = path
35
- .join(store.config.organize.archive_path, path.basename(relativePath))
37
+ .join(store.config.organize.archive_destination, path.basename(relativePath))
36
38
  .split(path.sep)
37
39
  .join('/');
38
40
  const newAbsolutePath = path.join(store.root, newRelativePath);
@@ -1 +1 @@
1
- {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC1G,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,MAAM,CAAC,MAAM,QAAQ,GAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAY/D,SAAS,mBAAmB,CAAC,GAAW,EAAE,KAAY,EAAE,SAAiB;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3F,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,KAAY,EAAE,KAAmB;IAC1E,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,MAAM,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEzE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI;SACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SAC5E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAE/D,IAAI,eAAe,KAAK,YAAY,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK;SACvB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;SAC5C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC9D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,EAAE,CAAC;IAEV,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACrE,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACrB,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE;QACpE,QAAQ,EAAE,EAAE;QACZ,YAAY,EACV,eAAe,KAAK,YAAY;YAC9B,CAAC,CAAC,IAAI,YAAY,wBAAwB;YAC1C,CAAC,CAAC,aAAa,YAAY,SAAS,eAAe,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,MAAM,sBAAsB,CAAC,CAAC,CAAC,EAAE,GAAG;QAC3I,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;KAC3C,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErF,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAK7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAaD;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CA6C9G"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErF,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAK7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAOD;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CA6C9G"}
@@ -1,15 +1,10 @@
1
1
  import path from 'node:path';
2
- import { evaluateDisclosure } from '../core/disclosure/model.js';
2
+ import { evaluateDisclosure, VERDICT_EXIT_CODE } from '../core/disclosure/model.js';
3
3
  import { scanNoteForLeaks } from '../core/disclosure/leak-scan.js';
4
4
  import { CheckAudienceRequiredError, NoteNotFoundError } from '../core/errors.js';
5
5
  import { ExitCode } from '../core/exit-codes.js';
6
6
  import { parseNote } from '../core/notes/parse.js';
7
7
  export const requires = { store: 'required' };
8
- const VERDICT_EXIT_CODE = {
9
- allow: ExitCode.Ok,
10
- deny: ExitCode.DisclosureDeny,
11
- ask: ExitCode.DisclosureAsk,
12
- };
13
8
  function toStoreRelativePath(env, store, givenPath) {
14
9
  const absolute = path.isAbsolute(givenPath) ? givenPath : path.resolve(env.cwd, givenPath);
15
10
  return path.relative(store.root, absolute).split(path.sep).join('/');
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAoB,MAAM,iCAAiC,CAAC;AAErF,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,MAAM,CAAC,MAAM,QAAQ,GAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAgB/D,SAAS,mBAAmB,CAAC,GAAW,EAAE,KAAY,EAAE,SAAiB;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3F,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,KAAY,EAAE,KAAiB;IACxE,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAEzD,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChG,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAc,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,mCAAmC,IAAI,CAAC,OAAO,mCAAmC,IAAI,CAAC,WAAW,IAAI;YAC5H,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SACzF,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;YAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;YACnC,QAAQ;YACR,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,KAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,YAAY,mBAAmB;YACvH,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;SAC3C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,0BAA0B,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEjF,OAAO;QACL,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAa;QAChD,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;QACrE,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,GAAG,YAAY,kBAAkB,KAAK,CAAC,QAAQ,MAAM,OAAO,CAAC,WAAW,EAAE,WAAW,IAAI,GAAG;QAC1G,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;KAC3C,CAAC;AACJ,CAAC"}
@@ -6,6 +6,8 @@ export interface InitFlags {
6
6
  root?: string;
7
7
  profile?: string;
8
8
  taxonomy?: string;
9
+ /** Comma-separated harness-generation adapter ids, or "none". Unset means: prompt if interactive, else the default set. */
10
+ harness?: string;
9
11
  }
10
12
  export interface InitData {
11
13
  root: string;
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA6B1E,OAAO,EAAmE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAchI,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAgB5D,eAAO,MAAM,QAAQ,EAAE,eAAqC,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE;QAAE,kBAAkB,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3F,wFAAwF;IACxF,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;IACpE,cAAc,EAAE,MAAM,CAAC;CACxB;AAuPD,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAY9F"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA8B1E,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAe7B,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAkB5D,eAAO,MAAM,QAAQ,EAAE,eAAqC,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2HAA2H;IAC3H,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE;QAAE,kBAAkB,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3F,wFAAwF;IACxF,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;IACpE,cAAc,EAAE,MAAM,CAAC;CACxB;AAmUD,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAY9F"}