@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
@@ -0,0 +1,22 @@
1
+ # Participant response and separate Review
2
+
3
+ This public workshop uses the existing local Knowledge editor and ordinary coauthor drafts. Its author label is locally asserted. Saved drafts and proposal retention do not establish native finding disposition, authentication, semantic support, release readiness or human acceptance.
4
+
5
+ 1. Start Workshop against the current `workshop-readiness` finding. Open its captured evidence, source declaration, anchor and finding fingerprints.
6
+ 2. Record your original words, then save and continue. The consumer preserves lossless wording within 512 UTF-8 bytes. Original words cannot be replaced through Propose.
7
+ 3. Record a separate optional interpretation, then save and continue. Leaving it blank records an explicitly empty interpretation. Proposed interpretation requires Confirm or Keep original wording before saving.
8
+ 4. Choose Note, Perspective, Disagreement or Pause, then save and continue. Perspective retains the existing `perspective-only` value. Pause is a response choice; the session Pause control remains a separate navigation action.
9
+ 5. Read the original contribution and choice event IDs, descriptor/event-history readback and immutable saved-value readback. A save request ID identifies the save receipt and differs from the original answer ID. An unsaved choice remains unconfirmed.
10
+ 6. Review displays the current `[]` declaration and proposed `["devday:workshop"]` declaration. Return removes the preview and makes no request. Selecting the draft starts a separate linked Review session. Record selected draft, save it, continue, then reload or reopen the same session from history before preparing the handoff.
11
+ 7. The copy-only source-owner handoff retains original words, optional interpretation, four-choice meaning, original contribution/choice IDs, contributor session, selected save receipt, source/anchor/read set and all six finding fingerprints. Foundation owns durable proposal retention and original-identity lookup in its existing sidecar/proposals implementation. That owner work remains prospective until applied and qualified.
12
+ 8. The source owner checks the bound source digest and exact before/after UTF-8 declaration, edits the exact declaration through the ordinary repository route, reads it back, refreshes expected evidence and reruns the same assessment/question. Keep the earlier finding, contribution and selected draft as history. Automated Obsidian/frontmatter apply remains separate and keeps its refusals.
13
+
14
+ ## Recovery and storage meaning
15
+
16
+ Retry first looks up the original request. Observed returns the retained result; not-found permits the same complete event intent to retry; unknown keeps the original intent without appending. A Review start is looked up as `kg-<original request UUID>`, independently of its contributor session ID. No successor UUID is generated during retry. Missing descriptors, ledger custody or immutable values remain unknown/unavailable.
17
+
18
+ The existing draft engine requires nonempty text. This consumer stores optional interpretation as the inert JSON text `{ "text": "..." }`, including the empty string. The editor and history decode it for display. Its save receipt's value digest binds the encoded text; it does not claim to bind the decoded string. Existing draft schema, event ledger, save/recovery rules and values directory remain authoritative.
19
+
20
+ `readSavedFields` reads the existing verified event chain and existing immutable values under the existing operation lock. It refuses redirected, missing or changed values and never reconstructs them. Reopen requires both owning readbacks to agree. Earlier descriptors without the participant profile marker retain their legacy revision history; new sessions use four responses and a separate Review.
21
+
22
+ Source-only authored cases accompany this change. No tests, browser journey, installed package, retention readback, source edit or release was executed by this supplier attempt.
@@ -0,0 +1,107 @@
1
+ # Use the public workshop profile
2
+
3
+ Use the exact package version and integrity supplied by the release owner. This
4
+ profile is a source contribution until it is admitted, released and rehearsed.
5
+
6
+ In an empty consumer directory, install that version and create a new workshop:
7
+
8
+ ```sh
9
+ npm install --save-exact "@mnstry/atelier@$ATELIER_DEVDAY_VERSION"
10
+ ```
11
+
12
+ ```js
13
+ import { initializeKnowledgeHealthWorkshop } from '@mnstry/atelier/knowledge-health'
14
+ initializeKnowledgeHealthWorkshop('./workshop')
15
+ ```
16
+
17
+ Build its graph and projection, then start the existing loopback host:
18
+
19
+ ```sh
20
+ npx --no-install atelier graph --project ./workshop/atelier.project.json
21
+ npx --no-install atelier build --project ./workshop/atelier.project.json
22
+ npx --no-install atelier server --knowledge --project ./workshop/atelier.project.json --port=0
23
+ ```
24
+
25
+ Open the printed URL at `/knowledge`. The Workshop profile appears when the
26
+ current invented checklist has the actionable missing supporting relationship.
27
+ Read the finding and both sources before responding.
28
+
29
+ ## Retain your response
30
+
31
+ 1. Record your original words and save the private draft.
32
+ 2. Record a separate interpretation. **Propose revised wording** shows the
33
+ confirmation step; confirm or keep the original wording, then save.
34
+ 3. Enter one exact choice yourself: `note`, `perspective-only`, `disagreement`
35
+ or `pause`. Save it. These responses retain different meanings, and a
36
+ proposed choice is refused.
37
+
38
+ **Review** is a separate, optional action. It becomes available after all three
39
+ fields are saved and read back. It opens a second session with one field:
40
+ enter `["devday:workshop"]` there and save it to select the draft declaration.
41
+ See [participant response](participant-response.md).
42
+
43
+ The **Pause** control pauses the session and retains its existing state. A
44
+ saved `pause` choice records your response without selecting a source edit.
45
+
46
+ The same native text field stays available while a request is pending. Later
47
+ wording and composition remain unsaved until you record them. Export the
48
+ snapshot before closing the tab when wording or a request remains unresolved.
49
+ Closed-tab browser recovery, native undo and keyboard behavior still require
50
+ qualification in the receiving browser.
51
+
52
+ If a reply is lost, **Retry exact request** first looks up its original ID in
53
+ durable history. A known retained event is read back without another append.
54
+ An unknown outcome retains the request for inspection. A source change leaves
55
+ earlier history readable and refuses new writes to the old session.
56
+
57
+ ## Review a source-owner handoff
58
+
59
+ After the selected draft is saved in the Review session, **Prepare
60
+ source-owner handoff** reads both sessions back from durable storage and
61
+ retains one copy-only proposal in the existing local proposal store. The
62
+ proposal holds the original words, interpretation, choice, selected
63
+ declaration, six finding reference fields, source, anchor, read set and the
64
+ saved draft receipts, unshortened. The response names the proposal ID. Read the
65
+ proposal back at `/api/proposals/<id>` or on the `/proposals` page.
66
+
67
+ Repeating the request looks up the original saved receipt before anything is
68
+ appended. The same handoff returns the same proposal. A different value under
69
+ the same receipt is refused. If the source has changed since, a proposal that
70
+ was already retained is still read back, and nothing new is retained. A
71
+ missing or altered saved draft, or a handoff too large to keep whole, is
72
+ refused. An unreadable proposal ledger is reported as unknown: inspect it, then
73
+ repeat the same request. A retained proposal has status `proposed`. It is not a
74
+ review decision and it applies no source change.
75
+
76
+ The normal Knowledge host has no source-apply endpoint. A source owner may
77
+ review and edit the exact declaration using normal repository editing, then
78
+ read it back and reassess:
79
+
80
+ ```js
81
+ import { createPublicWorkshopComposition } from '@mnstry/atelier/knowledge-health'
82
+ const workshop = createPublicWorkshopComposition({ workspaceRoot: './workshop' })
83
+ console.log(workshop.inspect())
84
+ console.log(workshop.read(savedSessionId))
85
+ ```
86
+
87
+ Keep the frozen expected evidence. A cleared relationship finding can still
88
+ leave `devday:checklist` stale in question evaluation. Refreshing expected
89
+ evidence is a separate explicit source-owner action. Neither result establishes
90
+ semantic support, readiness or human acceptance.
91
+
92
+ ## API and authority
93
+
94
+ `createPublicWorkshopComposition` delegates `start`, `event`, `lookup`, `read`,
95
+ `recover` and `list` to the existing Knowledge sessions and durable coauthor
96
+ store. `profile()` provides current evidence and the start snapshot;
97
+ `prepareHandoff(sessionId)` prepares the copy-only handoff after durable readback.
98
+ Use the existing session request shapes. The author is locally asserted.
99
+
100
+ This profile saves ordinary public coauthor drafts. Its context retains the
101
+ six finding fields; it does not issue a native typed finding-disposition receipt.
102
+ It adds no source writer, ledger, canonical model, editor or server.
103
+
104
+ The public Obsidian source-apply primitive is available under
105
+ `@mnstry/atelier/obsidian/edits`. It requires its admitted workspace, vault,
106
+ generation, policy and authored-body lens. Its compatibility with this workshop
107
+ frontmatter remains an owner binding gap; these controls must remain enforced.
@@ -0,0 +1,18 @@
1
+ # Start with the pinned public package
2
+
3
+ This quickstart covers the published baseline, 0.2.0-alpha.12. It gives a public invented graph example and existing coauthor capabilities. The full Knowledge Health guided journey is a release-owner join; it is not present in this baseline installation.
4
+
5
+ Use Node 22.18.0 for the tested rehearsal. Create a new empty directory and install the exact version:
6
+
7
+ npm install --save-exact @mnstry/atelier@0.2.0-alpha.12
8
+ ./node_modules/.bin/atelier --version
9
+ ./node_modules/.bin/atelier init --template sample-workspace --target example
10
+ cd example
11
+ ../node_modules/.bin/atelier graph
12
+ ../node_modules/.bin/atelier project
13
+
14
+ The graph and projection describe the installed invented example. Read its source documents alongside the result. A structural check does not decide whether a real relationship is meaningful or accepted by its owner.
15
+
16
+ These commands use the installed bin. They do not download a moving latest version or require a publisher checkout. The tested docs inside the installation include README.md, docs/knowledge-graph.md and docs/coauthor-session.md. The exported API families include @mnstry/atelier/graph, @mnstry/atelier/project and @mnstry/atelier/coauthor. Use only the actual version's declared exports.
17
+
18
+ For the Dev Day release, the facilitator must first receive and rehearse its exact version, normal example entry, guided authoring entry and owning correction route. Replace the pinned version only after that receiving. Do not substitute an unreleased source template or a private editor for an installed capability. Keep the tested package integrity and the separate tarball/registry reports with the handover.
@@ -0,0 +1,22 @@
1
+ # Support and recovery
2
+
3
+ | Surface | Evidence | Limit |
4
+ | --- | --- | --- |
5
+ | macOS, Node 22.18.0 | Clean public baseline registry and tarball consumer reports | Full Dev Day candidate remains pending receiving |
6
+ | Node 24.13.1–24.x | Package declares support | No run in this packet |
7
+ | Linux | Package may run there | No platform qualification in this packet |
8
+ | Windows | No consumer run here | This proof harness refuses Windows execution until separately qualified |
9
+ | Guided Knowledge Health UI | Existing native suppliers have separate proof | Not installed by the public baseline |
10
+ | Human understanding/usefulness | Predeclared participant protocol | Actual event observations remain open |
11
+
12
+ If installation fails, keep the exact version, registry integrity, Node/npm version and error. Do not add publisher overrides or switch to latest to hide the error. Retry a network fetch only after identifying the network failure; a save/application retry follows its own operation lookup and fencing contract.
13
+
14
+ If a command or example is missing, check the installed package's bin, exports and files. In the observed baseline, normal init refused knowledge-workspace and listed private-domain, shared-project, sample-workspace, distribution and external-project. Use the tested sample-workspace baseline only for its supported graph exercise. The full guided example requires the new release owner's receiving.
15
+
16
+ If source or repository identity changed, stop the affected write. Preserve the original finding/source/field/revision, exact words and pending intent. Refresh through the supported binding/assessment route and distinguish historical context from the current source. The tested baseline coauthor CLI refused stale revision and source drift while retaining its saved state.
17
+
18
+ If save/application is unknown, preserve the original ID and complete record and use its authoritative lookup/readback. A missing reply is not proof that nothing happened. Resend only identical intent after the owning contract's authoritative absence/fence and explicit retry decision. Do not reset or compact the ledger as a recovery shortcut.
19
+
20
+ For withdrawal, close the current component and disable unavailable typed controls. Preserve the ledger. Use only an owner-qualified previous reader; an older typed reader may refuse newer events even while ordinary operations work. Re-enter the qualified current reader for complete historical context. This packet does not operate a participant's retained private state or install a rollback.
21
+
22
+ Provide support with the pinned package/candidate, failed step, expected/observed behavior, original IDs, checked readback, public example source digests and scoped cleanup. Exclude tokens, private documents and unrelated histories. Preserve the original failure and its correction rather than replacing it with a later pass.
@@ -0,0 +1,17 @@
1
+ # Follow one finding
2
+
3
+ Allow about 20 minutes. You can stop at any step, disagree with the proposed relationship, or keep a perspective without applying a revision.
4
+
5
+ 1. **Read the two sources.** Open the checklist and workshop proposal in the supported guided host. Notice the empty supporting declaration in the checklist. In the graph, find both source identities and the missing declared relationship. The graph is a view of the sources.
6
+ 2. **Inspect the finding and evidence.** Read the question and the exact `[]` declaration. Open the check's evidence details. Confirm this is the current checklist and saved passage. A missing declaration does not mean the workshop is unsafe or that the relationship must be added.
7
+ 3. **Add your words.** In the existing passage contribution input, write one sentence about what you understand or question. For example: “The checklist may support the workshop, but it should not approve it.” This is an invitation; use your own words. The current native note limit is 512 UTF-8 bytes, so some characters use more than one byte.
8
+ 4. **Keep interpretation separate.** Read the proposed interpretation, if one is offered. It must be separately labeled and leave your original words intact. You may correct it or leave it empty. Nothing in this exercise requires a model call.
9
+ 5. **Choose how to keep it.** Explicitly choose Note, Perspective, Disagreement or Pause, then save your words and choice. Read the retained words and separate interpretation. Until both native readbacks are verified, a choice can remain unconfirmed even when the words are saved. You may return to writing without continuing.
10
+ 6. **Preview a revision.** If you want to explore the example proposal, open the existing Review. Compare `[]` with `["devday:workshop"]`. The proposed change adds only the supporting declaration; it does not approve the workshop. Select it only if you choose. Back to writing leaves it unapplied.
11
+ 7. **Apply to the working draft and reopen.** Use the existing selected-application action. Wait for verified readback, then reopen the saved draft. Check that your selected declaration is there. The original authored source still contains `[]` until its owner changes it.
12
+ 8. **Let the source owner act.** On this disposable copy, the facilitator may designate you as its source owner. Review and apply the exact declaration through the normal repository editing route, then read the file back. Ownership of this example gives no permission to write another repository. If you are not its owner, keep the draft as a proposal.
13
+ 9. **Check the new evidence.** Refresh the source's expected-evidence hash through the owning route and rerun the same question evaluation and relationship check. Compare old and new source evidence. The supported structural gap should disappear; the words, old finding and chosen perspective remain history. Meaning and your agreement remain open to you.
14
+
15
+ Finish with one sentence: what did the check help you see, and what did you still have to decide? No automatic walkthrough can answer that on your behalf.
16
+
17
+ If the host lacks one of these steps, use [support and recovery](support.md) and record that exact missing step. Do not replace it with an invented command or an unrelated source.
@@ -0,0 +1,20 @@
1
+ # Facilitator run sheet
2
+
3
+ Use the exact supported release and one new disposable workshop copy per participant. The kit's target session is Thursday 8 October 2026; rehearse the installed version on Wednesday 7 October. Those dates do not prove publication or participant acceptance.
4
+
5
+ Before the session, obtain the release owner's verified version and guided entry. Install that exact version using the package's tested quickstart, check its documented Node/Git/browser prerequisites, and rehearse the whole [exercise](exercise.md) from a clean copy without private paths, developer imports or environment overrides. Do not start until the public launch, copy/open, contribution, interpretation, Review, source-owner correction, readback/reopen and reassessment steps are available. Keep any genuine missing step visible.
6
+
7
+ | Time | Invitation | Observe without answering for the participant |
8
+ | --- | --- | --- |
9
+ | 0–3 minutes | “Read these two sources. What do you think their connection is?” | Can they distinguish source words from graph projection? |
10
+ | 3–6 | “What exactly does this finding show?” | Do they find the `[]` evidence and understand the limited relationship check? |
11
+ | 6–11 | “Add your own words. How would you like them understood?” | Original words, separate interpretation, an explicit choice, and optionality. |
12
+ | 11–15 | “Would you keep the proposed declaration change?” | Preview before effect, ability to disagree or return, selected draft readback. |
13
+ | 15–20 | “What has changed after the source owner acts and the check runs again?” | Source versus draft, reopened text, current evidence and remaining judgment. |
14
+ | 20–25 | “What was useful, confusing or missing?” | Record the participant's actual words and any unanswered question. |
15
+
16
+ Offer the participant the source-owner role only for their own disposable copy. Explain what the ordinary source write will change before granting that role. Keep source ownership and participant judgment distinct even when one person performs both.
17
+
18
+ For a recovery exercise, use the host's documented disposable failure rehearsal. If it has no supported rehearsal, discuss the visible unconfirmed state without disconnecting an unknown service. A pending choice is checked under its original identity; it is not submitted as a new note. Do not run a provider to fill a gap, alter a participant's words, or reset the example's history.
19
+
20
+ Observe keyboard access and the [checklist](support.md). If a step fails, preserve the words and exact pending intent, record the visible state and reproduction steps, then use the normal support route. Finishing a scripted exercise is not evidence that the participant found it useful.
@@ -0,0 +1,94 @@
1
+ # Follow the workshop finding
2
+
3
+ This is the primary entry for the composed workshop. The release owner must
4
+ first bind and verify its exact package version, exports, template and guided
5
+ host. The functions below are implemented in the source proposal. They are
6
+ absent from the published `0.2.0-alpha.12` baseline.
7
+
8
+ ## Install the verified version
9
+
10
+ The facilitator supplies the exact rehearsed version and package integrity.
11
+ Create an empty consumer directory, then use that version:
12
+
13
+ ```sh
14
+ : "${ATELIER_DEVDAY_VERSION:?Set the exact version supplied by the release owner}"
15
+ npm install --save-exact "@mnstry/atelier@$ATELIER_DEVDAY_VERSION"
16
+ ```
17
+
18
+ Initialize the package's shipped workshop fixture through its normal export:
19
+
20
+ ```js
21
+ import { initializeKnowledgeHealthWorkshop, assessKnowledgeHealthWorkshop }
22
+ from '@mnstry/atelier/knowledge-health';
23
+
24
+ const workspaceRoot = initializeKnowledgeHealthWorkshop('./workshop');
25
+ const before = assessKnowledgeHealthWorkshop({ workspaceRoot });
26
+ console.log(before.assessment, before.retrievalEvaluation);
27
+ ```
28
+
29
+ An existing destination is refused. The example has two public invented
30
+ sources, `devday:checklist` and `devday:workshop`, and the planned relationship
31
+ `checklist-workshop`. The separate [pilot example](assessment/quickstart.md)
32
+ uses `demo:checklist` and `checklist-pilot`.
33
+
34
+ ## Contribute and follow the owning correction
35
+
36
+ Use the release's verified existing guided host to follow the
37
+ [workshop exercise](exercise.md). Keep your words and the separate
38
+ interpretation, choose how to retain them, and verify both native readbacks.
39
+ The [API guide](api.md) explains the existing adapter/caller join. The host
40
+ keeps the original choice ID and full finding reference during recovery.
41
+
42
+ Preview the example declaration before applying it to a working draft. Save
43
+ and reopen that draft through its owning route. Its source remains unchanged
44
+ until the disposable source owner edits the exact declaration and reads it
45
+ back. Rerun `assessKnowledgeHealthWorkshop` against the current source and its
46
+ actual binding/revisions.
47
+
48
+ Read both outputs. The relationship check may clear while
49
+ `retrievalEvaluation` still lists `devday:checklist` as stale. Keep the frozen
50
+ expected evidence and earlier contribution context. The source owner explicitly
51
+ refreshes the relevant expected-evidence hash, then reruns the same assessment
52
+ and question evaluation. An empty stale list does not establish semantic or
53
+ human acceptance.
54
+
55
+ ## Open the existing host
56
+
57
+ The inspected Foundation source supports this launch sequence after graph and
58
+ projection output have been built with the same project. Run it from the
59
+ consumer that contains the exact installed version:
60
+
61
+ ```sh
62
+ npx --no-install atelier graph --project ./workshop/atelier.project.json
63
+ npx --no-install atelier build --project ./workshop/atelier.project.json
64
+ npx --no-install atelier server --knowledge --project ./workshop/atelier.project.json --port=0
65
+ ```
66
+
67
+ Open the printed loopback URL ending in `/knowledge`. Port zero asks the host
68
+ for an available port. The server refuses a missing projection output or
69
+ `atelier.manifest.json`; its source diagnostic names graph and build as the
70
+ prerequisites. These commands are supported by the inspected source. Their
71
+ execution against the workshop and the actual released package remains to be
72
+ qualified by its owners.
73
+
74
+ The current `/knowledge` source hosts Knowledge sessions and an answer field.
75
+ Foundation must still bind the workshop assessment and existing native
76
+ adapter/caller/R5 contribution, disposition and selected-draft ports to that
77
+ host. Merely opening it does not supply those joins. The existing
78
+ `knowledge-workspace` template contains a different equipment-loan example;
79
+ it must not be mistaken for the shipped workshop fixture initialized above.
80
+ Keep the exact words, separate interpretation, original choice ID and pending
81
+ record through recovery. Retention and selected-draft application use the
82
+ existing owning write boundary and independent readback.
83
+
84
+ The owning release must qualify the launch sequence, declared exports, actual
85
+ native input and lifecycle before participants use this exercise. Runtime
86
+ controls require their existing licensed host allocation; private source
87
+ snapshots, bundles and local state are excluded from the npm payload.
88
+
89
+ For preparation and recovery, see [support](support.md),
90
+ [facilitator guidance](facilitator.md) and the
91
+ [Assessment API details](assessment/api.md). The
92
+ [Proof baseline guide](devday/quickstart.md) remains historical alpha12 guidance.
93
+ Independent Proof owns its candidate-specific successor and the actual
94
+ keyboard, focus, undo, input-method, recovery and participant observations.
@@ -0,0 +1,15 @@
1
+ # A workshop checklist
2
+
3
+ Start with the [composed workshop quickstart](quickstart.md). It binds this
4
+ fixture to the received generic assessment; its target release and native host
5
+ still require the release owner’s qualified receiving.
6
+
7
+ Try one small Knowledge Health journey with two invented sources: a checklist and a proposed community workshop. The plan expects the checklist to support consideration of the workshop. Its declaration currently contains `supports: []`.
8
+
9
+ The check can show this missing relationship. It cannot decide whether the workshop is ready or whether that relationship is useful. You bring that judgment.
10
+
11
+ Use the [guided exercise](exercise.md), the [support and recovery notes](support.md), or the [facilitator run sheet](facilitator.md). All material is public and invented. Work on your own disposable copy of [the example](../../fixtures/knowledge-health/workshop/README.md).
12
+
13
+ This guidance supplier does not install a host or launch a separate editor. **The package's guided-example entry and exact release version still need to be bound by its release owner.** No launch command is documented here until that installed entry is verified. An existing Workbench host can receive this material and the additive cues through its own source owner. If your installed version has no guided-example entry, the files remain readable example material; ask for the supported version rather than using private developer paths.
14
+
15
+ The [integration reference](api.md) explains the additive modules. The native editor, saved versions, authoring records and source-owner correction route remain authoritative. The cues never dispatch an assistant or apply a change.
@@ -0,0 +1,34 @@
1
+ # Support and recovery
2
+
3
+ | Capability | What this supplier establishes | What the installed release must establish |
4
+ | --- | --- | --- |
5
+ | Workshop source and check | Native graph, plan, context and question evaluation on these exact invented sources | Installed assessment entry, evidence read-set and current source binding |
6
+ | Original words and choices | Actual native full-reference disposition APIs retain all four choices and separate interpretation in a disposable ledger | Actor/source/head checks at the host boundary and participant-visible controls |
7
+ | Draft preview/application | Actual native selected decision, preview, apply, save and reopen in disposable state | Installed Review/focus/undo flow and current effect permissions |
8
+ | Source change/reassessment | Owned disposable source edit, exact readback and same-rule reassessment | The real owning repository edit route and fresh expected evidence |
9
+ | Recovery | Original-ID native lookup after a withheld response, with no second write | Installed pending-intent/scratch recovery across browser and service restart |
10
+ | Accessibility | Cue structure, received Button role/focus and synthesized Enter/Space activation, disabled refusal and editor preservation in DOM qualification | Real keyboard navigation/focus return, screen reader, zoom, IME and browser checks |
11
+
12
+ Qualification uses Node 22.18.0. The installed package's declared engine range governs other versions. A local same-machine authoring host supplies its own actor binding and owning routes; this supplier does not add hosted authentication or grant access to another repository. Use only public invented material in the example copy. No hosted account or provider call is needed for this guided supplier's supported case.
13
+
14
+ | Visible state | Keep | Next step |
15
+ | --- | --- | --- |
16
+ | No applicable finding | Your writing and any plain note | Select supported example material or ask which input is supported. |
17
+ | Saving/checking | Original operation and newer words | Wait; verify the exact saved revision. Do not start another write. |
18
+ | Words saved, choice unconfirmed | Original contribution and complete choice record | Check original choice. Lookup reads only. |
19
+ | Lookup proves choice absent | The same choice ID and identical complete record | Explicitly retry only if the host offers its fenced original-choice action. |
20
+ | Source/head changed | Human words, old source reference and history | Read current source/head; choose whether to attach a fresh contribution. |
21
+ | Draft saved, source unchanged | Selected draft and proposal | Ask its actual source owner to review the change. |
22
+ | Source applied, old expected evidence | Source readback and old result | Refresh expected evidence through the owner and reassess; keep both results. |
23
+
24
+ Never solve an unknown save by deleting history, changing the operation ID, dispatching an assistant, or restarting someone else's editor. If lookup is unavailable, remain unconfirmed and preserve the intent.
25
+
26
+ Use this checklist during the installed rehearsal:
27
+
28
+ - Tab/Shift-Tab reaches evidence, contribution input, choice controls, Review and return controls in an understandable order; focus is visible and no trap occurs.
29
+ - Enter/Space activates each button once. A disabled control cannot write. Choice labels expose the chosen state and a choice is not preselected as human consent.
30
+ - The source evidence and proposed interpretation have readable labels. Status changes are announced without moving focus or replacing the editor.
31
+ - Escape/return uses the host's normal path back to the original editor and caret. Native undo/redo, selection and composing text remain intact.
32
+ - Save during a later edit acknowledges only the saved revision; the newer text remains visible and unsaved. Unknown choice/application exposes a read-only check before retry.
33
+ - Reopen/reload/service restart recovers exact words, interpretation, choice and pending identity. An old note is labeled historical after source/head changes.
34
+ - Zoom, narrow layout and screen-reader reading retain the evidence/choice distinction. Test the release's actual supported browser and IME; DOM observations alone do not establish these.
@@ -0,0 +1,248 @@
1
+ # Set up a graph that earns its context
2
+
3
+ Start with useful work: a question someone needs to answer, the decision it
4
+ changes, and the evidence that would make the answer trustworthy. Let people
5
+ plan and validate; let agents do bounded retrieval, comparison, and drafting.
6
+ Expand the ontology when another real task exposes a missing distinction.
7
+
8
+ ## Try the complete local path
9
+
10
+ ```sh
11
+ atelier init --template knowledge-workspace --target ./equipment-notes
12
+ cd equipment-notes
13
+ git init
14
+ atelier knowledge check
15
+ atelier knowledge context --question "Can the blue telescope be loaned this week?"
16
+ atelier knowledge evaluate
17
+ ```
18
+
19
+ The starter is an independently invented equipment library. Its private source
20
+ graph has an equipment record, an inspection, and a qualified repair forecast.
21
+ The inspection says the item has **not** passed; the replacement **may** arrive.
22
+ The useful answer is to obtain the cap and a completed inspection before a
23
+ loan decision. The CLI selects the supporting evidence; a person or agent must
24
+ still read it and substantiate the answer.
25
+
26
+ `check`, `context`, and `evaluate` read current source without changing it.
27
+ They use the canonical graph builder, not a saved graph that may be stale.
28
+ They make no provider calls. They are local operator tools: output may contain
29
+ private source text, paths, and diagnostics. Repository access remains the read
30
+ boundary. These commands do not implement recipient authorization or sharing.
31
+
32
+ ## Adapt it to work you actually do
33
+
34
+ 1. Name the work and its steward in `knowledge-plan.json`. Pick three to five
35
+ ordinary questions with decisions or actions at stake. Include a question
36
+ whose correct response is that the sources do not establish an answer.
37
+ 2. Record permission to process the selected sources, who reviews meaning,
38
+ how corrections and withdrawals are handled, and who can approve expression
39
+ for a recipient and purpose. These are declared responsibilities; the plan
40
+ does not authenticate an approver or enforce consent.
41
+ 3. Choose the smallest concepts those questions need. For each, write a
42
+ definition, a stable identity rule, and one `concept:...` tag. Similar
43
+ display names are not sufficient grounds to merge records.
44
+ 4. Declare the useful relationships, their direction, and what they mean.
45
+ Attach them to source records using the existing native predicates.
46
+ Run `knowledge check` to find unused concepts, unknown tags, empty concept
47
+ populations, and absent directed edges. Coverage reports both total records
48
+ and context-eligible records; archived, unclassified, and non-Markdown
49
+ records cannot satisfy retrieval coverage. Duplicate mappings of a predicate
50
+ and concept pair are refused; use assertion records for distinct meanings.
51
+ 5. Keep a small permitted slice of originals. Use Markdown front matter or
52
+ adjacent sidecars as described in [the source graph](knowledge-graph.md).
53
+ Use `atelier adopt` for an existing workspace; do not initialize over it.
54
+ Copy and adapt the starter plan, then use `--plan FILE` if it lives elsewhere.
55
+ 6. Compare retrieval on the questions before adding a model, vector index, or
56
+ engine. Pin the expected source ids and SHA-256 digests in each question.
57
+ Inspect missing evidence and relationships; repair the ontology or source
58
+ descriptions only when the failure warrants it.
59
+ 7. Have a person and an agent unfamiliar with the fixture attempt new questions.
60
+ Record supported answers, appropriate abstention, corrections, time,
61
+ measured model usage, and the work that resulted. A known test case stays
62
+ a regression case after a fix; it is no longer unseen evaluation.
63
+
64
+ For a real workspace, replace every fictional record, role, and case. In the
65
+ starter, roles are examples and source rights are assumed only for its invented
66
+ content. Add repository boundary policies and hooks through the existing
67
+ [boundary workflow](repo-boundary-guard.md) when collaborating across trust domains.
68
+ Use actual access controls at the consuming host.
69
+
70
+ ## Domain ontology and source graph are different layers
71
+
72
+ `kg.type` describes source records: document, evidence, artifact, decision, and
73
+ the other native types. The plan's concepts describe what those records are
74
+ about. A `concept:equipment` tag does not create a new native node type, schema,
75
+ or accepted business entity. Do not put arbitrary domain verbs in
76
+ `kg.relations`; the native vocabulary remains closed.
77
+
78
+ Use a separate evidence-bearing assertion record when meaning needs more than
79
+ a native edge: who asserted what, the passage and revision, subject, optional
80
+ object, polarity, possibility or obligation, scope, time, and review status.
81
+ Do not invent an object for a unary statement, turn a future possibility into
82
+ a positive fact, or erase qualifications to make an edge fit. A native
83
+ `related` link is useful navigation; it does not carry the lost meaning.
84
+ Keep richer domain schemas in a consumer or extension pack until repeated
85
+ independent needs justify a portable contract.
86
+
87
+ Source occurrence, entity identity, assertion, proposed decision, accepted
88
+ decision, action, observation, and reviewed lesson have different lifecycles.
89
+ A graph edge proves neither semantic truth nor execution permission. Record
90
+ counterevidence, corrections, and the conditions where a lesson should not be
91
+ reused. Later reuse should help an actual new task; retention alone is not use.
92
+
93
+ ## Bounded context and honest accounting
94
+
95
+ `context --mode lexical` ranks active, classified Markdown by matches in titles,
96
+ summaries, and tags, breaking equal scores by record ID. `--mode graph` takes
97
+ one hop from the top `maxDocuments` lexical seeds. It visits each seed followed
98
+ by at most one unseen declared neighbor before the next seed. Further neighbors
99
+ take turns across the original seeds only after every seed has been considered.
100
+ With two document slots and multiple seeds, the lexical seeds go first because
101
+ two seeds and a neighbor cannot all fit. Each seed's neighbors are ordered by
102
+ their own lexical score, then record ID. Only the original seed set expands.
103
+ Document and byte limits can still omit seeds or part of a neighborhood; check
104
+ the reported omissions. It does not infer edges, search every body,
105
+ perform semantic extraction, or rank by expected answers. Word forms and
106
+ synonyms can be missed; improve descriptions or evaluate another retrieval
107
+ method against the same cases before widening the pipeline.
108
+
109
+ The JSON packet carries complete source text, source digests, file and line
110
+ locations, selection reasons, and the declared edges between selected records.
111
+ It retains direction and multiple predicates. Text is explicitly data, never
112
+ an instruction channel. Current census digests must match the read source;
113
+ changed, redirected, oversized, or unreadable sources are omitted visibly.
114
+ `omissions` names up to 20 record IDs and reasons within the packet byte cap:
115
+ `document-limit`, `packet-budget`, `source-over-budget`, `changed-since-census`,
116
+ `redirected`, `decode`, or `unreadable`. Invalid paths, repository escapes, and
117
+ unsupported source kinds also have distinct refusal reasons. Exception text
118
+ and absolute paths are not included. `coverage.omissionsUnlisted` counts any
119
+ additional details that could not fit; `unreadable` counts read and decode
120
+ failures only. Inspect these details in Deepen, Apply, Learn, or evaluation output.
121
+ Non-Markdown and unclassified records stay in graph diagnostics but are not
122
+ context text. No parser is silently invented for a PDF or binary.
123
+
124
+ `planSha256` hashes the exact raw bytes read from the plan file, including
125
+ formatting; the CLI, dashboard, and session use the same binding.
126
+ `censusSha256` hashes compact JSON containing the canonical nodes, edges, and
127
+ the sorted Markdown census inventory of file keys and raw-byte digests. A
128
+ body-only change to an unselected Markdown source changes this digest after a
129
+ new census. Non-Markdown records contribute their node metadata, not a digest
130
+ of their PDF, HTML, or DOCX body bytes.
131
+ Each source's `sha256` hashes its raw file bytes. Line locations count actual
132
+ LF or CRLF lines; a final newline does not create an extra line.
133
+
134
+ `budget.maxContextBytes` caps the **whole compact JSON response**, including its
135
+ metadata. `--max-bytes` may lower it. `maxDocuments` bounds the selected source
136
+ count, and `maxSourceBytes` bounds each selected file read. A source that cannot
137
+ fit is omitted whole, preserving qualifications rather than clipping them.
138
+ Any omission warrants inspecting coverage. No match means `needs-evidence`,
139
+ not a claim that the real-world fact does not exist. When search misses a
140
+ qualification that a source owner has selected, a trusted host can read the
141
+ complete cited unit exactly from an ingestion plan that includes the source
142
+ with a completed attempt; see
143
+ [read a complete selected citation](evidence-navigation.md#read-a-complete-selected-citation).
144
+ The line locations in this packet are not ingestion `line` locators: ingestion
145
+ also splits on a lone CR and removes a leading BOM (U+FEFF). Map them
146
+ explicitly; a wrong mapping fails safe, because the hash check withholds the
147
+ selection.
148
+
149
+ The graph builder still censuses the configured workspace before selection.
150
+ This byte cap is not a corpus processing or wall-time limit. Use the project's
151
+ existing include/exclude scope for large collections.
152
+
153
+ Payload bytes are measured exactly. `estimatedTokens` is only
154
+ `ceil(UTF-8 bytes / 4)`; it is not a tokenizer count or a safe model token limit,
155
+ particularly across languages. Actual tokens, provider cost, and human
156
+ correction time remain unknown until measured. Count initial ingestion,
157
+ retries, review, retrieved context, output, and amortized reuse. Never add
158
+ cached input to a provider's inclusive input count twice.
159
+
160
+ ## What evaluation proves
161
+
162
+ `evaluate` runs lexical and graph modes with identical questions and budgets.
163
+ Expected ids and digests are used only **after** retrieval. It reports evidence
164
+ recall, missing sources, stale expected revisions, missing directed relations,
165
+ payload bytes, and omissions. It exits 1 when graph mode misses an expected
166
+ case or the case pins are stale. An abstention case requires no matching
167
+ candidates and no omissions. Matching evidence that was omitted yields
168
+ `abstain-unverified`, fails the case, and keeps the dashboard in Deepen.
169
+ Evaluation includes candidate counts and the bounded omission details; it
170
+ checks retrieval behavior, not a model's ability to abstain.
171
+
172
+ The example deliberately shows that adding necessary evidence can **increase**
173
+ context size. A smaller packet with a missing decisive qualification is not
174
+ an improvement. Compare the least expensive approach that meets the quality
175
+ floor, then measure whether it helps actual work. This tool cannot establish
176
+ answer correctness, consent, ontology quality, causal benefit, operational
177
+ acceptance, or token savings from a passing structural check.
178
+
179
+ ## Growing from a supported result
180
+
181
+ Keep the source-to-answer trace usable first. Add richer extraction only for
182
+ demonstrated missing meaning; keep proposals reviewable. Add incremental
183
+ processing when repeated parsing dominates measured cost, with exact source
184
+ revision and ontology-version invalidation. Add another engine when it improves
185
+ the same reserved cases enough to justify its full cost and correction burden.
186
+ Add recipient expression only with separate permission checks and a bounded
187
+ serializer. Existing review, coauthoring, intake, and optional decision APIs
188
+ remain separate capabilities with their own contracts.
189
+
190
+ For sustained value, link the reviewed decision to the actual action, observed
191
+ consequence, and a later appropriate use or non-use. Evaluate usefulness and
192
+ care alongside costs; no count of nodes, edges, or retrieved tokens substitutes
193
+ for that evidence.
194
+
195
+ ## Guided dashboards and coauthoring
196
+
197
+ Use `atelier dev --knowledge` after graph/build to work through Onboard, Model,
198
+ Deepen, Apply, and Learn. The browser and `knowledge session` CLI share
199
+ source-bound private drafts, confirmation, and recovery. See
200
+ [knowledge workspaces](knowledge-workspace.md) for the complete flow and limits.
201
+
202
+ ## Recording a host's semantic extraction
203
+
204
+ `atelier knowledge semantic` records an extraction that your own tool or model
205
+ ran, so a receiver can review it against the exact source. Atelier never runs
206
+ the extraction. The runner, its request shapes and the receiver journey are
207
+ described in [semantic operation](semantic-operation.md); this section covers
208
+ the command.
209
+
210
+ - Run it in the Git workspace where `atelier ingest` planned and ran the
211
+ sources. Each call reads one JSON object from stdin, at most 256 KiB:
212
+ `{"workspaceId": "...", "run": "<knowledge domain run>", "request": {...}}`.
213
+ - Operations: `begin`, `status`, `reconcile`, `complete`, `proposals`,
214
+ `contribution` (prepareContribution), `relation` (prepareRelation), `record`,
215
+ `cascade`, `context` and `project`.
216
+ - `request` holds exactly the operation's fields. Optional fields are `limit`
217
+ for `proposals`, and `supersedes` with `revisionReason` for `contribution`.
218
+ Every field has a declared kind: text, an object, an array, an integer
219
+ `limit`, `kind` as one of `entity`, `assertion` or `unknown`, and
220
+ `supersedes` or `revisionReason` also as `null`. Any other field, a missing
221
+ or null required one, or a value of the wrong kind refuses as
222
+ `SEMANTIC_OPERATION_INVALID` and writes nothing. Formats such as timestamps
223
+ and digests are checked by the runner, which may already have captured raw
224
+ output by then. The command closes every request; the internal library
225
+ closes only `begin` and some nested values, so library callers do not get
226
+ this check.
227
+ - Success prints the operation's JSON result. A failure prints
228
+ `{"ok": false, "code": "SEMANTIC_...", "error": "..."}` on stderr and exits 1:
229
+ - the operation's own refusals keep their `SEMANTIC_*` code;
230
+ - when the runner attached a saved ledger write or captured raw output to the
231
+ failure, it carries `recorded` or `captured` with a `nextAction`, under the
232
+ runner's own code, or `SEMANTIC_OPERATION_INTERRUPTED` when the error had
233
+ none. Reopen the same operation rather than running the extraction again.
234
+ A few runner paths can still fail without attaching that detail;
235
+ - Atelier's other refusals, such as an invalid digest or a directory that is
236
+ not the Git workspace, are coded `SEMANTIC_OPERATION_REFUSED`.
237
+
238
+ A failure whose text could reveal host detail and that saved nothing is
239
+ reported by the command runner instead, without host detail: as
240
+ `[internal-error]`, or as `[code] message` for Atelier's lowercase codes.
241
+ - Receiver records submitted through `record` are the caller's assertions:
242
+ Atelier checks their consistency but does not authenticate who made them.
243
+ - Raw output travels inside the 256 KiB request as UTF-8 text, so larger raw
244
+ output cannot be recorded through the command yet.
245
+ - Known limits from the runner's review stay: contradictory host declarations
246
+ across the ledger and intake can lead to two executions, found afterwards,
247
+ and a detected contradiction cannot yet be resolved. Neither is hidden by the
248
+ command.