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

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 (253) hide show
  1. package/CHANGELOG.md +283 -0
  2. package/README.md +102 -52
  3. package/SECURITY.md +1 -1
  4. package/TRADEMARKS.md +2 -2
  5. package/contracts/atelier-extension-manifest.v1.schema.json +412 -0
  6. package/contracts/atelier-graph-view.v1.schema.json +1085 -0
  7. package/contracts/public-api-baseline.json +298 -19
  8. package/docs/README.md +90 -0
  9. package/docs/blocks/capability-stewardship.md +1 -1
  10. package/docs/blocks/claims.md +2 -2
  11. package/docs/blocks/conformance-admission.md +1 -1
  12. package/docs/blocks/learning-harnesses.md +1 -1
  13. package/docs/{atelier-sync.md → guides/atelier-sync.md} +20 -14
  14. package/docs/{capability-stewardship.md → guides/capability-stewardship.md} +2 -4
  15. package/docs/guides/co-authoring.md +113 -0
  16. package/docs/{distributions.md → guides/distributions.md} +13 -8
  17. package/docs/guides/extensions.md +189 -0
  18. package/docs/guides/graph-refresh.md +152 -0
  19. package/docs/guides/graph-workspace.md +64 -0
  20. package/docs/{ingestion.md → guides/ingestion.md} +16 -15
  21. package/docs/{inquiry-harnesses.md → guides/inquiry-harnesses.md} +2 -3
  22. package/docs/{knowledge-workspace.md → guides/knowledge-workspace.md} +2 -2
  23. package/docs/{learning-harnesses.md → guides/learning-harnesses.md} +2 -3
  24. package/docs/{learning.md → guides/learning.md} +12 -5
  25. package/docs/{obsidian.md → guides/obsidian.md} +370 -23
  26. package/docs/guides/ontology-guide.md +111 -0
  27. package/docs/{personal-workspace.md → guides/personal-workspace.md} +17 -5
  28. package/docs/{research-starter.md → guides/research-starter.md} +1 -1
  29. package/docs/{tenant-readiness.md → guides/tenant-readiness.md} +39 -0
  30. package/docs/{upgrade.md → guides/upgrade.md} +197 -11
  31. package/docs/knowledge-health/assessment/capabilities.md +6 -15
  32. package/docs/knowledge-health/facilitator.md +15 -4
  33. package/docs/knowledge-health/{devday/participant-response.md → participant-response.md} +4 -2
  34. package/docs/knowledge-health/quickstart.md +97 -75
  35. package/docs/knowledge-health/readme.md +13 -5
  36. package/docs/maintainers/describing-the-atelier.md +173 -0
  37. package/docs/{release-engineering.md → maintainers/release-engineering.md} +5 -4
  38. package/docs/{announcements.md → reference/announcements.md} +1 -1
  39. package/docs/{architecture.md → reference/architecture.md} +31 -5
  40. package/docs/{atelier-runtime.md → reference/atelier-runtime.md} +1 -1
  41. package/docs/{connected-composition.md → reference/connected-composition.md} +7 -10
  42. package/docs/{coordination.md → reference/coordination.md} +1 -1
  43. package/docs/{decisions.md → reference/decisions.md} +3 -3
  44. package/docs/{design.md → reference/design.md} +1 -1
  45. package/docs/reference/edge-policy.md +151 -0
  46. package/docs/reference/graph-view-structured.md +119 -0
  47. package/docs/reference/graph-view.md +139 -0
  48. package/docs/reference/graph-workspace.md +37 -0
  49. package/docs/{intake-and-guides.md → reference/intake-and-guides.md} +3 -4
  50. package/docs/{knowledge-graph.md → reference/knowledge-graph.md} +120 -6
  51. package/docs/{local-services.md → reference/local-services.md} +43 -4
  52. package/docs/{obsidian-contract.md → reference/obsidian-contract.md} +29 -4
  53. package/docs/{obsidian-plugin.md → reference/obsidian-plugin.md} +218 -68
  54. package/docs/{practical-judgment.md → reference/phronesis.md} +12 -3
  55. package/docs/reference/portability.md +92 -0
  56. package/docs/{portable-presentation.md → reference/portable-presentation.md} +2 -2
  57. package/docs/{presentation-consumer-boundaries.md → reference/presentation-consumer-boundaries.md} +5 -0
  58. package/docs/{project-options.md → reference/project-options.md} +17 -0
  59. package/docs/{repo-boundary-guard.md → reference/repo-boundary-guard.md} +50 -4
  60. package/docs/{review-portability.md → reference/review-portability.md} +4 -0
  61. package/docs/{semantic-operation.md → reference/semantic-operation.md} +4 -3
  62. package/docs/{template-profile.md → reference/template-profile.md} +1 -1
  63. package/docs/{trackables.md → reference/trackables.md} +2 -2
  64. package/docs/start/independent-start.md +89 -0
  65. package/docs/{install.md → start/install.md} +9 -9
  66. package/docs/{knowledge-setup.md → start/knowledge-setup.md} +5 -5
  67. package/docs/{research-starter-quickstart.md → start/research-starter-quickstart.md} +6 -6
  68. package/fixtures/atelier-architecture/catalog/invalid/document.json +2 -2
  69. package/fixtures/atelier-architecture/catalog/valid/document.json +2 -2
  70. package/fixtures/graph-view/synthetic-authorized-input.v1.json +437 -0
  71. package/fixtures/graph-view/synthetic-view.v1.json +1 -0
  72. package/fixtures/knowledge-health/workshop/README.md +1 -1
  73. package/fixtures/templates/local-library.v1.json +3 -1
  74. package/package.json +22 -8
  75. package/plugins/obsidian/main.js +57 -8
  76. package/plugins/obsidian/manifest.json +1 -1
  77. package/skills/claude/atelier-guided-upgrade/SKILL.md +1 -1
  78. package/skills/claude/atelier-knowledge-setup/SKILL.md +2 -2
  79. package/skills/claude/atelier-local-service/SKILL.md +1 -1
  80. package/skills/claude/atelier-practical-judgment/SKILL.md +7 -2
  81. package/skills/claude/atelier-skill-steward/SKILL.md +1 -1
  82. package/skills/claude/mnstry-readiness/SKILL.md +2 -2
  83. package/skills/codex/atelier-guided-upgrade/SKILL.md +1 -1
  84. package/skills/codex/atelier-knowledge-setup/SKILL.md +2 -2
  85. package/skills/codex/atelier-local-service/SKILL.md +1 -1
  86. package/skills/codex/atelier-practical-judgment/SKILL.md +7 -2
  87. package/skills/codex/atelier-skill-steward/SKILL.md +1 -1
  88. package/skills/codex/mnstry-readiness/SKILL.md +2 -2
  89. package/src/architecture/catalog.mjs +2 -2
  90. package/src/attestation/sign.mjs +1 -1
  91. package/src/boundary/content-rules.mjs +534 -68
  92. package/src/boundary/policy.mjs +187 -60
  93. package/src/cli/run.mjs +26 -9
  94. package/src/commands/distribution.mjs +1 -1
  95. package/src/commands/extension.mjs +27 -0
  96. package/src/commands/ingest.mjs +1 -1
  97. package/src/commands/learn.mjs +1 -1
  98. package/src/commands/obsidian.mjs +49 -21
  99. package/src/commands/review.mjs +3 -0
  100. package/src/edge-policy/contract.mjs +69 -0
  101. package/src/edge-policy/policy.mjs +142 -0
  102. package/src/edge-policy/source-citation-adapter.mjs +43 -0
  103. package/src/extension-packs/loader.mjs +4 -3
  104. package/src/extensions/admission.mjs +83 -0
  105. package/src/extensions/client.d.mts +23 -0
  106. package/src/extensions/client.mjs +99 -0
  107. package/src/extensions/contracts.d.mts +29 -0
  108. package/src/extensions/contracts.mjs +163 -0
  109. package/src/extensions/convex.d.mts +24 -0
  110. package/src/extensions/convex.mjs +189 -0
  111. package/src/extensions/delegation.mjs +54 -0
  112. package/src/extensions/drizzle.d.mts +11 -0
  113. package/src/extensions/drizzle.mjs +33 -0
  114. package/src/extensions/postgres.d.mts +7 -0
  115. package/src/extensions/postgres.mjs +66 -0
  116. package/src/extensions/prisma.d.mts +13 -0
  117. package/src/extensions/prisma.mjs +63 -0
  118. package/src/extensions/project.mjs +432 -0
  119. package/src/extensions/scaffold-convex.mjs +130 -0
  120. package/src/extensions/scaffold-sql.mjs +144 -0
  121. package/src/extensions/server.d.mts +20 -0
  122. package/src/extensions/server.mjs +102 -0
  123. package/src/extensions/sql-scope.mjs +22 -0
  124. package/src/graph/graph.mjs +13 -5
  125. package/src/graph/knowledge-graph.mjs +20 -2
  126. package/src/graph/repo-contribution.mjs +405 -0
  127. package/src/graph/repo-contribution.types.mjs +32 -0
  128. package/src/graph-access/edge-decision-adapter.mjs +41 -0
  129. package/src/graph-access/edge-record-adapter.mjs +73 -0
  130. package/src/graph-access/index.mjs +253 -0
  131. package/src/graph-access/multi-contribution-record-adapter.mjs +101 -0
  132. package/src/graph-access/multi-record-projection-adapter.mjs +74 -0
  133. package/src/graph-access/source-adapter.mjs +81 -0
  134. package/src/graph-refresh/compare.mjs +110 -0
  135. package/src/graph-refresh/controller.mjs +324 -0
  136. package/src/graph-refresh/index.mjs +3 -0
  137. package/src/graph-refresh/local.mjs +78 -0
  138. package/src/graph-view/babylon/babylon-scene-port.mjs +64 -0
  139. package/src/graph-view/babylon/index.mjs +2 -0
  140. package/src/graph-view/babylon/navigator.mjs +312 -0
  141. package/src/graph-view/babylon/provenance.mjs +36 -0
  142. package/src/graph-view/babylon/scene-controller.mjs +131 -0
  143. package/src/graph-view/babylon/semantic-picking.mjs +35 -0
  144. package/src/graph-view/babylon/web-host.mjs +188 -0
  145. package/src/graph-view/cli.mjs +3 -0
  146. package/src/graph-view/command.mjs +34 -0
  147. package/src/graph-view/contracts.mjs +79 -0
  148. package/src/graph-view/errors.mjs +5 -0
  149. package/src/graph-view/index.mjs +4 -0
  150. package/src/graph-view/intents.mjs +30 -0
  151. package/src/graph-view/query.mjs +213 -0
  152. package/src/graph-view/refs.mjs +2 -0
  153. package/src/graph-view/structured/browser.mjs +262 -0
  154. package/src/graph-view/structured/styles.mjs +8 -0
  155. package/src/graph-workspace/authoring.mjs +185 -0
  156. package/src/graph-workspace/browser/constellation.mjs +369 -0
  157. package/src/graph-workspace/browser/dom.mjs +23 -0
  158. package/src/graph-workspace/browser/index.mjs +6 -0
  159. package/src/graph-workspace/browser/review.mjs +55 -0
  160. package/src/graph-workspace/browser/styles.mjs +11 -0
  161. package/src/graph-workspace/browser/workbench.mjs +351 -0
  162. package/src/graph-workspace/browser/workspace.mjs +431 -0
  163. package/src/graph-workspace/disclosure.mjs +39 -0
  164. package/src/graph-workspace/geometry.mjs +78 -0
  165. package/src/graph-workspace/index.mjs +11 -0
  166. package/src/graph-workspace/labels.mjs +50 -0
  167. package/src/graph-workspace/model.mjs +109 -0
  168. package/src/graph-workspace/recipes.mjs +88 -0
  169. package/src/graph-workspace/scale.mjs +95 -0
  170. package/src/graph-workspace/theme.mjs +156 -0
  171. package/src/ingestion/optional/graphify/graphify_supplier.py +5 -0
  172. package/src/ingestion/optional/graphify/native-closure-pins.json +275 -0
  173. package/src/ingestion/optional/graphify/native-pins.json +306 -0
  174. package/src/knowledge/ontology-guide.mjs +152 -0
  175. package/src/knowledge-health/proof/installed-check.mjs +2 -2
  176. package/src/knowledge-health/rule-identity.mjs +14 -9
  177. package/src/knowledge-health/workshop.mjs +22 -2
  178. package/src/personal-workspace/index.mjs +1 -1
  179. package/src/personal-workspace/selection.mjs +34 -3
  180. package/src/project/config.mjs +1 -1
  181. package/src/project/path-match.mjs +2 -1
  182. package/src/project/providers/github.mjs +24 -0
  183. package/src/project/repo-identity.mjs +3 -22
  184. package/src/projection/obsidian/contracts.mjs +1 -1
  185. package/src/projection/obsidian/materialize/path-registry.mjs +1 -1
  186. package/src/projection/obsidian/materialize/prepare-view.mjs +88 -6
  187. package/src/projection/obsidian/materialize/redaction.mjs +1 -1
  188. package/src/projection/obsidian/personal-workspace.mjs +84 -5
  189. package/src/projection/obsidian/plugin-bridge/channel.mjs +1 -1
  190. package/src/projection/obsidian/proposals/adapter.mjs +46 -23
  191. package/src/projection/obsidian/proposals/observation.mjs +40 -2
  192. package/src/projection/obsidian/publication/publisher.mjs +96 -8
  193. package/src/projection/project.mjs +21 -16
  194. package/src/readiness/readiness.mjs +20 -11
  195. package/src/readiness-protocols/bundled-pack.mjs +14 -766
  196. package/src/readiness-protocols/bundled-selection.mjs +32 -0
  197. package/src/readiness-protocols/evidence.mjs +2 -1
  198. package/src/readiness-protocols/packs/mnstry.mjs +766 -0
  199. package/src/readiness-protocols/runtime.mjs +43 -6
  200. package/src/runtime/obsidian/engine.mjs +387 -76
  201. package/src/runtime/obsidian/lifecycle.mjs +20 -15
  202. package/src/runtime/obsidian/login-item.mjs +6 -3
  203. package/src/runtime/obsidian/machine-settings.mjs +52 -8
  204. package/src/runtime/obsidian/observation.mjs +36 -4
  205. package/src/runtime/obsidian/opening.mjs +4 -3
  206. package/src/runtime/obsidian/personal-selection.mjs +187 -0
  207. package/src/runtime/obsidian/pipeline.mjs +115 -6
  208. package/src/runtime/obsidian/private-lock.mjs +50 -6
  209. package/src/runtime/obsidian/selection-continuity.mjs +124 -0
  210. package/src/runtime/obsidian/service-main.mjs +68 -16
  211. package/src/runtime/obsidian/service.mjs +80 -6
  212. package/src/runtime/obsidian/unheld-evidence.mjs +1 -1
  213. package/src/runtime/obsidian/view-permission.mjs +335 -0
  214. package/src/ui/control-system.mjs +201 -0
  215. package/src/ui/html-primitives.mjs +3 -0
  216. package/src/upgrade/closure-diagnostics.mjs +135 -0
  217. package/src/upgrade/closure.mjs +649 -0
  218. package/src/upgrade/upgrade.mjs +42 -11
  219. package/templates/distribution-workspace/README.md +2 -2
  220. package/templates/external-project-workspace/atelier.project.json +3 -0
  221. package/templates/external-project-workspace/pack-lifecycle.json +3 -1
  222. package/templates/knowledge-workspace/README.md +2 -2
  223. package/docs/integration-and-review-plan.md +0 -409
  224. package/docs/integration-contract-decisions.md +0 -44
  225. package/docs/knowledge-health/devday/facilitator.md +0 -16
  226. package/docs/knowledge-health/devday/public-default.md +0 -107
  227. package/docs/knowledge-health/devday/quickstart.md +0 -18
  228. package/docs/knowledge-health/devday/support.md +0 -22
  229. package/docs/knowledge-health/exercise.md +0 -17
  230. package/docs/knowledge-health/support.md +0 -34
  231. package/docs/presentation-review-disposition.md +0 -47
  232. package/docs/progressive-ingestion-acceptance.md +0 -89
  233. package/docs/progressive-ingestion.md +0 -235
  234. /package/docs/{exact-upgrades.md → guides/exact-upgrades.md} +0 -0
  235. /package/docs/{guided-upgrades.md → guides/guided-upgrades.md} +0 -0
  236. /package/docs/{local-review.md → guides/local-review.md} +0 -0
  237. /package/docs/{skill-steward.md → guides/skill-steward.md} +0 -0
  238. /package/docs/{template-upgrades.md → guides/template-upgrades.md} +0 -0
  239. /package/docs/{assurance-controls.md → maintainers/assurance-controls.md} +0 -0
  240. /package/docs/{attestation.md → reference/attestation.md} +0 -0
  241. /package/docs/{coauthor-session.md → reference/coauthor-session.md} +0 -0
  242. /package/docs/{continuity.md → reference/continuity.md} +0 -0
  243. /package/docs/{contract-stability.md → reference/contract-stability.md} +0 -0
  244. /package/docs/{decision-practices.md → reference/decision-practices.md} +0 -0
  245. /package/docs/{evidence-navigation.md → reference/evidence-navigation.md} +0 -0
  246. /package/docs/{extension-pack-lifecycle.md → reference/extension-pack-lifecycle.md} +0 -0
  247. /package/docs/{interaction-and-reflection.md → reference/interaction-and-reflection.md} +0 -0
  248. /package/docs/{local-state.md → reference/local-state.md} +0 -0
  249. /package/docs/{ontology.md → reference/ontology.md} +0 -0
  250. /package/docs/{optional-ingestion.md → reference/optional-ingestion.md} +0 -0
  251. /package/docs/{project-command-inventory.md → reference/project-command-inventory.md} +0 -0
  252. /package/docs/{semantic-ingestion.md → reference/semantic-ingestion.md} +0 -0
  253. /package/docs/{vault-service.md → reference/vault-service.md} +0 -0
