@mnstry/atelier 0.2.0-alpha.12 → 0.2.0-alpha.13

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 (516) hide show
  1. package/CHANGELOG.md +661 -0
  2. package/README.md +142 -6
  3. package/contracts/atelier-adoption-policy.v2.schema.json +55 -0
  4. package/contracts/atelier-architecture.v1.schema.json +258 -0
  5. package/contracts/atelier-boundary-delegations.v1.schema.json +161 -0
  6. package/contracts/atelier-boundary-owner-keys.v1.schema.json +98 -0
  7. package/contracts/atelier-build.v1.schema.json +1076 -0
  8. package/contracts/atelier-capability.v1.schema.json +1252 -0
  9. package/contracts/atelier-coordination.v1.schema.json +1050 -0
  10. package/contracts/atelier-evidence-navigation.v1.schema.json +603 -0
  11. package/contracts/atelier-harness.v1.schema.json +234 -0
  12. package/contracts/atelier-ingestion.v1.schema.json +806 -0
  13. package/contracts/atelier-inquiry.v1.schema.json +1772 -0
  14. package/contracts/atelier-instruction-adoption.v1.schema.json +490 -0
  15. package/contracts/atelier-interaction.v1.schema.json +553 -0
  16. package/contracts/atelier-judgment.v1.schema.json +690 -0
  17. package/contracts/atelier-knowledge.v1.schema.json +1512 -0
  18. package/contracts/atelier-learning.v1.schema.json +1095 -0
  19. package/contracts/atelier-migration.v3.schema.json +64 -0
  20. package/contracts/atelier-personal-workspace-manifest.v1.schema.json +87 -0
  21. package/contracts/atelier-personal-workspace-overlay.v1.schema.json +299 -0
  22. package/contracts/atelier-template-adoption.v1.schema.json +223 -0
  23. package/contracts/atelier-template-profile.v1.schema.json +1168 -0
  24. package/contracts/atelier-trackable.v1.schema.json +781 -0
  25. package/contracts/atelier-upgrade-plan.v3.schema.json +532 -0
  26. package/docs/architecture.md +89 -0
  27. package/docs/assurance-controls.md +2 -2
  28. package/docs/blocks/capability-stewardship.md +17 -0
  29. package/docs/blocks/claims.md +16 -3
  30. package/docs/blocks/inquiry-harnesses.md +19 -0
  31. package/docs/blocks/learning-harnesses.md +17 -0
  32. package/docs/capability-stewardship.md +269 -0
  33. package/docs/coordination.md +51 -0
  34. package/docs/decision-practices.md +111 -0
  35. package/docs/decisions.md +29 -0
  36. package/docs/evidence-navigation.md +237 -0
  37. package/docs/exact-upgrades.md +3 -2
  38. package/docs/ingestion.md +181 -0
  39. package/docs/inquiry-harnesses.md +211 -0
  40. package/docs/install.md +80 -3
  41. package/docs/intake-and-guides.md +5 -0
  42. package/docs/integration-contract-decisions.md +24 -2
  43. package/docs/interaction-and-reflection.md +72 -0
  44. package/docs/knowledge-graph.md +20 -0
  45. package/docs/knowledge-health/api.md +30 -0
  46. package/docs/knowledge-health/assessment/api.md +96 -0
  47. package/docs/knowledge-health/assessment/capabilities.md +40 -0
  48. package/docs/knowledge-health/assessment/evaluation.md +27 -0
  49. package/docs/knowledge-health/assessment/facilitator.md +30 -0
  50. package/docs/knowledge-health/assessment/quickstart.md +61 -0
  51. package/docs/knowledge-health/assessment/troubleshooting.md +23 -0
  52. package/docs/knowledge-health/devday/facilitator.md +16 -0
  53. package/docs/knowledge-health/devday/participant-response.md +22 -0
  54. package/docs/knowledge-health/devday/public-default.md +107 -0
  55. package/docs/knowledge-health/devday/quickstart.md +18 -0
  56. package/docs/knowledge-health/devday/support.md +22 -0
  57. package/docs/knowledge-health/exercise.md +17 -0
  58. package/docs/knowledge-health/facilitator.md +20 -0
  59. package/docs/knowledge-health/quickstart.md +94 -0
  60. package/docs/knowledge-health/readme.md +15 -0
  61. package/docs/knowledge-health/support.md +34 -0
  62. package/docs/knowledge-setup.md +248 -0
  63. package/docs/knowledge-workspace.md +264 -0
  64. package/docs/learning-harnesses.md +238 -0
  65. package/docs/learning.md +215 -0
  66. package/docs/local-services.md +181 -16
  67. package/docs/obsidian-contract.md +223 -15
  68. package/docs/obsidian-plugin.md +38 -4
  69. package/docs/obsidian.md +613 -51
  70. package/docs/optional-ingestion.md +83 -0
  71. package/docs/personal-workspace.md +257 -0
  72. package/docs/practical-judgment.md +92 -0
  73. package/docs/progressive-ingestion-acceptance.md +89 -0
  74. package/docs/progressive-ingestion.md +235 -0
  75. package/docs/project-command-inventory.md +1 -0
  76. package/docs/release-engineering.md +49 -0
  77. package/docs/repo-boundary-guard.md +94 -0
  78. package/docs/research-starter-quickstart.md +66 -0
  79. package/docs/research-starter.md +114 -0
  80. package/docs/semantic-ingestion.md +198 -0
  81. package/docs/semantic-operation.md +317 -0
  82. package/docs/skill-steward.md +6 -0
  83. package/docs/template-profile.md +164 -0
  84. package/docs/template-upgrades.md +114 -0
  85. package/docs/trackables.md +111 -0
  86. package/docs/upgrade.md +47 -2
  87. package/fixtures/atelier-architecture/binding/invalid/document.json +19 -0
  88. package/fixtures/atelier-architecture/binding/valid/document.json +19 -0
  89. package/fixtures/atelier-architecture/catalog/invalid/document.json +290 -0
  90. package/fixtures/atelier-architecture/catalog/valid/document.json +343 -0
  91. package/fixtures/atelier-build-contract/attempt/invalid/document.json +20 -0
  92. package/fixtures/atelier-build-contract/attempt/valid/document.json +19 -0
  93. package/fixtures/atelier-build-contract/candidate/invalid/document.json +24 -0
  94. package/fixtures/atelier-build-contract/candidate/valid/document.json +23 -0
  95. package/fixtures/atelier-build-contract/decision/invalid/document.json +31 -0
  96. package/fixtures/atelier-build-contract/decision/valid/document.json +30 -0
  97. package/fixtures/atelier-build-contract/delivery/invalid/document.json +18 -0
  98. package/fixtures/atelier-build-contract/delivery/valid/document.json +17 -0
  99. package/fixtures/atelier-build-contract/gate/invalid/document.json +22 -0
  100. package/fixtures/atelier-build-contract/gate/valid/document.json +21 -0
  101. package/fixtures/atelier-build-contract/ledger/invalid/document.json +270 -0
  102. package/fixtures/atelier-build-contract/ledger/valid/document.json +269 -0
  103. package/fixtures/atelier-build-contract/objective/invalid/document.json +73 -0
  104. package/fixtures/atelier-build-contract/objective/valid/document.json +72 -0
  105. package/fixtures/atelier-build-contract/progress/invalid/document.json +18 -0
  106. package/fixtures/atelier-build-contract/progress/valid/document.json +17 -0
  107. package/fixtures/atelier-capability-contract/adoption/invalid/document.json +71 -0
  108. package/fixtures/atelier-capability-contract/adoption/valid/document.json +70 -0
  109. package/fixtures/atelier-capability-contract/event/invalid/document.json +18 -0
  110. package/fixtures/atelier-capability-contract/event/valid/document.json +17 -0
  111. package/fixtures/atelier-capability-contract/journal/invalid/document.json +382 -0
  112. package/fixtures/atelier-capability-contract/journal/valid/document.json +381 -0
  113. package/fixtures/atelier-capability-contract/notice/invalid/document.json +8 -0
  114. package/fixtures/atelier-capability-contract/notice/valid/document.json +7 -0
  115. package/fixtures/atelier-capability-contract/package/invalid/document.json +59 -0
  116. package/fixtures/atelier-capability-contract/package/valid/document.json +58 -0
  117. package/fixtures/atelier-capability-contract/plan/invalid/document.json +107 -0
  118. package/fixtures/atelier-capability-contract/plan/valid/document.json +106 -0
  119. package/fixtures/atelier-capability-contract/release/invalid/document.json +85 -0
  120. package/fixtures/atelier-capability-contract/release/valid/document.json +84 -0
  121. package/fixtures/atelier-capability-contract/state/invalid/document.json +316 -0
  122. package/fixtures/atelier-capability-contract/state/valid/document.json +315 -0
  123. package/fixtures/atelier-coordination/dependency/invalid/document.json +37 -0
  124. package/fixtures/atelier-coordination/dependency/valid/document.json +36 -0
  125. package/fixtures/atelier-coordination/directive/invalid/document.json +25 -0
  126. package/fixtures/atelier-coordination/directive/valid/document.json +24 -0
  127. package/fixtures/atelier-coordination/disposition/invalid/document.json +34 -0
  128. package/fixtures/atelier-coordination/disposition/valid/document.json +33 -0
  129. package/fixtures/atelier-coordination/outcome/invalid/document.json +39 -0
  130. package/fixtures/atelier-coordination/outcome/valid/document.json +38 -0
  131. package/fixtures/atelier-coordination/recovery/invalid/document.json +34 -0
  132. package/fixtures/atelier-coordination/recovery/valid/document.json +33 -0
  133. package/fixtures/atelier-harness-contract/handoff/invalid/document.json +25 -0
  134. package/fixtures/atelier-harness-contract/handoff/valid/document.json +24 -0
  135. package/fixtures/atelier-ingestion/invalid/authority.json +19 -0
  136. package/fixtures/atelier-ingestion/semantic-baseline.json +26 -0
  137. package/fixtures/atelier-ingestion/semantic-operation.json +75 -0
  138. package/fixtures/atelier-ingestion/valid/plan-input.json +18 -0
  139. package/fixtures/atelier-inquiry-contract/assessment/invalid/document.json +41 -0
  140. package/fixtures/atelier-inquiry-contract/assessment/valid/document.json +40 -0
  141. package/fixtures/atelier-inquiry-contract/bundle/invalid/document.json +51 -0
  142. package/fixtures/atelier-inquiry-contract/bundle/valid/document.json +50 -0
  143. package/fixtures/atelier-inquiry-contract/campaign/invalid/document.json +17 -0
  144. package/fixtures/atelier-inquiry-contract/campaign/valid/document.json +16 -0
  145. package/fixtures/atelier-inquiry-contract/decision/invalid/document.json +22 -0
  146. package/fixtures/atelier-inquiry-contract/decision/valid/document.json +21 -0
  147. package/fixtures/atelier-inquiry-contract/feedback/invalid/document.json +19 -0
  148. package/fixtures/atelier-inquiry-contract/feedback/valid/document.json +18 -0
  149. package/fixtures/atelier-inquiry-contract/handoff/invalid/document.json +92 -0
  150. package/fixtures/atelier-inquiry-contract/handoff/valid/document.json +91 -0
  151. package/fixtures/atelier-inquiry-contract/hypothesis/invalid/document.json +20 -0
  152. package/fixtures/atelier-inquiry-contract/hypothesis/valid/document.json +19 -0
  153. package/fixtures/atelier-inquiry-contract/ledger/invalid/document.json +680 -0
  154. package/fixtures/atelier-inquiry-contract/ledger/valid/document.json +679 -0
  155. package/fixtures/atelier-inquiry-contract/legacy-assessment/invalid/document.json +19 -0
  156. package/fixtures/atelier-inquiry-contract/legacy-assessment/valid/document.json +18 -0
  157. package/fixtures/atelier-inquiry-contract/request/invalid/document.json +50 -0
  158. package/fixtures/atelier-inquiry-contract/request/valid/document.json +49 -0
  159. package/fixtures/atelier-inquiry-contract/source/invalid/document.json +18 -0
  160. package/fixtures/atelier-inquiry-contract/source/valid/document.json +17 -0
  161. package/fixtures/atelier-inquiry-contract/withdrawal/invalid/document.json +16 -0
  162. package/fixtures/atelier-inquiry-contract/withdrawal/valid/document.json +15 -0
  163. package/fixtures/atelier-instruction-adoption/context-receipt/invalid/document.json +18 -0
  164. package/fixtures/atelier-instruction-adoption/context-receipt/valid/document.json +17 -0
  165. package/fixtures/atelier-instruction-adoption/plan/invalid/document.json +63 -0
  166. package/fixtures/atelier-instruction-adoption/plan/valid/document.json +62 -0
  167. package/fixtures/atelier-instruction-adoption/receipt/invalid/document.json +22 -0
  168. package/fixtures/atelier-instruction-adoption/receipt/valid/document.json +21 -0
  169. package/fixtures/atelier-instruction-adoption/state/invalid/document.json +30 -0
  170. package/fixtures/atelier-instruction-adoption/state/valid/document.json +29 -0
  171. package/fixtures/atelier-interaction/act/invalid/document.json +25 -0
  172. package/fixtures/atelier-interaction/act/valid/document.json +24 -0
  173. package/fixtures/atelier-interaction/assessment/invalid/document.json +32 -0
  174. package/fixtures/atelier-interaction/assessment/valid/document.json +31 -0
  175. package/fixtures/atelier-interaction/observation/invalid/document.json +22 -0
  176. package/fixtures/atelier-interaction/observation/valid/document.json +21 -0
  177. package/fixtures/atelier-interaction/policy/invalid/document.json +20 -0
  178. package/fixtures/atelier-interaction/policy/valid/document.json +19 -0
  179. package/fixtures/atelier-judgment/case/invalid/document.json +76 -0
  180. package/fixtures/atelier-judgment/case/valid/document.json +75 -0
  181. package/fixtures/atelier-judgment/decision/invalid/document.json +38 -0
  182. package/fixtures/atelier-judgment/decision/valid/document.json +37 -0
  183. package/fixtures/atelier-judgment/native-decision.md +3 -0
  184. package/fixtures/atelier-judgment/practice-reconsideration/definition.json +92 -0
  185. package/fixtures/atelier-judgment/practice-reconsideration/scenario.json +435 -0
  186. package/fixtures/atelier-knowledge-contract/activation/invalid/document.json +26 -0
  187. package/fixtures/atelier-knowledge-contract/activation/valid/document.json +25 -0
  188. package/fixtures/atelier-knowledge-contract/contribution/invalid/document.json +34 -0
  189. package/fixtures/atelier-knowledge-contract/contribution/valid/document.json +33 -0
  190. package/fixtures/atelier-knowledge-contract/domain/invalid/document.json +41 -0
  191. package/fixtures/atelier-knowledge-contract/domain/valid/document.json +40 -0
  192. package/fixtures/atelier-knowledge-contract/domain-revision/invalid/document.json +46 -0
  193. package/fixtures/atelier-knowledge-contract/domain-revision/valid/document.json +45 -0
  194. package/fixtures/atelier-knowledge-contract/evaluation/invalid/document.json +21 -0
  195. package/fixtures/atelier-knowledge-contract/evaluation/valid/document.json +20 -0
  196. package/fixtures/atelier-knowledge-contract/ledger/invalid/document.json +318 -0
  197. package/fixtures/atelier-knowledge-contract/ledger/valid/document.json +317 -0
  198. package/fixtures/atelier-knowledge-contract/relation/invalid/document.json +25 -0
  199. package/fixtures/atelier-knowledge-contract/relation/valid/document.json +24 -0
  200. package/fixtures/atelier-knowledge-contract/review/invalid/document.json +18 -0
  201. package/fixtures/atelier-knowledge-contract/review/valid/document.json +17 -0
  202. package/fixtures/atelier-knowledge-contract/withdrawal/invalid/document.json +16 -0
  203. package/fixtures/atelier-knowledge-contract/withdrawal/valid/document.json +15 -0
  204. package/fixtures/atelier-learning/invalid/authority.json +14 -0
  205. package/fixtures/atelier-learning/valid/capture.json +13 -0
  206. package/fixtures/atelier-personal-workspace-contract/manifest/invalid/authority-key.json +17 -0
  207. package/fixtures/atelier-personal-workspace-contract/manifest/invalid/nonempty-ext.json +25 -0
  208. package/fixtures/atelier-personal-workspace-contract/manifest/invalid/wrong-schema.json +22 -0
  209. package/fixtures/atelier-personal-workspace-contract/manifest/valid/manifest.json +22 -0
  210. package/fixtures/atelier-personal-workspace-contract/overlay/invalid/authority-key.json +25 -0
  211. package/fixtures/atelier-personal-workspace-contract/overlay/invalid/unknown-top-level-field.json +27 -0
  212. package/fixtures/atelier-personal-workspace-contract/overlay/invalid/wrong-schema.json +24 -0
  213. package/fixtures/atelier-trackable/definition/invalid/document.json +15 -0
  214. package/fixtures/atelier-trackable/definition/valid/document.json +14 -0
  215. package/fixtures/atelier-trackable/request/invalid/document.json +23 -0
  216. package/fixtures/atelier-trackable/request/valid/document.json +22 -0
  217. package/fixtures/boundary-delegations/invalid/authority-key.v1.json +30 -0
  218. package/fixtures/boundary-delegations/invalid/push-operation.v1.json +28 -0
  219. package/fixtures/boundary-delegations/invalid/unsigned.v1.json +25 -0
  220. package/fixtures/boundary-delegations/valid/empty.v1.json +4 -0
  221. package/fixtures/boundary-delegations/valid/signed-operator.v1.json +30 -0
  222. package/fixtures/boundary-owner-keys/invalid/wrong-algorithm.v1.json +15 -0
  223. package/fixtures/boundary-owner-keys/invalid/wrong-curve.v1.json +15 -0
  224. package/fixtures/boundary-owner-keys/valid/one-owner.v1.json +17 -0
  225. package/fixtures/capability-packages/adoption.example.json +70 -0
  226. package/fixtures/capability-packages/evidence-review/capability-package.json +58 -0
  227. package/fixtures/capability-packages/evidence-review/capability-release.json +84 -0
  228. package/fixtures/capability-packages/evidence-review/evaluation.md +15 -0
  229. package/fixtures/capability-packages/evidence-review/skills/evidence-review/SKILL.md +22 -0
  230. package/fixtures/capability-packages/evidence-review/skills/evidence-review/references/ledger.md +7 -0
  231. package/fixtures/capability-packages/research/capability-package.json +88 -0
  232. package/fixtures/capability-packages/research/capability-release.json +134 -0
  233. package/fixtures/capability-packages/research/evaluation.md +15 -0
  234. package/fixtures/capability-packages/research/skills/research-integrate/SKILL.md +29 -0
  235. package/fixtures/capability-packages/research/skills/research-integrate/references/integration.md +10 -0
  236. package/fixtures/capability-packages/research/skills/research-plan/SKILL.md +27 -0
  237. package/fixtures/capability-packages/research/skills/research-plan/references/inquiries.md +26 -0
  238. package/fixtures/capability-packages/research/skills/research-synthesize/SKILL.md +23 -0
  239. package/fixtures/capability-packages/research/skills/research-synthesize/references/synthesis.md +12 -0
  240. package/fixtures/evidence-navigation/invalid/duplicate-operation.json +16 -0
  241. package/fixtures/evidence-navigation/invalid/instruction-kind.json +36 -0
  242. package/fixtures/evidence-navigation/invalid/invalid-digest.json +36 -0
  243. package/fixtures/evidence-navigation/invalid/invalid-time.json +36 -0
  244. package/fixtures/evidence-navigation/invalid/missing-attribution.json +35 -0
  245. package/fixtures/evidence-navigation/invalid/reserved-extension.json +19 -0
  246. package/fixtures/evidence-navigation/invalid/unattributed-acceptance.json +36 -0
  247. package/fixtures/evidence-navigation/invalid/uncoerced-version.json +16 -0
  248. package/fixtures/evidence-navigation/invalid/unknown-currency.json +17 -0
  249. package/fixtures/evidence-navigation/invalid/unknown-selector-field.json +37 -0
  250. package/fixtures/evidence-navigation/invalid/unsupported-operation.json +15 -0
  251. package/fixtures/evidence-navigation/valid/claim.json +36 -0
  252. package/fixtures/evidence-navigation/valid/host.json +16 -0
  253. package/fixtures/evidence-navigation/valid/profile.json +16 -0
  254. package/fixtures/evidence-navigation/valid/snapshot.json +17 -0
  255. package/fixtures/harness-packages/build-harness/capability-package.json +61 -0
  256. package/fixtures/harness-packages/build-harness/capability-release.json +82 -0
  257. package/fixtures/harness-packages/build-harness/evaluation.md +3 -0
  258. package/fixtures/harness-packages/build-harness/skills/atelier-build-harness/SKILL.md +59 -0
  259. package/fixtures/harness-packages/knowledge-harness/capability-package.json +61 -0
  260. package/fixtures/harness-packages/knowledge-harness/capability-release.json +82 -0
  261. package/fixtures/harness-packages/knowledge-harness/evaluation.md +3 -0
  262. package/fixtures/harness-packages/knowledge-harness/skills/atelier-knowledge-harness/SKILL.md +60 -0
  263. package/fixtures/harnesses/learning-cycle.json +780 -0
  264. package/fixtures/inquiry/workshop.json +675 -0
  265. package/fixtures/inquiry-packages/discovery-harness/capability-package.json +61 -0
  266. package/fixtures/inquiry-packages/discovery-harness/capability-release.json +82 -0
  267. package/fixtures/inquiry-packages/discovery-harness/evaluation.md +3 -0
  268. package/fixtures/inquiry-packages/discovery-harness/skills/atelier-discovery-harness/SKILL.md +48 -0
  269. package/fixtures/inquiry-packages/research-harness/capability-package.json +61 -0
  270. package/fixtures/inquiry-packages/research-harness/capability-release.json +82 -0
  271. package/fixtures/inquiry-packages/research-harness/evaluation.md +3 -0
  272. package/fixtures/inquiry-packages/research-harness/skills/atelier-research-harness/SKILL.md +43 -0
  273. package/fixtures/knowledge-health/calibration-suite.json +26 -0
  274. package/fixtures/knowledge-health/calibration-trial.json +37 -0
  275. package/fixtures/knowledge-health/corrected/checklist.md +18 -0
  276. package/fixtures/knowledge-health/devday/participant-record.json +19 -0
  277. package/fixtures/knowledge-health/expected-summary.json +27 -0
  278. package/fixtures/knowledge-health/workshop/README.md +20 -0
  279. package/fixtures/knowledge-health/workshop/atelier.project.json +7 -0
  280. package/fixtures/knowledge-health/workshop/knowledge-plan.json +65 -0
  281. package/fixtures/knowledge-health/workshop/records/checklist.md +18 -0
  282. package/fixtures/knowledge-health/workshop/records/workshop.md +18 -0
  283. package/fixtures/knowledge-health/workshop/repo-access.v1.json +5 -0
  284. package/fixtures/knowledge-health/workspace/atelier.project.json +18 -0
  285. package/fixtures/knowledge-health/workspace/knowledge-plan.json +74 -0
  286. package/fixtures/knowledge-health/workspace/records/checklist.md +18 -0
  287. package/fixtures/knowledge-health/workspace/records/pilot.md +16 -0
  288. package/fixtures/knowledge-health/workspace/repo-access.v1.json +9 -0
  289. package/fixtures/personal-workspace/overlay.json +24 -0
  290. package/fixtures/templates/local-library.v1.json +75 -0
  291. package/fixtures/templates/upgrade-contracts/adoption-policy.v2/invalid.json +16 -0
  292. package/fixtures/templates/upgrade-contracts/adoption-policy.v2/valid.json +13 -0
  293. package/fixtures/templates/upgrade-contracts/migration.v3/invalid.json +24 -0
  294. package/fixtures/templates/upgrade-contracts/migration.v3/valid.json +21 -0
  295. package/fixtures/templates/upgrade-contracts/template-adoption.v1/invalid.json +60 -0
  296. package/fixtures/templates/upgrade-contracts/template-adoption.v1/valid.json +57 -0
  297. package/fixtures/templates/upgrade-contracts/upgrade-plan.v3/invalid.json +85 -0
  298. package/fixtures/templates/upgrade-contracts/upgrade-plan.v3/valid.json +82 -0
  299. package/package.json +59 -5
  300. package/skills/claude/atelier-build-harness/SKILL.md +59 -0
  301. package/skills/claude/atelier-coordination/SKILL.md +32 -0
  302. package/skills/claude/atelier-discovery-harness/SKILL.md +48 -0
  303. package/skills/claude/atelier-guided-upgrade/SKILL.md +29 -0
  304. package/skills/claude/atelier-interaction/SKILL.md +34 -0
  305. package/skills/claude/atelier-knowledge-harness/SKILL.md +60 -0
  306. package/skills/claude/atelier-knowledge-setup/SKILL.md +72 -0
  307. package/skills/claude/atelier-practical-judgment/SKILL.md +64 -0
  308. package/skills/claude/atelier-research-harness/SKILL.md +43 -0
  309. package/skills/claude/atelier-skill-steward/SKILL.md +53 -0
  310. package/skills/claude/atelier-trackables/SKILL.md +40 -0
  311. package/skills/codex/atelier-build-harness/SKILL.md +59 -0
  312. package/skills/codex/atelier-coordination/SKILL.md +32 -0
  313. package/skills/codex/atelier-discovery-harness/SKILL.md +48 -0
  314. package/skills/codex/atelier-guided-upgrade/SKILL.md +29 -0
  315. package/skills/codex/atelier-interaction/SKILL.md +34 -0
  316. package/skills/codex/atelier-knowledge-harness/SKILL.md +60 -0
  317. package/skills/codex/atelier-knowledge-setup/SKILL.md +72 -0
  318. package/skills/codex/atelier-practical-judgment/SKILL.md +64 -0
  319. package/skills/codex/atelier-research-harness/SKILL.md +43 -0
  320. package/skills/codex/atelier-skill-steward/SKILL.md +53 -0
  321. package/skills/codex/atelier-trackables/SKILL.md +40 -0
  322. package/src/architecture/catalog.mjs +355 -0
  323. package/src/architecture/index.mjs +93 -0
  324. package/src/boundary/content-rules.mjs +4 -2
  325. package/src/boundary/delegation-command.mjs +158 -0
  326. package/src/boundary/delegation.mjs +396 -0
  327. package/src/boundary/policy.mjs +52 -10
  328. package/src/build/git.mjs +18 -0
  329. package/src/build/index.mjs +3 -0
  330. package/src/build/ledger.mjs +88 -0
  331. package/src/capabilities/adoption.mjs +381 -0
  332. package/src/capabilities/evidence.mjs +140 -0
  333. package/src/capabilities/files.mjs +124 -0
  334. package/src/capabilities/index.mjs +4 -0
  335. package/src/capabilities/instructions.mjs +250 -0
  336. package/src/capabilities/package.mjs +136 -0
  337. package/src/cli/command-failure.mjs +36 -0
  338. package/src/cli/execute-command.mjs +16 -2
  339. package/src/cli/run.mjs +65 -9
  340. package/src/coauthor/store.mjs +43 -2
  341. package/src/collaboration/proposals.mjs +189 -0
  342. package/src/commands/architecture.mjs +27 -0
  343. package/src/commands/boundary.mjs +3 -0
  344. package/src/commands/capability.mjs +73 -0
  345. package/src/commands/enroll.mjs +3 -0
  346. package/src/commands/harness.mjs +79 -0
  347. package/src/commands/ingest.mjs +39 -0
  348. package/src/commands/init.mjs +4 -1
  349. package/src/commands/inquiry.mjs +66 -0
  350. package/src/commands/knowledge-semantic.mjs +128 -0
  351. package/src/commands/knowledge.mjs +119 -0
  352. package/src/commands/learn.mjs +61 -0
  353. package/src/commands/obsidian.mjs +754 -63
  354. package/src/commands/practice.mjs +24 -0
  355. package/src/commands/setup.mjs +22 -2
  356. package/src/commands/trackable.mjs +19 -0
  357. package/src/contracts/corpus.mjs +30 -0
  358. package/src/coordination/index.mjs +110 -0
  359. package/src/evidence-navigation/contracts.mjs +60 -0
  360. package/src/evidence-navigation/evaluate.mjs +69 -0
  361. package/src/evidence-navigation/generation.mjs +22 -0
  362. package/src/evidence-navigation/index.mjs +2 -0
  363. package/src/evidence-navigation/local.mjs +167 -0
  364. package/src/evidence-navigation/schema.generated.mjs +604 -0
  365. package/src/evidence-navigation/types.mjs +12 -0
  366. package/src/export/atelier-export-contract.mjs +35 -8
  367. package/src/graph/enroll.mjs +248 -0
  368. package/src/graph/graph.mjs +17 -1
  369. package/src/graph/knowledge-graph.mjs +58 -8
  370. package/src/harnesses/contracts.mjs +41 -0
  371. package/src/harnesses/exchange.mjs +154 -0
  372. package/src/harnesses/feedback.mjs +16 -0
  373. package/src/harnesses/history.mjs +37 -0
  374. package/src/harnesses/index.mjs +4 -0
  375. package/src/harnesses/store.mjs +29 -0
  376. package/src/ingestion/contracts.mjs +41 -0
  377. package/src/ingestion/evaluation.mjs +119 -0
  378. package/src/ingestion/optional/composition/index.mjs +171 -0
  379. package/src/ingestion/optional/evaluation/index.mjs +219 -0
  380. package/src/ingestion/optional/graphify/composition-binding.mjs +60 -0
  381. package/src/ingestion/optional/graphify/composition_receiving.py +185 -0
  382. package/src/ingestion/optional/graphify/graphify_supplier.py +933 -0
  383. package/src/ingestion/optional/graphify/json_bridge.py +163 -0
  384. package/src/ingestion/optional/graphify/query_receiving.py +209 -0
  385. package/src/ingestion/optional/index.mjs +9 -0
  386. package/src/ingestion/optional/jev/bridge.mjs +166 -0
  387. package/src/ingestion/optional/jev/composition-binding.mjs +116 -0
  388. package/src/ingestion/optional/jev/judgments.mjs +174 -0
  389. package/src/ingestion/optional/jev/native-translation.mjs +32 -0
  390. package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/__init__.py +7 -0
  391. package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/adapter.py +966 -0
  392. package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/artifacts.py +101 -0
  393. package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/projection.py +146 -0
  394. package/src/ingestion/optional/lightrag/composition-binding.mjs +67 -0
  395. package/src/ingestion/optional/vanilla/composition-binding.mjs +102 -0
  396. package/src/ingestion/optional/vanilla/index.mjs +218 -0
  397. package/src/ingestion/optional/vanilla/native-normalization.mjs +187 -0
  398. package/src/ingestion/processors.mjs +218 -0
  399. package/src/ingestion/semantic.mjs +203 -0
  400. package/src/ingestion/store.mjs +372 -0
  401. package/src/inquiry/beliefs.mjs +32 -0
  402. package/src/inquiry/contracts.mjs +23 -0
  403. package/src/inquiry/index.mjs +5 -0
  404. package/src/inquiry/ledger.mjs +135 -0
  405. package/src/inquiry/lenses.mjs +15 -0
  406. package/src/inquiry/projection.mjs +77 -0
  407. package/src/inquiry/store.mjs +35 -0
  408. package/src/intake/read-scope.mjs +12 -0
  409. package/src/intake/store.mjs +69 -6
  410. package/src/interaction/index.mjs +91 -0
  411. package/src/judgment/index.mjs +82 -0
  412. package/src/judgment/practice-evaluation.mjs +70 -0
  413. package/src/judgment/practice.mjs +144 -0
  414. package/src/knowledge/context.mjs +217 -0
  415. package/src/knowledge/index.mjs +5 -0
  416. package/src/knowledge/ingestion.mjs +79 -0
  417. package/src/knowledge/intake.mjs +33 -0
  418. package/src/knowledge/ledger.mjs +110 -0
  419. package/src/knowledge/participatory/guidance.mjs +36 -0
  420. package/src/knowledge/participatory/guided-contribution.mjs +44 -0
  421. package/src/knowledge/participatory/index.mjs +2 -0
  422. package/src/knowledge/participatory/installed-workshop.mjs +108 -0
  423. package/src/knowledge/plan.mjs +67 -0
  424. package/src/knowledge/projection.mjs +43 -0
  425. package/src/knowledge/semantic-operation.mjs +567 -0
  426. package/src/knowledge/sessions.mjs +467 -0
  427. package/src/knowledge/workspace.mjs +295 -0
  428. package/src/knowledge-health/assessment.mjs +165 -0
  429. package/src/knowledge-health/capabilities.mjs +350 -0
  430. package/src/knowledge-health/context.mjs +62 -0
  431. package/src/knowledge-health/example.mjs +47 -0
  432. package/src/knowledge-health/index.mjs +10 -0
  433. package/src/knowledge-health/owner-join.mjs +88 -0
  434. package/src/knowledge-health/proof/common.mjs +24 -0
  435. package/src/knowledge-health/proof/installed-check.mjs +100 -0
  436. package/src/knowledge-health/proof/native-readback.mjs +37 -0
  437. package/src/knowledge-health/proof/rehearse.mjs +68 -0
  438. package/src/knowledge-health/proof/validate-participant.mjs +17 -0
  439. package/src/knowledge-health/proof/verify-native-capture.mjs +14 -0
  440. package/src/knowledge-health/proof/workshop-check.mjs +36 -0
  441. package/src/knowledge-health/rule-identity.mjs +44 -0
  442. package/src/knowledge-health/workshop-composition.mjs +19 -0
  443. package/src/knowledge-health/workshop-profile.mjs +176 -0
  444. package/src/knowledge-health/workshop.mjs +99 -0
  445. package/src/learning/adapters.mjs +68 -0
  446. package/src/learning/assistance.mjs +127 -0
  447. package/src/learning/contracts.mjs +65 -0
  448. package/src/learning/store.mjs +272 -0
  449. package/src/personal-workspace/index.mjs +391 -0
  450. package/src/personal-workspace/selection.mjs +385 -0
  451. package/src/project/config.mjs +8 -0
  452. package/src/project/durable-state.mjs +3 -1
  453. package/src/project/file-class.mjs +1 -1
  454. package/src/projection/obsidian/edits/apply.mjs +55 -16
  455. package/src/projection/obsidian/personal-workspace.mjs +436 -0
  456. package/src/projection/obsidian/proposals/adapter.mjs +47 -8
  457. package/src/projection/obsidian/proposals/observation.mjs +10 -2
  458. package/src/projection/obsidian/publication/publisher.mjs +142 -13
  459. package/src/projection/obsidian/publication/vault-list.mjs +4 -3
  460. package/src/projection/obsidian/recovery/index.mjs +4 -1
  461. package/src/projection/obsidian/recovery/store.mjs +160 -7
  462. package/src/projection/obsidian/selection-ui/contribution.mjs +6 -5
  463. package/src/readiness/readiness.mjs +10 -3
  464. package/src/reflection/index.mjs +56 -0
  465. package/src/runtime/obsidian/app-production-seams.mjs +48 -16
  466. package/src/runtime/obsidian/app-registration.mjs +175 -28
  467. package/src/runtime/obsidian/app-restart.mjs +154 -0
  468. package/src/runtime/obsidian/engine.mjs +163 -20
  469. package/src/runtime/obsidian/extension-points.mjs +1 -1
  470. package/src/runtime/obsidian/index.mjs +10 -7
  471. package/src/runtime/obsidian/launch-plan.mjs +7 -4
  472. package/src/runtime/obsidian/lifecycle.mjs +92 -12
  473. package/src/runtime/obsidian/login-item.mjs +332 -0
  474. package/src/runtime/obsidian/machine-settings.mjs +119 -12
  475. package/src/runtime/obsidian/opening.mjs +171 -37
  476. package/src/runtime/obsidian/pipeline.mjs +71 -3
  477. package/src/runtime/obsidian/plugin-channel.mjs +11 -3
  478. package/src/runtime/obsidian/plugin-choice.mjs +16 -4
  479. package/src/runtime/obsidian/plugin-drift.mjs +59 -11
  480. package/src/runtime/obsidian/plugin-presence.mjs +14 -1
  481. package/src/runtime/obsidian/process-identity.mjs +20 -10
  482. package/src/runtime/obsidian/project-views.mjs +282 -0
  483. package/src/runtime/obsidian/questions.mjs +48 -0
  484. package/src/runtime/obsidian/release-watch.mjs +56 -0
  485. package/src/runtime/obsidian/service-main.mjs +99 -16
  486. package/src/runtime/obsidian/service-manager-production.mjs +61 -0
  487. package/src/runtime/obsidian/service-managers.mjs +275 -0
  488. package/src/runtime/obsidian/service-record.mjs +87 -23
  489. package/src/runtime/obsidian/service.mjs +36 -3
  490. package/src/runtime/obsidian/startup-adapters.mjs +59 -21
  491. package/src/runtime/obsidian/unheld-evidence.mjs +84 -0
  492. package/src/runtime/obsidian/vault-location.mjs +300 -0
  493. package/src/runtime/obsidian/view-counts.mjs +34 -0
  494. package/src/server/local-sidecar.mjs +169 -2
  495. package/src/server/server.mjs +28 -2
  496. package/src/template-bindings/project.mjs +92 -0
  497. package/src/templates/profile.mjs +225 -0
  498. package/src/trackables/domain.mjs +175 -0
  499. package/src/trackables/store.mjs +114 -0
  500. package/src/ui/knowledge-page.mjs +1388 -0
  501. package/src/upgrade/explanation.mjs +1 -1
  502. package/src/upgrade/template-participant.mjs +171 -0
  503. package/src/upgrade/transaction.mjs +72 -25
  504. package/src/upgrade/upgrade.mjs +1 -0
  505. package/templates/external-project-workspace/pack-lifecycle.json +6 -1
  506. package/templates/knowledge-workspace/.gitattributes +2 -0
  507. package/templates/knowledge-workspace/AGENTS.md +27 -0
  508. package/templates/knowledge-workspace/README.md +44 -0
  509. package/templates/knowledge-workspace/atelier.project.json +22 -0
  510. package/templates/knowledge-workspace/gitignore +6 -0
  511. package/templates/knowledge-workspace/knowledge-plan.json +111 -0
  512. package/templates/knowledge-workspace/knowledge-plan.schema.json +281 -0
  513. package/templates/knowledge-workspace/records/forecast.md +22 -0
  514. package/templates/knowledge-workspace/records/inspection.md +25 -0
  515. package/templates/knowledge-workspace/records/telescope.md +24 -0
  516. package/templates/knowledge-workspace/repo-access.v1.json +9 -0
