@mnstry/atelier 0.2.0-alpha.14 → 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 (236) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +80 -47
  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/claims.md +2 -2
  10. package/docs/blocks/conformance-admission.md +1 -1
  11. package/docs/{atelier-sync.md → guides/atelier-sync.md} +20 -14
  12. package/docs/guides/co-authoring.md +113 -0
  13. package/docs/{distributions.md → guides/distributions.md} +13 -8
  14. package/docs/guides/extensions.md +189 -0
  15. package/docs/guides/graph-refresh.md +152 -0
  16. package/docs/guides/graph-workspace.md +64 -0
  17. package/docs/{ingestion.md → guides/ingestion.md} +13 -12
  18. package/docs/{knowledge-workspace.md → guides/knowledge-workspace.md} +2 -2
  19. package/docs/{learning.md → guides/learning.md} +12 -5
  20. package/docs/{obsidian.md → guides/obsidian.md} +134 -47
  21. package/docs/guides/ontology-guide.md +111 -0
  22. package/docs/{personal-workspace.md → guides/personal-workspace.md} +7 -4
  23. package/docs/{research-starter.md → guides/research-starter.md} +1 -1
  24. package/docs/{tenant-readiness.md → guides/tenant-readiness.md} +39 -0
  25. package/docs/{upgrade.md → guides/upgrade.md} +23 -9
  26. package/docs/knowledge-health/assessment/capabilities.md +6 -15
  27. package/docs/knowledge-health/facilitator.md +15 -4
  28. package/docs/knowledge-health/{devday/participant-response.md → participant-response.md} +4 -2
  29. package/docs/knowledge-health/quickstart.md +97 -75
  30. package/docs/knowledge-health/readme.md +13 -5
  31. package/docs/maintainers/describing-the-atelier.md +173 -0
  32. package/docs/{release-engineering.md → maintainers/release-engineering.md} +5 -5
  33. package/docs/{announcements.md → reference/announcements.md} +1 -1
  34. package/docs/{architecture.md → reference/architecture.md} +31 -5
  35. package/docs/{atelier-runtime.md → reference/atelier-runtime.md} +1 -1
  36. package/docs/{connected-composition.md → reference/connected-composition.md} +7 -10
  37. package/docs/{coordination.md → reference/coordination.md} +1 -1
  38. package/docs/{decisions.md → reference/decisions.md} +3 -3
  39. package/docs/{design.md → reference/design.md} +1 -1
  40. package/docs/reference/edge-policy.md +151 -0
  41. package/docs/reference/graph-view-structured.md +119 -0
  42. package/docs/reference/graph-view.md +139 -0
  43. package/docs/reference/graph-workspace.md +37 -0
  44. package/docs/{intake-and-guides.md → reference/intake-and-guides.md} +3 -4
  45. package/docs/{knowledge-graph.md → reference/knowledge-graph.md} +120 -6
  46. package/docs/{local-services.md → reference/local-services.md} +1 -1
  47. package/docs/{obsidian-contract.md → reference/obsidian-contract.md} +6 -4
  48. package/docs/{obsidian-plugin.md → reference/obsidian-plugin.md} +5 -66
  49. package/docs/{practical-judgment.md → reference/phronesis.md} +12 -3
  50. package/docs/reference/portability.md +92 -0
  51. package/docs/{portable-presentation.md → reference/portable-presentation.md} +2 -2
  52. package/docs/{presentation-consumer-boundaries.md → reference/presentation-consumer-boundaries.md} +5 -0
  53. package/docs/{project-options.md → reference/project-options.md} +17 -0
  54. package/docs/{repo-boundary-guard.md → reference/repo-boundary-guard.md} +27 -4
  55. package/docs/{review-portability.md → reference/review-portability.md} +4 -0
  56. package/docs/{template-profile.md → reference/template-profile.md} +1 -1
  57. package/docs/{trackables.md → reference/trackables.md} +2 -2
  58. package/docs/start/independent-start.md +89 -0
  59. package/docs/{install.md → start/install.md} +6 -6
  60. package/docs/{knowledge-setup.md → start/knowledge-setup.md} +5 -5
  61. package/docs/{research-starter-quickstart.md → start/research-starter-quickstart.md} +6 -6
  62. package/fixtures/atelier-architecture/catalog/invalid/document.json +2 -2
  63. package/fixtures/atelier-architecture/catalog/valid/document.json +2 -2
  64. package/fixtures/graph-view/synthetic-authorized-input.v1.json +437 -0
  65. package/fixtures/graph-view/synthetic-view.v1.json +1 -0
  66. package/fixtures/knowledge-health/workshop/README.md +1 -1
  67. package/fixtures/templates/local-library.v1.json +2 -1
  68. package/package.json +21 -8
  69. package/skills/claude/atelier-guided-upgrade/SKILL.md +1 -1
  70. package/skills/claude/atelier-knowledge-setup/SKILL.md +2 -2
  71. package/skills/claude/atelier-local-service/SKILL.md +1 -1
  72. package/skills/claude/atelier-practical-judgment/SKILL.md +7 -2
  73. package/skills/claude/atelier-skill-steward/SKILL.md +1 -1
  74. package/skills/claude/mnstry-readiness/SKILL.md +2 -2
  75. package/skills/codex/atelier-guided-upgrade/SKILL.md +1 -1
  76. package/skills/codex/atelier-knowledge-setup/SKILL.md +2 -2
  77. package/skills/codex/atelier-local-service/SKILL.md +1 -1
  78. package/skills/codex/atelier-practical-judgment/SKILL.md +7 -2
  79. package/skills/codex/atelier-skill-steward/SKILL.md +1 -1
  80. package/skills/codex/mnstry-readiness/SKILL.md +2 -2
  81. package/src/architecture/catalog.mjs +2 -2
  82. package/src/attestation/sign.mjs +1 -1
  83. package/src/boundary/content-rules.mjs +5 -4
  84. package/src/boundary/policy.mjs +60 -12
  85. package/src/cli/run.mjs +24 -8
  86. package/src/commands/distribution.mjs +1 -1
  87. package/src/commands/extension.mjs +27 -0
  88. package/src/commands/ingest.mjs +1 -1
  89. package/src/commands/learn.mjs +1 -1
  90. package/src/commands/obsidian.mjs +28 -16
  91. package/src/commands/review.mjs +3 -0
  92. package/src/edge-policy/contract.mjs +69 -0
  93. package/src/edge-policy/policy.mjs +142 -0
  94. package/src/edge-policy/source-citation-adapter.mjs +43 -0
  95. package/src/extension-packs/loader.mjs +4 -3
  96. package/src/extensions/admission.mjs +83 -0
  97. package/src/extensions/client.d.mts +23 -0
  98. package/src/extensions/client.mjs +99 -0
  99. package/src/extensions/contracts.d.mts +29 -0
  100. package/src/extensions/contracts.mjs +163 -0
  101. package/src/extensions/convex.d.mts +24 -0
  102. package/src/extensions/convex.mjs +189 -0
  103. package/src/extensions/delegation.mjs +54 -0
  104. package/src/extensions/drizzle.d.mts +11 -0
  105. package/src/extensions/drizzle.mjs +33 -0
  106. package/src/extensions/postgres.d.mts +7 -0
  107. package/src/extensions/postgres.mjs +66 -0
  108. package/src/extensions/prisma.d.mts +13 -0
  109. package/src/extensions/prisma.mjs +63 -0
  110. package/src/extensions/project.mjs +432 -0
  111. package/src/extensions/scaffold-convex.mjs +130 -0
  112. package/src/extensions/scaffold-sql.mjs +144 -0
  113. package/src/extensions/server.d.mts +20 -0
  114. package/src/extensions/server.mjs +102 -0
  115. package/src/extensions/sql-scope.mjs +22 -0
  116. package/src/graph/knowledge-graph.mjs +1 -1
  117. package/src/graph/repo-contribution.mjs +405 -0
  118. package/src/graph/repo-contribution.types.mjs +32 -0
  119. package/src/graph-access/edge-decision-adapter.mjs +41 -0
  120. package/src/graph-access/edge-record-adapter.mjs +73 -0
  121. package/src/graph-access/index.mjs +253 -0
  122. package/src/graph-access/multi-contribution-record-adapter.mjs +101 -0
  123. package/src/graph-access/multi-record-projection-adapter.mjs +74 -0
  124. package/src/graph-access/source-adapter.mjs +81 -0
  125. package/src/graph-refresh/compare.mjs +110 -0
  126. package/src/graph-refresh/controller.mjs +324 -0
  127. package/src/graph-refresh/index.mjs +3 -0
  128. package/src/graph-refresh/local.mjs +78 -0
  129. package/src/graph-view/babylon/babylon-scene-port.mjs +64 -0
  130. package/src/graph-view/babylon/index.mjs +2 -0
  131. package/src/graph-view/babylon/navigator.mjs +312 -0
  132. package/src/graph-view/babylon/provenance.mjs +36 -0
  133. package/src/graph-view/babylon/scene-controller.mjs +131 -0
  134. package/src/graph-view/babylon/semantic-picking.mjs +35 -0
  135. package/src/graph-view/babylon/web-host.mjs +188 -0
  136. package/src/graph-view/cli.mjs +3 -0
  137. package/src/graph-view/command.mjs +34 -0
  138. package/src/graph-view/contracts.mjs +79 -0
  139. package/src/graph-view/errors.mjs +5 -0
  140. package/src/graph-view/index.mjs +4 -0
  141. package/src/graph-view/intents.mjs +30 -0
  142. package/src/graph-view/query.mjs +213 -0
  143. package/src/graph-view/refs.mjs +2 -0
  144. package/src/graph-view/structured/browser.mjs +262 -0
  145. package/src/graph-view/structured/styles.mjs +8 -0
  146. package/src/graph-workspace/authoring.mjs +185 -0
  147. package/src/graph-workspace/browser/constellation.mjs +369 -0
  148. package/src/graph-workspace/browser/dom.mjs +23 -0
  149. package/src/graph-workspace/browser/index.mjs +6 -0
  150. package/src/graph-workspace/browser/review.mjs +55 -0
  151. package/src/graph-workspace/browser/styles.mjs +11 -0
  152. package/src/graph-workspace/browser/workbench.mjs +351 -0
  153. package/src/graph-workspace/browser/workspace.mjs +431 -0
  154. package/src/graph-workspace/disclosure.mjs +39 -0
  155. package/src/graph-workspace/geometry.mjs +78 -0
  156. package/src/graph-workspace/index.mjs +11 -0
  157. package/src/graph-workspace/labels.mjs +50 -0
  158. package/src/graph-workspace/model.mjs +109 -0
  159. package/src/graph-workspace/recipes.mjs +88 -0
  160. package/src/graph-workspace/scale.mjs +95 -0
  161. package/src/graph-workspace/theme.mjs +156 -0
  162. package/src/knowledge/ontology-guide.mjs +152 -0
  163. package/src/knowledge-health/proof/installed-check.mjs +2 -2
  164. package/src/knowledge-health/rule-identity.mjs +7 -7
  165. package/src/knowledge-health/workshop.mjs +22 -2
  166. package/src/personal-workspace/selection.mjs +17 -2
  167. package/src/project/config.mjs +1 -1
  168. package/src/project/providers/github.mjs +24 -0
  169. package/src/project/repo-identity.mjs +3 -22
  170. package/src/projection/obsidian/contracts.mjs +1 -1
  171. package/src/projection/obsidian/materialize/path-registry.mjs +1 -1
  172. package/src/projection/obsidian/materialize/prepare-view.mjs +1 -1
  173. package/src/projection/obsidian/materialize/redaction.mjs +1 -1
  174. package/src/projection/obsidian/personal-workspace.mjs +24 -28
  175. package/src/projection/obsidian/plugin-bridge/channel.mjs +1 -1
  176. package/src/projection/obsidian/publication/publisher.mjs +25 -4
  177. package/src/projection/project.mjs +18 -14
  178. package/src/readiness/readiness.mjs +20 -11
  179. package/src/readiness-protocols/bundled-pack.mjs +14 -766
  180. package/src/readiness-protocols/bundled-selection.mjs +32 -0
  181. package/src/readiness-protocols/evidence.mjs +2 -1
  182. package/src/readiness-protocols/packs/mnstry.mjs +766 -0
  183. package/src/readiness-protocols/runtime.mjs +43 -6
  184. package/src/runtime/obsidian/engine.mjs +99 -26
  185. package/src/runtime/obsidian/lifecycle.mjs +3 -3
  186. package/src/runtime/obsidian/login-item.mjs +2 -2
  187. package/src/runtime/obsidian/machine-settings.mjs +52 -8
  188. package/src/runtime/obsidian/opening.mjs +2 -2
  189. package/src/runtime/obsidian/personal-selection.mjs +88 -26
  190. package/src/runtime/obsidian/pipeline.mjs +75 -7
  191. package/src/runtime/obsidian/private-lock.mjs +11 -2
  192. package/src/runtime/obsidian/selection-continuity.mjs +124 -0
  193. package/src/runtime/obsidian/service-main.mjs +15 -9
  194. package/src/runtime/obsidian/service.mjs +14 -0
  195. package/src/runtime/obsidian/unheld-evidence.mjs +1 -1
  196. package/src/runtime/obsidian/view-permission.mjs +2 -1
  197. package/src/upgrade/upgrade.mjs +23 -4
  198. package/templates/distribution-workspace/README.md +2 -2
  199. package/templates/external-project-workspace/atelier.project.json +3 -0
  200. package/templates/external-project-workspace/pack-lifecycle.json +2 -1
  201. package/templates/knowledge-workspace/README.md +2 -2
  202. package/docs/integration-and-review-plan.md +0 -409
  203. package/docs/integration-contract-decisions.md +0 -44
  204. package/docs/knowledge-health/devday/facilitator.md +0 -16
  205. package/docs/knowledge-health/devday/public-default.md +0 -107
  206. package/docs/knowledge-health/devday/quickstart.md +0 -18
  207. package/docs/knowledge-health/devday/support.md +0 -22
  208. package/docs/knowledge-health/exercise.md +0 -17
  209. package/docs/knowledge-health/support.md +0 -34
  210. package/docs/presentation-review-disposition.md +0 -47
  211. package/docs/progressive-ingestion-acceptance.md +0 -89
  212. package/docs/progressive-ingestion.md +0 -235
  213. /package/docs/{capability-stewardship.md → guides/capability-stewardship.md} +0 -0
  214. /package/docs/{exact-upgrades.md → guides/exact-upgrades.md} +0 -0
  215. /package/docs/{guided-upgrades.md → guides/guided-upgrades.md} +0 -0
  216. /package/docs/{inquiry-harnesses.md → guides/inquiry-harnesses.md} +0 -0
  217. /package/docs/{learning-harnesses.md → guides/learning-harnesses.md} +0 -0
  218. /package/docs/{local-review.md → guides/local-review.md} +0 -0
  219. /package/docs/{skill-steward.md → guides/skill-steward.md} +0 -0
  220. /package/docs/{template-upgrades.md → guides/template-upgrades.md} +0 -0
  221. /package/docs/{assurance-controls.md → maintainers/assurance-controls.md} +0 -0
  222. /package/docs/{attestation.md → reference/attestation.md} +0 -0
  223. /package/docs/{coauthor-session.md → reference/coauthor-session.md} +0 -0
  224. /package/docs/{continuity.md → reference/continuity.md} +0 -0
  225. /package/docs/{contract-stability.md → reference/contract-stability.md} +0 -0
  226. /package/docs/{decision-practices.md → reference/decision-practices.md} +0 -0
  227. /package/docs/{evidence-navigation.md → reference/evidence-navigation.md} +0 -0
  228. /package/docs/{extension-pack-lifecycle.md → reference/extension-pack-lifecycle.md} +0 -0
  229. /package/docs/{interaction-and-reflection.md → reference/interaction-and-reflection.md} +0 -0
  230. /package/docs/{local-state.md → reference/local-state.md} +0 -0
  231. /package/docs/{ontology.md → reference/ontology.md} +0 -0
  232. /package/docs/{optional-ingestion.md → reference/optional-ingestion.md} +0 -0
  233. /package/docs/{project-command-inventory.md → reference/project-command-inventory.md} +0 -0
  234. /package/docs/{semantic-ingestion.md → reference/semantic-ingestion.md} +0 -0
  235. /package/docs/{semantic-operation.md → reference/semantic-operation.md} +0 -0
  236. /package/docs/{vault-service.md → reference/vault-service.md} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,55 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.0-alpha.15
