@mnstry/atelier 0.2.0-alpha.11 → 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 (560) hide show
  1. package/CHANGELOG.md +1005 -0
  2. package/README.md +149 -9
  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-obsidian-generation-manifest.v2.schema.json +372 -0
  21. package/contracts/atelier-personal-workspace-manifest.v1.schema.json +87 -0
  22. package/contracts/atelier-personal-workspace-overlay.v1.schema.json +299 -0
  23. package/contracts/atelier-template-adoption.v1.schema.json +223 -0
  24. package/contracts/atelier-template-profile.v1.schema.json +1168 -0
  25. package/contracts/atelier-trackable.v1.schema.json +781 -0
  26. package/contracts/atelier-upgrade-plan.v3.schema.json +532 -0
  27. package/contracts/compat-baseline.json +1 -1
  28. package/docs/architecture.md +89 -0
  29. package/docs/assurance-controls.md +4 -3
  30. package/docs/blocks/capability-stewardship.md +17 -0
  31. package/docs/blocks/claims.md +16 -3
  32. package/docs/blocks/inquiry-harnesses.md +19 -0
  33. package/docs/blocks/learning-harnesses.md +17 -0
  34. package/docs/capability-stewardship.md +269 -0
  35. package/docs/coordination.md +51 -0
  36. package/docs/decision-practices.md +111 -0
  37. package/docs/decisions.md +29 -0
  38. package/docs/evidence-navigation.md +237 -0
  39. package/docs/exact-upgrades.md +3 -2
  40. package/docs/ingestion.md +181 -0
  41. package/docs/inquiry-harnesses.md +211 -0
  42. package/docs/install.md +80 -3
  43. package/docs/intake-and-guides.md +5 -0
  44. package/docs/integration-contract-decisions.md +24 -2
  45. package/docs/interaction-and-reflection.md +72 -0
  46. package/docs/knowledge-graph.md +20 -0
  47. package/docs/knowledge-health/api.md +30 -0
  48. package/docs/knowledge-health/assessment/api.md +96 -0
  49. package/docs/knowledge-health/assessment/capabilities.md +40 -0
  50. package/docs/knowledge-health/assessment/evaluation.md +27 -0
  51. package/docs/knowledge-health/assessment/facilitator.md +30 -0
  52. package/docs/knowledge-health/assessment/quickstart.md +61 -0
  53. package/docs/knowledge-health/assessment/troubleshooting.md +23 -0
  54. package/docs/knowledge-health/devday/facilitator.md +16 -0
  55. package/docs/knowledge-health/devday/participant-response.md +22 -0
  56. package/docs/knowledge-health/devday/public-default.md +107 -0
  57. package/docs/knowledge-health/devday/quickstart.md +18 -0
  58. package/docs/knowledge-health/devday/support.md +22 -0
  59. package/docs/knowledge-health/exercise.md +17 -0
  60. package/docs/knowledge-health/facilitator.md +20 -0
  61. package/docs/knowledge-health/quickstart.md +94 -0
  62. package/docs/knowledge-health/readme.md +15 -0
  63. package/docs/knowledge-health/support.md +34 -0
  64. package/docs/knowledge-setup.md +248 -0
  65. package/docs/knowledge-workspace.md +264 -0
  66. package/docs/learning-harnesses.md +238 -0
  67. package/docs/learning.md +215 -0
  68. package/docs/local-services.md +242 -26
  69. package/docs/obsidian-contract.md +878 -36
  70. package/docs/obsidian-plugin.md +619 -0
  71. package/docs/obsidian.md +809 -64
  72. package/docs/optional-ingestion.md +83 -0
  73. package/docs/personal-workspace.md +257 -0
  74. package/docs/practical-judgment.md +92 -0
  75. package/docs/progressive-ingestion-acceptance.md +89 -0
  76. package/docs/progressive-ingestion.md +235 -0
  77. package/docs/project-command-inventory.md +1 -0
  78. package/docs/release-engineering.md +56 -1
  79. package/docs/repo-boundary-guard.md +94 -0
  80. package/docs/research-starter-quickstart.md +66 -0
  81. package/docs/research-starter.md +114 -0
  82. package/docs/semantic-ingestion.md +198 -0
  83. package/docs/semantic-operation.md +317 -0
  84. package/docs/skill-steward.md +6 -0
  85. package/docs/template-profile.md +164 -0
  86. package/docs/template-upgrades.md +114 -0
  87. package/docs/trackables.md +111 -0
  88. package/docs/upgrade.md +68 -3
  89. package/fixtures/atelier-architecture/binding/invalid/document.json +19 -0
  90. package/fixtures/atelier-architecture/binding/valid/document.json +19 -0
  91. package/fixtures/atelier-architecture/catalog/invalid/document.json +290 -0
  92. package/fixtures/atelier-architecture/catalog/valid/document.json +343 -0
  93. package/fixtures/atelier-build-contract/attempt/invalid/document.json +20 -0
  94. package/fixtures/atelier-build-contract/attempt/valid/document.json +19 -0
  95. package/fixtures/atelier-build-contract/candidate/invalid/document.json +24 -0
  96. package/fixtures/atelier-build-contract/candidate/valid/document.json +23 -0
  97. package/fixtures/atelier-build-contract/decision/invalid/document.json +31 -0
  98. package/fixtures/atelier-build-contract/decision/valid/document.json +30 -0
  99. package/fixtures/atelier-build-contract/delivery/invalid/document.json +18 -0
  100. package/fixtures/atelier-build-contract/delivery/valid/document.json +17 -0
  101. package/fixtures/atelier-build-contract/gate/invalid/document.json +22 -0
  102. package/fixtures/atelier-build-contract/gate/valid/document.json +21 -0
  103. package/fixtures/atelier-build-contract/ledger/invalid/document.json +270 -0
  104. package/fixtures/atelier-build-contract/ledger/valid/document.json +269 -0
  105. package/fixtures/atelier-build-contract/objective/invalid/document.json +73 -0
  106. package/fixtures/atelier-build-contract/objective/valid/document.json +72 -0
  107. package/fixtures/atelier-build-contract/progress/invalid/document.json +18 -0
  108. package/fixtures/atelier-build-contract/progress/valid/document.json +17 -0
  109. package/fixtures/atelier-capability-contract/adoption/invalid/document.json +71 -0
  110. package/fixtures/atelier-capability-contract/adoption/valid/document.json +70 -0
  111. package/fixtures/atelier-capability-contract/event/invalid/document.json +18 -0
  112. package/fixtures/atelier-capability-contract/event/valid/document.json +17 -0
  113. package/fixtures/atelier-capability-contract/journal/invalid/document.json +382 -0
  114. package/fixtures/atelier-capability-contract/journal/valid/document.json +381 -0
  115. package/fixtures/atelier-capability-contract/notice/invalid/document.json +8 -0
  116. package/fixtures/atelier-capability-contract/notice/valid/document.json +7 -0
  117. package/fixtures/atelier-capability-contract/package/invalid/document.json +59 -0
  118. package/fixtures/atelier-capability-contract/package/valid/document.json +58 -0
  119. package/fixtures/atelier-capability-contract/plan/invalid/document.json +107 -0
  120. package/fixtures/atelier-capability-contract/plan/valid/document.json +106 -0
  121. package/fixtures/atelier-capability-contract/release/invalid/document.json +85 -0
  122. package/fixtures/atelier-capability-contract/release/valid/document.json +84 -0
  123. package/fixtures/atelier-capability-contract/state/invalid/document.json +316 -0
  124. package/fixtures/atelier-capability-contract/state/valid/document.json +315 -0
  125. package/fixtures/atelier-coordination/dependency/invalid/document.json +37 -0
  126. package/fixtures/atelier-coordination/dependency/valid/document.json +36 -0
  127. package/fixtures/atelier-coordination/directive/invalid/document.json +25 -0
  128. package/fixtures/atelier-coordination/directive/valid/document.json +24 -0
  129. package/fixtures/atelier-coordination/disposition/invalid/document.json +34 -0
  130. package/fixtures/atelier-coordination/disposition/valid/document.json +33 -0
  131. package/fixtures/atelier-coordination/outcome/invalid/document.json +39 -0
  132. package/fixtures/atelier-coordination/outcome/valid/document.json +38 -0
  133. package/fixtures/atelier-coordination/recovery/invalid/document.json +34 -0
  134. package/fixtures/atelier-coordination/recovery/valid/document.json +33 -0
  135. package/fixtures/atelier-harness-contract/handoff/invalid/document.json +25 -0
  136. package/fixtures/atelier-harness-contract/handoff/valid/document.json +24 -0
  137. package/fixtures/atelier-ingestion/invalid/authority.json +19 -0
  138. package/fixtures/atelier-ingestion/semantic-baseline.json +26 -0
  139. package/fixtures/atelier-ingestion/semantic-operation.json +75 -0
  140. package/fixtures/atelier-ingestion/valid/plan-input.json +18 -0
  141. package/fixtures/atelier-inquiry-contract/assessment/invalid/document.json +41 -0
  142. package/fixtures/atelier-inquiry-contract/assessment/valid/document.json +40 -0
  143. package/fixtures/atelier-inquiry-contract/bundle/invalid/document.json +51 -0
  144. package/fixtures/atelier-inquiry-contract/bundle/valid/document.json +50 -0
  145. package/fixtures/atelier-inquiry-contract/campaign/invalid/document.json +17 -0
  146. package/fixtures/atelier-inquiry-contract/campaign/valid/document.json +16 -0
  147. package/fixtures/atelier-inquiry-contract/decision/invalid/document.json +22 -0
  148. package/fixtures/atelier-inquiry-contract/decision/valid/document.json +21 -0
  149. package/fixtures/atelier-inquiry-contract/feedback/invalid/document.json +19 -0
  150. package/fixtures/atelier-inquiry-contract/feedback/valid/document.json +18 -0
  151. package/fixtures/atelier-inquiry-contract/handoff/invalid/document.json +92 -0
  152. package/fixtures/atelier-inquiry-contract/handoff/valid/document.json +91 -0
  153. package/fixtures/atelier-inquiry-contract/hypothesis/invalid/document.json +20 -0
  154. package/fixtures/atelier-inquiry-contract/hypothesis/valid/document.json +19 -0
  155. package/fixtures/atelier-inquiry-contract/ledger/invalid/document.json +680 -0
  156. package/fixtures/atelier-inquiry-contract/ledger/valid/document.json +679 -0
  157. package/fixtures/atelier-inquiry-contract/legacy-assessment/invalid/document.json +19 -0
  158. package/fixtures/atelier-inquiry-contract/legacy-assessment/valid/document.json +18 -0
  159. package/fixtures/atelier-inquiry-contract/request/invalid/document.json +50 -0
  160. package/fixtures/atelier-inquiry-contract/request/valid/document.json +49 -0
  161. package/fixtures/atelier-inquiry-contract/source/invalid/document.json +18 -0
  162. package/fixtures/atelier-inquiry-contract/source/valid/document.json +17 -0
  163. package/fixtures/atelier-inquiry-contract/withdrawal/invalid/document.json +16 -0
  164. package/fixtures/atelier-inquiry-contract/withdrawal/valid/document.json +15 -0
  165. package/fixtures/atelier-instruction-adoption/context-receipt/invalid/document.json +18 -0
  166. package/fixtures/atelier-instruction-adoption/context-receipt/valid/document.json +17 -0
  167. package/fixtures/atelier-instruction-adoption/plan/invalid/document.json +63 -0
  168. package/fixtures/atelier-instruction-adoption/plan/valid/document.json +62 -0
  169. package/fixtures/atelier-instruction-adoption/receipt/invalid/document.json +22 -0
  170. package/fixtures/atelier-instruction-adoption/receipt/valid/document.json +21 -0
  171. package/fixtures/atelier-instruction-adoption/state/invalid/document.json +30 -0
  172. package/fixtures/atelier-instruction-adoption/state/valid/document.json +29 -0
  173. package/fixtures/atelier-interaction/act/invalid/document.json +25 -0
  174. package/fixtures/atelier-interaction/act/valid/document.json +24 -0
  175. package/fixtures/atelier-interaction/assessment/invalid/document.json +32 -0
  176. package/fixtures/atelier-interaction/assessment/valid/document.json +31 -0
  177. package/fixtures/atelier-interaction/observation/invalid/document.json +22 -0
  178. package/fixtures/atelier-interaction/observation/valid/document.json +21 -0
  179. package/fixtures/atelier-interaction/policy/invalid/document.json +20 -0
  180. package/fixtures/atelier-interaction/policy/valid/document.json +19 -0
  181. package/fixtures/atelier-judgment/case/invalid/document.json +76 -0
  182. package/fixtures/atelier-judgment/case/valid/document.json +75 -0
  183. package/fixtures/atelier-judgment/decision/invalid/document.json +38 -0
  184. package/fixtures/atelier-judgment/decision/valid/document.json +37 -0
  185. package/fixtures/atelier-judgment/native-decision.md +3 -0
  186. package/fixtures/atelier-judgment/practice-reconsideration/definition.json +92 -0
  187. package/fixtures/atelier-judgment/practice-reconsideration/scenario.json +435 -0
  188. package/fixtures/atelier-knowledge-contract/activation/invalid/document.json +26 -0
  189. package/fixtures/atelier-knowledge-contract/activation/valid/document.json +25 -0
  190. package/fixtures/atelier-knowledge-contract/contribution/invalid/document.json +34 -0
  191. package/fixtures/atelier-knowledge-contract/contribution/valid/document.json +33 -0
  192. package/fixtures/atelier-knowledge-contract/domain/invalid/document.json +41 -0
  193. package/fixtures/atelier-knowledge-contract/domain/valid/document.json +40 -0
  194. package/fixtures/atelier-knowledge-contract/domain-revision/invalid/document.json +46 -0
  195. package/fixtures/atelier-knowledge-contract/domain-revision/valid/document.json +45 -0
  196. package/fixtures/atelier-knowledge-contract/evaluation/invalid/document.json +21 -0
  197. package/fixtures/atelier-knowledge-contract/evaluation/valid/document.json +20 -0
  198. package/fixtures/atelier-knowledge-contract/ledger/invalid/document.json +318 -0
  199. package/fixtures/atelier-knowledge-contract/ledger/valid/document.json +317 -0
  200. package/fixtures/atelier-knowledge-contract/relation/invalid/document.json +25 -0
  201. package/fixtures/atelier-knowledge-contract/relation/valid/document.json +24 -0
  202. package/fixtures/atelier-knowledge-contract/review/invalid/document.json +18 -0
  203. package/fixtures/atelier-knowledge-contract/review/valid/document.json +17 -0
  204. package/fixtures/atelier-knowledge-contract/withdrawal/invalid/document.json +16 -0
  205. package/fixtures/atelier-knowledge-contract/withdrawal/valid/document.json +15 -0
  206. package/fixtures/atelier-learning/invalid/authority.json +14 -0
  207. package/fixtures/atelier-learning/valid/capture.json +13 -0
  208. package/fixtures/atelier-personal-workspace-contract/manifest/invalid/authority-key.json +17 -0
  209. package/fixtures/atelier-personal-workspace-contract/manifest/invalid/nonempty-ext.json +25 -0
  210. package/fixtures/atelier-personal-workspace-contract/manifest/invalid/wrong-schema.json +22 -0
  211. package/fixtures/atelier-personal-workspace-contract/manifest/valid/manifest.json +22 -0
  212. package/fixtures/atelier-personal-workspace-contract/overlay/invalid/authority-key.json +25 -0
  213. package/fixtures/atelier-personal-workspace-contract/overlay/invalid/unknown-top-level-field.json +27 -0
  214. package/fixtures/atelier-personal-workspace-contract/overlay/invalid/wrong-schema.json +24 -0
  215. package/fixtures/atelier-trackable/definition/invalid/document.json +15 -0
  216. package/fixtures/atelier-trackable/definition/valid/document.json +14 -0
  217. package/fixtures/atelier-trackable/request/invalid/document.json +23 -0
  218. package/fixtures/atelier-trackable/request/valid/document.json +22 -0
  219. package/fixtures/boundary-delegations/invalid/authority-key.v1.json +30 -0
  220. package/fixtures/boundary-delegations/invalid/push-operation.v1.json +28 -0
  221. package/fixtures/boundary-delegations/invalid/unsigned.v1.json +25 -0
  222. package/fixtures/boundary-delegations/valid/empty.v1.json +4 -0
  223. package/fixtures/boundary-delegations/valid/signed-operator.v1.json +30 -0
  224. package/fixtures/boundary-owner-keys/invalid/wrong-algorithm.v1.json +15 -0
  225. package/fixtures/boundary-owner-keys/invalid/wrong-curve.v1.json +15 -0
  226. package/fixtures/boundary-owner-keys/valid/one-owner.v1.json +17 -0
  227. package/fixtures/capability-packages/adoption.example.json +70 -0
  228. package/fixtures/capability-packages/evidence-review/capability-package.json +58 -0
  229. package/fixtures/capability-packages/evidence-review/capability-release.json +84 -0
  230. package/fixtures/capability-packages/evidence-review/evaluation.md +15 -0
  231. package/fixtures/capability-packages/evidence-review/skills/evidence-review/SKILL.md +22 -0
  232. package/fixtures/capability-packages/evidence-review/skills/evidence-review/references/ledger.md +7 -0
  233. package/fixtures/capability-packages/research/capability-package.json +88 -0
  234. package/fixtures/capability-packages/research/capability-release.json +134 -0
  235. package/fixtures/capability-packages/research/evaluation.md +15 -0
  236. package/fixtures/capability-packages/research/skills/research-integrate/SKILL.md +29 -0
  237. package/fixtures/capability-packages/research/skills/research-integrate/references/integration.md +10 -0
  238. package/fixtures/capability-packages/research/skills/research-plan/SKILL.md +27 -0
  239. package/fixtures/capability-packages/research/skills/research-plan/references/inquiries.md +26 -0
  240. package/fixtures/capability-packages/research/skills/research-synthesize/SKILL.md +23 -0
  241. package/fixtures/capability-packages/research/skills/research-synthesize/references/synthesis.md +12 -0
  242. package/fixtures/evidence-navigation/invalid/duplicate-operation.json +16 -0
  243. package/fixtures/evidence-navigation/invalid/instruction-kind.json +36 -0
  244. package/fixtures/evidence-navigation/invalid/invalid-digest.json +36 -0
  245. package/fixtures/evidence-navigation/invalid/invalid-time.json +36 -0
  246. package/fixtures/evidence-navigation/invalid/missing-attribution.json +35 -0
  247. package/fixtures/evidence-navigation/invalid/reserved-extension.json +19 -0
  248. package/fixtures/evidence-navigation/invalid/unattributed-acceptance.json +36 -0
  249. package/fixtures/evidence-navigation/invalid/uncoerced-version.json +16 -0
  250. package/fixtures/evidence-navigation/invalid/unknown-currency.json +17 -0
  251. package/fixtures/evidence-navigation/invalid/unknown-selector-field.json +37 -0
  252. package/fixtures/evidence-navigation/invalid/unsupported-operation.json +15 -0
  253. package/fixtures/evidence-navigation/valid/claim.json +36 -0
  254. package/fixtures/evidence-navigation/valid/host.json +16 -0
  255. package/fixtures/evidence-navigation/valid/profile.json +16 -0
  256. package/fixtures/evidence-navigation/valid/snapshot.json +17 -0
  257. package/fixtures/harness-packages/build-harness/capability-package.json +61 -0
  258. package/fixtures/harness-packages/build-harness/capability-release.json +82 -0
  259. package/fixtures/harness-packages/build-harness/evaluation.md +3 -0
  260. package/fixtures/harness-packages/build-harness/skills/atelier-build-harness/SKILL.md +59 -0
  261. package/fixtures/harness-packages/knowledge-harness/capability-package.json +61 -0
  262. package/fixtures/harness-packages/knowledge-harness/capability-release.json +82 -0
  263. package/fixtures/harness-packages/knowledge-harness/evaluation.md +3 -0
  264. package/fixtures/harness-packages/knowledge-harness/skills/atelier-knowledge-harness/SKILL.md +60 -0
  265. package/fixtures/harnesses/learning-cycle.json +780 -0
  266. package/fixtures/inquiry/workshop.json +675 -0
  267. package/fixtures/inquiry-packages/discovery-harness/capability-package.json +61 -0
  268. package/fixtures/inquiry-packages/discovery-harness/capability-release.json +82 -0
  269. package/fixtures/inquiry-packages/discovery-harness/evaluation.md +3 -0
  270. package/fixtures/inquiry-packages/discovery-harness/skills/atelier-discovery-harness/SKILL.md +48 -0
  271. package/fixtures/inquiry-packages/research-harness/capability-package.json +61 -0
  272. package/fixtures/inquiry-packages/research-harness/capability-release.json +82 -0
  273. package/fixtures/inquiry-packages/research-harness/evaluation.md +3 -0
  274. package/fixtures/inquiry-packages/research-harness/skills/atelier-research-harness/SKILL.md +43 -0
  275. package/fixtures/knowledge-health/calibration-suite.json +26 -0
  276. package/fixtures/knowledge-health/calibration-trial.json +37 -0
  277. package/fixtures/knowledge-health/corrected/checklist.md +18 -0
  278. package/fixtures/knowledge-health/devday/participant-record.json +19 -0
  279. package/fixtures/knowledge-health/expected-summary.json +27 -0
  280. package/fixtures/knowledge-health/workshop/README.md +20 -0
  281. package/fixtures/knowledge-health/workshop/atelier.project.json +7 -0
  282. package/fixtures/knowledge-health/workshop/knowledge-plan.json +65 -0
  283. package/fixtures/knowledge-health/workshop/records/checklist.md +18 -0
  284. package/fixtures/knowledge-health/workshop/records/workshop.md +18 -0
  285. package/fixtures/knowledge-health/workshop/repo-access.v1.json +5 -0
  286. package/fixtures/knowledge-health/workspace/atelier.project.json +18 -0
  287. package/fixtures/knowledge-health/workspace/knowledge-plan.json +74 -0
  288. package/fixtures/knowledge-health/workspace/records/checklist.md +18 -0
  289. package/fixtures/knowledge-health/workspace/records/pilot.md +16 -0
  290. package/fixtures/knowledge-health/workspace/repo-access.v1.json +9 -0
  291. package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/case-only-collision.v2.json +160 -0
  292. package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/flat-note-path.v2.json +160 -0
  293. package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/hidden-folder.v2.json +160 -0
  294. package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/identity-in-the-body.v2.json +160 -0
  295. package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/link-breaking-name.v2.json +160 -0
  296. package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/missing-identity-region.v2.json +156 -0
  297. package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/missing-layout-version.v2.json +159 -0
  298. package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/note-named-like-a-folder.v2.json +160 -0
  299. package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/unknown-region-kind.v2.json +160 -0
  300. package/fixtures/obsidian/contracts/generation-manifest-v2/invalid/v1-contract-version.v2.json +161 -0
  301. package/fixtures/obsidian/contracts/generation-manifest-v2/valid/three-notes.v2.json +160 -0
  302. package/fixtures/obsidian/edits/workspace.json +1 -1
  303. package/fixtures/obsidian/materialization/expected-full.json +21 -21
  304. package/fixtures/obsidian/materialization/expected-full.layout-1.json +99 -0
  305. package/fixtures/obsidian/materialization/expected-scoped.json +7 -7
  306. package/fixtures/obsidian/materialization/expected-scoped.layout-1.json +39 -0
  307. package/fixtures/personal-workspace/overlay.json +24 -0
  308. package/fixtures/templates/local-library.v1.json +75 -0
  309. package/fixtures/templates/upgrade-contracts/adoption-policy.v2/invalid.json +16 -0
  310. package/fixtures/templates/upgrade-contracts/adoption-policy.v2/valid.json +13 -0
  311. package/fixtures/templates/upgrade-contracts/migration.v3/invalid.json +24 -0
  312. package/fixtures/templates/upgrade-contracts/migration.v3/valid.json +21 -0
  313. package/fixtures/templates/upgrade-contracts/template-adoption.v1/invalid.json +60 -0
  314. package/fixtures/templates/upgrade-contracts/template-adoption.v1/valid.json +57 -0
  315. package/fixtures/templates/upgrade-contracts/upgrade-plan.v3/invalid.json +85 -0
  316. package/fixtures/templates/upgrade-contracts/upgrade-plan.v3/valid.json +82 -0
  317. package/package.json +64 -6
  318. package/plugins/obsidian/main.js +444 -0
  319. package/plugins/obsidian/manifest.json +9 -0
  320. package/plugins/obsidian/styles.css +22 -0
  321. package/skills/claude/atelier-build-harness/SKILL.md +59 -0
  322. package/skills/claude/atelier-coordination/SKILL.md +32 -0
  323. package/skills/claude/atelier-discovery-harness/SKILL.md +48 -0
  324. package/skills/claude/atelier-guided-upgrade/SKILL.md +29 -0
  325. package/skills/claude/atelier-interaction/SKILL.md +34 -0
  326. package/skills/claude/atelier-knowledge-harness/SKILL.md +60 -0
  327. package/skills/claude/atelier-knowledge-setup/SKILL.md +72 -0
  328. package/skills/claude/atelier-practical-judgment/SKILL.md +64 -0
  329. package/skills/claude/atelier-research-harness/SKILL.md +43 -0
  330. package/skills/claude/atelier-skill-steward/SKILL.md +53 -0
  331. package/skills/claude/atelier-trackables/SKILL.md +40 -0
  332. package/skills/codex/atelier-build-harness/SKILL.md +59 -0
  333. package/skills/codex/atelier-coordination/SKILL.md +32 -0
  334. package/skills/codex/atelier-discovery-harness/SKILL.md +48 -0
  335. package/skills/codex/atelier-guided-upgrade/SKILL.md +29 -0
  336. package/skills/codex/atelier-interaction/SKILL.md +34 -0
  337. package/skills/codex/atelier-knowledge-harness/SKILL.md +60 -0
  338. package/skills/codex/atelier-knowledge-setup/SKILL.md +72 -0
  339. package/skills/codex/atelier-practical-judgment/SKILL.md +64 -0
  340. package/skills/codex/atelier-research-harness/SKILL.md +43 -0
  341. package/skills/codex/atelier-skill-steward/SKILL.md +53 -0
  342. package/skills/codex/atelier-trackables/SKILL.md +40 -0
  343. package/src/architecture/catalog.mjs +355 -0
  344. package/src/architecture/index.mjs +93 -0
  345. package/src/boundary/content-rules.mjs +4 -2
  346. package/src/boundary/delegation-command.mjs +158 -0
  347. package/src/boundary/delegation.mjs +396 -0
  348. package/src/boundary/policy.mjs +52 -10
  349. package/src/build/git.mjs +18 -0
  350. package/src/build/index.mjs +3 -0
  351. package/src/build/ledger.mjs +88 -0
  352. package/src/capabilities/adoption.mjs +381 -0
  353. package/src/capabilities/evidence.mjs +140 -0
  354. package/src/capabilities/files.mjs +124 -0
  355. package/src/capabilities/index.mjs +4 -0
  356. package/src/capabilities/instructions.mjs +250 -0
  357. package/src/capabilities/package.mjs +136 -0
  358. package/src/cli/command-failure.mjs +36 -0
  359. package/src/cli/execute-command.mjs +16 -2
  360. package/src/cli/run.mjs +65 -9
  361. package/src/coauthor/store.mjs +43 -2
  362. package/src/collaboration/proposals.mjs +189 -0
  363. package/src/commands/architecture.mjs +27 -0
  364. package/src/commands/boundary.mjs +3 -0
  365. package/src/commands/capability.mjs +73 -0
  366. package/src/commands/enroll.mjs +3 -0
  367. package/src/commands/harness.mjs +79 -0
  368. package/src/commands/ingest.mjs +39 -0
  369. package/src/commands/init.mjs +4 -1
  370. package/src/commands/inquiry.mjs +66 -0
  371. package/src/commands/knowledge-semantic.mjs +128 -0
  372. package/src/commands/knowledge.mjs +119 -0
  373. package/src/commands/learn.mjs +61 -0
  374. package/src/commands/obsidian.mjs +832 -62
  375. package/src/commands/practice.mjs +24 -0
  376. package/src/commands/setup.mjs +22 -2
  377. package/src/commands/trackable.mjs +19 -0
  378. package/src/contracts/corpus.mjs +36 -0
  379. package/src/coordination/index.mjs +110 -0
  380. package/src/egress/forbidden-egress.mjs +2 -0
  381. package/src/evidence-navigation/contracts.mjs +60 -0
  382. package/src/evidence-navigation/evaluate.mjs +69 -0
  383. package/src/evidence-navigation/generation.mjs +22 -0
  384. package/src/evidence-navigation/index.mjs +2 -0
  385. package/src/evidence-navigation/local.mjs +167 -0
  386. package/src/evidence-navigation/schema.generated.mjs +604 -0
  387. package/src/evidence-navigation/types.mjs +12 -0
  388. package/src/export/atelier-export-contract.mjs +35 -8
  389. package/src/graph/enroll.mjs +248 -0
  390. package/src/graph/graph.mjs +17 -1
  391. package/src/graph/knowledge-graph.mjs +58 -8
  392. package/src/harnesses/contracts.mjs +41 -0
  393. package/src/harnesses/exchange.mjs +154 -0
  394. package/src/harnesses/feedback.mjs +16 -0
  395. package/src/harnesses/history.mjs +37 -0
  396. package/src/harnesses/index.mjs +4 -0
  397. package/src/harnesses/store.mjs +29 -0
  398. package/src/ingestion/contracts.mjs +41 -0
  399. package/src/ingestion/evaluation.mjs +119 -0
  400. package/src/ingestion/optional/composition/index.mjs +171 -0
  401. package/src/ingestion/optional/evaluation/index.mjs +219 -0
  402. package/src/ingestion/optional/graphify/composition-binding.mjs +60 -0
  403. package/src/ingestion/optional/graphify/composition_receiving.py +185 -0
  404. package/src/ingestion/optional/graphify/graphify_supplier.py +933 -0
  405. package/src/ingestion/optional/graphify/json_bridge.py +163 -0
  406. package/src/ingestion/optional/graphify/query_receiving.py +209 -0
  407. package/src/ingestion/optional/index.mjs +9 -0
  408. package/src/ingestion/optional/jev/bridge.mjs +166 -0
  409. package/src/ingestion/optional/jev/composition-binding.mjs +116 -0
  410. package/src/ingestion/optional/jev/judgments.mjs +174 -0
  411. package/src/ingestion/optional/jev/native-translation.mjs +32 -0
  412. package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/__init__.py +7 -0
  413. package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/adapter.py +966 -0
  414. package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/artifacts.py +101 -0
  415. package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/projection.py +146 -0
  416. package/src/ingestion/optional/lightrag/composition-binding.mjs +67 -0
  417. package/src/ingestion/optional/vanilla/composition-binding.mjs +102 -0
  418. package/src/ingestion/optional/vanilla/index.mjs +218 -0
  419. package/src/ingestion/optional/vanilla/native-normalization.mjs +187 -0
  420. package/src/ingestion/processors.mjs +218 -0
  421. package/src/ingestion/semantic.mjs +203 -0
  422. package/src/ingestion/store.mjs +372 -0
  423. package/src/inquiry/beliefs.mjs +32 -0
  424. package/src/inquiry/contracts.mjs +23 -0
  425. package/src/inquiry/index.mjs +5 -0
  426. package/src/inquiry/ledger.mjs +135 -0
  427. package/src/inquiry/lenses.mjs +15 -0
  428. package/src/inquiry/projection.mjs +77 -0
  429. package/src/inquiry/store.mjs +35 -0
  430. package/src/intake/read-scope.mjs +12 -0
  431. package/src/intake/store.mjs +69 -6
  432. package/src/interaction/index.mjs +91 -0
  433. package/src/judgment/index.mjs +82 -0
  434. package/src/judgment/practice-evaluation.mjs +70 -0
  435. package/src/judgment/practice.mjs +144 -0
  436. package/src/knowledge/context.mjs +217 -0
  437. package/src/knowledge/index.mjs +5 -0
  438. package/src/knowledge/ingestion.mjs +79 -0
  439. package/src/knowledge/intake.mjs +33 -0
  440. package/src/knowledge/ledger.mjs +110 -0
  441. package/src/knowledge/participatory/guidance.mjs +36 -0
  442. package/src/knowledge/participatory/guided-contribution.mjs +44 -0
  443. package/src/knowledge/participatory/index.mjs +2 -0
  444. package/src/knowledge/participatory/installed-workshop.mjs +108 -0
  445. package/src/knowledge/plan.mjs +67 -0
  446. package/src/knowledge/projection.mjs +43 -0
  447. package/src/knowledge/semantic-operation.mjs +567 -0
  448. package/src/knowledge/sessions.mjs +467 -0
  449. package/src/knowledge/workspace.mjs +295 -0
  450. package/src/knowledge-health/assessment.mjs +165 -0
  451. package/src/knowledge-health/capabilities.mjs +350 -0
  452. package/src/knowledge-health/context.mjs +62 -0
  453. package/src/knowledge-health/example.mjs +47 -0
  454. package/src/knowledge-health/index.mjs +10 -0
  455. package/src/knowledge-health/owner-join.mjs +88 -0
  456. package/src/knowledge-health/proof/common.mjs +24 -0
  457. package/src/knowledge-health/proof/installed-check.mjs +100 -0
  458. package/src/knowledge-health/proof/native-readback.mjs +37 -0
  459. package/src/knowledge-health/proof/rehearse.mjs +68 -0
  460. package/src/knowledge-health/proof/validate-participant.mjs +17 -0
  461. package/src/knowledge-health/proof/verify-native-capture.mjs +14 -0
  462. package/src/knowledge-health/proof/workshop-check.mjs +36 -0
  463. package/src/knowledge-health/rule-identity.mjs +44 -0
  464. package/src/knowledge-health/workshop-composition.mjs +19 -0
  465. package/src/knowledge-health/workshop-profile.mjs +176 -0
  466. package/src/knowledge-health/workshop.mjs +99 -0
  467. package/src/learning/adapters.mjs +68 -0
  468. package/src/learning/assistance.mjs +127 -0
  469. package/src/learning/contracts.mjs +65 -0
  470. package/src/learning/store.mjs +272 -0
  471. package/src/personal-workspace/index.mjs +391 -0
  472. package/src/personal-workspace/selection.mjs +385 -0
  473. package/src/project/config.mjs +8 -0
  474. package/src/project/durable-state.mjs +3 -1
  475. package/src/project/file-class.mjs +1 -1
  476. package/src/project/private-state.mjs +10 -1
  477. package/src/projection/obsidian/contracts.mjs +224 -18
  478. package/src/projection/obsidian/edits/apply.mjs +63 -19
  479. package/src/projection/obsidian/edits/regions.mjs +137 -42
  480. package/src/projection/obsidian/materialize/index.mjs +6 -3
  481. package/src/projection/obsidian/materialize/path-registry.mjs +443 -57
  482. package/src/projection/obsidian/materialize/prepare-view.mjs +382 -131
  483. package/src/projection/obsidian/materialize/redaction.mjs +327 -0
  484. package/src/projection/obsidian/materialize/settings.mjs +113 -34
  485. package/src/projection/obsidian/personal-workspace.mjs +436 -0
  486. package/src/projection/obsidian/plugin-bridge/bundle.mjs +50 -0
  487. package/src/projection/obsidian/plugin-bridge/channel.mjs +174 -0
  488. package/src/projection/obsidian/plugin-bridge/index.mjs +10 -0
  489. package/src/projection/obsidian/proposals/adapter.mjs +47 -8
  490. package/src/projection/obsidian/proposals/observation.mjs +20 -7
  491. package/src/projection/obsidian/publication/bridge-script.mjs +11 -5
  492. package/src/projection/obsidian/publication/index.mjs +2 -1
  493. package/src/projection/obsidian/publication/publisher.mjs +312 -36
  494. package/src/projection/obsidian/publication/transport.mjs +63 -8
  495. package/src/projection/obsidian/publication/vault-list.mjs +200 -0
  496. package/src/projection/obsidian/recovery/index.mjs +4 -1
  497. package/src/projection/obsidian/recovery/restart.mjs +3 -1
  498. package/src/projection/obsidian/recovery/store.mjs +168 -8
  499. package/src/projection/obsidian/selection-ui/contribution.mjs +6 -5
  500. package/src/projection/obsidian/selection-ui/focus.mjs +14 -7
  501. package/src/projection/obsidian/selection-ui/selection-state.mjs +2 -2
  502. package/src/projection/obsidian/selection-ui/selection.mjs +8 -3
  503. package/src/readiness/readiness.mjs +10 -3
  504. package/src/reflection/index.mjs +56 -0
  505. package/src/runtime/obsidian/app-capability.mjs +104 -12
  506. package/src/runtime/obsidian/app-production-seams.mjs +161 -42
  507. package/src/runtime/obsidian/app-registration.mjs +313 -0
  508. package/src/runtime/obsidian/app-restart.mjs +154 -0
  509. package/src/runtime/obsidian/engine.mjs +288 -29
  510. package/src/runtime/obsidian/extension-points.mjs +1 -1
  511. package/src/runtime/obsidian/index.mjs +15 -8
  512. package/src/runtime/obsidian/launch-plan.mjs +91 -0
  513. package/src/runtime/obsidian/lifecycle.mjs +193 -22
  514. package/src/runtime/obsidian/login-item.mjs +332 -0
  515. package/src/runtime/obsidian/machine-settings.mjs +119 -12
  516. package/src/runtime/obsidian/opening.mjs +369 -63
  517. package/src/runtime/obsidian/pending-edits.mjs +10 -0
  518. package/src/runtime/obsidian/pipeline.mjs +71 -3
  519. package/src/runtime/obsidian/plugin-channel.mjs +289 -0
  520. package/src/runtime/obsidian/plugin-choice.mjs +182 -0
  521. package/src/runtime/obsidian/plugin-drift.mjs +124 -0
  522. package/src/runtime/obsidian/plugin-presence.mjs +61 -0
  523. package/src/runtime/obsidian/process-identity.mjs +20 -10
  524. package/src/runtime/obsidian/project-views.mjs +282 -0
  525. package/src/runtime/obsidian/questions.mjs +48 -0
  526. package/src/runtime/obsidian/release-watch.mjs +56 -0
  527. package/src/runtime/obsidian/service-main.mjs +113 -17
  528. package/src/runtime/obsidian/service-manager-production.mjs +61 -0
  529. package/src/runtime/obsidian/service-managers.mjs +275 -0
  530. package/src/runtime/obsidian/service-record.mjs +105 -5
  531. package/src/runtime/obsidian/service-server.mjs +50 -12
  532. package/src/runtime/obsidian/service.mjs +134 -7
  533. package/src/runtime/obsidian/startup-adapters.mjs +59 -21
  534. package/src/runtime/obsidian/state-store.mjs +13 -1
  535. package/src/runtime/obsidian/unheld-evidence.mjs +84 -0
  536. package/src/runtime/obsidian/vault-location.mjs +300 -0
  537. package/src/runtime/obsidian/view-counts.mjs +34 -0
  538. package/src/server/local-sidecar.mjs +193 -7
  539. package/src/server/server.mjs +45 -6
  540. package/src/template-bindings/project.mjs +92 -0
  541. package/src/templates/profile.mjs +225 -0
  542. package/src/trackables/domain.mjs +175 -0
  543. package/src/trackables/store.mjs +114 -0
  544. package/src/ui/knowledge-page.mjs +1388 -0
  545. package/src/upgrade/explanation.mjs +1 -1
  546. package/src/upgrade/template-participant.mjs +171 -0
  547. package/src/upgrade/transaction.mjs +72 -25
  548. package/src/upgrade/upgrade.mjs +2 -1
  549. package/templates/external-project-workspace/pack-lifecycle.json +6 -1
  550. package/templates/knowledge-workspace/.gitattributes +2 -0
  551. package/templates/knowledge-workspace/AGENTS.md +27 -0
  552. package/templates/knowledge-workspace/README.md +44 -0
  553. package/templates/knowledge-workspace/atelier.project.json +22 -0
  554. package/templates/knowledge-workspace/gitignore +6 -0
  555. package/templates/knowledge-workspace/knowledge-plan.json +111 -0
  556. package/templates/knowledge-workspace/knowledge-plan.schema.json +281 -0
  557. package/templates/knowledge-workspace/records/forecast.md +22 -0
  558. package/templates/knowledge-workspace/records/inspection.md +25 -0
  559. package/templates/knowledge-workspace/records/telescope.md +24 -0
  560. package/templates/knowledge-workspace/repo-access.v1.json +9 -0
