@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
package/docs/install.md CHANGED
@@ -34,19 +34,19 @@ The registry is the distribution channel of record, as `docs/continuity.md`
34
34
  commits:
35
35
 
36
36
  ```bash
37
- npm install --save-dev @mnstry/atelier@0.2.0-alpha.12
37
+ npm install --save-dev @mnstry/atelier@0.2.0-alpha.13
38
38
  ```
39
39
 
40
40
  Installing from the matching Git tag resolves to the same reviewed commit:
41
41
 
42
42
  ```bash
43
- npm install --save-dev "git+https://github.com/MNSTRY/atelier.git#v0.2.0-alpha.12"
43
+ npm install --save-dev "git+https://github.com/MNSTRY/atelier.git#v0.2.0-alpha.13"
44
44
  ```
45
45
 
46
46
  Or over SSH:
47
47
 
48
48
  ```bash
49
- npm install --save-dev "git+ssh://git@github.com/MNSTRY/atelier.git#v0.2.0-alpha.12"
49
+ npm install --save-dev "git+ssh://git@github.com/MNSTRY/atelier.git#v0.2.0-alpha.13"
50
50
  ```
51
51
 
52
52
  Keep the `@mnstry/` scope — see the command-form note above for why the
@@ -165,6 +165,9 @@ Generate `graph` and `project` output before starting the preview. Existing laun
165
165
  configs are not rewritten by these template changes. Append server arguments
166
166
  following a `--` separator after the configured Node arguments. The host process
167
167
  lifecycle still needs qualification before relying on preview restarts.