4
+
5
+ - Patch the fast-uri dependency and override from 3.1.8 to 3.1.9, the patched 3.x release for GHSA-w74x-v6f9-j3xg, GHSA-xhq7-xmqj-769h, GHSA-wjr9-j795-jxcr and GHSA-333x-w4r6-6crp (3.1.8 is in each affected range; whether Atelier's use was exploitable is not established). Ajv's own `^3.0.1` range resolves to the same copy, so a bare consumer installs 3.1.9 only, and `npm audit` reports no runtime advisory.
6
+ - Add the graph workspace (`@mnstry/atelier/graph-workspace` and `/graph-workspace/browser`): one graph in three rooms, a constellation of every readable record on a night-sky canvas with folder zones and collision-free labels, a workbench of sparse cards beside a focused authoring sheet, and a review that shows before and proposed and leaves the decision to a person. Work recipes choose the room, lens and primary action, and compose across Atelier, coach and owner layers with per-field provenance; themes compose the same way and refuse unsafe values and low contrast. Scale helpers show the whole as zones beyond 12,000 records and open one zone at a time with every omission counted. Drafts live behind a storage port (this browser by default, and the interface says so). A shareable-content gate finds fingerprints of private graphs in shareable text. Renderer packages are injected by the host; Atelier adds no runtime dependency. See the [graph workspace guide](docs/guides/graph-workspace.md).
7
+ - Add renderer-neutral graph views (`atelier.graph-view@v1`), a reader-bound graph access port, repository-qualified Markdown source contributions, a source-bound edge eligibility policy and adapters that bind source contributions through edge policy to graph access. Hosts still own authentication, grants, revalidation and keys.
8
+ - Add a structured graph explorer with a provenance inspector, an optional Babylon graph-view consumer, source-bound ontology guidance drafts, and an authorized projection refresh lifecycle with scoped impact comparison.
9
+ - Refuse aliases of Git metadata, a root Git metadata entry that disappears before capture, and impossible UTF-16 or UTF-8 locator offsets in repository contributions, and resolve outgoing links from uppercase `.MD` sources. Knowledge Health pins the bytes of the knowledge-graph file, so its rule identity is regenerated for it: the `check` each assessment carries names a new `version` and `sourceTree`, and the rule it applies is unchanged.
10
+
11
+ - Accept a longer personal-selection history without a fresh confirmation only when it still holds the accepted record at its position. After a confirmed shortening, a divergent history at or above the earlier maximum refuses until it is confirmed again; ordinary appends and exact restoration are unchanged.
12
+
13
+ - Check the private-state location before a first use writes the workspace pointer, and check the persisted identity again before any further write. A refused location now leaves no pointer and no local state behind.
14
+
15
+ - Write no refusal bookkeeping for a private-state location refusal (a lock held or just taken is still released or withdrawn), and none unless the state root is still outside every root declared now, for a cached store as well as a newly located one. A configured locator that refuses leaves current roots unknown, so nothing is written. Retained selection-continuity writes, freshness writes and every engine phase that writes after a cooperative wait (vault-edit preservation, pending edits, automatic apply, preparation and publication) prove the location again against the roots declared now, as do engine-lock acquisition after its inspection, vault allocation after reading the app's list, and the publisher after each wait for the app, its list of vaults, its comparison of kept notes or its quiet period. Neither a location refusal nor a failure that leaves the location unproven (a wait for the app that gave up) writes a publication failure entry. A service started by a login item no longer falls back to the workspace the unit names when locating its workspace refuses, and prints a location refusal instead of logging or recording it there; a tick the engine refuses outright for the location of private state leaves the service's error record as it was. A refusal of the private state's own location found in one view (`managed-root-unproven`) stops the whole tick, so no later view goes on under roots that can no longer be trusted; a view whose own vault is in a bad place is still refused alone. These proofs are made at named points in the engine and the publisher, not at every write. Roots "declared now" are a personal home's manifest read again at each proof; an ordinary project's are those of the project as last loaded, until it is loaded again. The service process's own records, its plugin state and the built-in proposal store are not proven against the roots declared now; Known limits in the Obsidian guide lists them.
16
+
17
+ - Never let an unpersisted selection acceptance replace a newer durable one: a retained observation keeps its maximum and identities, but the checkpoint's accepted head wins once another writer has changed it.
18
+
19
+ - Refuse `obsidian uninstall` when the workspace location or identity cannot be established, instead of reporting that nothing was installed. No login-item or service action is taken.
20
+
21
+ - Create every workshop directory and file exclusively when initializing a new workshop, so a directory or file that arrives meanwhile refuses instead of being merged, and refuse before Git initialization if an unknown entry appears inside a directory the initialization created. Nothing is overwritten and nothing unknown is removed.
22
+
23
+ - Order journey runs by their validated creation instant, with run identity as the deterministic tie-break. Latest-per-protocol summaries and tenant packets share that rule; malformed times refuse rather than inherit hash-filename order. Clarify that a review-workspace decision concerns its run claims and source linkage alone does not establish logical support.
24
+
25
+ - Refuse a view as mixed-read when a previously observed source becomes a directory or changes during its pinned read, or a graph-declared sidecar disappears during the build. Other views can proceed; never-observed and unreadable sources retain their own errors.
26
+ - Cover the Astro presentation example in weekly dependency updates. Update Astro to 7.3.8 and refresh its locked sharp and HTTP cache-semantics dependencies to their patched releases.
27
+
28
+ - Event-loop benchmark results record the host logical CPU count and the one-, five- and fifteen-minute load averages at the start and end, including failed runs, so responsiveness evidence can be read with its host conditions.
29
+ - Keep all enrolled repository roots outside private service state when locating a personal workspace. Locating an existing home now requires its readable authored manifest, including an explicitly empty enrollment; the lower-level service API refuses a bare home instead of assuming no repository exclusions. Login-item removal and uninstall can retain their off choice before any generation is confirmed, and report the actual kept workspace pointer. Clarify which generation reads and assembly still run on the caller thread.
30
+
31
+ - Persist personal-selection continuity across service starts. A shortened history stays refused until its removed records return or a fresh confirmation accepts it; previously observed records cannot stand in for a new confirmation. A missing checkpoint with retained private ownership evidence refuses instead of becoming a first start.
32
+ - Initialize an undecided personal vault audience as owner only in machine settings. Explicit choices and clears keep their meaning; personal bindings permit `audience set me` and `audience clear`, and refuse custom audience lists. Initialization rereads under the same lock as setting writes so a concurrent clear stays empty.
33
+ - Keep blocking boundary diagnostics visible before warnings, report one aggregate evidence limit, and pin path quoting in Git evidence. Staged acquisition refuses missing or incomplete repository evidence and covers type changes without rename collapse. Conservative semantic assignment detection and runner-error handling preserve classified-document deletion review. Boundary checks flush complete JSON diagnostics through pipes before returning their refusal exit code.
34
+
35
+ - Allow projects to deselect the bundled MNSTRY readiness pack with tracked `ext["mnstry.atelier"].readiness.includeBundled: false`. Generic graph, project and readiness checks and selected custom protocols remain available; bundled journey, packet and readiness export commands refuse. Selection changes require an explicit lock write. Absent or `true` preserves the existing default, IDs and APIs.
36
+
37
+ - Name the practical-judgment responsibility Phronesis, with practical judgment as its plain-language description. Existing catalog identity, English lookup alias, judgment API and skill identities remain compatible. Keep Knowledge Stewardship distinct from the shared Knowledge Graph representation; move the current guide to `docs/reference/phronesis.md`.
38
+
39
+ - The boundary push check names its reason when a push's refs together exceed the evidence budget (`push-evidence-too-large`, with `limitBytes`, as when one ref's commits do), where before that refusal carried no reason. The text output of `atelier boundary check` and `atelier boundary push-check` lists a scan that could not finish (`content-scan-incomplete`, `semantic-field-scan-incomplete`, `repo-unscannable`) before the content findings and says how many findings past the first 50 it leaves out, so a long list no longer hides why a commit or push was refused. The guard documentation says the 1000-commit limit applies to each ref update and what to do with a single commit over the budget on its own.
40
+
41
+ - Add the optional native Convex backend adapter and TypeScript starter through the existing extension init/seal/validate/bundle workflow. HTTP admission and private native mutations reuse the delegation contract; indexed operation results commit with custom writes. Native provider qualification remains separate from reactive lifecycle and complete host/customer acceptance.
42
+
43
+ - Add native Drizzle DB-first/code-first and Prisma 7 project profiles, prepared scoped transactions and provider receipt recovery. Optional provider dependencies stay in the generated app; Root and supported-host acceptance remain separate gates.
44
+
45
+
46
+ - Organize current documentation into start, guides, reference and maintainer folders with one index. Remove superseded planning/review and event walkthrough files. Remove the retired Obsidian publication experiment, retaining its active isolated-app test fixture in the maintained harness with read-only inspection and refusal coverage. Required packed-document and inbound references follow the new paths.
47
+
48
+ - Repository cleanup groups vault test helpers under `test/support/vault/` and imports consumer-closure diagnostics directly from their existing source module. CLI help describes `mnstry-atelier` as a supported npm alias. The repository-local reconsideration tool now measures only the explicitly marked Maintained implementation decisions section of the architecture reference; definition revision four retains predicate v3 and all original measurement records.
49
+
50
+ - Add portable typed extension contracts, authenticated host clients, signed server admission and native Postgres transaction/receipt helpers under the existing package.
51
+ - Add `atelier extension init|validate|seal` for a customer-owned Postgres TypeScript project. Generation and sealing do not deploy or authorize an installation. Provider and supported-host qualification carry separate evidence.
52
+
3
53
  ## 0.2.0-alpha.14
