wingfoil 0.2.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 (339) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +334 -0
  3. package/dist/cli/error.d.ts +11 -0
  4. package/dist/cli/error.d.ts.map +1 -0
  5. package/dist/cli/error.js +27 -0
  6. package/dist/cli/error.js.map +1 -0
  7. package/dist/cli/exit.d.ts +19 -0
  8. package/dist/cli/exit.d.ts.map +1 -0
  9. package/dist/cli/exit.js +14 -0
  10. package/dist/cli/exit.js.map +1 -0
  11. package/dist/cli/index.d.ts +28 -0
  12. package/dist/cli/index.d.ts.map +1 -0
  13. package/dist/cli/index.js +36 -0
  14. package/dist/cli/index.js.map +1 -0
  15. package/dist/cli/init-command.d.ts +34 -0
  16. package/dist/cli/init-command.d.ts.map +1 -0
  17. package/dist/cli/init-command.js +100 -0
  18. package/dist/cli/init-command.js.map +1 -0
  19. package/dist/cli/mcp-command.d.ts +24 -0
  20. package/dist/cli/mcp-command.d.ts.map +1 -0
  21. package/dist/cli/mcp-command.js +42 -0
  22. package/dist/cli/mcp-command.js.map +1 -0
  23. package/dist/cli/output.d.ts +13 -0
  24. package/dist/cli/output.d.ts.map +1 -0
  25. package/dist/cli/output.js +28 -0
  26. package/dist/cli/output.js.map +1 -0
  27. package/dist/cli/program.d.ts +12 -0
  28. package/dist/cli/program.d.ts.map +1 -0
  29. package/dist/cli/program.js +279 -0
  30. package/dist/cli/program.js.map +1 -0
  31. package/dist/cli/registrar.d.ts +69 -0
  32. package/dist/cli/registrar.d.ts.map +1 -0
  33. package/dist/cli/registrar.js +82 -0
  34. package/dist/cli/registrar.js.map +1 -0
  35. package/dist/cli.d.ts +3 -0
  36. package/dist/cli.d.ts.map +1 -0
  37. package/dist/cli.js +45 -0
  38. package/dist/cli.js.map +1 -0
  39. package/dist/core/approval-authority.d.ts +83 -0
  40. package/dist/core/approval-authority.d.ts.map +1 -0
  41. package/dist/core/approval-authority.js +112 -0
  42. package/dist/core/approval-authority.js.map +1 -0
  43. package/dist/core/builtin-asset.d.ts +71 -0
  44. package/dist/core/builtin-asset.d.ts.map +1 -0
  45. package/dist/core/builtin-asset.js +137 -0
  46. package/dist/core/builtin-asset.js.map +1 -0
  47. package/dist/core/builtin-integrity.d.ts +32 -0
  48. package/dist/core/builtin-integrity.d.ts.map +1 -0
  49. package/dist/core/builtin-integrity.js +148 -0
  50. package/dist/core/builtin-integrity.js.map +1 -0
  51. package/dist/core/confinement.d.ts +57 -0
  52. package/dist/core/confinement.d.ts.map +1 -0
  53. package/dist/core/confinement.js +108 -0
  54. package/dist/core/confinement.js.map +1 -0
  55. package/dist/core/context.d.ts +187 -0
  56. package/dist/core/context.d.ts.map +1 -0
  57. package/dist/core/context.js +192 -0
  58. package/dist/core/context.js.map +1 -0
  59. package/dist/core/directive-assign.d.ts +131 -0
  60. package/dist/core/directive-assign.d.ts.map +1 -0
  61. package/dist/core/directive-assign.js +352 -0
  62. package/dist/core/directive-assign.js.map +1 -0
  63. package/dist/core/directives-list.d.ts +80 -0
  64. package/dist/core/directives-list.d.ts.map +1 -0
  65. package/dist/core/directives-list.js +148 -0
  66. package/dist/core/directives-list.js.map +1 -0
  67. package/dist/core/exit-code.d.ts +85 -0
  68. package/dist/core/exit-code.d.ts.map +1 -0
  69. package/dist/core/exit-code.js +163 -0
  70. package/dist/core/exit-code.js.map +1 -0
  71. package/dist/core/git-identity.d.ts +32 -0
  72. package/dist/core/git-identity.d.ts.map +1 -0
  73. package/dist/core/git-identity.js +72 -0
  74. package/dist/core/git-identity.js.map +1 -0
  75. package/dist/core/index.d.ts +388 -0
  76. package/dist/core/index.d.ts.map +1 -0
  77. package/dist/core/index.js +1331 -0
  78. package/dist/core/index.js.map +1 -0
  79. package/dist/core/init.d.ts +78 -0
  80. package/dist/core/init.d.ts.map +1 -0
  81. package/dist/core/init.js +167 -0
  82. package/dist/core/init.js.map +1 -0
  83. package/dist/core/loaders.d.ts +174 -0
  84. package/dist/core/loaders.d.ts.map +1 -0
  85. package/dist/core/loaders.js +364 -0
  86. package/dist/core/loaders.js.map +1 -0
  87. package/dist/core/memory-add-type.d.ts +43 -0
  88. package/dist/core/memory-add-type.d.ts.map +1 -0
  89. package/dist/core/memory-add-type.js +151 -0
  90. package/dist/core/memory-add-type.js.map +1 -0
  91. package/dist/core/memory-transition.d.ts +111 -0
  92. package/dist/core/memory-transition.d.ts.map +1 -0
  93. package/dist/core/memory-transition.js +269 -0
  94. package/dist/core/memory-transition.js.map +1 -0
  95. package/dist/core/registry.d.ts +189 -0
  96. package/dist/core/registry.d.ts.map +1 -0
  97. package/dist/core/registry.js +66 -0
  98. package/dist/core/registry.js.map +1 -0
  99. package/dist/core/relevance.d.ts +86 -0
  100. package/dist/core/relevance.d.ts.map +1 -0
  101. package/dist/core/relevance.js +258 -0
  102. package/dist/core/relevance.js.map +1 -0
  103. package/dist/core/require-reason.d.ts +27 -0
  104. package/dist/core/require-reason.d.ts.map +1 -0
  105. package/dist/core/require-reason.js +95 -0
  106. package/dist/core/require-reason.js.map +1 -0
  107. package/dist/core/types.d.ts +45 -0
  108. package/dist/core/types.d.ts.map +1 -0
  109. package/dist/core/types.js +22 -0
  110. package/dist/core/types.js.map +1 -0
  111. package/dist/core/usage-error.d.ts +20 -0
  112. package/dist/core/usage-error.d.ts.map +1 -0
  113. package/dist/core/usage-error.js +29 -0
  114. package/dist/core/usage-error.js.map +1 -0
  115. package/dist/core/write-guard.d.ts +99 -0
  116. package/dist/core/write-guard.d.ts.map +1 -0
  117. package/dist/core/write-guard.js +247 -0
  118. package/dist/core/write-guard.js.map +1 -0
  119. package/dist/directives/create.d.ts +47 -0
  120. package/dist/directives/create.d.ts.map +1 -0
  121. package/dist/directives/create.js +82 -0
  122. package/dist/directives/create.js.map +1 -0
  123. package/dist/directives/index.d.ts +20 -0
  124. package/dist/directives/index.d.ts.map +1 -0
  125. package/dist/directives/index.js +32 -0
  126. package/dist/directives/index.js.map +1 -0
  127. package/dist/directives/roles-edit.d.ts +53 -0
  128. package/dist/directives/roles-edit.d.ts.map +1 -0
  129. package/dist/directives/roles-edit.js +286 -0
  130. package/dist/directives/roles-edit.js.map +1 -0
  131. package/dist/directives/schema.d.ts +65 -0
  132. package/dist/directives/schema.d.ts.map +1 -0
  133. package/dist/directives/schema.js +68 -0
  134. package/dist/directives/schema.js.map +1 -0
  135. package/dist/dna/edit.d.ts +61 -0
  136. package/dist/dna/edit.d.ts.map +1 -0
  137. package/dist/dna/edit.js +429 -0
  138. package/dist/dna/edit.js.map +1 -0
  139. package/dist/dna/index.d.ts +24 -0
  140. package/dist/dna/index.d.ts.map +1 -0
  141. package/dist/dna/index.js +59 -0
  142. package/dist/dna/index.js.map +1 -0
  143. package/dist/dna/mutate.d.ts +74 -0
  144. package/dist/dna/mutate.d.ts.map +1 -0
  145. package/dist/dna/mutate.js +318 -0
  146. package/dist/dna/mutate.js.map +1 -0
  147. package/dist/dna/path.d.ts +175 -0
  148. package/dist/dna/path.d.ts.map +1 -0
  149. package/dist/dna/path.js +289 -0
  150. package/dist/dna/path.js.map +1 -0
  151. package/dist/dna/roles.d.ts +57 -0
  152. package/dist/dna/roles.d.ts.map +1 -0
  153. package/dist/dna/roles.js +50 -0
  154. package/dist/dna/roles.js.map +1 -0
  155. package/dist/dna/schema.d.ts +172 -0
  156. package/dist/dna/schema.d.ts.map +1 -0
  157. package/dist/dna/schema.js +182 -0
  158. package/dist/dna/schema.js.map +1 -0
  159. package/dist/dna/set.d.ts +145 -0
  160. package/dist/dna/set.d.ts.map +1 -0
  161. package/dist/dna/set.js +428 -0
  162. package/dist/dna/set.js.map +1 -0
  163. package/dist/mcp/dna-resource.d.ts +16 -0
  164. package/dist/mcp/dna-resource.d.ts.map +1 -0
  165. package/dist/mcp/dna-resource.js +56 -0
  166. package/dist/mcp/dna-resource.js.map +1 -0
  167. package/dist/mcp/index.d.ts +49 -0
  168. package/dist/mcp/index.d.ts.map +1 -0
  169. package/dist/mcp/index.js +60 -0
  170. package/dist/mcp/index.js.map +1 -0
  171. package/dist/mcp/memory-resource.d.ts +17 -0
  172. package/dist/mcp/memory-resource.d.ts.map +1 -0
  173. package/dist/mcp/memory-resource.js +133 -0
  174. package/dist/mcp/memory-resource.js.map +1 -0
  175. package/dist/mcp/prompt.d.ts +48 -0
  176. package/dist/mcp/prompt.d.ts.map +1 -0
  177. package/dist/mcp/prompt.js +176 -0
  178. package/dist/mcp/prompt.js.map +1 -0
  179. package/dist/mcp/read-only.d.ts +42 -0
  180. package/dist/mcp/read-only.d.ts.map +1 -0
  181. package/dist/mcp/read-only.js +93 -0
  182. package/dist/mcp/read-only.js.map +1 -0
  183. package/dist/mcp/registrar.d.ts +54 -0
  184. package/dist/mcp/registrar.d.ts.map +1 -0
  185. package/dist/mcp/registrar.js +72 -0
  186. package/dist/mcp/registrar.js.map +1 -0
  187. package/dist/mcp/server.d.ts +58 -0
  188. package/dist/mcp/server.d.ts.map +1 -0
  189. package/dist/mcp/server.js +64 -0
  190. package/dist/mcp/server.js.map +1 -0
  191. package/dist/mcp/workflow-resource.d.ts +17 -0
  192. package/dist/mcp/workflow-resource.d.ts.map +1 -0
  193. package/dist/mcp/workflow-resource.js +63 -0
  194. package/dist/mcp/workflow-resource.js.map +1 -0
  195. package/dist/memory/add.d.ts +50 -0
  196. package/dist/memory/add.d.ts.map +1 -0
  197. package/dist/memory/add.js +131 -0
  198. package/dist/memory/add.js.map +1 -0
  199. package/dist/memory/audit.d.ts +177 -0
  200. package/dist/memory/audit.d.ts.map +1 -0
  201. package/dist/memory/audit.js +287 -0
  202. package/dist/memory/audit.js.map +1 -0
  203. package/dist/memory/commit-message.d.ts +146 -0
  204. package/dist/memory/commit-message.d.ts.map +1 -0
  205. package/dist/memory/commit-message.js +203 -0
  206. package/dist/memory/commit-message.js.map +1 -0
  207. package/dist/memory/entry.d.ts +56 -0
  208. package/dist/memory/entry.d.ts.map +1 -0
  209. package/dist/memory/entry.js +28 -0
  210. package/dist/memory/entry.js.map +1 -0
  211. package/dist/memory/frontmatter-edit.d.ts +68 -0
  212. package/dist/memory/frontmatter-edit.d.ts.map +1 -0
  213. package/dist/memory/frontmatter-edit.js +333 -0
  214. package/dist/memory/frontmatter-edit.js.map +1 -0
  215. package/dist/memory/git-log.d.ts +32 -0
  216. package/dist/memory/git-log.d.ts.map +1 -0
  217. package/dist/memory/git-log.js +100 -0
  218. package/dist/memory/git-log.js.map +1 -0
  219. package/dist/memory/history.d.ts +142 -0
  220. package/dist/memory/history.d.ts.map +1 -0
  221. package/dist/memory/history.js +250 -0
  222. package/dist/memory/history.js.map +1 -0
  223. package/dist/memory/index.d.ts +58 -0
  224. package/dist/memory/index.d.ts.map +1 -0
  225. package/dist/memory/index.js +107 -0
  226. package/dist/memory/index.js.map +1 -0
  227. package/dist/memory/query.d.ts +150 -0
  228. package/dist/memory/query.d.ts.map +1 -0
  229. package/dist/memory/query.js +307 -0
  230. package/dist/memory/query.js.map +1 -0
  231. package/dist/memory/reject.d.ts +11 -0
  232. package/dist/memory/reject.d.ts.map +1 -0
  233. package/dist/memory/reject.js +32 -0
  234. package/dist/memory/reject.js.map +1 -0
  235. package/dist/memory/schema.d.ts +104 -0
  236. package/dist/memory/schema.d.ts.map +1 -0
  237. package/dist/memory/schema.js +161 -0
  238. package/dist/memory/schema.js.map +1 -0
  239. package/dist/memory/state-machine.d.ts +166 -0
  240. package/dist/memory/state-machine.d.ts.map +1 -0
  241. package/dist/memory/state-machine.js +431 -0
  242. package/dist/memory/state-machine.js.map +1 -0
  243. package/dist/memory/submit.d.ts +11 -0
  244. package/dist/memory/submit.d.ts.map +1 -0
  245. package/dist/memory/submit.js +44 -0
  246. package/dist/memory/submit.js.map +1 -0
  247. package/dist/storage/builtin-directives.d.ts +54 -0
  248. package/dist/storage/builtin-directives.d.ts.map +1 -0
  249. package/dist/storage/builtin-directives.js +152 -0
  250. package/dist/storage/builtin-directives.js.map +1 -0
  251. package/dist/storage/commit.d.ts +92 -0
  252. package/dist/storage/commit.d.ts.map +1 -0
  253. package/dist/storage/commit.js +201 -0
  254. package/dist/storage/commit.js.map +1 -0
  255. package/dist/storage/confinement.d.ts +93 -0
  256. package/dist/storage/confinement.d.ts.map +1 -0
  257. package/dist/storage/confinement.js +164 -0
  258. package/dist/storage/confinement.js.map +1 -0
  259. package/dist/storage/document.d.ts +27 -0
  260. package/dist/storage/document.d.ts.map +1 -0
  261. package/dist/storage/document.js +52 -0
  262. package/dist/storage/document.js.map +1 -0
  263. package/dist/storage/errors.d.ts +36 -0
  264. package/dist/storage/errors.d.ts.map +1 -0
  265. package/dist/storage/errors.js +46 -0
  266. package/dist/storage/errors.js.map +1 -0
  267. package/dist/storage/frontmatter.d.ts +27 -0
  268. package/dist/storage/frontmatter.d.ts.map +1 -0
  269. package/dist/storage/frontmatter.js +37 -0
  270. package/dist/storage/frontmatter.js.map +1 -0
  271. package/dist/storage/git-root.d.ts +17 -0
  272. package/dist/storage/git-root.d.ts.map +1 -0
  273. package/dist/storage/git-root.js +49 -0
  274. package/dist/storage/git-root.js.map +1 -0
  275. package/dist/storage/index.d.ts +29 -0
  276. package/dist/storage/index.d.ts.map +1 -0
  277. package/dist/storage/index.js +66 -0
  278. package/dist/storage/index.js.map +1 -0
  279. package/dist/storage/init-state.d.ts +9 -0
  280. package/dist/storage/init-state.d.ts.map +1 -0
  281. package/dist/storage/init-state.js +24 -0
  282. package/dist/storage/init-state.js.map +1 -0
  283. package/dist/storage/layout.d.ts +51 -0
  284. package/dist/storage/layout.d.ts.map +1 -0
  285. package/dist/storage/layout.js +88 -0
  286. package/dist/storage/layout.js.map +1 -0
  287. package/dist/storage/memory-path.d.ts +72 -0
  288. package/dist/storage/memory-path.d.ts.map +1 -0
  289. package/dist/storage/memory-path.js +127 -0
  290. package/dist/storage/memory-path.js.map +1 -0
  291. package/dist/storage/snapshot.d.ts +16 -0
  292. package/dist/storage/snapshot.d.ts.map +1 -0
  293. package/dist/storage/snapshot.js +72 -0
  294. package/dist/storage/snapshot.js.map +1 -0
  295. package/dist/storage/templates.d.ts +88 -0
  296. package/dist/storage/templates.d.ts.map +1 -0
  297. package/dist/storage/templates.js +422 -0
  298. package/dist/storage/templates.js.map +1 -0
  299. package/dist/validation/error-mapper.d.ts +16 -0
  300. package/dist/validation/error-mapper.d.ts.map +1 -0
  301. package/dist/validation/error-mapper.js +18 -0
  302. package/dist/validation/error-mapper.js.map +1 -0
  303. package/dist/validation/errors.d.ts +69 -0
  304. package/dist/validation/errors.d.ts.map +1 -0
  305. package/dist/validation/errors.js +69 -0
  306. package/dist/validation/errors.js.map +1 -0
  307. package/dist/validation/id.d.ts +16 -0
  308. package/dist/validation/id.d.ts.map +1 -0
  309. package/dist/validation/id.js +177 -0
  310. package/dist/validation/id.js.map +1 -0
  311. package/dist/validation/index.d.ts +18 -0
  312. package/dist/validation/index.d.ts.map +1 -0
  313. package/dist/validation/index.js +37 -0
  314. package/dist/validation/index.js.map +1 -0
  315. package/dist/validation/secret-scan.d.ts +129 -0
  316. package/dist/validation/secret-scan.d.ts.map +1 -0
  317. package/dist/validation/secret-scan.js +367 -0
  318. package/dist/validation/secret-scan.js.map +1 -0
  319. package/dist/validation/two-pass.d.ts +24 -0
  320. package/dist/validation/two-pass.d.ts.map +1 -0
  321. package/dist/validation/two-pass.js +24 -0
  322. package/dist/validation/two-pass.js.map +1 -0
  323. package/dist/validation/warning.d.ts +31 -0
  324. package/dist/validation/warning.d.ts.map +1 -0
  325. package/dist/validation/warning.js +81 -0
  326. package/dist/validation/warning.js.map +1 -0
  327. package/dist/validation/yaml.d.ts +9 -0
  328. package/dist/validation/yaml.d.ts.map +1 -0
  329. package/dist/validation/yaml.js +30 -0
  330. package/dist/validation/yaml.js.map +1 -0
  331. package/dist/workflow/index.d.ts +10 -0
  332. package/dist/workflow/index.d.ts.map +1 -0
  333. package/dist/workflow/index.js +16 -0
  334. package/dist/workflow/index.js.map +1 -0
  335. package/dist/workflow/schema.d.ts +89 -0
  336. package/dist/workflow/schema.d.ts.map +1 -0
  337. package/dist/workflow/schema.js +73 -0
  338. package/dist/workflow/schema.js.map +1 -0
  339. package/package.json +78 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { type BuiltinTemplateSource } from '../storage';