@@ -1,16 +0,0 @@
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.
@@ -1,107 +0,0 @@
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.
@@ -1,18 +0,0 @@
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.
@@ -1,22 +0,0 @@
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.
@@ -1,17 +0,0 @@
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.
@@ -1,34 +0,0 @@
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.
@@ -1,47 +0,0 @@
1
- # Presentation correction disposition — 2026-09-15
2
-
3
- Status: bounded root correction, not maintainer acceptance, release or adoption.
4
- Reviewed source: `9ea81f087131e909e22fbcff50df1b57050c76af`.
5
-
6
- The returned manual defensive review conditionally accepted that source for root
7
- integration and found no new critical/high issue. It ran no tests or live sites;
8
- its visual inspection was partial. The source owner independently verified and
9
- corrected the following findings. Those corrections are a successor, not covered
10
- by an inherited approval of the prior commit.
11
-
12
- | Finding | Source disposition | Regression evidence |
13
- | --- | --- | --- |
14
- | S1/S2: native failure contamination and web/native concurrent-delivery drift | Fixed using shared delivery-message logic; current settlement and remaining pending deliveries are distinct from business state | A regression first reproduced failure A contaminating successful B; focused unit tests and both actual web binder and React-backed native fixture exercise settlement |
15
- | S3: schema-dependent attribute safety | Escaped string attributes and generated DOM identifiers in addition to retaining strict validation | Existing text/attribute refusal/escaping tests and browser proof |
16
- | S4: HEAD without dirty-source marker | Proof v3 requires explicit sourceDirty:false for comparison; missing/dirty/old envelopes remain incomparable | Negative comparison cases; dirty development proofs cannot become unchanged baselines |
17
- | S6: implicit form submit without scripts | Static example uses a labelled group and explicit local input validation, not a submitting form | All three engines exercise Enter with scripts both off and on; navigation, retained value and absent form checked |
18
- | N9: repeated pending resize silently dropped | Suppression now gives explicit no-additional-request feedback; host still owns geometry | Shared message test; no optimistic resize or queue added |
19
- | N5: host refresh during IME throws | Queue latest validated model, expose composition state, flush after final edit; newer synchronous host updates win | Browser cases for unchanged composing DOM, latest/invalid model ordering, no stale widget dispatch, removal/disable/reset/disposal |
20
- | N6: email/number caret continuity | Confirmed email regression; retain compatible focused DOM input without calling unsupported selection APIs | Actual key events insert consecutive characters mid-value during controlled refresh in all three engines |
21
- | N7/N8: neutral-looking warnings and inconsistent chrome | Shared tone labels, dashed warning edge, focus-revealed skip link, aligned header and distinct link/action styling | Web/document/native label assertions; focus/geometry/style/print checks; new before/after frames retained without accepting a baseline |
22
- | N10: printed skip chrome | Skip link excluded in print | Print visibility assertion |
23
-
24
- ## Conditions retained before controlled-host adoption
25
-
26
- - Synthetic composition events prove the binder lifecycle, not a real OS IME or
27
- assistive-technology session. Receiving hosts still need their actual input,
28
- device and screen-reader proof, including real navigation/draft lifecycle.
29
- - Visual changes have new before/after frames, not a newly accepted baseline.
30
- - N10 performance: retain the bounded per-render signature used to invalidate
31
- stale native confirmations. Object-identity memoization would miss in-place
32
- host mutation. Actual native profiling is still needed before replacing this
33
- correctness guard; local browser/React fixture proof is not native performance
34
- acceptance.
35
- - S5: screen-reader busy announcements remain an assistive-technology hypothesis.
36
- Do not remove pending semantics on the strength of an unrun AT scenario.
37
- - S7: actual browser-proof CI integration remains unimplemented; use the bounded
38
- receiving-owner recipe in [consumer boundaries](presentation-consumer-boundaries.md).
39
-
40
- No source in existing server, harness, vault, coauthor, runtime, private auth,
41
- business, keyboard, Desktop or downstream site implementations changes here.
42
- Connected component placement and portable auth remain a separate unimplemented
43
- proposal. Shape checks of that proposal do not establish enforcement or admission.
44
-
45
- The remaining integration gates are exact host proof, maintainer integration,
46
- visual-baseline disposition and actual CI. Local testing and a
47
- source commit do not publish a package, accept a visual baseline or deploy a site.
@@ -1,89 +0,0 @@
1
- # Progressive ingestion — proposed acceptance scenarios
2
-
3
- Status: design acceptance criteria, not executable tests or passing results.
4
- Read the [architecture proposal](progressive-ingestion.md) first. All public
5
- fixtures must use newly invented content and structure. Private evaluation
6
- material remains in its owner's environment.
7
-
8
- ## Reference journey
9
-
10
- An invented equipment cooperative imports a service note, a parts table and a
11
- scanned checklist. A person wants to understand which maintenance steps remain
12
- unresolved. Inventory reports all sources and modalities. Text search becomes
13
- available before interpretation finishes. A bounded extraction pass proposes
14
- statements with citations. A conflicting replacement interval is shown with
15
- both source passages and becomes a review question. Accepting one scoped
16
- decision updates the derived view without rewriting either original.
17
-
18
- Stop the process mid-batch, restart it, change one source and repeat the query.
19
- Completed valid work is reused, uncertain work is reconciled and the affected
20
- decision view becomes stale. Repeat through the local reference runner and,
21
- separately, through any product host claiming support.
22
-
23
- ## Required cases
24
-
25
- | ID | Invented situation | Required observable result |
26
- | --- | --- | --- |
27
- | C01 | A connector returns one page with an unknown total | Discovery reports its bounded scope; it cannot report complete-account coverage |
28
- | C02 | A record contains text, speech, an image and an unknown part | Every part appears in the census; unsupported parts remain explicit |
29
- | C03 | Empty speech, provider placeholder and real transcript coexist | Distinct outcomes and counts; placeholders cannot support a semantic claim |
30
- | C04 | A table has formulas and a marked answer; a deck has multiple slides | Structure and exact locations are preserved or their omission is reported |
31
- | C05 | Text uses multiple languages, combining marks and mixed newlines | Original bytes survive; normalized retrieval maps back to the cited evidence |
32
- | C06 | Two attachments share bytes but have different origins | Storage may deduplicate; source identities and unresolved matches remain separate |
33
- | C07 | Several logical records share one container | Rendering identities and locators remain distinct; no file-hash collision merges them |
34
- | C08 | A source contains apparent instructions to the importer | Content remains inert evidence; access, tools and scope remain unchanged |
35
- | C09 | A quote exists but does not support the proposed relation | Structural validity is reported separately from support; no automatic acceptance |
36
- | C10 | A small model omits a rare exception in an otherwise valid result | Representative audit detects the omission; the relevant task qualification is revised |
37
- | C11 | Two sources copy a common original | They cannot establish independent corroboration merely through separate IDs |
38
- | C12 | A user-role message quotes someone else or a model | The role is preserved; authorship is not inferred without evidence |
39
- | C13 | A conflict contains several positions with incomplete time evidence | All positions and gaps remain visible; container dates do not invent statement order |
40
- | C14 | A search finds no supporting evidence, then a source is added | The negative claim identifies its search scope and becomes stale |
41
- | C15 | A proposal's payload changes after attestation | The old attestation no longer applies; no automatic re-signing or hash rewriting |
42
- | C16 | One record is malformed in a large batch | A per-record failure is retained; remaining checks run and aggregate status is incomplete |
43
- | C17 | Output exists when an assignment is dispatched again | Reconcile the existing attempt; refuse conflicting writes and duplicate accounting |
44
- | C18 | A worker stops before writing its completion record | Partial scratch is not promoted; resume preserves verified completed attempts |
45
- | C19 | Source, model, rubric or extraction configuration changes | Only valid matching work is reused; affected descendants are invalidated |
46
- | C20 | Permission narrows while source bytes remain unchanged | Cache access and generated views honor the new boundary immediately |
47
- | C21 | A provider submission times out after possible acceptance | Attempt becomes uncertain; reconciliation precedes any paid retry |
48
- | C22 | Several jobs compete for the remaining budget | Reservation prevents over-admission; actual and unknown costs are reported separately |
49
- | C23 | An original becomes unavailable or a tool is uninstalled | Evidence availability changes honestly; authored records survive tool removal |
50
- | C24 | Receipts validate but the search index omits their findings | The end-to-end retrieval gate fails despite valid receipts |
51
- | C25 | An external provider is unavailable or not permitted | Local inventory, search and review remain useful; no silent provider substitution |
52
- | C26 | A shared report would expose a private title, path or dependency | The shared output is refused or explicitly reduced without revealing withheld details |
53
-
54
- Tests of controls need both a valid case and a changed-input refusal. Checking
55
- fixture shape without invoking the consuming validator is insufficient. Hosts
56
- add their own account, process, storage and transport tests; these portable cases
57
- do not certify those host boundaries.
58
-
59
- ## Cost and quality qualification
60
-
61
- Select a stratified sample spanning format, language, ambiguity, source quality,
62
- length and consequence. Establish expected evidence and human judgments before
63
- comparing processors. Separate calibration material from held-out evaluation;
64
- keep rare exceptions and failure cases in both planning and acceptance criteria.
65
-
66
- Compare a stronger-model baseline, a mixed routing pipeline and deterministic
67
- processing where applicable. Record exact processor versions, prompts, rubric,
68
- input hashes, retries, verifier effort and evidence-selection policy. A stronger
69
- model's output is a comparator, not ground truth.
70
-
71
- Measure:
72
-
73
- - Cost and elapsed time to the first useful, searchable evidence.
74
- - Missing expected evidence and unsupported claims, stratified by task.
75
- - Correct source and locator bindings, with ambiguity retained appropriately.
76
- - Human correction effort and cost per useful accepted result.
77
- - Escalation and failure rates, including apparently successful sampled work.
78
- - Cold-run cost, unchanged-run reuse and cost after a localized source change.
79
- - Cancellation/recovery behavior and unresolved or unmetered usage.
80
-
81
- Acceptance thresholds are set per task and consequence before the comparison.
82
- Cost savings do not compensate for failing a required coverage or quality floor.
83
- Reducing output volume must not make cost per accepted result look better while
84
- hiding missed evidence. Report denominators, sample design and uncertainty;
85
- multiple reports from one run are one case study, not independent replications.
86
-
87
- No particular processor, price, reduction percentage or throughput target is
88
- qualified by these documents. Publish aggregate results only after checking that
89
- neither the cases nor their statistics disclose a private implementation.
@@ -1,235 +0,0 @@
1
- # Progressive ingestion — design proposal
2
-
3
- Status: architecture proposal with a bounded experimental subset now implemented.
4
- This document is not a release announcement or provider authorization.
5
- The existing analysis adapter remains disabled.
6
-
7
- An experimental [local runner](ingestion.md) now implements the selected-file,
8
- bounded deterministic extraction and lexical retrieval subset. The remaining
9
- architecture below stays proposed; it is not a statement of released capability.
10
-
11
- ## Outcome
12
-
13
- A person selects useful source material, obtains a searchable evidence base,
14
- and deepens the interpretation needed for their current work. They can inspect
15
- coverage, stop and resume processing, review interpretations against originals,
16
- and move their records to another compatible host. A complete semantic model of
17
- the entire collection is not a prerequisite for the first useful result.
18
-
19
- The person establishes purpose and meaningful distinctions before bulk model
20
- work, then validates consequential interpretations afterward. Mechanical work
21
- should remain mechanical. Models receive bounded tasks and evidence; they do
22
- not decide what they are authorized to access or promote their own output.
23
-
24
- ## Proposed open-source and host boundary
25
-
26
- The proposed public foundation must be useful independently of a commercial
27
- desktop application or managed service. All implementations need the same
28
- integrity, provenance, refusal, and portability rules.
29
-
30
- | Public Atelier foundation | Optional host or distribution |
31
- | --- | --- |
32
- | Source, snapshot, attempt, coverage and dependency contracts | Connector sessions, account enrollment and secret storage |
33
- | Deterministic inventory, validation and incremental planning | Resident processes, OS scheduling, resource allocation and notifications |
34
- | Adapter capability declarations and portable routing rules | Concrete processor installation and authorized provider execution |
35
- | Budget accounting interfaces and bounded execution plans | Managed quotas, paid capacity, account usage reconciliation and billing |
36
- | A local reference runner and synthetic conformance cases | Native progress, source comparison and decision-review experiences |
37
- | Evidence-backed proposal exchange and explicit decision records | Organization policy, managed sharing and service operations |
38
-
39
- Public adapters can be implemented by anyone. Local or bring-your-own-provider
40
- operation must not require a paid account with the desktop vendor. Safety and
41
- data export must not depend on commercial entitlement. Host execution is
42
- separately configured and authorized; a portable plan grants no execution power.
43
-
44
- Private source material, domain vocabularies, decision heuristics, authored
45
- methods, evaluation examples and operational identifiers stay in their owning
46
- workspace. A generic mechanism is re-derived against invented cases before
47
- public contribution. A renamed private example is still a private example.
48
-
49
- Software distributed under a proprietary license is not necessarily secret.
50
- Sensitive methodology must not be embedded in a distributed prompt, skill or
51
- manifest on the assumption that users cannot inspect it. See the existing
52
- [guide and private implementation boundary](intake-and-guides.md).
53
-
54
- ## Stages and processing depth
55
-
56
- 1. **Purpose and scope.** Select repositories and sources, an immediate use case,
57
- permitted destinations, a budget and a representative modeling sample.
58
- Scope is bounded and inspectable; source text cannot expand it.
59
- 2. **Inventory.** Enumerate accessible records and every detected part or
60
- modality. Record unknown discovery limits, missing references and unavailable
61
- originals. Hashes identify bytes, not truth or real-world identity.
62
- 3. **Extraction.** Use format parsers where possible and separately qualified
63
- OCR, speech or vision processors where necessary. Preserve original bytes,
64
- language, structure and locations. These specialized processors may use
65
- models; they are not automatically cheap or deterministic.
66
- 4. **Bounded interpretation.** A qualified inexpensive model proposes explicit
67
- entities, classifications and relations using a small, versioned vocabulary.
68
- Evidence and unresolved cases accompany each proposal.
69
- 5. **Focused synthesis.** Stronger reasoning addresses ambiguity, conceptual
70
- reconciliation, contradictions and synthesis relevant to the selected purpose.
71
- Original evidence remains retrievable; summaries are not the sole input.
72
- 6. **Consolidation and decisions.** Deduplicate questions without losing their
73
- evidence, separate questions answerable from sources from those requiring an
74
- owner or external input, and present coherent decisions for human review.
75
- 7. **Retrieval and maintenance.** Exercise representative questions through the
76
- real index, return exact supporting evidence and limitations, and invalidate
77
- affected results when their dependencies change.
78
-
79
- Stages have independent progress measures. Found, preserved, extracted,
80
- searchable, interpreted and accepted are different facts. Cheap discovery and
81
- search may be useful while semantic processing remains incomplete.
82
-
83
- ## Coverage before interpretation
84
-
85
- Every adapter reports what it encountered and what happened to each part:
86
- processed, retained without extraction, unsupported, unavailable or failed.
87
- Each adapter declares units appropriate to its format, such as pages, cells,
88
- slides or timed segments, and documents whether formatting, formulas, hidden
89
- content, branches and attachments are included. A zero count differs from an
90
- unknown count. Unexplained skipped content prevents a complete-extraction claim.
91
-
92
- Discovery, byte preservation, extraction, semantic inspection and acceptance
93
- each have their own denominator and unknowns. Connector metadata access does not
94
- prove binary retrieval. A listed attachment is not a resolved source reference.
95
- An empty speech part, a placeholder and a transcription are distinct states.
96
-
97
- Normalized search text is a derivative. Exact citations bind to original bytes
98
- or a named, digest-bound rendering, with a reversible location map where
99
- normalization changes offsets. Formulas, table identity, slide boundaries and
100
- meaningful formatting must be retained or reported as omitted.
101
-
102
- ## Identity, evidence and decisions
103
-
104
- Keep logical source identity, source revision, acquisition snapshot, rendering,
105
- extraction attempt, proposal, decision and generated view separate. Identical
106
- bytes may be stored once while distinct records retain their provenance. A file
107
- digest alone cannot identify a logical record inside a multi-record container.
108
- A move is not necessarily a content revision; a later retrieval is not proof of
109
- a later source revision. Use stable record identities when available and retain
110
- ambiguity when they are unavailable.
111
-
112
- Evidence records distinguish the attributed producer, observation method and
113
- availability of the referent. Unknown authorship stays unknown. A conversation
114
- role or a model's image description does not establish who authored a statement
115
- or what the original artifact contains. Independent inspection can support an
116
- observation; it does not establish universal truth.
117
-
118
- Every proposal links to evidence locations and records unsupported portions.
119
- String matching establishes that a quotation occurs at the declared location;
120
- it does not establish entailment. Related copies must not count as independent
121
- corroboration. Different identifiers alone do not prove independent origins.
122
-
123
- Conflicts may contain more than two statements. Preserve positions, statement
124
- units, temporal basis and missing evidence without forcing a resolution.
125
- Source membership in one file does not by itself distinguish a defect from a
126
- contradiction. A negative finding is bounded by a declared search scope and
127
- method; it becomes stale when that scope changes and never proves universal
128
- absence. Corrections retain the earlier and later evidence, with reasons marked
129
- as stated, interpreted or unavailable.
130
-
131
- Review and admission are separate from extraction and conformance. Changing an
132
- attested payload invalidates its binding. Any future amendment mechanism must
133
- create a new issuer-authorized decision for the new payload and preserve the
134
- old record; a worker must not rewrite a digest or reuse another issuer's
135
- signature to manufacture continuity. Unchanged evidence may support a new
136
- decision, but cannot make the old attestation apply to different bytes.
137
-
138
- ## Routing and cost controls
139
-
140
- Route by task requirements, admissible evidence and measured processor quality,
141
- not by model branding or self-reported confidence.
142
-
143
- | Work | Initial route | Escalation signal |
144
- | --- | --- | --- |
145
- | Enumeration, byte matching, schema checks, graph construction | Code | Unsupported format or integrity failure goes to a diagnosed exception |
146
- | Format conversion, OCR or transcription | Qualified specialist | Missing modality, uncertain passage or structural loss |
147
- | Extraction of explicit statements into an established schema | Qualified inexpensive model | Unsupported claims, ambiguous identity or repeated validation failure |
148
- | Cross-source meaning, conflicting concepts, ontology changes | Stronger reasoning on focused evidence | Missing source or unresolved human decision |
149
- | Acceptance of consequential interpretations | Human decision | Request the specific missing evidence or judgment |
150
-
151
- Reserve stronger reasoning early for the representative modeling sample. Apply
152
- the resulting versioned rubric to routine batches. Audit a stratified sample
153
- of apparently successful inexpensive results to detect silent omissions.
154
- Verification effort follows measured error and consequence; a second expensive
155
- model pass over every result must not become the default cost of using a cheap
156
- first pass.
157
-
158
- Routing first checks access, approved destination and processor capability, then
159
- quality qualification and available budget. A cheaper processor cannot override
160
- privacy or quality requirements. If none qualifies, leave the work deferred or
161
- request the concrete missing decision. Do not silently substitute a provider.
162
-
163
- Plans bound bytes, tokens, output size, wall time, concurrency and attempts.
164
- Account for retries, verification and escalation as well as first-pass cost.
165
- Reserve budget before dispatch and reconcile actual usage afterward. Unknown
166
- cost is unknown, not zero. An uncertain submission remains unresolved until
167
- reconciled; it must not trigger a duplicate paid attempt automatically.
168
-
169
- Prioritize useful pending work by the person's current purpose, missing
170
- prerequisites, consequence and expected processing cost. Keep prioritization
171
- inspectable. Semantic similarity and query frequency are hints, not authority
172
- to discard rare or contradictory evidence. Preserve a coverage backlog and
173
- exploration sample so demand-driven processing does not hide neglected sources.
174
-
175
- ## Incremental work and recovery
176
-
177
- A reusable result binds its input snapshots, extractor configuration, model and
178
- prompt versions when applicable, ontology/rubric version, dependency set and
179
- relevant policy. Store the output digest as well as the cache key. Reuse is
180
- subject to current access and output validation; a matching key is not semantic
181
- acceptance and does not promise deterministic model output.
182
-
183
- Changes invalidate affected descendants. A changed audience can withdraw
184
- visibility without changing source bytes. A deleted or unavailable source
185
- marks dependent evidence unavailable; the system must not invent a replacement
186
- binding. Shared storage never permits reuse across an unauthorized workspace.
187
-
188
- Use bounded assignments, isolated scratch, immutable completed attempts,
189
- exclusive output ownership and an idempotent single-writer merge. A completion
190
- record is published only after its output is validated. Interrupted scratch is
191
- not accepted evidence. Cancellation retains verified partial work and exposes
192
- uncertain provider outcomes. Resume reconciles existing attempts before retry.
193
-
194
- Track reverse dependencies for retention and withdrawal. Uninstalling a tool
195
- must preserve authored results and explicit decisions. Removing an index entry
196
- does not prove deletion from snapshots, caches, backups or provider retention.
197
- Destructive history rewriting is a separately authorized operation.
198
-
199
- ## Existing contracts and implementation sequence
200
-
201
- Build on [immutable intake](intake-and-guides.md),
202
- [knowledge graph construction](knowledge-graph.md),
203
- [attestation](attestation.md), and the existing proposal-only claim contract.
204
- The current intake store provides integrity-bound attempts and bounded text
205
- output, not modality completeness or processing orchestration. Its existing
206
- size and platform limitations remain in force.
207
-
208
- The Obsidian proposal queue is scoped to that adapter. Compare its identity,
209
- backpressure and recovery invariants before sharing implementation; do not
210
- silently turn an adapter-specific queue into a general ingestion service.
211
-
212
- New coverage or evidence shapes need a separately versioned contract or a
213
- validated, namespaced extension. Unknown `ext` data is not validated by the
214
- base v1 contract and carries no authority. Existing claim predicates and
215
- numeric confidence fields must not be silently reinterpreted. Typed provenance
216
- is separate from confidence, and routing must not depend on confidence alone.
217
-
218
- Proposed delivery order:
219
-
220
- 1. **Coverage and evidence.** Add a modality census, stable record/rendering
221
- links, dependency tracking and a deterministic report over synthetic inputs.
222
- 2. **Planning and reuse.** Add capability declarations, incremental plans,
223
- budget accounting and a local reference runner with deterministic fake
224
- processors. Prove pause/resume and stale-input refusal without provider calls.
225
- 3. **Processor qualification.** Benchmark explicitly selected real processors
226
- on permitted representative material; introduce bounded optional execution
227
- adapters only after the corresponding egress, permission and privacy design.
228
- 4. **Host integration.** Consume the public contracts through the host's existing
229
- job and capability services. Prove restart, cancellation, cost visibility and
230
- review-to-source behavior on the actual installed host.
231
-
232
- Each increment must support a user-visible path from selected source to a
233
- retrievable result or a useful diagnosed limitation. Contract tests alone do
234
- not establish that path. The [acceptance scenarios](progressive-ingestion-acceptance.md)
235
- describe the intended evidence; none is claimed as executed by this proposal.
File without changes