4
54
 
5
55
  - The Obsidian maintenance service's log no longer gets a `status-project-loaded` line for every failure and recovery, or every slow load, of the plugin's status read while its loads come less than a minute apart and fail, or are slow, every other load or every third. Before, any load that answered ended a row of failures, and any load in time a row of slow loads. Now a row of failures ends only at a load that answers a minute or more after its last failure, with a line that names how many failures it held, and a row of slow loads only at a load in time a minute or more after the last slow one. Such a loader writes one row, less and less often. While a project is kept, it is loaded again every two and a half minutes, so there a row of failures ends at the next reload that answers. A loader that answers at least one reload between two failures still writes each failure and the load that ends its row, and one that fails at every reload and answers only at its retry keeps one row. Each slow load is still written there. A load at every request is now written too, when each load names the files it started over. That happens while a file that decides the views vouches for nothing, or while loads never agree, and before it showed only as a growing count. A load after which nothing is kept, though it named the files it started over, is written from the second in a row, on the same doubling row (`notKept`, with `vouched`); a load that named other files, as after a new confirmed selection, neither counts nor ends that row. `statusLoads` in the status document counts these loads as `notKept`, one at a start and one after each change on a healthy service.
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # MNSTRY Atelier
2
2
 
3
+ `0.2.0-alpha.15` adds a [graph workspace](docs/guides/graph-workspace.md) (a constellation of every readable record, a focused authoring workbench and a review room, built from primitives coaches and owners can compose), renderer-neutral graph views and an [extension SDK and Postgres project workflow](docs/guides/extensions.md). Native host qualification remains a separate gate.
4
+
3
5
  **Turn a repository into a living, governed system.**