168
+ A repository that tracks `.html`, `.pdf` or `.docx` files needs a sidecar for
169
+ each before its first graph; see
170
+ [documents in an adopted repository](#documents-in-an-adopted-repository).
168
171
 
169
172
  Upgrade planning and application use the same optional `gh api user` fallback
170
173
  as ordinary boundary checks. Supply a valid explicit selector or mapped identity
@@ -202,6 +205,80 @@ atelier readiness export --dry-run --project ./atelier.project.json
202
205
 
203
206
  These commands read local files and write generated local outputs only.
204
207
 
208
+ ### Documents in an adopted repository
209
+
210
+ The knowledge graph reads every `.md`, `.html`, `.pdf` and `.docx` file that
211
+ Git does not ignore. Markdown carries its own metadata. Each of the other
212
+ three needs an adjacent `<file>.kg.json` sidecar, and `atelier graph` fails
213
+ until every one has one. A vault with a PDF attachment, a static website or a
214
+ folder of documents therefore fails its first graph after `adopt`.
215
+
216
+ `atelier enroll documents` writes the missing sidecars:
217
+
218
+ ```bash
219
+ atelier enroll documents --dry-run # list what would be written
220
+ atelier enroll documents # write them
221
+ atelier graph
222
+ ```
223
+
224
+ Each sidecar is the smallest classification that lets the graph pass: the
225
+ document's title (an HTML page's `atelier:title` or `<title>`, otherwise its
226
+ file name), an empty summary and tag list, no relations, the domain,
227
+ lifecycle and status the graph already infers from the path, the id
228
+ `<repo>:asset:<path>`, and the audience `private`. Two paths that fold to the
229
+ same id, such as `About Us.html` and `about-us.html`, each get a short digest
230
+ of their exact path. Enrollment never changes a sidecar that exists, including
231
+ one Git ignores or a link with the sidecar's name, and never changes a
232
+ source. It reads only what the graph reads (for HTML, the page's title), so
233
+ it honors the scope below and Git's ignore rules.
234
+
235
+ `--audience` chooses another audience. The repository's boundary policy must
236
+ allow it: a shared repository forbids `private`, so it needs, for example,
237
+ `--audience team`. A policy in `legacy-warning` mode only warns. Review the
238
+ sidecars, then commit them with the sources.
239
+
240
+ `atelier adopt --enroll-documents [--audience AUDIENCE]` adopts and enrolls
241
+ in one step. The audience is checked against the policy before adoption writes
242
+ anything.
243
+
244
+ ### Scoping what the graph reads
245
+
246
+ Decision (2026-09-25): a project-level scope for tracked paths belongs in
247
+ `atelier.project.json`, and it already has a place there: `setup.include`
248
+ and `setup.exclude`, which `adopt --include` and `adopt --exclude` record.
249
+
250
+ - Git's ignore rules cannot leave out a tracked file, and should not be asked
251
+ to: ignoring a committed build folder would hide it from Git as well.
252
+ - The scope must be tracked. The graph is committed, so it has to come out the
253
+ same on every machine; that is why Git-ignored paths are skipped. A scope in
254
+ `atelier.local.json` or `.atelier-local/` would make it differ per machine.
255
+ - The v1 project config contract already declares both fields, one path each.
256
+ Adoption wrote them and the `monorepo` profile requires `--include`, but
257
+ until this release nothing read them. Giving them their meaning does not
258
+ widen the contract. A new field, or a list, would widen a closed object,
259
+ which [contract stability](contract-stability.md) makes a new major version.
260
+
261
+ Each value is a path pattern relative to the folder that holds
262
+ `atelier.project.json`, in the dialect the boundary policy's `forbiddenPaths`
263
+ uses: `*` stays within one folder name, `**` crosses folders, case does not
264
+ matter, and a pattern without a slash matches a name at any depth (`_site`
265
+ leaves out every folder named `_site`). A path is outside the graph when it
266
+ or a folder above it matches `exclude`, or, when `include` is set, when
267
+ neither it nor a folder above it matches `include`. `exclude` wins. A sidecar
268
+ follows its source. A path outside the graph is treated exactly like a
269
+ Git-ignored one: no node, no sidecar demand, no orphan-sidecar error, and it
270
+ cannot be a link target or an embedded asset.
271
+
272
+ ```json
273
+ { "setup": { "profile": "single-repo", "exclude": "_site" } }
274
+ ```
275
+
276
+ Use `exclude` for tracked material that is not a source, such as a built
277
+ site. Use `atelier enroll documents` for documents that are sources. Each
278
+ field holds one pattern in v1; if one is not enough, open an issue, since a
279
+ list is a contract change. A project that already sets either field now gets
280
+ a graph over that scope: run `atelier graph` and commit the result.
281
+
205
282
  ## Upgrade path
206
283
 
207
284
  The starter commands create `atelier.lock.json` inside the copied workspace so
@@ -30,6 +30,11 @@ structure, missing-asset evidence, and format-specific completeness checks.
30
30
  Do not flatten a conversation export merely to satisfy a text-output API.
31
31
  Packet authoring can proceed before corpus ingestion.
32
32
 
33
+ The [progressive ingestion proposal](progressive-ingestion.md) describes a
34
+ possible coverage, routing and incremental-processing layer over this store.
35
+ It is a design proposal; those orchestration capabilities are not supplied by
36
+ the current intake API.
37
+
33
38
  ## Guides and private implementations
34
39
 
35
40
  `@mnstry/atelier/guides` and the guide schema define portable offers, inert
@@ -1,5 +1,25 @@
1
1
  # Integration contract decisions
2
2
 
3
+ ## Responsibility architecture
4
+
5
+ The [responsibility architecture](architecture.md) is the canonical naming and
6
+ composition model. Keep existing source/API identifiers as compatibility
7
+ surfaces. Responsibilities, roles, methods, resources, records and hosts have
8
+ distinct kinds and typed relationships. This decision adopts the architecture
9
+ direction; it does not declare every consumer implemented or qualified.
10
+
11
+ Use additive contracts for architecture bindings, practical cases, native ADR
12
+ snapshots and instruction adoption. Existing learning, intake, knowledge and
13
+ capability stores retain their domain ownership. Native ADR identity and
14
+ approvals remain with the repository that issued them. An imported decision
15
+ never becomes a new local approval automatically.
16
+
17
+ Preview and runtime must map authored fields to the same relevant domain rules.
18
+ Unsupported required behavior is a visible resolution failure. Installation,
19
+ actual loading, operation execution, durable readback and behavior assessment
20
+ remain separate evidence. Reconsider this architecture if a proposed workflow
21
+ requires a competing domain writer or an unrelated mandatory stage.
22
+
3
23
  <!-- mnstry-review-workflow: atelier-integration-implementation-r1 gate: implementation-readiness stage: closing -->
4
24
 
5
25
  These decisions implement the first local integration cut. They do not satisfy
@@ -12,8 +32,10 @@ independent review, publication or human acceptance.
12
32
  | Claim decision | Separate immutable decision aggregate and contract | Never insert new event types into legacy proposal aggregates. Stable request identity and expected version are mandatory. |
13
33
  | Document response | Separate passage-bound record | A question/correction is not a semantic claim or agreement. |
14
34
  | Owner handoff | Derived proposed change | No canonical apply or publication authority; cross-repository Git disclosure is a distinct event. |
15
- | Inspection bundle | Separate inert artifact; reuse disclosure/JCS | No active-state overwrite, execution, secret transfer or approval import. |
16
- | Pack compatibility | New versioned lifecycle declaration | Legacy packs remain inspectable; closed v1 contracts are not silently widened. |
35
+ | Inspection bundle | Separate inert artifact; reuse disclosure/JCS ([inspection-bundle.mjs](../src/collaboration/inspection-bundle.mjs); [prepareInspectionBundle](../src/collaboration/inspection-bundle.mjs#L37-L105)) | No active-state overwrite, execution, secret transfer or approval import ([prohibitedKeys](../src/collaboration/inspection-bundle.mjs#L16-L36), [inspectBundle](../src/collaboration/inspection-bundle.mjs#L106-L197), [read and write paths](../src/collaboration/inspection-bundle.mjs#L198-L223)). |
36
+ | Pack compatibility | New versioned lifecycle declaration ([lifecycle.mjs](../src/extension-packs/lifecycle.mjs); [inspectPackLifecycle](../src/extension-packs/lifecycle.mjs#L14-L121)) | Legacy packs remain inspectable; closed v1 contracts are not silently widened ([legacy packs inspectable; closed declaration and entries](../src/extension-packs/lifecycle.mjs#L14-L121), [rootVersion](../src/extension-packs/lifecycle.mjs#L7-L12)). |
37
+
38
+ <!-- Whole-file citations here rely on decision-practice definition revision three, which drafts on added as well as modified or removed lines. Uncited: Package provenance, Evidence snapshot, Claim decision and Document response await symbol-level citation support in the decision-practice consumer. -->
17
39
 
18
40
  Reuse existing private-file, ledger, origin/nonce, JSON validation and
19
41
  attestation primitives where applicable. Decisions retain complete history;
@@ -0,0 +1,72 @@
1
+ # Interaction and Reflection
2
+
3
+ Companion supplies the qualities and behavior of an interaction. Witness offers
4
+ revisable reflection on a person, work, an interface or a system. Coaching is an
5
+ optional mode tied to a chosen intention. One host owns the conversation floor,
6
+ effects and delivery; neither role creates a second conversation or personal
7
+ profile store.
8
+
9
+ The portable `@mnstry/atelier/reflection` API validates attributed observations
10
+ and assessments, qualifies exact evidence revisions, and prepares reflective
11
+ acts. An observation reports what a source says; an assessment interprets it.
12
+ Qualification checks provenance references, scope, purpose, withdrawal and
13
+ assistance. It does not determine semantic truth, psychological state or learning.
14
+ A system-friction assessment cannot become a claim of personal incapacity.
15
+ Independent-capacity claims require independent evidence about the same person,
16
+ and still remain attributed judgments with uncertainty and limits.
17
+
18
+ Correcting or withdrawing an observation changes its reference. Dependent
19
+ assessments and queued acts then become unavailable until deliberately revised.
20
+ Several assessors may disagree. The caller retains their histories and owns
21
+ correction, withdrawal, export and retention. This module does not silently
22
+ persist a personal model, enable monitoring, erase source records or publish them.
23
+
24
+ ## Typed acts and interaction policy
25
+
26
+ An act has an origin, purpose, scope, semantic meaning, wording, dependencies,
27
+ mode and expiry. Ask, explain, reflect, propose, challenge, acknowledge and repair
28
+ remain separate from delivery. A change in meaning or wording produces a changed
29
+ act digest and requires a new delivery identity rather than replaying an old ID.
30
+
31
+ Policy expresses Reflection/coaching availability, challenge, initiative,
32
+ pacing and communication criteria. The selector enforces scope, current evidence,
33
+ expiry, floor, pause and enabled modes. Clarity, warmth, candor, attribution,
34
+ uncertainty and repair are surfaced evaluation criteria. Their presence does not
35
+ prove that generated language exhibits them; representative human assessment is
36
+ still required. Ordinary work and Companion acts function with Reflection off.
37
+
38
+ `selectInteractionAct` returns selected, deferred or declined with reasons.
39
+ Selection grants no effect authority. Orientation pins for chosen intentions
40
+ and preferences come from their native owner; a name match cannot join contexts.
41
+ An empty current context supports ordinary conversation without tracking.
42
+
43
+ ## Host delivery contract
44
+
45
+ `createInteractionController({authorityId, host})` requires one host with:
46
+
47
+ | Method | Responsibility |
48
+ | --- | --- |
49
+ | `current()` | Return current policy, scoped observations/assessments/orientations, interaction state and time |
50
+ | `authorize(exactAct)` | Apply the existing host effect authority to the exact act digest, scope and purpose |
51
+ | `reserve(delivery)` | Durably reserve an idempotency key and serialize access to the conversation floor; return `created` |
52
+ | `send(delivery)` | Emit the exact text, observe interruption, and retain actual partial/full native delivery state |
53
+ | `read(key)` | Read the native reservation/delivery receipt, including key, authority, act digest, status and delivered text |
54
+ | `interrupt(request)` | Stop/reconcile the native effect and retain actual partial delivery |
55
+
56
+ Reservations must be durable and exclusive across controllers and processes.
57
+ The host rechecks its own live scope, authority and floor at emission and serializes
58
+ competing deliveries. The controller's pre-send recheck is additional protection,
59
+ not a replacement for atomic host admission. No raw network sender is included.
60
+
61
+ Receipt statuses are reserved, begun, completed, interrupted, failed and unknown.
62
+ A new controller reads an existing reservation instead of emitting again. Unknown
63
+ or interrupted output requires native reconciliation; automatic retries cannot
64
+ duplicate guidance. Readback must match the exact act and actual text prefix.
65
+ Completed delivery requires the complete text, and proves neither understanding
66
+ nor improvement. Repair is a separately selected act with its own identity.
67
+
68
+ The reference tests use a file-backed host to exercise actual partial output,
69
+ interruption, repair, controller restart, changed evidence and a lost response.
70
+ This qualifies orchestration against that test adapter. Production conversation
71
+ hosts, voice output, persistent personal tracking and human communication quality
72
+ need their own adoption and acceptance evidence.
@@ -5,6 +5,11 @@ source material. It is not a taxonomy and it is not runtime retrieval. It is a
5
5
  durable model of source nodes, evidence, relationships, diagnostics, and
6
6
  projection readiness.
7
7
 
8
+ For setting up useful domain concepts and testing whether the graph helps answer
9
+ work questions, follow [knowledge setup](knowledge-setup.md). It builds on this
10
+ canonical source graph and keeps domain concepts, source types, semantic
11
+ acceptance, and runtime authority distinct.
12
+
8
13
  ## Source Rules
9
14
 
10
15
  - Markdown documents may use front matter. A document with no `kg` block is
@@ -77,6 +82,21 @@ The check is one batched `git ls-files --others --ignored --exclude-standard
77
82
  --directory` per repository root, not a per-file `git check-ignore`, which is
78
83
  too slow to survive contact with a real workspace.
79
84
 
85
+ The project can also scope the census from its tracked config:
86
+ `setup.include` and `setup.exclude` in `atelier.project.json` are path
87
+ patterns relative to the config's folder, and a path outside that scope is
88
+ treated exactly like a Git-ignored one (no node, no sidecar demand, no orphan
89
+ error, no link or embed target). A sidecar follows its source. The scope is
90
+ tracked for the same reason ignored paths are skipped: every machine must walk
91
+ the same files. The rules and the decision behind them are in
92
+ [install](install.md#scoping-what-the-graph-reads).
93
+
94
+ `atelier enroll documents` writes the sidecar the census demands of every
95
+ non-Markdown document that has none, as the smallest classification that
96
+ lets the graph pass (audience `private` unless `--audience` says otherwise and
97
+ the boundary policy allows it). It reads the same census as `atelier graph`,
98
+ never changes an existing sidecar, and never changes a source.
99
+
80
100
  Repository *discovery* is deliberately not filtered this way: a git folder that
81
101
  appears in the workspace is an explicit decision for the operator to make (see
82
102
  the `external` repo kind), not something to drop silently.
@@ -0,0 +1,30 @@
1
+ # Additive integration reference
2
+
3
+ The [additive module sources](../../src/knowledge/participatory/index.mjs) accept the host's already received APIs. They create no editor, store, parser, accepted ontology or application route. The owning package must bind its supported public export before offering these functions to installed callers. This reference supplies no unsupported deep-import instruction.
4
+
5
+ ```js
6
+ // Host composition after native/public receiving; the release owns the import.
7
+ const guided = createGuidedContribution({
8
+ adapter: existingSourceBoundContributionAdapter,
9
+ caller: existingNativeKnowledgeHealthCaller,
10
+ same: existingCanonicalEquality,
11
+ });
12
+ const prepared = guided.prepareChoice({
13
+ joined: freshValidatedFindingJoin,
14
+ editorState: currentNativeEditorState,
15
+ contributionId: hostContributionId,
16
+ choiceId: hostChoiceId,
17
+ originalWords: exactParticipantWords,
18
+ interpretation: separateProposedInterpretation,
19
+ outcome: explicitParticipantOutcome,
20
+ participantChoice: actualParticipantChoice,
21
+ });
22
+ ```
23
+
24
+ The result is `chosen-not-retained`. The native caller's `retainDisposition` performs the existing two append steps and independent readbacks. Bind its `writeContribution`, `readContribution`, `writeDisposition` and `lookupDisposition` to the current native actor/source boundary. `checkDisposition` resolves an unknown result by lookup; `retryDisposition` requires an explicit retry with the same full record after checked absence. The adapter verifies source, saved passage and field; the owning host still checks currency and permission at effects.
25
+
26
+ `exampleRevision({joined,contribution,proposalId,changeId,decisionId})` creates only the invented workshop's proposed supporting-array change. It refuses another source, field or directed relationship. The output contains a native proposal and `selected-not-applied` intent. Receive the actual contribution/proposal, show the native preview, and obtain the participant's explicit selection before native `recordDecision` and draft `apply-selection`. Preparing an example proposal does not authorize either write. Native provenance rules still govern assistant responses; this proposal is labeled `invented-example-proposal`.
27
+
28
+ `guidanceFor(stage)` supplies concise copy and an existing-host navigation intent. `createGuidanceCue({React,Button})` renders that cue with the existing Runtime Button. It creates no input or editor. The host selects the cue from its validated state and decides whether a corresponding action is available; the cue grants no effect permission. Keep one stable cue ID, the existing editor key and the normal return-focus path. `onAction` requests navigation/check intent only; pending save has no action. Do not infer successful retention, source application or reassessment by advancing a step number.
29
+
30
+ For another repository, bind its real declared sources and supported check, field, saved occurrence, actor/store/head and normal source-writer route. Reassess after any source or evidence change. An unresolved mapping remains unsupported; do not match titles, translate old ranges, infer an ownership grant or reuse the workshop change generator on real material.
@@ -0,0 +1,96 @@
1
+ # Assessment API and existing commands
2
+
3
+ The additive `@mnstry/atelier/knowledge-health` export joins existing checker,
4
+ graph, parser and bounded context implementations. It adds no graph rule,
5
+ canonical model, editor/store, provider dispatch or root CLI.
6
+
7
+ ```js
8
+ import { resolveProjectConfig } from '@mnstry/atelier/project'
9
+ import { assessKnowledgeHealth } from '@mnstry/atelier/knowledge-health'
10
+ const project = resolveProjectConfig({
11
+ cwd: workspace, argv: ['--project', projectConfig], writeLocalState: false,
12
+ })
13
+ const result = assessKnowledgeHealth({
14
+ project, planPath: 'knowledge-plan.json',
15
+ relationId: 'checklist-pilot', questionId: 'readiness',
16
+ sourceRevisions, binding, currentSourceBytes,
17
+ })
18
+ ```
19
+
20
+ Those workspace/binding variables are caller inputs. The installed public
21
+ `initializeKnowledgeHealthExample` / `assessKnowledgeHealthExample` helpers
22
+ provide a complete invented invocation. The [example implementation](../../../src/knowledge-health/example.mjs)
23
+ shows its data binding; callers import the supported public entry above.
24
+
25
+ `sourceRevisions` is an explicit `[{repo,path,revision}]` entry for every censused
26
+ source. A binding contains:
27
+
28
+ ```json
29
+ {
30
+ "source":{"id":"demo:checklist","repo":"records","path":"checklist.md","sha256":"CURRENT_SHA256","revision":"OWNER_REVISION"},
31
+ "field":{"id":"kg.relations.supports","pointer":"/kg/relations/supports","format":"markdown-inline-array","start":0,"end":2,"quote":"[]"},
32
+ "authoring":{"storeId":"EXISTING_STORE","sourceId":"demo:checklist","artifactId":"EXISTING_ARTIFACT","fieldId":"kg.relations.supports","actorBindingId":"EXISTING_ACTOR_BINDING"}
33
+ }
34
+ ```
35
+
36
+ The offsets above are placeholders. Supply exact half-open UTF-8 offsets in
37
+ current source bytes, the owner's revision and existing authoring identity. The
38
+ parser probe proves the range addresses that declaration rather than matching
39
+ prose or another field. Only typed inline Markdown relation arrays are supported.
40
+ Wrong quotes, source pins, missing IDs, prose or unsupported profiles refuse.
41
+ Resolve project config again after it changes. Config/access/plan changes during
42
+ a read refuse. Effective resolved repository bindings join the scope digest.
43
+ The plan ceiling is 65,536 bytes; project/access ceilings are 1 MiB each.
44
+
45
+ | Result field | Meaning |
46
+ | --- | --- |
47
+ | `assessment` | Original native report/diagnostics/context, exact source/rule/read-set/declaration evidence, selected findings, coverage/currency and refusals. |
48
+ | `retrievalEvaluation` | Native graph-versus-lexical evaluation against frozen explicit expectations. Expected IDs never enter retrieval. |
49
+ | `context` | Existing-output projection with observations/denominators, provenance and explicit semantic/repository unknowns. It is not an accepted canonical. |
50
+
51
+ Complete current evidence produces native `needs-attention` or
52
+ `structurally-valid`. Omissions produce `partial` with no actionable edit target;
53
+ binding/evidence refusals produce `uncertain`; native invalid plan/graph produces
54
+ `invalid`. Both native invalid-report shapes remain original. None establishes
55
+ source rights, meaning, source application, human acceptance or repository use.
56
+
57
+ `createAssessmentProjector` is also available for qualified injected callers. It
58
+ requires original checker commit/tree/blob/source/schema/graph identities, raw
59
+ plan bytes, exact read-set/scope, native graph/context and the same owner binding.
60
+ Optional native evaluation makes stale expected pins a refusal for an
61
+ evaluation-dependent task. The workspace join reports structural reassessment
62
+ and frozen evaluation separately, preserving both facts after a correction.
63
+
64
+ `knowledgeHealthContext({assessment,graph,planBytes,agentSuggestions,
65
+ repositoryEvidence})` verifies exact native graph and raw plan digests. Suggestions
66
+ require bounded nonempty text, selected-source citations and provenance
67
+ `{actorId,method,version,recordId,planSha256,readSetSha256}`. They remain supplied,
68
+ unreviewed and semantically unknown; no provider runs. Repository evidence remains
69
+ caller-supplied/unverified and never infers declared/adopted/consumed/executed.
70
+
71
+ Graph digests include native location-dependent options. Relocation changes that
72
+ digest; source/read-set/field pins remain independently visible. Repeating the
73
+ same bounded workspace inputs is deterministic. Changed source/scope/rules
74
+ invalidate comparison identity; a package version alone cannot pin rules.
75
+
76
+ Existing corresponding-source commands are:
77
+
78
+ ```sh
79
+ atelier knowledge check --project ./kh-example/atelier.project.json --plan knowledge-plan.json
80
+ atelier knowledge context --project ./kh-example/atelier.project.json --plan knowledge-plan.json --question "What supports pilot readiness?" --mode graph
81
+ atelier knowledge evaluate --project ./kh-example/atelier.project.json --plan knowledge-plan.json
82
+ atelier graph --project ./kh-example/atelier.project.json
83
+ atelier graph --check --project ./kh-example/atelier.project.json
84
+ ```
85
+
86
+ `graph` writes a generated artifact; `--check` tests its exact freshness. The
87
+ legacy artifact keeps declared edges; the canonical API exposes ordinary links
88
+ and their origin too. Neither ordinary links nor reverse edges satisfy this rule.
89
+ `knowledge check` exits nonzero for invalid inputs/graph; `ok:true` may coexist
90
+ with warnings. Set CI warning policy explicitly. `knowledge evaluate` exits
91
+ nonzero for missing/stale graph-mode expected evidence. Omitted evidence can
92
+ yield `abstain-unverified`, not a verified answer.
93
+
94
+ There is no `atelier knowledge-health` command here. Use the public API and
95
+ [capability map](capabilities.md), which distinguishes inspected source commands
96
+ from executed supplier tests and published baseline availability.
@@ -0,0 +1,40 @@
1
+ # Capability map and retained tooling needs
2
+
3
+ `KNOWLEDGE_HEALTH_CAPABILITIES` from the public assessment entry contains exact
4
+ source commit/tree/blob/file references, baseline availability, verification
5
+ scope and smallest receiving corrections. It is an inventory projection, not
6
+ release certification or semantic/human acceptance.
7
+
8
+ | Need | Actual existing surface | Evidence and limit |
9
+ | --- | --- | --- |
10
+ | Graph structure | `./graph`: `buildCanonicalGraph`, `createGraphFileCache`; `graph` / `graph --check` | Native API used in this receiving rehearsal; public alpha.12 includes canonical graph. Legacy generated artifact has declared edges only. |
11
+ | Typed relation | Internal `inspectKnowledgePlan`; current `knowledge check` | Actual existing checker used; alpha.12 lacks knowledge-plan modules. Additive API joins it without rewriting rules. |
12
+ | Agent-readable evidence | Internal `createKnowledgeContext`; current `knowledge context --mode graph|lexical` | Native function used. Source bytes/digests, census, omissions and resource limits retained; no provider execution or recipient-sharing authority. |
13
+ | Task evidence/abstention | Internal `evaluateKnowledgeQuestions`; current `knowledge evaluate` | Native function used. Expected pins stay outside retrieval. It does not judge answer meaning or unseen/human value. |
14
+ | Ingestion evaluation | Current `./ingestion/evaluation`: `evaluateIngestionTrial`, `ingestionEvaluationDigest` | Actual evaluator used on invented calibration. Exact multiset scoring and null costs; no held-out/semantic pass. Alpha.12 lacks this module. |
15
+ | Local extraction/proposals | Current `./ingestion`: `createIngestionStore`; `ingest plan/run/status/query`; current `./knowledge` contribution/context helpers | Static inspection. Bounded local text/CSV/JSON and lexical evidence; no semantic acceptance or raw graph enrollment. |
16
+ | Semantic lifecycle | Internal `createSemanticOperation`, dependency witnesses and reconsideration | Static only, not a public knowledge export here. Owner-bound recorded callbacks remain proposal-only; acceptance pending. |
17
+ | Repository freshness | `./runtime/observation`: `observeRepository`, `validateRepositoryObservation`; owning `sync status` / `sync trace` | Public baseline file/export verified, current source inspected. Git/runtime observation cannot prove adoption/consumption/execution, causal lineage or remote freshness. |
18
+ | Repository handoff | Current `./harnesses`: `inspectHarness`, `createHarnessHandoff`, `verifyHarnessHandoff`, `reconcileKnowledge`; `harness inspect/verify` | Static only. Complete ledgers and explicit dependency snapshots; actual adopter/execution evidence separate. |
19
+ | Readiness/freshness | `./readiness`: `buildReadiness`; `readiness --check`, `generated check` | Public baseline verified, source inspected. Existing artifact/schema/freshness checks do not establish source meaning or human value. |
20
+ | Authoring/hosts | `./coauthor`: `createSession`, `transition`, `replaySession`; existing store/presentation/runtime/Obsidian; current knowledge dashboard/session and sidecar | Static only in this supplier. Mounted editor/store owns apply/save; native and participant proof separate. |
21
+ | Normal initialization | Current `atelier init --template knowledge-workspace --target ./workspace` and its shipped template | Source dispatch inspected; public alpha.12 lacks this dispatch/template. Test both from the exact official new archive and published version. The explicit fixture helper is not that test. |
22
+
23
+ Keep S2–S5 tooling work visible:
24
+
25
+ - **S2:** qualifiers, contradiction/identity, optional bounded agent cost/value,
26
+ private perspectives and scoped learning. Reuse native semantic/contribution,
27
+ evaluation and learning primitives; human source-supported trials remain open.
28
+ - **S3:** declared/adopted/consumed/executed traces, drift, partial refresh,
29
+ withdrawal/recovery. Join actual observation/runtime/harness evidence. This
30
+ context defaults all four use stages to unobserved.
31
+ - **S4:** other hosts/media/domains, keyboard/IME/zoom/text scaling, accessible
32
+ graph alternatives and purposeful scale. Existing source-format,
33
+ presentation/runtime and budgets are starting points; installed measurements
34
+ remain host-specific. This proof is Node22/macOS only.
35
+ - **S5:** ownership, documentation, rollback/recovery, maintenance and complete
36
+ programme closure. A public kit is an input to those journeys, not their proof.
37
+
38
+ Preserve source evidence, structure, interpretations, proposals, owner decisions
39
+ and execution as distinct records. Reuse existing canonicals and one editor/store
40
+ write boundary. No replacement graph, health score or canonical registry is added.
@@ -0,0 +1,27 @@
1
+ # Recorded calibration and broader evaluation
2
+
3
+ This public invented recorded trial uses the existing ingestion evaluator. It
4
+ runs no processor, provider or held-out bank:
5
+
6
+ ```sh
7
+ node --input-type=module -e "import {evaluateKnowledgeHealthCalibration as evaluate} from '@mnstry/atelier/knowledge-health'; console.log(JSON.stringify(evaluate(), null, 2))"
8
+ ```
9
+
10
+ The [suite](../../../fixtures/knowledge-health/calibration-suite.json) expects one
11
+ evidence item; the [trial](../../../fixtures/knowledge-health/calibration-trial.json)
12
+ returns it twice. Native scoring reports one matched and one unexpected item.
13
+ Cost remains null, human verdict unassessed, semantic qualification not-assessed.
14
+ Calibration-only cases cannot pass held-out qualification.
15
+
16
+ For a recorded evaluation, use the existing `./ingestion/evaluation` exports. Pin
17
+ suite/processor/configuration/sources; retain exact evidence locators/text,
18
+ outcome, attempts, measured latency/cost and any human-assessment provenance.
19
+ Unknown measurements stay unknown. This evaluates extraction evidence, not
20
+ semantic support or authenticated human judgment.
21
+
22
+ `knowledge evaluate` separately compares graph versus lexical retrieval using
23
+ the typed plan's frozen expectations. Measure actual answer support, qualifiers,
24
+ contradiction/identity and correction effort through an authorized semantic/human
25
+ trial. Supplied agent suggestions can retain exact citations/provenance but
26
+ cannot accept canonical truth. See [capabilities](capabilities.md) for the broader
27
+ repository/host/maintenance work.
@@ -0,0 +1,30 @@
1
+ # Assessment exercise run sheet
2
+
3
+ Before the session, pin the published version and rehearse [quickstart](quickstart.md)
4
+ in a fresh npm consumer. Verify the export and fixture/docs inventory in that
5
+ exact artifact. Declared Node ranges exceed this supplier's Node22/macOS proof;
6
+ test the intended host, Git and editor. Record npm integrity/readback and installed
7
+ journey evidence separately from a local archive check.
8
+
9
+ 1. Let the participant read both sources and describe the useful decision and
10
+ remaining qualifications.
11
+ 2. Run assessment and navigate native message, exact declaration and selected
12
+ source evidence. Explain task scope and direction.
13
+ 3. Invite their own words, interpretation, disagreement, perspective-only or
14
+ pause. Keep these separate from source truth.
15
+ 4. Preview the one-field revision; let the participant choose whether to apply
16
+ it through the owning editor. Save and reopen.
17
+ 5. Rerun; compare finding/pins and unchanged caveats. Inspect stale frozen
18
+ expectations as an independent evaluation fact.
19
+ 6. Record actual understanding, usefulness, confusion and correction effort.
20
+ Automated tests cannot establish these human outcomes.
21
+
22
+ Predict and test a reverse edge, ordinary link, baseline restoration or bounded
23
+ source omission. No model execution is needed. Use existing host contribution
24
+ and save routes for a guided editor; verify original words, preview/refusal/pause,
25
+ apply/readback/reopen/reassessment in that actual mounted host before claiming
26
+ support. This kit supplies assessment/evidence, not host acceptance.
27
+
28
+ Retain participant consent/audience boundaries, baseline/result identities and
29
+ feedback. [Evaluation](evaluation.md) and [capabilities](capabilities.md) preserve
30
+ semantic, actual repository, cross-host/accessibility/scale and maintenance gaps.
@@ -0,0 +1,61 @@
1
+ # Source-bound Knowledge Health exercise
2
+
3
+ Use a local Git workspace and a pinned Atelier release that includes
4
+ `@mnstry/atelier/knowledge-health`. Atelier declares Node
5
+ `>=22.18.0 <23 || >=24.13.1 <25`; this supplier rehearsal used Node22.18 on
6
+ macOS. Git must be on PATH. The invented public exercise needs no model account.
7
+
8
+ Replace `VERSION_FROM_FACILITATOR` with the exact workshop release version:
9
+
10
+ ```sh
11
+ npm install --save-exact @mnstry/atelier@VERSION_FROM_FACILITATOR
12
+ node --input-type=module -e "import('@mnstry/atelier/knowledge-health').then(m => console.log(typeof m.assessKnowledgeHealth))"
13
+ ```
14
+
15
+ The import should print `function`. Public alpha.12 does not include this export,
16
+ knowledge-plan/context modules or the normal `knowledge-workspace` initializer.
17
+ See [troubleshooting](troubleshooting.md) if your installed version lacks them.
18
+
19
+ Create a new disposable directory; the helper refuses an existing directory:
20
+
21
+ ```sh
22
+ node --input-type=module -e "import {initializeKnowledgeHealthExample as init} from '@mnstry/atelier/knowledge-health'; init('./kh-example')"
23
+ node --input-type=module -e "import {assessKnowledgeHealthExample as assess} from '@mnstry/atelier/knowledge-health'; console.log(JSON.stringify(assess('./kh-example'), null, 2))" > before.json
24
+ ```
25
+
26
+ Open `kh-example/records/checklist.md` in your editor. Its typed declaration is
27
+ `supports: []`. The report says `checklist-pilot` has no declared edge in the
28
+ required direction. Inspect the exact source digest/content revision, declaration
29
+ quote and UTF-8 byte range in the finding, the native report in
30
+ `assessment.original.report`, and selected source text in
31
+ `assessment.original.context.sources`.
32
+
33
+ The source says the pilot has not been approved and no allocation decision is
34
+ recorded. Record your own words and interpretation separately. You may disagree,
35
+ leave a perspective without revising, or pause. The structural report does not
36
+ decide what the source means or require a write.
37
+
38
+ If you choose the supplied correction, compare your file with the installed
39
+ `fixtures/knowledge-health/corrected/checklist.md`. It changes only the declaration
40
+ to `supports: ["demo:pilot"]`. Apply that change through your existing editor,
41
+ save and reopen the local file. Preserve the body and its qualifications. The
42
+ assessment API itself writes no source.
43
+
44
+ ```sh
45
+ node --input-type=module -e "import {assessKnowledgeHealthExample as assess} from '@mnstry/atelier/knowledge-health'; console.log(JSON.stringify(assess('./kh-example'), null, 2))" > after.json
46
+ ```
47
+
48
+ The current structural report should be `structurally-valid` with zero selected
49
+ findings and one matching declared edge. Its source/read-set/comparison pins
50
+ change; the earlier report remains your baseline. Compare the
51
+ [expected summary](../../../fixtures/knowledge-health/expected-summary.json).
52
+
53
+ `retrievalEvaluation` still reports the changed checklist as stale against frozen
54
+ baseline expectations. Review and explicitly update an evaluation baseline when
55
+ appropriate; never silently replace expected pins to make it pass. Approval,
56
+ funding, semantic support, adoption and participant usefulness remain unknown.
57
+
58
+ Use [the API guide](api.md) for an existing source. Example `content-sha256:`
59
+ revisions and invented actor/store labels are fixture evidence, not authenticated
60
+ identity, durable store heads or write authority. The explicit fixture helper
61
+ does not prove normal package `init` or the actual guided editor/save journey.
@@ -0,0 +1,23 @@
1
+ # Troubleshooting and recovery
2
+
3
+ | Observation | Next action |
4
+ | --- | --- |
5
+ | Export/knowledge command missing | Check the exact installed version/export map. Alpha.12 lacks the new seam. Use the facilitator's pinned release, never a private checkout import. |
6
+ | Example directory exists | Choose a new directory; retain earlier source/reports. |
7
+ | Git unavailable | Install Git normally, then initialize a new disposable example. |
8
+ | Rule identity drift | Retain the result and reinstall the exact pinned audited version. Source owner regenerates identity for changed candidates. |
9
+ | Config/scope changed | Resolve current project/repository bindings again; rerun without concurrent config/access/plan edits. |
10
+ | Stale binding/quote | Reopen through the owner, read actual durable head/bytes and rebuild the exact binding. A digest grants no write permission. |
11
+ | Unsupported profile | Use a typed inline relation declaration for this rule. Keep prose interpretation separate; do not invent its relation. |
12
+ | Partial evidence | Inspect omissions/denominators and current availability/scope/resource bounds. Partial context cannot prove absence or semantic failure. |
13
+ | Cleared structure, stale evaluation | Review frozen expectations separately; explicitly authorize a new baseline if needed. |
14
+ | Generated graph stale | Run existing `graph`, then `graph --check` for the same disposable project. This refreshes a projection, not declarations. |
15
+ | Repository use unknown | Use owning observation/runtime/harness records; a local Git head or copied package does not prove adoption/execution. |
16
+
17
+ Undo the invented correction through your editor by restoring `supports: []`,
18
+ save/reopen and rerun. Keep earlier reports. The finding should return with
19
+ current pins. No automatic source retry/rollback occurs in this API.
20
+
21
+ An actual host preview/save/recovery failure stays with its existing owning
22
+ operation/head/readback route. Preserve ambiguous-save uncertainty. Native
23
+ undo/IME/focus, installed recovery and participant acceptance remain separate.
@@ -0,0 +1,16 @@
1
+ # Atelier Dev Day run sheet
2
+
3
+ Rehearsal target: Wednesday 7 October 2026. In-person use: Thursday 8 October 2026, Asia/Makassar. This is a planned protocol; no participant result has been observed here.
4
+
5
+ Before the event, rehearse the exact published version on a clean consumer. Record package version, integrity, tested Mac/Node, normal installed entry, public example and owning source route. Bring the pinned release and verified quickstart. A local tarball run and registry installation are separate records. If the full guided journey is unavailable, disclose that limit and use only the supported baseline exercise; do not present it as the complete delivery.
6
+
7
+ Allow roughly 25–35 minutes for the exercise, adapting to the participant. Explain that their words, disagreement and decision to pause remain theirs. Ask whether they want their feedback recorded, use a participant code rather than a name, and preserve exact words only within the agreed note custody. They may decline or stop at any point.
8
+
9
+ 1. Ask what the participant currently thinks the source relationship means. Record their explanation and confidence before showing the finding. Ask what evidence would change their view.
10
+ 2. Open the installed public example through its normal entry. Let them locate the source passage and supporting evidence. Ask them to explain the finding in their own words, including what the tool cannot establish.
11
+ 3. Invite a contribution relevant to the example. Preserve their exact original words. Let them inspect any proposed interpretation and choose agreement, disagreement, perspective-only or pause. Do not reinterpret a pause as acceptance.
12
+ 4. Let them inspect the proposed revision and preview. Ask what will change, who owns the write, and what should remain unchanged. Apply only through the example's existing owning route after their explicit choice. Saving words and applying a source correction are different actions.
13
+ 5. Verify the exact accepted readback, reopen through the normal entry, and rerun the affected check. Let the participant explain what changed and what remains uncertain. Preserve a historical finding/context rather than relabeling it current.
14
+ 6. Ask what was difficult, whether the contribution felt meaningful, and whether the result was useful. Record an exact quotation if they agreed, elapsed time and assistance used. Separate their judgment from facilitator interpretation and automated results.
15
+
16
+ If a write is uncertain, preserve the original operation ID and full intent. Use the existing original-ID lookup/readback before any admitted identical retry. Keep the interface in an unconfirmed/checking state until readback resolves it. Do not create a new operation ID, erase history or show Saved early. If the owning route cannot resolve it, stop the write step and retain the trace for support.