2
+ import { type CoreResult } from './types';
3
+ /**
4
+ * Exact message required by P5.1.1-init.feature scenario "Error - initializing an already-initialized
5
+ * project" — do not reword. Rendered by the CLI as `error: <message>` (spec-005 §3) and mapped to exit
6
+ * 1 (a well-formed invocation that failed on business logic, spec-005 §1) by `exitCodeForError`.
7
+ */
8
+ export declare const WINGFOIL_ALREADY_INITIALIZED = "WingFoil already initialized (use a migration command to change config)";
9
+ /** What a successful init reports: the resolved root and the root-relative paths it created. */
10
+ export interface InitStorageValue {
11
+ readonly root: string;
12
+ readonly files: readonly string[];
13
+ }
14
+ /**
15
+ * Initialize the `.wingfoil/` storage structure at `root` and stage it as a single commit authored
16
+ * by the current git user.
17
+ *
18
+ * Guards, in the order their message must win: git repository → git identity (REQ-SEC-01) → built-in
19
+ * template integrity (REQ-SEC-10) — the same three, in the same order, as {@link initWingfoilProject}.
20
+ *
21
+ * The third one arrived with `task-054-project-directives` / `bug-018-init-storage-bypasses-integrity-guard`.
22
+ * `scaffoldFiles()` now reserves `.wingfoil/directives/built-in/` (P3.5), which makes this a write path
23
+ * that installs into a built-in ASSET directory; before that it was the one `initStorage` caller with
24
+ * no check, safe only because the skeleton happened to contain nothing but dotfiles. Deriving the
25
+ * checked set from `files` — the exact array handed to `initStorage` below, bound once and not
26
+ * recomputed — is what makes "installed but unchecked" unrepresentable here too, rather than a
27
+ * property of today's scaffold content. `verifyBuiltinTemplates` is pure and touches no disk, so
28
+ * running it here satisfies REQ-SEC-10's "abort before writing partial assets" ordering.
29
+ *
30
+ * Per `dl-031-req-sec-10-integrity-depth` (`ready`), that check is schema validation: no digest, no
31
+ * manifest, no checksum.
32
+ *
33
+ * @param builtinTemplates - test-only override for the REQ-SEC-10 source list, mirroring
34
+ * {@link initWingfoilProject}'s parameter of the same name; it lets one shared test table drive the
35
+ * guard through BOTH write paths (`test/core/project-directives.test.ts`). Omit it in production:
36
+ * the derived set is the contract.
37
+ * @returns `ok` carrying the created paths and the produced `{sha, message}` commit; or a
38
+ * `CoreResult.error` (code `VALIDATION` → exit 1) when `root` is not a git repository, when git
39
+ * identity is unconfigured (REQ-SEC-01), when a built-in template fails its schema check
40
+ * (REQ-SEC-10), or (code `IO`) when the git commit itself fails.
41
+ */
42
+ export declare function initWingfoilStorage(root: string, builtinTemplates?: readonly BuiltinTemplateSource[]): CoreResult<InitStorageValue>;
43
+ /** What a successful `wingfoil init` reports: the root, the chosen template, and the created paths. */
44
+ export interface InitProjectValue {
45
+ readonly root: string;
46
+ readonly template: string;
47
+ readonly files: readonly string[];
48
+ }
49
+ /**
50
+ * `wingfoil init` (task-029, P5.1.1): scaffold the COMPLETE spec-011 `.wingfoil/` layout for the
51
+ * `templateName` methodology template and stage it as a single commit — the CoreResult flow both the
52
+ * CLI wizard and the MCP surface drive (REQ-SYS-05). Config pillars ONLY (DNA/Directives/Workflow) —
53
+ * never Memory content (the `sw-life-cycle` workflow's `init`→`wingfoil-init` phase populates config
54
+ * pillars only, REQ-SYS-02); Memory documents are seeded later by `seed-first-release-line`.
55
+ *
56
+ * Guards, in the order their message must win:
57
+ * 1. `root` is a git repository (same exact message + no-write guarantee as {@link initWingfoilStorage}).
58
+ * 2. NOT already initialized (spec-011 `detectInitState` === 'initialized') → returns
59
+ * {@link WINGFOIL_ALREADY_INITIALIZED} and overwrites NOTHING (returns before any write) — P5.1.1
60
+ * scenario "Error - initializing an already-initialized project", exit 1.
61
+ * 3. `templateName` resolves to a known template (defense-in-depth; the CLI rejects an unknown
62
+ * `--template` value as a usage error / exit 2 before reaching here).
63
+ * 4. git identity is configured (REQ-SEC-01, {@link requireGitIdentity}) — refuse an unattributable commit.
64
+ * 5. every built-in template source passes {@link verifyBuiltinTemplates} (REQ-SEC-10,
65
+ * task-044-builtin-template-integrity) — a corrupted/schema-invalid built-in directive or
66
+ * workflow template aborts before the scaffold write, naming the failing template (P3.8/P4.17
67
+ * BDD "Error - a built-in template fails its integrity check" / "... is structurally invalid").
68
+ * The sources are DERIVED from this very run's `templateScaffold(template)` output via
69
+ * {@link builtinTemplateSources}, so the checked set and the written set cannot drift apart
70
+ * (there is no separate registry to forget to update). `templateScaffold` is pure and writes
71
+ * nothing, so computing it before the guard preserves the "before writing partial assets"
72
+ * ordering the fit criterion demands.
73
+ *
74
+ * @param builtinTemplates - test-only override for guard 5's source list, exercising the abort path
75
+ * without real built-in content on disk. Omit it in production: the derived set is the contract.
76
+ */
77
+ export declare function initWingfoilProject(root: string, templateName: string, builtinTemplates?: readonly BuiltinTemplateSource[]): CoreResult<InitProjectValue>;
78
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/core/init.ts"],"names":[],"mappings":"AA2BA,OAAO,EASL,KAAK,qBAAqB,EAC3B,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAM3D;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,4EACkC,CAAC;AAE5E,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,SAAS,qBAAqB,EAAE,GAClD,UAAU,CAAC,gBAAgB,CAAC,CAsC9B;AAED,uGAAuG;AACvG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,SAAS,qBAAqB,EAAE,GAClD,UAAU,CAAC,gBAAgB,CAAC,CAkC9B"}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WINGFOIL_ALREADY_INITIALIZED = void 0;
4
+ exports.initWingfoilStorage = initWingfoilStorage;
5
+ exports.initWingfoilProject = initWingfoilProject;
6
+ /**
7
+ * `.wingfoil/` initialization as a shared-core domain operation (task-018-implement-git-backed-storage,
8
+ * P1.1, US-0A-01, REQ-SYS-01/REQ-SYS-02; spec-006-core-domain-api §2 `CoreResult` shape).
9
+ *
10
+ * The storage layer (`src/storage/layout.ts`'s `initStorage`) is a pure write+commit mechanism; this
11
+ * is the thin `CoreResult`-returning wrapper that both surfaces (CLI, MCP — REQ-SYS-05) drive, so the
12
+ * two guard rails the P1.1 acceptance contract states are enforced once, identically:
13
+ * 1. "target directory is not a git repository" → a `VALIDATION` error carrying the exact message
14
+ * `not a git repository: run 'git init' first`, mapped to exit 1 by `exitCodeForError`
15
+ * (spec-005 §1) — and, critically, NOTHING is written (no `.wingfoil/`).
16
+ * 2. the REQ-SEC-01 git-identity pre-flight (`requireGitIdentity`, task-014) — a WingFoil commit
17
+ * with no attributable author is refused before any file is written.
18
+ *
19
+ * Both write paths below — {@link initWingfoilStorage} and {@link initWingfoilProject} — additionally
20
+ * run the REQ-SEC-10 built-in template schema check over the very `ScaffoldFile[]` they are about to
21
+ * write, before writing it. The symmetry is deliberate and is pinned by a shared test table
22
+ * (`test/core/project-directives.test.ts`); it closed
23
+ * `bug-018-init-storage-bypasses-integrity-guard`, the last asymmetry `task-044` left behind.
24
+ *
25
+ * The user-facing `wingfoil init` CLI command and its interactive wizard are task-029's scope; this
26
+ * function is the library entry point that command will call. It is intentionally NOT registered in
27
+ * `CORE_MODULES` yet — there is no distinct verb beyond `init`, and wiring the surface belongs with
28
+ * task-029 (keeping the REQ-SYS-05 parity test's "0 mutating ops" invariant until a surface exists).
29
+ */
30
+ const node_fs_1 = require("node:fs");
31
+ const node_path_1 = require("node:path");
32
+ const storage_1 = require("../storage");
33
+ const builtin_integrity_1 = require("./builtin-integrity");
34
+ const git_identity_1 = require("./git-identity");
35
+ const types_1 = require("./types");
36
+ const write_guard_1 = require("./write-guard");
37
+ /** Exact refusal message required by P1.1-git-backed-storage.feature scenario 3 — do not reword. */
38
+ const NOT_A_GIT_REPO = "not a git repository: run 'git init' first";
39
+ /**
40
+ * Exact message required by P5.1.1-init.feature scenario "Error - initializing an already-initialized
41
+ * project" — do not reword. Rendered by the CLI as `error: <message>` (spec-005 §3) and mapped to exit
42
+ * 1 (a well-formed invocation that failed on business logic, spec-005 §1) by `exitCodeForError`.
43
+ */
44
+ exports.WINGFOIL_ALREADY_INITIALIZED = 'WingFoil already initialized (use a migration command to change config)';
45
+ /**
46
+ * Initialize the `.wingfoil/` storage structure at `root` and stage it as a single commit authored
47
+ * by the current git user.
48
+ *
49
+ * Guards, in the order their message must win: git repository → git identity (REQ-SEC-01) → built-in
50
+ * template integrity (REQ-SEC-10) — the same three, in the same order, as {@link initWingfoilProject}.
51
+ *
52
+ * The third one arrived with `task-054-project-directives` / `bug-018-init-storage-bypasses-integrity-guard`.
53
+ * `scaffoldFiles()` now reserves `.wingfoil/directives/built-in/` (P3.5), which makes this a write path
54
+ * that installs into a built-in ASSET directory; before that it was the one `initStorage` caller with
55
+ * no check, safe only because the skeleton happened to contain nothing but dotfiles. Deriving the
56
+ * checked set from `files` — the exact array handed to `initStorage` below, bound once and not
57
+ * recomputed — is what makes "installed but unchecked" unrepresentable here too, rather than a
58
+ * property of today's scaffold content. `verifyBuiltinTemplates` is pure and touches no disk, so
59
+ * running it here satisfies REQ-SEC-10's "abort before writing partial assets" ordering.
60
+ *
61
+ * Per `dl-031-req-sec-10-integrity-depth` (`ready`), that check is schema validation: no digest, no
62
+ * manifest, no checksum.
63
+ *
64
+ * @param builtinTemplates - test-only override for the REQ-SEC-10 source list, mirroring
65
+ * {@link initWingfoilProject}'s parameter of the same name; it lets one shared test table drive the
66
+ * guard through BOTH write paths (`test/core/project-directives.test.ts`). Omit it in production:
67
+ * the derived set is the contract.
68
+ * @returns `ok` carrying the created paths and the produced `{sha, message}` commit; or a
69
+ * `CoreResult.error` (code `VALIDATION` → exit 1) when `root` is not a git repository, when git
70
+ * identity is unconfigured (REQ-SEC-01), when a built-in template fails its schema check
71
+ * (REQ-SEC-10), or (code `IO`) when the git commit itself fails.
72
+ */
73
+ function initWingfoilStorage(root, builtinTemplates) {
74
+ // Guard 1 — `root` must itself be a git repository (a `.git` dir or worktree file at the root).
75
+ // Checked first so its precise message wins over the identity pre-flight below.
76
+ if (!(0, node_fs_1.existsSync)((0, node_path_1.join)(root, '.git'))) {
77
+ return (0, types_1.coreErr)({ code: 'VALIDATION', message: NOT_A_GIT_REPO });
78
+ }
79
+ // Guard 2 — refuse an unattributable commit (REQ-SEC-01). Returns its VALIDATION error unchanged.
80
+ const identity = (0, git_identity_1.requireGitIdentity)(root);
81
+ if (!identity.ok)
82
+ return identity;
83
+ // Guard 3 — REQ-SEC-10, over the very list this call is about to write.
84
+ const files = (0, storage_1.scaffoldFiles)();
85
+ const integrityFailure = (0, builtin_integrity_1.verifyBuiltinTemplates)(builtinTemplates ?? (0, storage_1.builtinTemplateSources)(files));
86
+ if (integrityFailure) {
87
+ return (0, types_1.coreErr)({ code: 'VALIDATION', message: integrityFailure.message });
88
+ }
89
+ // Guard 4 — dl-080 (B) / bug-078 / task-092. This is the ONE `initStorage` caller with no
90
+ // already-initialized check: {@link initWingfoilProject} refuses before any write when `.wingfoil/`
91
+ // holds any entry at all (`detectInitState`), and every path it writes is under `.wingfoil/`, so no
92
+ // target of that flow can pre-exist and a guard there would be unreachable code. Here a target CAN
93
+ // pre-exist, and its uncommitted content would be overwritten and the diff committed under a
94
+ // subject saying "initialize". What this does NOT repair is the asymmetry itself — a CLEAN,
95
+ // committed `.wingfoil/dna.yaml` is still overwritten, because the target is clean; that is the
96
+ // missing already-initialized check, a distinct defect, raised rather than fixed here.
97
+ const unmodified = (0, write_guard_1.requireUnmodifiedTargets)(root, files.map((file) => file.path));
98
+ if (!unmodified.ok)
99
+ return unmodified;
100
+ try {
101
+ const sha = (0, storage_1.initStorage)(root, files);
102
+ return (0, types_1.coreOk)({ root, files: files.map((file) => file.path) }, { sha, message: storage_1.INIT_COMMIT_MESSAGE });
103
+ }
104
+ catch (error) {
105
+ return (0, types_1.coreErr)({ code: 'IO', message: error.message });
106
+ }
107
+ }
108
+ /**
109
+ * `wingfoil init` (task-029, P5.1.1): scaffold the COMPLETE spec-011 `.wingfoil/` layout for the
110
+ * `templateName` methodology template and stage it as a single commit — the CoreResult flow both the
111
+ * CLI wizard and the MCP surface drive (REQ-SYS-05). Config pillars ONLY (DNA/Directives/Workflow) —
112
+ * never Memory content (the `sw-life-cycle` workflow's `init`→`wingfoil-init` phase populates config
113
+ * pillars only, REQ-SYS-02); Memory documents are seeded later by `seed-first-release-line`.
114
+ *
115
+ * Guards, in the order their message must win:
116
+ * 1. `root` is a git repository (same exact message + no-write guarantee as {@link initWingfoilStorage}).
117
+ * 2. NOT already initialized (spec-011 `detectInitState` === 'initialized') → returns
118
+ * {@link WINGFOIL_ALREADY_INITIALIZED} and overwrites NOTHING (returns before any write) — P5.1.1
119
+ * scenario "Error - initializing an already-initialized project", exit 1.
120
+ * 3. `templateName` resolves to a known template (defense-in-depth; the CLI rejects an unknown
121
+ * `--template` value as a usage error / exit 2 before reaching here).
122
+ * 4. git identity is configured (REQ-SEC-01, {@link requireGitIdentity}) — refuse an unattributable commit.
123
+ * 5. every built-in template source passes {@link verifyBuiltinTemplates} (REQ-SEC-10,
124
+ * task-044-builtin-template-integrity) — a corrupted/schema-invalid built-in directive or
125
+ * workflow template aborts before the scaffold write, naming the failing template (P3.8/P4.17
126
+ * BDD "Error - a built-in template fails its integrity check" / "... is structurally invalid").
127
+ * The sources are DERIVED from this very run's `templateScaffold(template)` output via
128
+ * {@link builtinTemplateSources}, so the checked set and the written set cannot drift apart
129
+ * (there is no separate registry to forget to update). `templateScaffold` is pure and writes
130
+ * nothing, so computing it before the guard preserves the "before writing partial assets"
131
+ * ordering the fit criterion demands.
132
+ *
133
+ * @param builtinTemplates - test-only override for guard 5's source list, exercising the abort path
134
+ * without real built-in content on disk. Omit it in production: the derived set is the contract.
135
+ */
136
+ function initWingfoilProject(root, templateName, builtinTemplates) {
137
+ if (!(0, node_fs_1.existsSync)((0, node_path_1.join)(root, '.git'))) {
138
+ return (0, types_1.coreErr)({ code: 'VALIDATION', message: NOT_A_GIT_REPO });
139
+ }
140
+ if ((0, storage_1.detectInitState)(root) === 'initialized') {
141
+ return (0, types_1.coreErr)({ code: 'VALIDATION', message: exports.WINGFOIL_ALREADY_INITIALIZED });
142
+ }
143
+ const template = (0, storage_1.resolveTemplate)(templateName);
144
+ if (!template) {
145
+ return (0, types_1.coreErr)({ code: 'VALIDATION', message: `unknown template "${templateName}"` });
146
+ }
147
+ const identity = (0, git_identity_1.requireGitIdentity)(root);
148
+ if (!identity.ok)
149
+ return identity;
150
+ // Guard 5 — REQ-SEC-10. `templateScaffold` is pure (no I/O), so the exact file list about to be
151
+ // written is available to check BEFORE anything is written; deriving the sources from it is what
152
+ // keeps "installed" and "checked" the same set.
153
+ const files = (0, storage_1.templateScaffold)(template);
154
+ const integrityFailure = (0, builtin_integrity_1.verifyBuiltinTemplates)(builtinTemplates ?? (0, storage_1.builtinTemplateSources)(files));
155
+ if (integrityFailure) {
156
+ return (0, types_1.coreErr)({ code: 'VALIDATION', message: integrityFailure.message });
157
+ }
158
+ try {
159
+ const message = (0, storage_1.initProjectCommitMessage)(template);
160
+ const sha = (0, storage_1.initStorage)(root, files, message);
161
+ return (0, types_1.coreOk)({ root, template: template.name, files: files.map((file) => file.path) }, { sha, message });
162
+ }
163
+ catch (error) {
164
+ return (0, types_1.coreErr)({ code: 'IO', message: error.message });
165
+ }
166
+ }
167
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/core/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ import { DirectiveFrontmatter, RolesYaml } from '../directives/schema';
2
+ import { DnaYaml } from '../dna/schema';
3
+ import { MemoryYaml } from '../memory/schema';
4
+ import { Workflow, WorkflowsYaml } from '../workflow/schema';
5
+ /** Load and validate `.wingfoil/memory.yaml` in isolation (spec-001-memory-yaml-schema). */
6
+ export declare function loadMemoryYaml(root: string): MemoryYaml;
7
+ /**
8
+ * Root-relative POSIX path of `memory.yaml` — the form git wants for a revision read
9
+ * (`<rev>:<path>`), as opposed to the platform `join` every on-disk read uses. Counterpart of
10
+ * {@link DNA_YAML_PATH} (task-091).
11
+ */
12
+ export declare const MEMORY_YAML_PATH: ".wingfoil/memory.yaml";
13
+ /**
14
+ * Load and validate `.wingfoil/memory.yaml` **as the repository has committed it** — the version at
15
+ * `HEAD` — returning `null` when no commit of the repository contains that path (an untracked
16
+ * `memory.yaml`, or a repository with no commits at all). Same schema and same error shapes as
17
+ * {@link loadMemoryYaml}; only the source of the bytes differs.
18
+ *
19
+ * This is the baseline every Memory **state transition** resolves against
20
+ * (`prepareMemoryTransition`, `./memory-transition.ts`), per
21
+ * `dl-080-which-baseline-each-command-reads` option (B) — *a read that gates an operation resolves
22
+ * against the repository as committed at `HEAD`* — closing
23
+ * `bug-081-memory-yaml-read-from-worktree-fabricates-states`: an uncommitted edit to a type's
24
+ * `sequence` used to decide what transition a verb performed and what `status` it committed, through
25
+ * `memory submit`, which needs no authority at all, and left the element in a status the committed
26
+ * machine rejects, movable by no verb at all.
27
+ *
28
+ * `HEAD` rather than the commit being produced: a transition commit changes only the element path
29
+ * (`verifyCommittedScope`, task-088), so `memory.yaml` at `HEAD` and at the new commit are
30
+ * byte-identical, and `HEAD` is the one available before that commit exists.
31
+ */
32
+ export declare function loadMemoryYamlAtHead(root: string): MemoryYaml | null;
33
+ /**
34
+ * Load and validate `.wingfoil/dna.yaml` in isolation (spec-002-dna-yaml-schema). On top of the
35
+ * shared two-pass pipeline every pillar loader uses, this re-wraps a YAML-syntax failure into P2.4's
36
+ * own fit criterion (BDD `P2.4-project-dna-config.feature` "Error - malformed YAML in the DNA file"):
37
+ * `invalid DNA: YAML parse error at line <n>`, rather than surfacing the generic `E_YAML_PARSE_ERROR`
38
+ * message every other pillar loader still uses as-is. DNA-scoped only — this does not change
39
+ * `parseYaml`/`ValidationError`'s shared behavior for `memory.yaml`/`workflows.yaml`/directives.
40
+ */
41
+ export declare function loadDnaYaml(root: string): DnaYaml;
42
+ /**
43
+ * Root-relative POSIX path of `dna.yaml` — the form git wants for a revision read
44
+ * (`<rev>:<path>`), as opposed to the platform `join` every on-disk read uses (task-090).
45
+ */
46
+ export declare const DNA_YAML_PATH: ".wingfoil/dna.yaml";
47
+ /**
48
+ * Load and validate `.wingfoil/dna.yaml` **as the repository has committed it** — the version at
49
+ * `HEAD` — returning `null` when no commit of the repository contains that path (an untracked
50
+ * `dna.yaml`, or a repository with no commits at all). Same schema and same error shapes as
51
+ * {@link loadDnaYaml}; only the source of the bytes differs.
52
+ *
53
+ * Its caller is `requireApprovalAuthority` (`./approval-authority.ts`, task-090 / `bug-079`) —
54
+ * joined by `checkAssignable` (`./directive-assign.ts`, task-091 / `bug-082`), which validates
55
+ * `directive assign`'s `--role` against the same committed catalogue: approval authority is a property of the
56
+ * repository, not of a working tree, so the roles it reads must be roles someone committed.
57
+ * `adr-006-git-identity-role-based-authz`'s own Positive consequence — a fresh clone "reproduces the
58
+ * full audit trail with zero extra infrastructure" — is what fixes the baseline: a clone carries
59
+ * committed state and nothing else, so an `Approver:` line resting on an uncommitted grant is
60
+ * evidence no clone can re-derive.
61
+ *
62
+ * `HEAD` rather than the produced commit: an approval commit changes only the element path
63
+ * (`verifyCommittedScope`, task-088), so `dna.yaml` at `HEAD` and at the commit being produced are
64
+ * byte-identical — the two shapes `bug-079`'s Expected Behavior offers cannot diverge, and `HEAD` is
65
+ * the one available before the commit exists.
66
+ *
67
+ * Deliberately NOT how the working-tree loaders behave — but no longer an exception argued for one
68
+ * read: `dl-080-which-baseline-each-command-reads` is `ready`, ratified as option (B), and **a read
69
+ * that gates an operation resolves at `HEAD`** is now the rule this and {@link loadMemoryYamlAtHead}
70
+ * implement. A read that gates nothing — `dna show`, `paths`, `directives list`, the MCP Resources —
71
+ * still reports the working tree, which is what those exist to do. (`bug-078` is (B)'s write half:
72
+ * a write refuses while its target carries modifications it does not own.)
73
+ */
74
+ export declare function loadDnaYamlAtHead(root: string): DnaYaml | null;
75
+ /** The result of loading the Workflow pillar: the Layer-1 manifest plus every Layer-2 file it includes. */
76
+ export interface WorkflowsLoadResult {
77
+ readonly manifest: WorkflowsYaml;
78
+ readonly workflows: readonly Workflow[];
79
+ }
80
+ /**
81
+ * Load and validate the Workflow pillar in isolation (spec-003-workflows-yaml-schema): Layer 1
82
+ * (`.wingfoil/workflows.yaml`), then every file its `include` list names (Layer 2), resolved
83
+ * relative to `.wingfoil/` per spec-003. Two cross-file Pass-2 checks that need the loaded files
84
+ * themselves (spec-009 §1 "Cross-file" category) run here, not in the schema module:
85
+ *
86
+ * - every `include` path must resolve to a file that actually exists
87
+ * (`E_WORKFLOW_FILE_NOT_FOUND`, spec-003);
88
+ * - at least one loaded workflow must be `kind: main` (REQ-STATE-03 / spec-003 Layer 1 step 3).
89
+ */
90
+ export declare function loadWorkflowsYaml(root: string): WorkflowsLoadResult;
91
+ /** One Directives pillar file: its root-relative path and its validated frontmatter. */
92
+ export interface DirectiveFile {
93
+ readonly path: string;
94
+ readonly frontmatter: DirectiveFrontmatter;
95
+ }
96
+ /**
97
+ * Root-relative POSIX path of the Directives tree — the form git wants for a revision listing, as
98
+ * opposed to the platform `join` every on-disk read uses. Counterpart of {@link DNA_YAML_PATH} /
99
+ * {@link MEMORY_YAML_PATH} for the one pillar whose baseline is a **directory** (task-096).
100
+ */
101
+ export declare const DIRECTIVES_DIR_PATH: ".wingfoil/directives";
102
+ /**
103
+ * Load and validate every Directives file in isolation (task-004-decoupled-pillars — see
104
+ * `src/directives/schema.ts` for why this pillar has no dedicated approved tech-spec yet). Reads
105
+ * every `.md` file under `.wingfoil/directives/**` (built-in + custom) **in the working tree**,
106
+ * sorted deterministically (REQ-SYS-07: no unordered iteration in a context-building path), extracts
107
+ * its frontmatter (`storage.extractFrontmatter`), and validates it against `DirectiveFrontmatter`.
108
+ *
109
+ * This is the *report* baseline — what the user has now — and it is what `directives list`, context
110
+ * assembly and the MCP Resources read. A read that **gates** a mutation reads
111
+ * {@link loadDirectivesAtHead} instead (`dl-080` (B)).
112
+ */
113
+ export declare function loadDirectives(root: string): DirectiveFile[];
114
+ /**
115
+ * Load and validate every Directives file **as the repository has committed it** — the tree at
116
+ * `HEAD`.
117
+ *
118
+ * This is the inventory a read that gates a mutation resolves against
119
+ * (`checkAssignable`, `./directive-assign.ts`), per `dl-080-which-baseline-each-command-reads` option
120
+ * (B), closing the `assign` half of `bug-086-directive-inventory-read-from-the-worktree`: an
121
+ * untracked directive file used to be bindable, and the committed `roles.yaml` then named a directive
122
+ * present in no commit — a dangling reference by construction, since every other clone gets the
123
+ * binding without the file (REQ-SYS-08's referential integrity, the same way `bug-082` broke it for
124
+ * `--role`).
125
+ *
126
+ * Unlike every other committed-baseline loader, this one needs a **directory listing at a revision**
127
+ * (`storage.listPathsAtRev`, task-096) rather than one `readPathAtRev`: the pillar's members are
128
+ * discovered, not named in advance. That missing primitive is why `task-091` deferred this half.
129
+ *
130
+ * Same schema and same error shapes as {@link loadDirectives}; only the source of the bytes differs.
131
+ *
132
+ * Returns an **array, never `null`**, unlike its three sibling committed-baseline loaders. They read
133
+ * one named file, where "not committed" and "committed but empty" are different facts a caller may
134
+ * need to tell apart; here the two collapse — a `HEAD` that does not resolve (no commits at all) and
135
+ * a `HEAD` that commits no directive file both mean *the repository records no directive*, and both
136
+ * produce the same refusal from the only gate that consults this (`checkAssignable`: every id is
137
+ * unknown). `listPathsAtRev` keeps the distinction for callers that do need it.
138
+ */
139
+ export declare function loadDirectivesAtHead(root: string): DirectiveFile[];
140
+ /**
141
+ * Root-relative POSIX path of `roles.yaml` — the form git wants for a revision read (`<rev>:<path>`),
142
+ * as opposed to the platform `join` every on-disk read uses. It lived in `./directive-assign.ts` until
143
+ * task-096 moved it here, beside {@link DNA_YAML_PATH} / {@link MEMORY_YAML_PATH} and beside the
144
+ * committed-baseline reader that uses it; `./directive-assign.ts` now **imports** it like any other
145
+ * caller, and `src/core`'s barrel exports it from here.
146
+ */
147
+ export declare const ROLES_YAML_PATH: ".wingfoil/roles.yaml";
148
+ /**
149
+ * Load and validate `.wingfoil/roles.yaml` in isolation (task-037-role-task-scoped-context,
150
+ * REQ-STATE-05's `directive-loader`, P3.2/P3.7 role → directive bindings) — the same shared two-pass
151
+ * pipeline (`readDocument` + `parseYaml` + `runValidation`) every other pillar loader uses, so this
152
+ * pillar's own validation never depends on another pillar's schema (REQ-SYS-02). Consumed by
153
+ * `resolveRoleDirectives`/`assembleExecutionContext` (`./context.ts`) to resolve a role's assigned
154
+ * directives.
155
+ */
156
+ export declare function loadRolesYaml(root: string): RolesYaml;
157
+ /**
158
+ * Load and validate `.wingfoil/roles.yaml` **as the repository has committed it** — the version at
159
+ * `HEAD` — returning `null` when no commit contains that path (an untracked `roles.yaml`, a committed
160
+ * deletion of it, or a repository with no commits).
161
+ *
162
+ * This is the baseline REQ-SEC-07 clause (b) is answered from (`checkUnreferenced`,
163
+ * `./directive-assign.ts`), per `dl-080-which-baseline-each-command-reads` option (B), closing the
164
+ * `remove` half of `bug-086-directive-inventory-read-from-the-worktree`: an **uncommitted** deletion
165
+ * of the two `- <id>` lines was enough to delete a directive file the committed `roles.yaml` still
166
+ * bound — on the only verb in the system that destroys an artefact.
167
+ *
168
+ * `null` is not an error and does not fail closed there, unlike `loadDnaYamlAtHead`'s: "is anything
169
+ * still referencing this asset" is a question a missing record *answers*, with "nothing" (which is
170
+ * also how an absent `roles.yaml` has always been read — "no bindings yet", task-051/task-053). A
171
+ * committed `roles.yaml` that does not **validate** is the different case, and that one does refuse.
172
+ */
173
+ export declare function loadRolesYamlAtHead(root: string): RolesYaml | null;
174
+ //# sourceMappingURL=loaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loaders.d.ts","sourceRoot":"","sources":["../../src/core/loaders.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA0B7D,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAGvD;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAG,uBAAgC,CAAC;AAYjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAIpE;AAgBD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAG,oBAA6B,CAAC;AAuB3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAI9D;AAED,2GAA2G;AAC3G,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAqCnE;AAED,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;CAC5C;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAG,sBAA+B,CAAC;AA8BnE;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAK5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAalE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAG,sBAA+B,CAAC;AAE/D;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAKrD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAKlE"}