4
6
 
5
7
  Important bodies of work often begin as files: methods, research, programs,
@@ -31,11 +33,15 @@ that must stay legible, internally connected, privacy-aware, and usable across
31
33
  many interfaces. Methodology authoring is one application of the system, not
32
34
  its definition or ceiling.
33
35
 
34
- See the [responsibility architecture](docs/architecture.md) for Inquiry, Knowledge
35
- Stewardship, Practical Judgment, Creation and Delivery, Capability Stewardship,
36
+ See the [responsibility architecture](docs/reference/architecture.md) for Inquiry, Knowledge
37
+ Stewardship, [Phronesis — practical judgment](docs/reference/phronesis.md), Creation and Delivery, Capability Stewardship,
36
38
  Reflection, Interaction and Coordination. Start a provider-neutral research
37
- workflow with the [research starter](docs/research-starter.md).
38
- Use [portable template profiles](docs/template-profile.md) to bind semantic and
39
+ workflow with the [research starter](docs/guides/research-starter.md).
40
+ Knowledge Stewardship is the broader responsibility; the Knowledge Graph is a
41
+ shared representation used across responsibilities. Phronesis draws on and
42
+ contributes to that graph through existing owners. It supplies no automatic
43
+ wisdom or universal score.
44
+ Use [portable template profiles](docs/reference/template-profile.md) to bind semantic and
39
45
  surface roles to canonical sources, with optional advisory decisions and