@@ -0,0 +1,1095 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://mnstry.ai/schemas/atelier/atelier-learning.v1.schema.json",
4
+ "title": "Portable local learning history v1",
5
+ "description": "Locally asserted evidence and authority. Integrity digests are not identity authentication; source digests are external assertions. Check artifacts are inert. No import or executable installation authority.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "#/$defs/request"
9
+ },
10
+ {
11
+ "$ref": "#/$defs/record"
12
+ },
13
+ {
14
+ "$ref": "#/$defs/event"
15
+ },
16
+ {
17
+ "$ref": "#/$defs/workspace"
18
+ }
19
+ ],
20
+ "$defs": {
21
+ "id": {
22
+ "type": "string",
23
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,127}$",
24
+ "maxLength": 128
25
+ },
26
+ "digest": {
27
+ "type": "string",
28
+ "pattern": "^sha256:[0-9a-f]{64}$"
29
+ },
30
+ "scope": {
31
+ "type": "object",
32
+ "additionalProperties": false,
33
+ "required": [
34
+ "project",
35
+ "activity"
36
+ ],
37
+ "properties": {
38
+ "project": {
39
+ "$ref": "#/$defs/id"
40
+ },
41
+ "activity": {
42
+ "anyOf": [
43
+ {
44
+ "$ref": "#/$defs/id"
45
+ },
46
+ {
47
+ "const": "*"
48
+ }
49
+ ]
50
+ },
51
+ "ext": {
52
+ "type": "object",
53
+ "maxProperties": 0,
54
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
55
+ }
56
+ }
57
+ },
58
+ "actor": {
59
+ "type": "object",
60
+ "additionalProperties": false,
61
+ "required": [
62
+ "id",
63
+ "kind"
64
+ ],
65
+ "properties": {
66
+ "id": {
67
+ "$ref": "#/$defs/id"
68
+ },
69
+ "kind": {
70
+ "enum": [
71
+ "human",
72
+ "agent",
73
+ "tool"
74
+ ]
75
+ },
76
+ "ext": {
77
+ "type": "object",
78
+ "maxProperties": 0,
79
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
80
+ }
81
+ }
82
+ },
83
+ "source": {
84
+ "type": "object",
85
+ "additionalProperties": false,
86
+ "required": [
87
+ "ref",
88
+ "digest"
89
+ ],
90
+ "properties": {
91
+ "ref": {
92
+ "anyOf": [
93
+ {
94
+ "type": "string",
95
+ "minLength": 1,
96
+ "maxLength": 2048
97
+ },
98
+ {
99
+ "type": "null"
100
+ }
101
+ ]
102
+ },
103
+ "digest": {
104
+ "anyOf": [
105
+ {
106
+ "$ref": "#/$defs/digest"
107
+ },
108
+ {
109
+ "type": "null"
110
+ }
111
+ ]
112
+ },
113
+ "locator": {
114
+ "type": "string",
115
+ "minLength": 1,
116
+ "maxLength": 1024
117
+ },
118
+ "ext": {
119
+ "type": "object",
120
+ "maxProperties": 0,
121
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
122
+ }
123
+ }
124
+ },
125
+ "artifact": {
126
+ "type": "object",
127
+ "additionalProperties": false,
128
+ "required": [
129
+ "kind",
130
+ "name",
131
+ "content"
132
+ ],
133
+ "properties": {
134
+ "kind": {
135
+ "enum": [
136
+ "instruction",
137
+ "skill",
138
+ "principle",
139
+ "check"
140
+ ]
141
+ },
142
+ "name": {
143
+ "$ref": "#/$defs/id"
144
+ },
145
+ "content": {
146
+ "type": "string",
147
+ "minLength": 1,
148
+ "maxLength": 65536
149
+ },
150
+ "ext": {
151
+ "type": "object",
152
+ "maxProperties": 0,
153
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
154
+ }
155
+ }
156
+ },
157
+ "captureInput": {
158
+ "type": "object",
159
+ "additionalProperties": false,
160
+ "required": [
161
+ "id",
162
+ "signal",
163
+ "text",
164
+ "interpretation",
165
+ "scope",
166
+ "source"
167
+ ],
168
+ "properties": {
169
+ "id": {
170
+ "$ref": "#/$defs/id"
171
+ },
172
+ "signal": {
173
+ "enum": [
174
+ "user-correction",
175
+ "successful-run",
176
+ "tool-failure",
177
+ "exception"
178
+ ]
179
+ },
180
+ "text": {
181
+ "type": "string",
182
+ "minLength": 1,
183
+ "maxLength": 16384
184
+ },
185
+ "interpretation": {
186
+ "enum": [
187
+ "explicit",
188
+ "inferred",
189
+ "tool"
190
+ ]
191
+ },
192
+ "scope": {
193
+ "$ref": "#/$defs/scope"
194
+ },
195
+ "source": {
196
+ "$ref": "#/$defs/source"
197
+ },
198
+ "lessonId": {
199
+ "$ref": "#/$defs/id"
200
+ },
201
+ "ext": {
202
+ "type": "object",
203
+ "maxProperties": 0,
204
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
205
+ }
206
+ }
207
+ },
208
+ "proposeInput": {
209
+ "type": "object",
210
+ "additionalProperties": false,
211
+ "required": [
212
+ "id",
213
+ "title",
214
+ "principle",
215
+ "rationale",
216
+ "exceptions",
217
+ "evidenceIds",
218
+ "scope",
219
+ "artifact"
220
+ ],
221
+ "properties": {
222
+ "id": {
223
+ "$ref": "#/$defs/id"
224
+ },
225
+ "title": {
226
+ "type": "string",
227
+ "minLength": 1,
228
+ "maxLength": 256
229
+ },
230
+ "principle": {
231
+ "type": "string",
232
+ "minLength": 1,
233
+ "maxLength": 8192
234
+ },
235
+ "rationale": {
236
+ "type": "string",
237
+ "minLength": 1,
238
+ "maxLength": 8192
239
+ },
240
+ "exceptions": {
241
+ "type": "array",
242
+ "maxItems": 32,
243
+ "items": {
244
+ "type": "string",
245
+ "minLength": 1,
246
+ "maxLength": 2048
247
+ }
248
+ },
249
+ "evidenceIds": {
250
+ "type": "array",
251
+ "maxItems": 128,
252
+ "items": {
253
+ "$ref": "#/$defs/id"
254
+ },
255
+ "minItems": 1,
256
+ "uniqueItems": true
257
+ },
258
+ "scope": {
259
+ "$ref": "#/$defs/scope"
260
+ },
261
+ "artifact": {
262
+ "$ref": "#/$defs/artifact"
263
+ },
264
+ "supersedes": {
265
+ "$ref": "#/$defs/id"
266
+ },
267
+ "ext": {
268
+ "type": "object",
269
+ "maxProperties": 0,
270
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
271
+ }
272
+ }
273
+ },
274
+ "decideInput": {
275
+ "type": "object",
276
+ "additionalProperties": false,
277
+ "required": [
278
+ "lessonId",
279
+ "lessonDigest",
280
+ "verdict",
281
+ "reason"
282
+ ],
283
+ "properties": {
284
+ "lessonId": {
285
+ "$ref": "#/$defs/id"
286
+ },
287
+ "lessonDigest": {
288
+ "$ref": "#/$defs/digest"
289
+ },
290
+ "verdict": {
291
+ "enum": [
292
+ "accepted",
293
+ "rejected",
294
+ "deferred"
295
+ ]
296
+ },
297
+ "reason": {
298
+ "type": "string",
299
+ "minLength": 1,
300
+ "maxLength": 8192
301
+ },
302
+ "ext": {
303
+ "type": "object",
304
+ "maxProperties": 0,
305
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
306
+ }
307
+ }
308
+ },
309
+ "activateInput": {
310
+ "type": "object",
311
+ "additionalProperties": false,
312
+ "required": [
313
+ "id",
314
+ "lessonId",
315
+ "lessonDigest",
316
+ "decisionId",
317
+ "harnessId"
318
+ ],
319
+ "properties": {
320
+ "id": {
321
+ "$ref": "#/$defs/id"
322
+ },
323
+ "lessonId": {
324
+ "$ref": "#/$defs/id"
325
+ },
326
+ "lessonDigest": {
327
+ "$ref": "#/$defs/digest"
328
+ },
329
+ "decisionId": {
330
+ "$ref": "#/$defs/id"
331
+ },
332
+ "harnessId": {
333
+ "$ref": "#/$defs/id"
334
+ },
335
+ "ext": {
336
+ "type": "object",
337
+ "maxProperties": 0,
338
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
339
+ }
340
+ }
341
+ },
342
+ "withdrawInput": {
343
+ "type": "object",
344
+ "additionalProperties": false,
345
+ "required": [
346
+ "activationId",
347
+ "reason"
348
+ ],
349
+ "properties": {
350
+ "activationId": {
351
+ "$ref": "#/$defs/id"
352
+ },
353
+ "reason": {
354
+ "type": "string",
355
+ "minLength": 1,
356
+ "maxLength": 8192
357
+ },
358
+ "ext": {
359
+ "type": "object",
360
+ "maxProperties": 0,
361
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
362
+ }
363
+ }
364
+ },
365
+ "request": {
366
+ "oneOf": [
367
+ {
368
+ "type": "object",
369
+ "additionalProperties": false,
370
+ "required": [
371
+ "requestId",
372
+ "expectedRevision",
373
+ "operation",
374
+ "input"
375
+ ],
376
+ "properties": {
377
+ "requestId": {
378
+ "$ref": "#/$defs/id"
379
+ },
380
+ "expectedRevision": {
381
+ "type": "integer",
382
+ "minimum": 0,
383
+ "maximum": 1000000000
384
+ },
385
+ "operation": {
386
+ "const": "capture"
387
+ },
388
+ "input": {
389
+ "$ref": "#/$defs/captureInput"
390
+ },
391
+ "ext": {
392
+ "type": "object",
393
+ "maxProperties": 0,
394
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
395
+ },
396
+ "contractVersion": {
397
+ "type": "string",
398
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
399
+ }
400
+ }
401
+ },
402
+ {
403
+ "type": "object",
404
+ "additionalProperties": false,
405
+ "required": [
406
+ "requestId",
407
+ "expectedRevision",
408
+ "operation",
409
+ "input"
410
+ ],
411
+ "properties": {
412
+ "requestId": {
413
+ "$ref": "#/$defs/id"
414
+ },
415
+ "expectedRevision": {
416
+ "type": "integer",
417
+ "minimum": 0,
418
+ "maximum": 1000000000
419
+ },
420
+ "operation": {
421
+ "const": "propose"
422
+ },
423
+ "input": {
424
+ "$ref": "#/$defs/proposeInput"
425
+ },
426
+ "ext": {
427
+ "type": "object",
428
+ "maxProperties": 0,
429
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
430
+ },
431
+ "contractVersion": {
432
+ "type": "string",
433
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
434
+ }
435
+ }
436
+ },
437
+ {
438
+ "type": "object",
439
+ "additionalProperties": false,
440
+ "required": [
441
+ "requestId",
442
+ "expectedRevision",
443
+ "operation",
444
+ "input"
445
+ ],
446
+ "properties": {
447
+ "requestId": {
448
+ "$ref": "#/$defs/id"
449
+ },
450
+ "expectedRevision": {
451
+ "type": "integer",
452
+ "minimum": 0,
453
+ "maximum": 1000000000
454
+ },
455
+ "operation": {
456
+ "const": "decide"
457
+ },
458
+ "input": {
459
+ "$ref": "#/$defs/decideInput"
460
+ },
461
+ "ext": {
462
+ "type": "object",
463
+ "maxProperties": 0,
464
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
465
+ },
466
+ "contractVersion": {
467
+ "type": "string",
468
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
469
+ }
470
+ }
471
+ },
472
+ {
473
+ "type": "object",
474
+ "additionalProperties": false,
475
+ "required": [
476
+ "requestId",
477
+ "expectedRevision",
478
+ "operation",
479
+ "input"
480
+ ],
481
+ "properties": {
482
+ "requestId": {
483
+ "$ref": "#/$defs/id"
484
+ },
485
+ "expectedRevision": {
486
+ "type": "integer",
487
+ "minimum": 0,
488
+ "maximum": 1000000000
489
+ },
490
+ "operation": {
491
+ "const": "activate"
492
+ },
493
+ "input": {
494
+ "$ref": "#/$defs/activateInput"
495
+ },
496
+ "ext": {
497
+ "type": "object",
498
+ "maxProperties": 0,
499
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
500
+ },
501
+ "contractVersion": {
502
+ "type": "string",
503
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
504
+ }
505
+ }
506
+ },
507
+ {
508
+ "type": "object",
509
+ "additionalProperties": false,
510
+ "required": [
511
+ "requestId",
512
+ "expectedRevision",
513
+ "operation",
514
+ "input"
515
+ ],
516
+ "properties": {
517
+ "requestId": {
518
+ "$ref": "#/$defs/id"
519
+ },
520
+ "expectedRevision": {
521
+ "type": "integer",
522
+ "minimum": 0,
523
+ "maximum": 1000000000
524
+ },
525
+ "operation": {
526
+ "const": "withdraw"
527
+ },
528
+ "input": {
529
+ "$ref": "#/$defs/withdrawInput"
530
+ },
531
+ "ext": {
532
+ "type": "object",
533
+ "maxProperties": 0,
534
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
535
+ },
536
+ "contractVersion": {
537
+ "type": "string",
538
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
539
+ }
540
+ }
541
+ }
542
+ ]
543
+ },
544
+ "observation": {
545
+ "type": "object",
546
+ "additionalProperties": false,
547
+ "required": [
548
+ "schema",
549
+ "id",
550
+ "workspaceId",
551
+ "revision",
552
+ "actor",
553
+ "createdAt",
554
+ "digest",
555
+ "signal",
556
+ "text",
557
+ "interpretation",
558
+ "scope",
559
+ "source"
560
+ ],
561
+ "properties": {
562
+ "schema": {
563
+ "const": "mnstry.atelier-learning-observation@v1"
564
+ },
565
+ "id": {
566
+ "$ref": "#/$defs/id"
567
+ },
568
+ "workspaceId": {
569
+ "$ref": "#/$defs/id"
570
+ },
571
+ "revision": {
572
+ "type": "integer",
573
+ "minimum": 0,
574
+ "maximum": 1000000000
575
+ },
576
+ "actor": {
577
+ "$ref": "#/$defs/actor"
578
+ },
579
+ "createdAt": {
580
+ "type": "string",
581
+ "format": "date-time"
582
+ },
583
+ "digest": {
584
+ "$ref": "#/$defs/digest"
585
+ },
586
+ "signal": {
587
+ "enum": [
588
+ "user-correction",
589
+ "successful-run",
590
+ "tool-failure",
591
+ "exception"
592
+ ]
593
+ },
594
+ "text": {
595
+ "type": "string",
596
+ "minLength": 1,
597
+ "maxLength": 16384
598
+ },
599
+ "interpretation": {
600
+ "enum": [
601
+ "explicit",
602
+ "inferred",
603
+ "tool"
604
+ ]
605
+ },
606
+ "scope": {
607
+ "$ref": "#/$defs/scope"
608
+ },
609
+ "source": {
610
+ "$ref": "#/$defs/source"
611
+ },
612
+ "lessonId": {
613
+ "$ref": "#/$defs/id"
614
+ },
615
+ "ext": {
616
+ "type": "object",
617
+ "maxProperties": 0,
618
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
619
+ },
620
+ "contractVersion": {
621
+ "type": "string",
622
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
623
+ }
624
+ }
625
+ },
626
+ "lesson": {
627
+ "type": "object",
628
+ "additionalProperties": false,
629
+ "required": [
630
+ "schema",
631
+ "id",
632
+ "workspaceId",
633
+ "revision",
634
+ "actor",
635
+ "createdAt",
636
+ "digest",
637
+ "title",
638
+ "principle",
639
+ "rationale",
640
+ "exceptions",
641
+ "evidenceIds",
642
+ "scope",
643
+ "artifact",
644
+ "evidence"
645
+ ],
646
+ "properties": {
647
+ "schema": {
648
+ "const": "mnstry.atelier-learning-lesson@v1"
649
+ },
650
+ "id": {
651
+ "$ref": "#/$defs/id"
652
+ },
653
+ "workspaceId": {
654
+ "$ref": "#/$defs/id"
655
+ },
656
+ "revision": {
657
+ "type": "integer",
658
+ "minimum": 0,
659
+ "maximum": 1000000000
660
+ },
661
+ "actor": {
662
+ "$ref": "#/$defs/actor"
663
+ },
664
+ "createdAt": {
665
+ "type": "string",
666
+ "format": "date-time"
667
+ },
668
+ "digest": {
669
+ "$ref": "#/$defs/digest"
670
+ },
671
+ "title": {
672
+ "type": "string",
673
+ "minLength": 1,
674
+ "maxLength": 256
675
+ },
676
+ "principle": {
677
+ "type": "string",
678
+ "minLength": 1,
679
+ "maxLength": 8192
680
+ },
681
+ "rationale": {
682
+ "type": "string",
683
+ "minLength": 1,
684
+ "maxLength": 8192
685
+ },
686
+ "exceptions": {
687
+ "type": "array",
688
+ "maxItems": 32,
689
+ "items": {
690
+ "type": "string",
691
+ "minLength": 1,
692
+ "maxLength": 2048
693
+ }
694
+ },
695
+ "evidenceIds": {
696
+ "type": "array",
697
+ "maxItems": 128,
698
+ "items": {
699
+ "$ref": "#/$defs/id"
700
+ },
701
+ "minItems": 1,
702
+ "uniqueItems": true
703
+ },
704
+ "scope": {
705
+ "$ref": "#/$defs/scope"
706
+ },
707
+ "artifact": {
708
+ "type": "object",
709
+ "additionalProperties": false,
710
+ "required": [
711
+ "kind",
712
+ "name",
713
+ "content",
714
+ "digest"
715
+ ],
716
+ "properties": {
717
+ "kind": {
718
+ "enum": [
719
+ "instruction",
720
+ "skill",
721
+ "principle",
722
+ "check"
723
+ ]
724
+ },
725
+ "name": {
726
+ "$ref": "#/$defs/id"
727
+ },
728
+ "content": {
729
+ "type": "string",
730
+ "minLength": 1,
731
+ "maxLength": 65536
732
+ },
733
+ "digest": {
734
+ "$ref": "#/$defs/digest"
735
+ },
736
+ "ext": {
737
+ "type": "object",
738
+ "maxProperties": 0,
739
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
740
+ }
741
+ }
742
+ },
743
+ "supersedes": {
744
+ "$ref": "#/$defs/id"
745
+ },
746
+ "evidence": {
747
+ "type": "array",
748
+ "maxItems": 128,
749
+ "items": {
750
+ "type": "object",
751
+ "additionalProperties": false,
752
+ "required": [
753
+ "id",
754
+ "digest"
755
+ ],
756
+ "properties": {
757
+ "id": {
758
+ "$ref": "#/$defs/id"
759
+ },
760
+ "digest": {
761
+ "$ref": "#/$defs/digest"
762
+ },
763
+ "ext": {
764
+ "type": "object",
765
+ "maxProperties": 0,
766
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
767
+ }
768
+ }
769
+ }
770
+ },
771
+ "ext": {
772
+ "type": "object",
773
+ "maxProperties": 0,
774
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
775
+ },
776
+ "contractVersion": {
777
+ "type": "string",
778
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
779
+ }
780
+ }
781
+ },
782
+ "decision": {
783
+ "type": "object",
784
+ "additionalProperties": false,
785
+ "required": [
786
+ "schema",
787
+ "id",
788
+ "workspaceId",
789
+ "revision",
790
+ "actor",
791
+ "createdAt",
792
+ "digest",
793
+ "lessonId",
794
+ "lessonDigest",
795
+ "verdict",
796
+ "reason"
797
+ ],
798
+ "properties": {
799
+ "schema": {
800
+ "const": "mnstry.atelier-learning-decision@v1"
801
+ },
802
+ "id": {
803
+ "$ref": "#/$defs/id"
804
+ },
805
+ "workspaceId": {
806
+ "$ref": "#/$defs/id"
807
+ },
808
+ "revision": {
809
+ "type": "integer",
810
+ "minimum": 0,
811
+ "maximum": 1000000000
812
+ },
813
+ "actor": {
814
+ "$ref": "#/$defs/actor"
815
+ },
816
+ "createdAt": {
817
+ "type": "string",
818
+ "format": "date-time"
819
+ },
820
+ "digest": {
821
+ "$ref": "#/$defs/digest"
822
+ },
823
+ "lessonId": {
824
+ "$ref": "#/$defs/id"
825
+ },
826
+ "lessonDigest": {
827
+ "$ref": "#/$defs/digest"
828
+ },
829
+ "verdict": {
830
+ "enum": [
831
+ "accepted",
832
+ "rejected",
833
+ "deferred"
834
+ ]
835
+ },
836
+ "reason": {
837
+ "type": "string",
838
+ "minLength": 1,
839
+ "maxLength": 8192
840
+ },
841
+ "ext": {
842
+ "type": "object",
843
+ "maxProperties": 0,
844
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
845
+ },
846
+ "contractVersion": {
847
+ "type": "string",
848
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
849
+ }
850
+ }
851
+ },
852
+ "activation": {
853
+ "type": "object",
854
+ "additionalProperties": false,
855
+ "required": [
856
+ "schema",
857
+ "id",
858
+ "workspaceId",
859
+ "revision",
860
+ "actor",
861
+ "createdAt",
862
+ "digest",
863
+ "lessonId",
864
+ "lessonDigest",
865
+ "decisionId",
866
+ "harnessId",
867
+ "artifactDigest"
868
+ ],
869
+ "properties": {
870
+ "schema": {
871
+ "const": "mnstry.atelier-learning-activation@v1"
872
+ },
873
+ "id": {
874
+ "$ref": "#/$defs/id"
875
+ },
876
+ "workspaceId": {
877
+ "$ref": "#/$defs/id"
878
+ },
879
+ "revision": {
880
+ "type": "integer",
881
+ "minimum": 0,
882
+ "maximum": 1000000000
883
+ },
884
+ "actor": {
885
+ "$ref": "#/$defs/actor"
886
+ },
887
+ "createdAt": {
888
+ "type": "string",
889
+ "format": "date-time"
890
+ },
891
+ "digest": {
892
+ "$ref": "#/$defs/digest"
893
+ },
894
+ "lessonId": {
895
+ "$ref": "#/$defs/id"
896
+ },
897
+ "lessonDigest": {
898
+ "$ref": "#/$defs/digest"
899
+ },
900
+ "decisionId": {
901
+ "$ref": "#/$defs/id"
902
+ },
903
+ "harnessId": {
904
+ "$ref": "#/$defs/id"
905
+ },
906
+ "artifactDigest": {
907
+ "$ref": "#/$defs/digest"
908
+ },
909
+ "ext": {
910
+ "type": "object",
911
+ "maxProperties": 0,
912
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
913
+ },
914
+ "contractVersion": {
915
+ "type": "string",
916
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
917
+ }
918
+ }
919
+ },
920
+ "withdrawal": {
921
+ "type": "object",
922
+ "additionalProperties": false,
923
+ "required": [
924
+ "schema",
925
+ "id",
926
+ "workspaceId",
927
+ "revision",
928
+ "actor",
929
+ "createdAt",
930
+ "digest",
931
+ "activationId",
932
+ "reason"
933
+ ],
934
+ "properties": {
935
+ "schema": {
936
+ "const": "mnstry.atelier-learning-withdrawal@v1"
937
+ },
938
+ "id": {
939
+ "$ref": "#/$defs/id"
940
+ },
941
+ "workspaceId": {
942
+ "$ref": "#/$defs/id"
943
+ },
944
+ "revision": {
945
+ "type": "integer",
946
+ "minimum": 0,
947
+ "maximum": 1000000000
948
+ },
949
+ "actor": {
950
+ "$ref": "#/$defs/actor"
951
+ },
952
+ "createdAt": {
953
+ "type": "string",
954
+ "format": "date-time"
955
+ },
956
+ "digest": {
957
+ "$ref": "#/$defs/digest"
958
+ },
959
+ "activationId": {
960
+ "$ref": "#/$defs/id"
961
+ },
962
+ "reason": {
963
+ "type": "string",
964
+ "minLength": 1,
965
+ "maxLength": 8192
966
+ },
967
+ "ext": {
968
+ "type": "object",
969
+ "maxProperties": 0,
970
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
971
+ },
972
+ "contractVersion": {
973
+ "type": "string",
974
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
975
+ }
976
+ }
977
+ },
978
+ "record": {
979
+ "oneOf": [
980
+ {
981
+ "$ref": "#/$defs/observation"
982
+ },
983
+ {
984
+ "$ref": "#/$defs/lesson"
985
+ },
986
+ {
987
+ "$ref": "#/$defs/decision"
988
+ },
989
+ {
990
+ "$ref": "#/$defs/activation"
991
+ },
992
+ {
993
+ "$ref": "#/$defs/withdrawal"
994
+ }
995
+ ]
996
+ },
997
+ "event": {
998
+ "type": "object",
999
+ "additionalProperties": false,
1000
+ "required": [
1001
+ "schema",
1002
+ "workspaceId",
1003
+ "id",
1004
+ "revision",
1005
+ "previousDigest",
1006
+ "requestDigest",
1007
+ "request",
1008
+ "actor",
1009
+ "createdAt",
1010
+ "record",
1011
+ "digest"
1012
+ ],
1013
+ "properties": {
1014
+ "schema": {
1015
+ "const": "mnstry.atelier-learning-event@v1"
1016
+ },
1017
+ "workspaceId": {
1018
+ "$ref": "#/$defs/id"
1019
+ },
1020
+ "id": {
1021
+ "$ref": "#/$defs/id"
1022
+ },
1023
+ "revision": {
1024
+ "type": "integer",
1025
+ "minimum": 0,
1026
+ "maximum": 1000000000
1027
+ },
1028
+ "previousDigest": {
1029
+ "anyOf": [
1030
+ {
1031
+ "$ref": "#/$defs/digest"
1032
+ },
1033
+ {
1034
+ "type": "null"
1035
+ }
1036
+ ]
1037
+ },
1038
+ "requestDigest": {
1039
+ "$ref": "#/$defs/digest"
1040
+ },
1041
+ "request": {
1042
+ "$ref": "#/$defs/request"
1043
+ },
1044
+ "actor": {
1045
+ "$ref": "#/$defs/actor"
1046
+ },
1047
+ "createdAt": {
1048
+ "type": "string",
1049
+ "format": "date-time"
1050
+ },
1051
+ "record": {
1052
+ "$ref": "#/$defs/record"
1053
+ },
1054
+ "digest": {
1055
+ "$ref": "#/$defs/digest"
1056
+ },
1057
+ "ext": {
1058
+ "type": "object",
1059
+ "maxProperties": 0,
1060
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
1061
+ },
1062
+ "contractVersion": {
1063
+ "type": "string",
1064
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
1065
+ }
1066
+ }
1067
+ },
1068
+ "workspace": {
1069
+ "type": "object",
1070
+ "additionalProperties": false,
1071
+ "required": [
1072
+ "schema",
1073
+ "workspaceId"
1074
+ ],
1075
+ "properties": {
1076
+ "schema": {
1077
+ "const": "mnstry.atelier-learning-workspace@v1"
1078
+ },
1079
+ "workspaceId": {
1080
+ "$ref": "#/$defs/id"
1081
+ },
1082
+ "ext": {
1083
+ "type": "object",
1084
+ "maxProperties": 0,
1085
+ "description": "Reserved inert extension container; no extension members are interpreted in v1."
1086
+ },
1087
+ "contractVersion": {
1088
+ "type": "string",
1089
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
1090
+ }
1091
+ }
1092
+ }
1093
+ },
1094
+ "$comment": "contract revision 1.0.0; local asserted authority, inert artifacts, and private integrity history only."
1095
+ }