@@ -20,15 +20,28 @@ for observation/reconciliation and one non-force push only when the exact
20
20
  reviewed commit plan requested and confirmed it, no earlier local commit is
21
21
  waiting to be published, and HEAD still names the verified commit object. Sync
22
22
  never uses the network actor fallback, follows tags, or recursively publishes
23
- submodule refs. The local authoring HTTP client
23
+ submodule refs.
24
+
25
+ The explicitly invoked maintainer rehearsal
26
+ `src/knowledge-health/proof/rehearse.mjs` uses
27
+ `src/knowledge-health/proof/common.mjs` to run `npm view`, `npm install` and
28
+ optional `npm pack` against `https://registry.npmjs.org`. These commands can use
29
+ the public package registry. The rehearsal uses empty consumer npm configuration
30
+ and a disposable install/cache; installation uses `--ignore-scripts`. It is a
31
+ maintainer proof command, not an automatic local authoring or conformance
32
+ operation, and it calls no model provider. Its `npm ls` reads the consumer
33
+ dependency tree. This disclosure does not authorize a registry rehearsal or
34
+ publication.
35
+
36
+ The local authoring HTTP client
24
37
  refuses non-loopback URLs, the served pages authorize no external origin, and
25
38
  release audit scans every executable or markup file in the exact `npm pack`