40
46
  separate host and release validation.
41
47
 
@@ -59,23 +65,23 @@ when a maintainer starts it by hand.
59
65
  ## From files to a working system
60
66
 
61
67
  Start with a question that changes useful work. The
62
- [knowledge setup workflow](docs/knowledge-setup.md) supplies an editable ontology
68
+ [knowledge setup workflow](docs/start/knowledge-setup.md) supplies an editable ontology
63
69
  plan, a fictional starter, and CLI checks that connect concepts to questions.
64
70
  `atelier knowledge context` selects complete, source-linked evidence within a
65
71
  byte budget; `atelier knowledge evaluate` compares lexical and graph retrieval
66
72
  without provider calls. A passing check is structural evidence; useful answers
67
73
  and efficient token usage still need measurement in real work.
68
74
 
69
- For local-harness authoring, see [durable coauthor sessions](docs/coauthor-session.md)
70
- and [skill stewardship and managed installation](docs/skill-steward.md).
71
- The next-release [capability stewardship foundation](docs/capability-stewardship.md)
75
+ For local-harness authoring, see [durable coauthor sessions](docs/reference/coauthor-session.md)
76
+ and [skill stewardship and managed installation](docs/guides/skill-steward.md).
77
+ The next-release [capability stewardship foundation](docs/guides/capability-stewardship.md)
72
78
  adds portable packages, repository-owned adoption and version-bound evidence
73
79
  alongside existing skills and tools.
74
- [Learning from feedback](docs/learning.md) connects private observations to
80
+ [Learning from feedback](docs/guides/learning.md) connects private observations to
75
81
  reviewed lessons and explicitly activated harness context, with a local CLI.
76
- [Progressive local ingestion](docs/ingestion.md) preserves selected sources and
82
+ [Progressive local ingestion](docs/guides/ingestion.md) preserves selected sources and
77
83
  provides bounded text, CSV and JSON evidence search before interpretation.
78
- [Immutable intake and guide contracts](docs/intake-and-guides.md) extend existing
84
+ [Immutable intake and guide contracts](docs/reference/intake-and-guides.md) extend existing
79
85
  processing and hosted-tool adapters without adding remote execution or publication
80
86
  authority. These alpha capabilities require explicit consumer integration.
81
87
 
@@ -169,6 +175,42 @@ That distinction matters whenever several interfaces share one body of work.
169
175
  A public site, an internal review tool, and an agent session can all use the
170
176
  same graph while receiving different, mechanically checked projections.
171
177
 
178
+ ## Readable by people, checkable by machines
179
+
180
+ A governed file is plain text with a small header. The text is the author's:
181
+ they open, read and correct it with no tool between them and the words. The
182
+ header is the machine's: what the file is, who it is written for and what it
183
+ depends on, compiled by the builder into the graph. The graph check refuses a
184
+ header that names a node which does not exist (configured external targets
185
+ aside), and an agent follows the same
186
+ lines to every file declared to depend on it. One artifact is both the human
187
+ record and the machine index, versioned by Git, diffable line by line, and
188
+ portable by copying the folder that holds the record and its history.
189
+
190
+ ## One working surface
191
+
192
+ The day-to-day surface is the coding harness you already use, Claude Code,
193
+ Codex or another coding harness, opened on the repository with the Atelier's
194
+ skills installed in the workspace. Behind it sits the projection served from your files, and
195
+ beyond it whatever systems you connect through the harness. From one
196
+ conversation an agent reaches the local files, the projected pages, and your
197
+ connected tools. The files are yours. The package supplies the graph, the
198
+ checks and the pages. The harness supplies the model, the tools and the
199
+ conversation.
200
+
201
+ Skills carry the workflows an agent runs: opening a source, guiding an
202
+ authoring session, running a readiness review, keeping the public boundary.
203
+ They are delivered from the package as an audited set of skill files,
204
+ installed into the workspace by a plan whose content digest is confirmed
205
+ before it applies, and pinned by a lock, so the installed skill files are known
206
+ and reviewable. Whether a given harness discovers and follows them is separate
207
+ evidence. Enforcement never rests in a skill. Where they are wired into the
208
+ commit path or CI, the graph check, the boundary guard and the export validator
209
+ run whether or not an agent followed its instructions, and they fail closed. See
210
+ [Co-authoring with agents](docs/guides/co-authoring.md) for the loop this makes
211
+ reliable, and [Describing the Atelier](docs/maintainers/describing-the-atelier.md) for
212
+ the judgment behind these sentences.
213
+
172
214
  ## The system beneath it
173
215
 
174
216
  ### 1. The repository becomes an ontology
@@ -224,7 +266,7 @@ graph. The library exposes the same project, graph, validation, and projection
224
266
  primitives to code.
225
267
 
226
268
  Consumer-owned authoring or review services that need a separate durable
227
- lifecycle follow [the managed local-service contract](./docs/local-services.md).
269
+ lifecycle follow [the managed local-service contract](docs/reference/local-services.md).
228
270
  That contract standardizes process ownership, private local state, and browser
229
271
  recovery without putting a tenant's service details into Atelier.
230
272
 
@@ -237,7 +279,7 @@ The separate headless repository supervisor can observe one explicitly
237
279
  enrolled Git repository, fetch and fast-forward it, and prepare a bounded