26
39
  inventory for egress primitives. The standalone gate also scans executable and
27
40
  markup files under `src/`, `bin/`, `scripts/`, `templates/`, `examples/`, and
28
41
  `skills/`. Two limits worth stating plainly: the egress control does not
29
42
  interpret data-only `.json` or `.md` files, and it does not model
30
- `child_process`; the reviewed `gh` and enrolled Git paths above are documented
31
- subprocess exceptions rather than scanner detections:
43
+ `child_process`; the `gh`, enrolled Git and explicit maintainer `npm` paths above
44
+ are documented subprocess exceptions rather than scanner detections:
32
45
 
33
46
  ```bash
34
47
  npm run egress:check
@@ -0,0 +1,19 @@
1
+ Discovery Harness and Research Harness share a local inquiry history. Discovery
2
+ frames questions and competing explanations; Research returns source captures,
3
+ verified assertions, contradictions and new questions. Immutable references keep
4
+ each assessment and decision connected to the exact evidence it used.
5
+
6
+ The open foundation includes qualitative assessments, explicit elicited odds,
7
+ a simple Bayesian rate model, evidence-family checks, withdrawal tracking and
8
+ reviewable graph proposals. Numerical results remain conditional on the declared
9
+ model and evidence. They grant no execution or publication authority.
10
+
11
+ Each harness is available as a portable capability package alongside existing
12
+ skills. Skill Steward governs its version and repository adoption. Provider
13
+ execution, hosted collaboration and specialized proprietary methods can use the
14
+ same handoff and evidence contracts through separately authorized adapters.
15
+
16
+ The architecture catalog calls the workflow Discovery Harness and resolves
17
+ Discovery Engine as its historical alias. The immutable bundled v1 readiness
18
+ pack retains its Discovery Engine title, identifiers and original digest, so
19
+ existing release locks can use the governed upgrade path without a separate repin.
@@ -0,0 +1,17 @@
1
+ ## Knowledge and Build Harnesses
2
+
3
+ Knowledge Harness supports establishing, developing, evaluating, curating and
4
+ activating a body of knowledge. Ingestion is one entry point alongside original
5
+ writing, observation, research and build results. Contributions retain their
6
+ domain revision, provenance, uncertainty and owner-reported review history.
7
+
8
+ Build Harness records bounded objectives, exact candidates, artifact dependencies,
9
+ attempts and distinct verification gates. Its coordination proposal can be read
10
+ by Fabric or another adapter. The shared harness contract connects these workflows
11
+ to Discovery, Research and Skill Steward without replacing their domain records.
12
+
13
+ These are local, provider-neutral source capabilities for the next release.
14
+ Handoffs preserve exact pins, and explicit source snapshots reveal corrections
15
+ that require downstream reconsideration. Graph outputs remain draft proposals.
16
+ Recorded acceptance is not authenticated authority, and local checks do not prove
17
+ research quality or recipient acceptance. Hosted execution remains adapter-owned.
@@ -0,0 +1,269 @@
1
+ # Capability stewardship
2
+
3
+ Status: source implementation for the next release. The published alpha.7
4
+ package does not include the `capability` command. From this checkout, use
5
+ `node bin/atelier.mjs capability ...`; the examples below use the installed
6
+ command spelling for a package built from this source.
7
+
8
+ Atelier can package a useful workflow, introduce it alongside a person's
9
+ existing skills, and keep each repository's adoption explainable over time.
10
+ The Skill Steward coordinates this work. People choose the purpose, boundaries
11
+ and acceptance criteria; agents prepare, inspect and exercise the work within
12
+ that authority; people validate consequential interpretations and publication.
13
+
14
+ The foundation is local and provider-independent. A package can travel through
15
+ Git, an offline copy or an existing distribution service. Atelier reads an
16
+ explicit local directory. It does not download packages, execute their scripts,
17
+ call a model, probe credentials, send telemetry or publish a release remotely.
18
+
19
+ ## The objects and their owners
20
+
21
+ | Object | Purpose | Authority |
22
+ | --- | --- | --- |
23
+ | Capability | An outcome with inputs, outputs and limits | Publisher describes it; adopter judges its usefulness |
24
+ | Skill | A standard `SKILL.md` bundle that teaches a procedure | Its instructions remain subject to the current task and host |
25
+ | Package | Publisher/package ID, exact version, skills, dependencies, requirements and evidence | Publisher owns the source |
26
+ | Release | Complete payload inventory and immutable digest | Integrity evidence; identity and quality remain separate |
27
+ | Adoption | Repository ID, release pins, modes, aliases and admitted requirements | Repository owner |
28
+ | Binding | A skill projected into one named host profile | Repository owner chooses placement; host controls actual discovery |
29
+ | Observation | A version-, binding- and session-bound evidence reference | Caller reports it; reviewer evaluates the evidence |
30
+
31
+ Stable package identity looks like `example.publisher/research`. Capability and
32
+ skill IDs are local to that package. Display titles and installed aliases can
33
+ change without making two publishers the same owner. Existing `atelier skills`
34
+ commands and contracts remain compatible. The new public API is
35
+ `@mnstry/atelier/capabilities`; its contract is
36
+ `contracts/atelier-capability.v1.schema.json`.
37
+
38
+ ## Begin with the environment somebody already has
39
+
40
+ Run `atelier capability inventory --surfaces surfaces.json`. The file is an
41
+ array of explicit `{ "id", "scope", "root" }` entries. Scope is `personal`,
42
+ `organization`, `repository`, `nested`, `plugin` or `other`. Machine paths stay
43
+ in local configuration. There is no implicit home-directory or repository crawl.
44
+
45
+ Inventory reports names, declared names, complete bundle digests, unreadable
46
+ entries and name overlaps. It neither executes nor adopts what it finds. An
47
+ overlap is a reason to inspect resolution and purpose; it is not a merge or
48
+ deletion decision. Similar descriptions alone are insufficient to infer that
49
+ two skills are equivalent. Missing surfaces and unreadable bundles remain gaps.
50
+
51
+ The adoption modes are:
52
+
53
+ | Mode | Result |
54
+ | --- | --- |
55
+ | `reference` | Record a pinned package without installing a binding or acquiring existing skills |
56
+ | `managed` | Install selected bindings and track their exact projected bytes |
57
+ | `customized` | Preserve an existing binding's current local bytes, its upstream release and its original projected digest |
58
+ | `retired` | Remove clean managed bindings from discovery into preserved quarantine |
59
+
60
+ Choose a new alias when an existing skill owns the desired name. Replacing a
61
+ third-party skill is an owner-controlled migration outside this installer.
62
+ Publish an intentional fork under a new publisher/package ID and retain its
63
+ source provenance. A customized binding can return to management after its
64
+ original projected bytes are deliberately restored; otherwise reconcile or
65
+ fork it. No automatic merge of instructions is attempted.
66
+
67
+ ## Publish a portable package
68
+
69
+ Author `capability-package.json` alongside self-contained skill directories.
70
+ The supplied research and evidence-review examples under
71
+ `fixtures/capability-packages/` demonstrate the complete layout. Their publisher
72
+ identity is invented and their behavioral evaluations are explicitly unexecuted.
73
+
74
+ The descriptor declares:
75
+
76
+ - Identity, exact version, license and source provenance.
77
+ - Capabilities and their inputs and outputs; skills providing those outcomes.
78
+ - Supported host profiles and required tools and effects.
79
+ - Exact required or optional dependency versions, release digests and capabilities.
80
+ - Evaluation evidence, known limitations and migration guidance.
81
+
82
+ Keep a skill's resources inside its own directory. An independently installed
83
+ skill must not depend on a sibling directory the recipient might not receive.
84
+ Publish shared executable dependencies as explicit packages or tools. Every
85
+ relative inline Markdown resource link is checked, including links in nested
86
+ Markdown resources. Other reference conventions and program behavior still
87
+ require author review. Scripts are copied as inert, non-executable-mode payloads;
88
+ this packaging code never runs them or their installation hooks.
89
+
90
+ ```bash
91
+ atelier capability seal --package ./my-capability
92
+ atelier capability verify --package ./my-capability --digest sha256:REVIEWED_DIGEST
93
+ ```
94
+
95
+ Sealing exclusively creates `capability-release.json`. It includes the complete
96
+ descriptor and the digest and size of every other file. Re-sealing into an
97
+ existing release refuses; author the next version in a new source directory.
98
+ Verification checks the full file closure and declared digest. Symlinks, special
99
+ files, case-colliding payload names, unsafe paths and oversized bundles refuse.
100
+ The limits are 512 files, 256 directories, depth 16 and 8 MiB per package.
101
+
102
+ A matching digest proves the bytes match a reviewed pin. It does not authenticate
103
+ the publisher or prove the source revision, license rights, host compatibility
104
+ or behavioral quality. Obtain pins through your existing trusted distribution
105
+ and review process. Signing-key discovery and a hosted registry are separate
106
+ integrations; this implementation does not invent a new trust root.
107
+
108
+ ## Adopt into a repository
109
+
110
+ Keep the desired adoption in a reviewed repository file, for example
111
+ `capabilities.adoption.json`. A minimal entry is:
112
+
113
+ ```json
114
+ {
115
+ "schema": "mnstry.atelier-capability-adoption@v1",
116
+ "id": "research-workspace",
117
+ "packages": [{
118
+ "id": "example.publisher/research",
119
+ "digest": "sha256:REPLACE_WITH_THE_REVIEWED_RELEASE_DIGEST",
120
+ "mode": "managed",
121
+ "bindings": [{
122
+ "skill": "inquire",
123
+ "host": "codex-repo-v1",
124
+ "alias": "team-research"
125
+ }],
126
+ "allowedTools": [],
127
+ "allowedEffects": ["read-workspace"]
128
+ }]
129
+ }
130
+ ```
131
+
132
+ The example digest above is a placeholder, deliberately not contract-valid.
133
+ Use the actual release digest. All dependencies must be supplied and explicitly
134
+ adopted; no dependency is downloaded or installed implicitly. Missing required
135
+ pins and dependency cycles block the plan. Optional dependencies may be absent;
136
+ if present, their exact pins must match.
137
+ Each required dependency capability must have a selected provider skill bound to
138
+ every host used by its dependent. A Codex-only dependency cannot silently satisfy
139
+ a Claude binding. This proves declared placement, not actual host resolution.
140
+
141
+ ```bash
142
+ atelier capability plan --adoption capabilities.adoption.json --source ./my-capability
143
+ atelier capability apply --adoption capabilities.adoption.json --source ./my-capability --confirm sha256:REVIEWED_PLAN_DIGEST
144
+ atelier capability status --session current-session
145
+ ```
146
+
147
+ Repeat `--source` for multiple packages. Use `--tool TOOL_ID` only for tools the
148
+ caller has observed as available. These are reported observations, not probes or
149
+ permission grants. Missing tool observations or unadmitted declared effects block
150
+ managed adoption. The plan shows requirement expansion alongside old and new
151
+ release pins and modes. Effect declarations describe required authority; admitting
152
+ them to a repository never grants execution permission in a host.
153
+
154
+ The plan binds the repository's actual root identity, desired policy, source
155
+ releases, observed tools, previous adoption state, notices and target bytes.
156
+ Apply recomputes it under the shared steward operation lock and again after
157
+ staging. Drift, unmanaged collisions, legacy-steward ownership, stale confirmation
158
+ and reuse of an already-seen publisher/version for different bytes all refuse.
159
+ The version-history check is local to this adopter; it is not a global registry.
160
+
161
+ Local state lives in ignored `.atelier-local/capabilities/`. The repository must
162
+ be a Git root with that private directory untracked and ignored before writes.
163
+ Authored adoption files remain the desired source of record; status reports
164
+ the last applied policy digest, and planning compares it with the supplied file.
165
+
166
+ ## Host profiles and evidence
167
+
168
+ `codex-repo-v1` projects into `.agents/skills/ALIAS`; `claude-repo-v1` projects
169
+ into `.claude/skills/ALIAS`. Both preserve the bundle and rewrite only its
170
+ frontmatter name to the selected alias. There is no assertion that identical
171
+ instruction bytes produce identical behavior. Each profile describes its
172
+ placement, discovery limits, advisory permissions and required re-observation.
173
+
174
+ These profiles cover repository file placement. Personal, enterprise, nested,
175
+ plugin and session-specific discovery remain host-owned. Inspect the intended
176
+ session's actual loaded skill and tools after adoption. The
177
+ [Agent Skills specification](https://agentskills.io/specification) describes
178
+ portable bundles; [Claude's host documentation](https://code.claude.com/docs/en/skills)
179
+ describes its own discovery and precedence. An installed file alone proves neither.
180
+
181
+ `capability observe --event event.json` stores a content-free event with the
182
+ package/release, adoption generation, binding digest, host, session, observer,
183
+ outcome, reported cause and evidence digest. The event must identify the current
184
+ installed binding. Allowed kinds are `host-observed`, `exercise`, `feedback`
185
+ and `evaluation`; arbitrary text and extension payloads are refused. Never encode
186
+ source material or personal information into identifiers. Evidence stays at its
187
+ original destination; only its digest is recorded here.
188
+
189
+ `status --session ID` reports `installed: current` independently from
190
+ `hostObserved: reported-passed` and `exercised: reported-passed`. An old generation
191
+ or different session becomes historical evidence. These remain caller reports,
192
+ not authenticated host receipts. Changing the adoption generation conservatively
193
+ invalidates current-session claims, even when some binding bytes are unchanged.
194
+
195
+ `capability candidates` groups current-version observations by reported cause.
196
+ Repeated tool failures propose tool review; they do not automatically rewrite a
197
+ skill. Repeated reports of one session/evidence pair count once. Candidate output
198
+ does not prove causality, trigger an edit, certify quality, or retire rare skills.
199
+ Use the existing steward's authoring checks for direct and indirect triggers,
200
+ incomplete inputs, non-triggers, evidence gaps and boundary cases.
201
+
202
+ ## Updates, withdrawal and recovery
203
+
204
+ Change the desired pin, review the new package and requirement delta, and repeat
205
+ plan/apply. Every repository decides separately. `capability fleet --repo DIR`
206
+ can inspect multiple explicitly supplied repositories and reports duplicate
207
+ enrollment IDs and unavailable repositories. It has no multi-repository apply
208
+ path or global atomicity claim.
209
+
210
+ An explicitly supplied `--notices notices.json` array can classify an exact release
211
+ `deprecated` or `withdrawn`, with an evidence digest. The notice contract is
212
+ included in the capability schema. These are adopter-supplied advisories, not
213
+ authenticated publisher announcements. Deprecation remains visible in the plan;
214
+ withdrawal blocks managed adoption and updates of that digest while preserving
215
+ installed files. Retirement still requires a separate exact plan. No background
216
+ fetch or automatic deletion occurs.
217
+
218
+ Successful replacement or retirement moves previous bundles into a transaction's
219
+ `before/` directory. A durable journal precedes binding changes. If interrupted,
220
+ future applies refuse until the operator inspects `capability recover`. Confirming
221
+ that exact recovery plan restores the prior generation and preserves newly
222
+ installed bundles too. Unknown bytes or changed state block recovery. A killed
223
+ operation's lock can be reclaimed only when it is recognizably owned by this
224
+ capability executor and its process is absent; other owners' locks remain theirs.
225
+
226
+ The next capability or harness operation also checks for a recognizable dead
227
+ owner when no adoption journal exists. Reclamation is serialized through the
228
+ existing durable lock; a live or uncertain process, unknown owner, or changed
229
+ lock refuses. A missing lock during cleanup never masks the original operation
230
+ error, and a replacement owner's lock is preserved.
231
+
232
+ This is a local POSIX, cooperating-writer transaction. It is not atomic across
233
+ multiple skill directories, repositories or host sessions, and it cannot prevent
234
+ an unrelated writer racing between filesystem checks and rename. Stop host file
235
+ writers while applying. Windows adoption and event writes refuse. Storage ceilings, disk failure,
236
+ permission failure and ambiguous filesystem state remain explicit refusal or
237
+ recovery cases. Retained transaction data has no automatic garbage collection.
238
+
239
+ ## Research through graph integration
240
+
241
+ The portable research example composes research planning, evidence review,
242
+ synthesis and graph-integration preparation. It supplies independent inquiry
243
+ prompts and output contracts; it works with the user's chosen research tool or
244
+ manual execution. Its dependencies and host bindings use the same publisher and
245
+ adopter workflow as any other capability.
246
+
247
+ `capability graph --namespace ID` emits draft Markdown source documents as JSON.
248
+ It records capability/package/release/adoption/binding and observation relations
249
+ using Atelier's existing graph vocabulary. The command does not write canonical
250
+ content. Review the destination and audience, materialize the selected files
251
+ through normal authoring, then run that repository's graph build and retrieval
252
+ checks. Graph validity establishes structure; it does not accept a research
253
+ conclusion or grant execution authority.
254
+
255
+ ## Verification and next integrations
256
+
257
+ `node --test test/capability-stewardship.test.mjs` exercises publisher integrity,
258
+ multi-publisher dependencies, two repositories and two projection profiles,
259
+ third-party coexistence, customization, clean updates, requirement admission,
260
+ version immutability, retirement, interrupted apply/recovery, metadata evidence,
261
+ CLI behavior and ingestion of generated documents through the real graph builder.
262
+ The example packages disclose that no live agent has evaluated their behavior.
263
+
264
+ Future adapters can add authenticated publisher evidence, actual host discovery
265
+ receipts, dependency migrations and registry transport without making any of
266
+ them implicit authority. A hosted service or new host needs its own integration
267
+ and acceptance evidence. Preserve these contract distinctions when extending the
268
+ foundation; do not turn a manifest, successful copy or reported outcome into a
269
+ claim of authenticated publication or successful human use.
@@ -0,0 +1,51 @@
1
+ # Portable Coordination and native authority
2
+
3
+ Coordination connects outcomes, owners, scopes, dependencies, directives,
4
+ delivery, recovery and successors. It reads domain truth through typed references.
5
+ A portfolio view cannot approve a change or manufacture a receiving receipt.
6
+
7
+ `@mnstry/atelier/coordination` validates bounded outcome, dependency, directive,
8
+ disposition and recovery observations. `coordinationView` projects them against
9
+ an explicit time and freshness window. Missing, expired, future-dated, changed or
10
+ ambiguous inputs remain visible. Producer references include repository identity
11
+ and exact record digest. Dependency cycles are reported and block that chain.
12
+
13
+ A receiver's reported receipt and acceptance remain separate from the producer's
14
+ source gates. Gate reports bind an exact candidate. Passed, waived and pending
15
+ retain their meaning; a waiver is not a passed test. Native receipt references
16
+ are retained but not authenticated by this library. Every view exposes this
17
+ limit and leaves completion and execution authority unestablished.
18
+
19
+ Directives retain target, scope, expiry and supersession. Dispositions report
20
+ proposed, sent, read, applied, verified or declined independently. A sent report
21
+ does not imply reading or application; a record saying verified is still a
22
+ native-owner report until that owner's verification is exercised. Recipient,
23
+ repository, scope and current directive pins qualify applicability. Recovery
24
+ retains prior/source and successor references without retiring a native task.
25
+
26
+ `coordinatedBuild` includes the existing Build readiness result unchanged. Its
27
+ native histories, independent gates and snapshot verification remain
28
+ responsible for their own truth. Neither a portfolio observation nor a local
29
+ projection can waive a Build blocker.
30
+
31
+ ## Fabric capability placement
32
+
33
+ | Capability | Open-root disposition | Native responsibility |
34
+ | --- | --- | --- |
35
+ | Identity/provenance | Reuse domain references and immutable byte digests | Authentication and trusted custody |
36
+ | Outcomes/owners/priorities/scope | Adapt through typed Coordination observations | Actual ownership and priority decisions |
37
+ | Dependencies/handoffs | Reuse Harness verification; add cross-repository dependency/cycle views | Trusted snapshot acquisition and receiving receipt verification |
38
+ | Directives/dispositions | Add scoped versioned observations and distinct stages | Sending, receiving, wakeups and authenticated acknowledgements |
39
+ | Delivery/gates | Reuse Build candidate, attempt, decision and gate records | Commands, CI, review and deployment |
40
+ | ADRs | Practical Judgment native-byte adapter and decision record | Repository numbering, authority and acceptance |
41
+ | Practice/context | Learning lifecycle and scoped instruction adoption | Host context admission and observed behavior |
42
+ | Ingestion/knowledge | One Intake source lineage, bounded ingestion, Knowledge review and context | Source rights, domain meaning and external processing |
43
+ | Capability adoption | Capability releases, independent repository plans, Skill Steward and feedback bridge | Publisher trust, host loading and native use |
44
+ | Recovery/retirement | Existing journal recovery plus retained successor observations | Distributed leases, backup, retention and deletion |
45
+ | Portfolio/observability | Bounded pure views with coverage and freshness | Collectors, native dashboards and services |
46
+ | Improvement | Inquiry, situated cases, learning proposal/evaluation/disposition | Model/provider operation and consequential judgments |
47
+
48
+ Local operation requires no Fabric account or service. Hosted collection,
49
+ distributed coordination and commercial interfaces may implement these contracts
50
+ while retaining their own authority. A complete operated Fabric integration needs
51
+ an exact native adapter and receiving proof; the portable views do not claim it.
@@ -0,0 +1,111 @@
1
+ # Decision practices
2
+
3
+ This internal composition keeps a reusable decision practice inside an ordinary
4
+ Knowledge contribution. It adds no adoption store, policy authority, scheduler,
5
+ model route, command or package export. The format `atelier.decision-practice/v0`
6
+ is experimental and is not a registered public contract. The existing
7
+ instruction-adoption command, `atelier practice`, is a separate concept.
8
+
9
+ A definition declares purpose, applicability, rights, required evidence roles,
10
+ prerequisites, an existing decision request as a rubric specimen, count limits and
11
+ the permitted reconsideration proposal. Purpose and rights statements are
12
+ declarations; a consumer still needs its own source, actor and disclosure proof.
13
+ The specimen establishes the task and rubric; it is not permission to reuse old
14
+ request state or a result against different evidence.
15
+
16
+ `validateDecisionPractice` inspects bounded JSON without invoking accessors.
17
+ `prepareDecisionPracticeContribution` prepares captured contribution data for the
18
+ existing Knowledge review path. It neither appends a record nor adopts a rule.
19
+ `readAdoptedDecisionPractice` checks an exact contribution digest, current accepted
20
+ review and a current activation in the supplied Knowledge history. That history
21
+ is caller-supplied evidence, not independent proof of actor identity, current host
22
+ permission or authenticity. Withdrawal, supersession and reconsideration remain
23
+ the existing harness's responsibility.
24
+
25
+ This portable profile deliberately bounds each complete input, including the
26
+ supplied history, to 262,144 UTF-8 JSON bytes, 8,192 JSON members and depth 24.
27
+ Each string also has a 262,144 UTF-16-unit limit and must not contain NUL.
28
+ Knowledge itself accepts larger histories. A valid history outside this smaller
29
+ profile returns `practice-input-exceeds-bounds`; it is not reported as malformed
30
+ history. The host must supply an in-profile complete history or retain that typed
31
+ refusal; silently truncating history cannot establish current adoption. Within
32
+ the bounded inspected prefix, accessors, cycles, custom prototypes and sparse
33
+ arrays remain malformed input. Reaching the traversal bound before a malformed
34
+ value keeps the bounds refusal. Preparation reports a plain JSON history that
35
+ fails Knowledge replay as `invalid-definition-history`; failure of the initial
36
+ whole-input JSON copy remains `invalid-definition`. An adopted
37
+ body must equal `JSON.stringify(definition, null, 2)`, as produced by the preparation
38
+ function, and retain category `decision-rationale`, captured origin and locator
39
+ `decision-practice:<definition id>`. Invalid, duplicate-key or noncanonical bodies
40
+ return `invalid-definition`. A parsed adopted body outside the portable profile
41
+ instead returns `practice-input-exceeds-bounds`.
42
+
43
+ `evaluateDecisionPractice` returns `proceed`, `stop`, `escalate` or `refuse` with a
44
+ typed reason. It checks declared prerequisites and count budgets, current exact
45
+ evidence snapshots, text digests, and the existing decision request/result
46
+ binding. Its initial internal profile maps one choice question to the three
47
+ non-refusal outcomes. Other question forms may inform the supplied assessment,
48
+ but no general expression language, workflow execution or confidence threshold
49
+ is introduced. Model confidence does not establish correctness or authority.
50
+
51
+ Request state must be exactly the request's evidence, in request order, using
52
+ `<evidence id>: <exact text>` lines. Every request field except `id`, `state` and
53
+ `evidence` must match the adopted specimen, including optional contract version
54
+ and extensions. Each new evidence pin contains exactly `id` and `sourceRef`, with
55
+ no extensions. The supplied result must validate against the exact
56
+ new request digest. No provider is called or qualified by this module. An
57
+ abstention escalates. Missing/stale evidence, unknown prerequisites, changed or
58
+ unadopted definition, exhausted budgets, unsupported proposals and invalid rubric
59
+ results refuse. A proposal cannot target its own definition, review or current
60
+ activation. This protects the current definition and its reviews/activation;
61
+ a superseded predecessor contribution is still an eligible reconsideration target.
62
+
63
+ Count budgets are caller-reported consumption plus this assessment's declared
64
+ requirements; they do not measure provider use, elapsed time or durable lifetime
65
+ usage. The host must maintain those facts. Snapshots and records are supplied by
66
+ the caller; their actual authority, authenticity and freshness remain host proof.
67
+ The pure evaluator checks the complete supplied assessment envelope before a
68
+ false prerequisite returns `stop`. It never obtains that assessment itself.
69
+ A host that can stop before calling a provider should precheck prerequisites
70
+ there; this module does not prove that provider work or cost was avoided.
71
+ Malformed snapshots or timestamps also return `stale-evidence`: they cannot
72
+ establish currency. `sourceRef` is a caller-supplied label; the host must bind it
73
+ to the source resolved by exact retrieval.
74
+
75
+ A proceeding outcome prepares an ordinary captured Knowledge contribution draft.
76
+ Its body pins the definition, activation, reconsideration target, exact evidence,
77
+ request digest and supplied assessment. Both preparation functions validate the
78
+ completed draft against the existing Knowledge contribution shape before returning
79
+ it. Pretty-print expansion beyond the writer's body limit returns
80
+ `practice-output-exceeds-bounds` with no draft. This shape check uses a fixed
81
+ validation-only envelope; it establishes no native record or actor authority.
82
+ Definition preparation also checks the operating core: the complete supplied
83
+ history, new draft data including its escaped body, and the repeated full rubric
84
+ must fit the portable profile with 8,192 UTF-8 bytes reserved for additional
85
+ adoption/instance metadata. Otherwise it returns `practice-output-exceeds-bounds`.
86
+ This rejects definitions whose necessary repetition can never fit; it does not
87
+ guarantee arbitrary future history, evidence, assessment or metadata will fit.
88
+ The host must still validate the complete actual operating input before adoption
89
+ and execution. A Knowledge-valid body alone proves no operating capacity.
90
+ The assessment includes supplied provider/model/usage/extensions verbatim at the
91
+ domain audience. Its inherited `rightsBasis` remains a declaration. The host must
92
+ verify rights/consent and the full draft's permitted disclosure before review or
93
+ append; this module does not sanitize an assessment or establish those permissions.
94
+ It does not supersede the target, accept
95
+ or activate knowledge, change native decision status, or write a file. A stale
96
+ decision may be the subject of reconsideration; it is not smuggled into the
97
+ draft's accepted `basedOn` dependencies. The receiving reviewer must revalidate
98
+ the embedded references before adopting any resulting contribution.
99
+
100
+ The invented journey changes a captured source, observes the existing Knowledge
101
+ harness's dependent decision reconsideration, rejects the old local-reader
102
+ handle, retrieves fresh exact evidence from a new explicit ingestion plan and
103
+ prepares a separate draft. On the existing qualified POSIX reference profile, the simulated host explicitly
104
+ appends that draft; it remains unaccepted and the original decision remains
105
+ marked for reconsideration. Windows completes the same source-change, exact-read
106
+ and pure-evaluation journey, then verifies the existing capability store refuses
107
+ its write and leaves no harness history. The platform refusal does not skip the
108
+ portable evidence or proposal checks.
109
+ Fixtures contain simulated reviews and an invented supplied assessment. They
110
+ establish no model quality, native actor or consent proof, Runtime database
111
+ binding, real supported-consumer acceptance, integration review or deployment.
package/docs/decisions.md CHANGED
@@ -165,3 +165,32 @@ prototype are accepted. No input is mutated.
165
165
 
166
166
  This module does not change the existing analysis adapter's default-disabled
167
167
  execution policy or accept a model proposal as an authored fact.
168
+
169
+ ## Capability stewardship and harnesses
170
+
171
+ An optional decision provider, including Jev, belongs behind this host boundary.
172
+ The core package has no Jev dependency or credential requirement. Its ingestion,
173
+ inquiry, knowledge and learning workflows remain available without a provider.
174
+ The public decision contract alone does not install or qualify an adapter.
175
+
176
+ Use [Capability Stewardship](capability-stewardship.md) to inventory a provider
177
+ capability's procedures, required tools, effects, exact release and repository
178
+ adoption. A skill bundle can describe how to use an adapter; installing that
179
+ bundle neither configures credentials nor enables provider execution. Record
180
+ installation, actual host discovery, task qualification and deliberate enablement
181
+ separately. The executing host owns the adapter, configuration, current permission,
182
+ timeouts, budgets and revocation. No repository's adoption enables another's.
183
+
184
+ Harnesses consume validated advice through their existing owners. Ingestion may
185
+ use a qualified prioritization while retaining every selected source and coverage
186
+ gap. Research preserves citations and contradictory evidence. Knowledge admission
187
+ and [practical judgment](practical-judgment.md) retain their review and adoption
188
+ steps; a provider result cannot write graph facts, accept a lesson, or install
189
+ instructions. The [learning lifecycle](learning.md) can retain permitted outcome
190
+ evidence for reconsideration without creating a second knowledge store.
191
+
192
+ With no binding, use the existing local or manual workflow. A requested provider
193
+ that is unavailable, unauthorized, over budget, timed out or returns malformed
194
+ answers produces the corresponding explicit abstention. A host must not silently
195
+ substitute a paid provider or promote an incomplete answer. Prove the ordinary
196
+ no-provider journey and each enabled task independently before claiming adoption.