238
280
  commit plan. A commit still requires an exact user confirmation and an
239
281
  unchanged re-observation; the loopback browser receives no apply endpoint.
240
- See [Atelier Sync: Deliverable Zero](docs/atelier-sync.md).
282
+ See [Atelier Sync: headless repository supervisor](docs/guides/atelier-sync.md).
241
283
 
242
284
  ### 5. The repository can power another product
243
285
 
@@ -250,9 +292,9 @@ That tool may be private, open source, or commercial. Apache-2.0 permits all
250
292
  three. Conformance to the public Atelier contracts does not require a MNSTRY
251
293
  account or service.
252
294
 
253
- Read [the design document](./docs/design.md) for the five-part architecture and
254
- [the ontology](./docs/ontology.md) and
255
- [contract-stability policy](./docs/contract-stability.md) for the stable
295
+ Read [the design document](docs/reference/design.md) for the five-part architecture and
296
+ [the ontology](docs/reference/ontology.md) and
297
+ [contract-stability policy](docs/reference/contract-stability.md) for the stable
256
298
  boundaries.
257
299
 
258
300
  ## Build your own tool on it
@@ -295,11 +337,11 @@ const navigation = renderActionGroup([
295
337
 
296
338
  The package exports change over the alpha series, so pin the exact prerelease
297
339
  version and treat the package export map and shipped source modules as the
298
- executable API reference. [Distribution contracts](./docs/distributions.md) explain
340
+ executable API reference. [Distribution contracts](docs/guides/distributions.md) explain
299
341
  how a governed subset can be packaged for another surface without widening its
300
342
  audience.
301
343
 
302
- The [advisory decision contract](./docs/decisions.md) gives hosts bounded
344
+ The [advisory decision contract](docs/reference/decisions.md) gives hosts bounded
303
345
  choice, score and boolean questions with evidence references and recorded
304
346
  uncertainty. `@mnstry/atelier/decisions` validates these records offline.
305
347
  The host supplies optional provider execution and retains authorization;
@@ -327,7 +369,7 @@ host evaluation and human acceptance require their own evidence. This source
327
369
  capability has shipped as the `capability` command since 0.2.0-alpha.13.
328
370
  <!-- atelier:block:capability-stewardship:end -->
329
371
 
330
- See [capability stewardship](docs/capability-stewardship.md) for the operating guide.
372
+ See [capability stewardship](docs/guides/capability-stewardship.md) for the operating guide.
331
373
 
332
374
  ## Discovery and research
333
375
 
@@ -353,7 +395,7 @@ pack retains its Discovery Engine title, identifiers and original digest, so
353
395
  existing release locks can use the governed upgrade path without a separate repin.
354
396
  <!-- atelier:block:inquiry-harnesses:end -->
355
397
 
356
- See [Discovery and Research Harnesses](docs/inquiry-harnesses.md) for the local workflow.
398
+ See [Discovery and Research Harnesses](docs/guides/inquiry-harnesses.md) for the local workflow.
357
399
 
358
400
  ## Where the Atelier stops
359
401
 
@@ -389,7 +431,7 @@ platform logins must uniquely match declared login mappings. Repository identity
389
431
  checks may invoke `gh api repos/...` to resolve a canonical GitHub identity.
390
432
  Those authenticated requests use your own `gh` credentials. Recorded repository
391
433
  identities let identity checks keep working when the provider is unavailable.
392
- See `docs/install.md` for the full attribution precedence and mode semantics.
434
+ See `docs/start/install.md` for the full attribution precedence and mode semantics.
393
435
  Explicitly enrolled Atelier Sync may also run bounded Git fetches
394
436
  for observation/reconciliation and one non-force push only when the exact
395
437
  reviewed commit plan requested and confirmed it, no earlier local commit is
@@ -444,7 +486,7 @@ service, no network:
444
486
  atelier dry-run ./atelier-export.json
445
487
  ```
446
488
 
447
- `docs/continuity.md` records the distribution commitments behind these
489
+ `docs/reference/continuity.md` records the distribution commitments behind these
448
490
  claims, including the perpetual Apache-2.0 grant on every tagged release you
449
491
  receive.
450
492
  <!-- atelier:block:claims:end -->
@@ -486,7 +528,7 @@ Admission is a narrower, opt-in decision: whether a MNSTRY governed runtime
486
528
  accepts a document for delivery to the people it serves. That is what
487
529
  admission buys — delivery through a runtime that enforces consent and
488
530
  visibility at serve time — and it takes the form of a signed MNSTRY
489
- attestation against criteria this package publishes (`docs/attestation.md`).
531
+ attestation against criteria this package publishes (`docs/reference/attestation.md`).
490
532
  The criteria are public, the checker is private, and the rejection message
491
533
  is part of the contract. You can build on the Atelier without ever talking
492
534
  to MNSTRY, and a document MNSTRY declines can still be fully conformant.
@@ -501,19 +543,10 @@ Pin the prerelease while the package remains in alpha:
501
543
  npm install --save-dev @mnstry/atelier@0.2.0-alpha.14
502
544
  ```
503
545
 
504
- Then choose the path that matches what you are building:
505
-
506
- - [Installation and first run](./docs/install.md)
507
- - [Design and architecture](./docs/design.md)
508
- - [Knowledge graph and source model](./docs/knowledge-graph.md)
509
- - [Local runtime and agent boundary](./docs/atelier-runtime.md)
510
- - [Distribution contracts](./docs/distributions.md)
511
- - [Conformance and attestation](./docs/attestation.md)
512
- - [Continuity commitments](./docs/continuity.md)
513
- - [Assurance controls and evidence map](./docs/assurance-controls.md)
514
- - [Upgrade notes](./docs/upgrade.md)
515
- - [Upgrade with your agent](./docs/guided-upgrades.md)
516
- - [Obsidian projection](./docs/obsidian.md)
546
+ Start with [independent setup](./docs/start/independent-start.md) or
547
+ [installation and first run](./docs/start/install.md). The
548
+ [documentation index](./docs/README.md) organizes the maintained guides,
549
+ API and architecture references, and maintainer controls.
517
550
 
518
551
  ## Status and command reference
519
552
 
@@ -558,7 +591,7 @@ MNSTRY Atelier is released under [Apache-2.0](./LICENSE).
558
591
 
559
592
  ## Experimental hosted vault contract
560
593
 
561
- An optional [private artifact vault service](docs/vault-service.md) supplies a
594
+ An optional [private artifact vault service](docs/reference/vault-service.md) supplies a
562
595
  provider-independent ownership boundary and explicit Vercel/Cloudflare storage
563
596
  bindings. It is not enabled by local CLI commands. Hosting adapters can perform
564
597
  network I/O only when explicitly installed and invoked by a consuming host.
@@ -573,12 +606,12 @@ to its source manually or under a scoped policy the user installs; anything
573
606
  structural stays a copy-only proposal. Atelier never commits to Git for it.
574
607
  It is disabled unless a project enables it, and it is proven on one platform
575
608
  and one app version. Every vault it publishes carries
576
- [Atelier's own Obsidian plugin](docs/obsidian-plugin.md), which Obsidian asks
609
+ [Atelier's own Obsidian plugin](docs/reference/obsidian-plugin.md), which Obsidian asks
577
610
  you to trust once per vault; it shows whether the view is current, writes
578
611
  nothing, and talks only to the local maintenance service, and the projection
579
- works the same without it. Read [what it does and its known limits](docs/obsidian.md),
580
- the [contract](docs/obsidian-contract.md) and the
581
- [maintenance service](docs/local-services.md) before relying on it. The
612
+ works the same without it. Read [what it does and its known limits](docs/guides/obsidian.md),
613
+ the [contract](docs/reference/obsidian-contract.md) and the
614
+ [maintenance service](docs/reference/local-services.md) before relying on it. The
582
615
  package subpaths are `@mnstry/atelier/obsidian` and
583
616
  `@mnstry/atelier/obsidian/*`.
584
617
 
@@ -602,15 +635,15 @@ Recorded acceptance is not authenticated authority, and local checks do not prov
602
635
  research quality or recipient acceptance. Hosted execution remains adapter-owned.
603
636
  <!-- atelier:block:learning-harnesses:end -->
604
637
 
605
- Read the [Knowledge and Build Harness guide](docs/learning-harnesses.md) for the complete local learning cycle.
638
+ Read the [Knowledge and Build Harness guide](docs/guides/learning-harnesses.md) for the complete local learning cycle.
606
639
 
607
- The [research quickstart](docs/research-starter-quickstart.md) explains how to use
640
+ The [research quickstart](docs/start/research-starter-quickstart.md) explains how to use
608
641
  a supplied candidate packet with existing tools and skills. See
609
- [Trackables](docs/trackables.md), [Interaction and Reflection](docs/interaction-and-reflection.md)
610
- and [Coordination](docs/coordination.md) for portable runtime profiles and host obligations.
642
+ [Trackables](docs/reference/trackables.md), [Interaction and Reflection](docs/reference/interaction-and-reflection.md)
643
+ and [Coordination](docs/reference/coordination.md) for portable runtime profiles and host obligations.
611
644
 
612
- The optional [knowledge workspace](docs/knowledge-workspace.md) connects
645
+ The optional [knowledge workspace](docs/guides/knowledge-workspace.md) connects
613
646
  onboarding, ontology modeling, evidence deepening, application, and outcome
614
647
  learning with shared private coauthor sessions for people and agents.
615
648
 
616
- The [public workshop profile](docs/knowledge-health/devday/public-default.md) uses the existing Knowledge host to retain ordinary drafts and one copy-only source-owner handoff as a local proposal.
649
+ The [public workshop profile](docs/knowledge-health/quickstart.md) uses the existing Knowledge host to retain ordinary drafts and one copy-only source-owner handoff as a local proposal.
package/SECURITY.md CHANGED
@@ -90,7 +90,7 @@ make a released tarball differ from the reviewed tag.
90
90
 
91
91
  The package is alpha. Only the latest tagged release receives fixes; there
92
92
  are no backports to earlier tags. Published contracts carry a separate and
93
- stronger promise — `docs/contract-stability.md` and `docs/continuity.md`
93
+ stronger promise — `docs/reference/contract-stability.md` and `docs/reference/continuity.md`
94
94
  record it — and that promise is not weakened by a security fix.
95
95
 
96
96
  ## Received advisories
package/TRADEMARKS.md CHANGED
@@ -69,7 +69,7 @@ The sanctioned phrasing for a compatibility claim is:
69
69
  implements atelier contracts v1
70
70
 
71
71
  Conformance is public and offline: anyone can run the published validators in
72
- this package and reach the same answer (see `docs/attestation.md`). No
72
+ this package and reach the same answer (see `docs/reference/attestation.md`). No
73
73
  permission is needed to make a truthful compatibility claim in this form, and
74
74
  no attestation can substitute for it.
75
75
 
@@ -77,7 +77,7 @@ no attestation can substitute for it.
77
77
 
78
78
  The phrases "MNSTRY certified" and "MNSTRY admitted" (and equivalents) are
79
79
  reserved to holders of a signed MNSTRY attestation that verifies per the
80
- procedure in `docs/attestation.md`. Self-issued or unsigned attestations
80
+ procedure in `docs/reference/attestation.md`. Self-issued or unsigned attestations
81
81
  confer no such claim: an attestation with `"signature": null` is
82
82
  non-authoritative by definition, and a signature is only meaningful under a
83
83
  key the relying party recognizes as MNSTRY's.