@mnstry/atelier 0.2.0-alpha.1

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 (260) hide show
  1. package/CHANGELOG.md +383 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +5 -0
  4. package/README.md +262 -0
  5. package/SECURITY.md +93 -0
  6. package/TRADEMARKS.md +88 -0
  7. package/announcements/2026-08-06-announcements-channel.v1.json +12 -0
  8. package/announcements/keys/mnstry-announcements.public.v1.json +9 -0
  9. package/bin/atelier.mjs +2 -0
  10. package/bin/mnstry-atelier.mjs +3 -0
  11. package/contracts/analysis-adapter.v1.schema.json +248 -0
  12. package/contracts/atelier-action-intent.v1.schema.json +143 -0
  13. package/contracts/atelier-analysis-adapter.v1.schema.json +360 -0
  14. package/contracts/atelier-attestation.v1.schema.json +239 -0
  15. package/contracts/atelier-boundary-policy.v1.schema.json +339 -0
  16. package/contracts/atelier-claim.v1.schema.json +97 -0
  17. package/contracts/atelier-export.v1.schema.json +1015 -0
  18. package/contracts/atelier-extension-pack.v1.schema.json +290 -0
  19. package/contracts/atelier-kit-manifest.v1.schema.json +273 -0
  20. package/contracts/atelier-lock.v1.schema.json +364 -0
  21. package/contracts/atelier-migration.v1.schema.json +162 -0
  22. package/contracts/atelier-project-config.v1.schema.json +352 -0
  23. package/contracts/atelier-readiness-protocol.v1.schema.json +517 -0
  24. package/contracts/atelier-readiness-run.v1.schema.json +229 -0
  25. package/contracts/atelier-readiness.v1.schema.json +457 -0
  26. package/contracts/compat-baseline.json +10 -0
  27. package/contracts/git-promote-event.v1.schema.json +145 -0
  28. package/contracts/knowledge-source-sidecar.v1.schema.json +157 -0
  29. package/contracts/mnstry-atelier-semantic-profile.v1.json +254 -0
  30. package/docs/announcements.md +101 -0
  31. package/docs/atelier-runtime.md +34 -0
  32. package/docs/attestation.md +201 -0
  33. package/docs/continuity.md +55 -0
  34. package/docs/contract-stability.md +111 -0
  35. package/docs/distributions.md +220 -0
  36. package/docs/install.md +140 -0
  37. package/docs/knowledge-graph.md +140 -0
  38. package/docs/ontology.md +206 -0
  39. package/docs/release-engineering.md +151 -0
  40. package/docs/repo-boundary-guard.md +199 -0
  41. package/docs/tenant-readiness.md +64 -0
  42. package/docs/upgrade.md +124 -0
  43. package/fixtures/analysis/invalid/native-graph.v1.json +4 -0
  44. package/fixtures/analysis/invalid/promoted-claim.v1.json +17 -0
  45. package/fixtures/analysis/invalid/runtime-import.v1.json +20 -0
  46. package/fixtures/analysis/valid/output.claims.v1.json +17 -0
  47. package/fixtures/analysis-adapter/invalid/manifest-hidden-provider.v1.json +24 -0
  48. package/fixtures/analysis-adapter/invalid/output-frontmatter-mutation.v1.json +21 -0
  49. package/fixtures/analysis-adapter/invalid/output-native-graph.v1.json +14 -0
  50. package/fixtures/analysis-adapter/manifest.disabled.v1.json +22 -0
  51. package/fixtures/analysis-adapter/manifest.enabled-local.v1.json +23 -0
  52. package/fixtures/analysis-adapter/output.claims.v1.json +21 -0
  53. package/fixtures/atelier-action-intent/invalid/runtime-mutation-authority.v1.json +16 -0
  54. package/fixtures/atelier-action-intent/invalid/unknown-top-level-field.v1.json +17 -0
  55. package/fixtures/atelier-action-intent/invalid/writes-beyond-clipboard.v1.json +16 -0
  56. package/fixtures/atelier-action-intent/valid/copy-agent-prompt.v1.json +16 -0
  57. package/fixtures/atelier-action-intent/valid/copy-repo-path.v1.json +22 -0
  58. package/fixtures/atelier-analysis-adapter/invalid/hidden-model-provider.v1.json +24 -0
  59. package/fixtures/atelier-analysis-adapter/invalid/inert-with-execute-command.v1.json +24 -0
  60. package/fixtures/atelier-analysis-adapter/invalid/proposals-with-runtime-import.v1.json +30 -0
  61. package/fixtures/atelier-analysis-adapter/valid/manifest-inert.v1.json +24 -0
  62. package/fixtures/atelier-analysis-adapter/valid/proposals-claim-only.v1.json +27 -0
  63. package/fixtures/atelier-attestation/invalid/bad-digest.v1.json +23 -0
  64. package/fixtures/atelier-attestation/invalid/conformance-scope.v1.json +23 -0
  65. package/fixtures/atelier-attestation/invalid/missing-signature.v1.json +22 -0
  66. package/fixtures/atelier-attestation/invalid/unknown-root-field.v1.json +24 -0
  67. package/fixtures/atelier-attestation/keys/roundtrip-issuer.public.v1.json +9 -0
  68. package/fixtures/atelier-attestation/valid/rejected-with-reasons.v1.json +49 -0
  69. package/fixtures/atelier-attestation/valid/signed-admitted.v1.json +35 -0
  70. package/fixtures/atelier-attestation/valid/signed-roundtrip.v1.json +29 -0
  71. package/fixtures/atelier-attestation/valid/unsigned-advisory.v1.json +23 -0
  72. package/fixtures/atelier-claim/invalid/unknown-provider.v1.json +15 -0
  73. package/fixtures/atelier-claim/invalid/unknown-top-level-field.v1.json +16 -0
  74. package/fixtures/atelier-claim/invalid/wrong-schema-const.v1.json +15 -0
  75. package/fixtures/atelier-claim/valid/adapter-style-proposed-relation.v1.json +19 -0
  76. package/fixtures/atelier-claim/valid/codex-proposed-relation.v1.json +16 -0
  77. package/fixtures/atelier-claim/valid/manual-proposed-relation.v1.json +16 -0
  78. package/fixtures/atelier-claim/valid/readiness-proposed-relation.v1.json +18 -0
  79. package/fixtures/atelier-export/invalid/dirty-unforced-empty-taint.v1.json +19 -0
  80. package/fixtures/atelier-export/invalid/object-local-audience-visibility.v1.json +11 -0
  81. package/fixtures/atelier-export/invalid/open-object-class-owner.v1.json +23 -0
  82. package/fixtures/atelier-export/invalid/pricing-legacy-amount.v1.json +23 -0
  83. package/fixtures/atelier-export/invalid/public-disguised-internal-source-ref.v1.json +11 -0
  84. package/fixtures/atelier-export/invalid/public-nested-private-source-ref.v1.json +17 -0
  85. package/fixtures/atelier-export/invalid/public-resolved-private-source-ref.v1.json +13 -0
  86. package/fixtures/atelier-export/invalid/public-resolved-sensitive-source-ref.v1.json +13 -0
  87. package/fixtures/atelier-export/invalid/public-source-ref-missing-provenance.v1.json +20 -0
  88. package/fixtures/atelier-export/invalid/public-source-team-kg.json +12 -0
  89. package/fixtures/atelier-export/invalid/source-node-legacy-visibility.v1.json +21 -0
  90. package/fixtures/atelier-export/invalid/source-node-unknown-field.v1.json +18 -0
  91. package/fixtures/atelier-export/invalid/unresolved-public-source-ref.v1.json +11 -0
  92. package/fixtures/atelier-export/sample-studio-offer.v1.json +397 -0
  93. package/fixtures/atelier-extension-pack/invalid/bundled-slug-collision.v1.json +22 -0
  94. package/fixtures/atelier-extension-pack/invalid/escapes-root.v1.json +22 -0
  95. package/fixtures/atelier-extension-pack/invalid/posture-tampered.v1.json +22 -0
  96. package/fixtures/atelier-extension-pack/invalid/protocols/autonomous-authority.v1.json +118 -0
  97. package/fixtures/atelier-extension-pack/invalid/protocols/offer-map.v1.json +109 -0
  98. package/fixtures/atelier-extension-pack/invalid/redefines-runtime-term.v1.json +19 -0
  99. package/fixtures/atelier-extension-pack/invalid/wrong-namespace.v1.json +19 -0
  100. package/fixtures/atelier-extension-pack/valid/protocols/contract-gate.v1.json +109 -0
  101. package/fixtures/atelier-extension-pack/valid/sample-pack.v1.json +48 -0
  102. package/fixtures/atelier-kit-manifest/invalid/runtime-copy-without-canonical-role.v1.json +53 -0
  103. package/fixtures/atelier-kit-manifest/invalid/telemetry-send-path.v1.json +21 -0
  104. package/fixtures/atelier-kit-manifest/valid/mnstry-atelier.valid.v1.json +76 -0
  105. package/fixtures/atelier-lock/invalid/absolute-contract-path.v1.json +40 -0
  106. package/fixtures/atelier-lock/invalid/runtime-mutation-enabled.v1.json +41 -0
  107. package/fixtures/atelier-lock/invalid/unknown-top-level-field.v1.json +42 -0
  108. package/fixtures/atelier-lock/valid/extension-pack.v1.json +55 -0
  109. package/fixtures/atelier-lock/valid/minimal.v1.json +44 -0
  110. package/fixtures/atelier-migration/invalid/live-apply-mode.v1.json +21 -0
  111. package/fixtures/atelier-migration/invalid/missing-review-evidence.v1.json +20 -0
  112. package/fixtures/atelier-migration/invalid/runtime-mutation-enabled.v1.json +21 -0
  113. package/fixtures/atelier-migration/valid/minimal.v1.json +32 -0
  114. package/fixtures/atelier-project-config/invalid/absolute-repo-path.v1.json +11 -0
  115. package/fixtures/atelier-project-config/invalid/ext-not-object.v1.json +12 -0
  116. package/fixtures/atelier-project-config/invalid/external-kind-read-boundary.v1.json +12 -0
  117. package/fixtures/atelier-project-config/invalid/missing-repos-and-alignment.v1.json +7 -0
  118. package/fixtures/atelier-project-config/invalid/unknown-top-level-field.v1.json +14 -0
  119. package/fixtures/atelier-project-config/valid/alignment-scaffold.v1.json +15 -0
  120. package/fixtures/atelier-project-config/valid/ext-extension-packs.v1.json +36 -0
  121. package/fixtures/atelier-project-config/valid/repo-workspace.v1.json +23 -0
  122. package/fixtures/atelier-project-config/validator-only/ext-member-not-object.v1.json +14 -0
  123. package/fixtures/atelier-readiness/invalid/dry-run-only-false.v1.json +87 -0
  124. package/fixtures/atelier-readiness/invalid/support-bundle-send-path.v1.json +87 -0
  125. package/fixtures/atelier-readiness/invalid/unknown-top-level-field.v1.json +88 -0
  126. package/fixtures/atelier-readiness/valid/ready-workspace.v1.json +84 -0
  127. package/fixtures/boundary-policy/invalid/content-rule-exception-blanket-path.v1.json +67 -0
  128. package/fixtures/boundary-policy/invalid/invalid-actor-private-repo-mapping.v1.json +20 -0
  129. package/fixtures/boundary-policy/invalid/legacy-warning-missing-warning.v1.json +20 -0
  130. package/fixtures/boundary-policy/invalid/missing-repo-coverage.v1.json +19 -0
  131. package/fixtures/boundary-policy/invalid/unknown-key.v1.json +12 -0
  132. package/fixtures/boundary-policy/valid/content-rule-exception.v1.json +67 -0
  133. package/fixtures/boundary-policy/valid/legacy-warning.v1.json +33 -0
  134. package/fixtures/boundary-policy/valid/strict-private-shared.v1.json +40 -0
  135. package/fixtures/git-promote/invalid/provision-named-revocable.v1.json +29 -0
  136. package/fixtures/git-promote/private-to-team.v1.json +29 -0
  137. package/fixtures/knowledge-source-sidecar/invalid/legacy-visibility-field.v1.json +17 -0
  138. package/fixtures/knowledge-source-sidecar/invalid/missing-audience.v1.json +15 -0
  139. package/fixtures/knowledge-source-sidecar/invalid/unknown-relation-kind.v1.json +18 -0
  140. package/fixtures/knowledge-source-sidecar/valid/html-source.v1.json +18 -0
  141. package/fixtures/knowledge-source-sidecar/valid/pdf-evidence.v1.json +18 -0
  142. package/fixtures/projects/neutral-project/atelier.project.json +15 -0
  143. package/fixtures/projects/neutral-project/ops/config/repo-access.v1.json +12 -0
  144. package/fixtures/projects/neutral-project/project-knowledge.graph.json +69 -0
  145. package/fixtures/projects/sample-workspace/atelier.project.json +23 -0
  146. package/fixtures/projects/sample-workspace/boundary-policy.v1.json +59 -0
  147. package/fixtures/projects/sample-workspace/content/README.md +16 -0
  148. package/fixtures/projects/sample-workspace/content/source.html +5 -0
  149. package/fixtures/projects/sample-workspace/content/source.html.kg.json +15 -0
  150. package/fixtures/projects/sample-workspace/repo-access.v1.json +9 -0
  151. package/fixtures/projects/source-formats-workspace/atelier.project.json +23 -0
  152. package/fixtures/projects/source-formats-workspace/content/README.md +17 -0
  153. package/fixtures/projects/source-formats-workspace/content/data.json +7 -0
  154. package/fixtures/projects/source-formats-workspace/content/data.json.kg.json +15 -0
  155. package/fixtures/projects/source-formats-workspace/content/logo.png.kg.json +15 -0
  156. package/fixtures/projects/source-formats-workspace/content/metrics.csv +3 -0
  157. package/fixtures/projects/source-formats-workspace/content/metrics.csv.kg.json +15 -0
  158. package/fixtures/projects/source-formats-workspace/content/pipeline.yaml +4 -0
  159. package/fixtures/projects/source-formats-workspace/content/pipeline.yaml.kg.json +15 -0
  160. package/fixtures/projects/source-formats-workspace/repo-access.v1.json +9 -0
  161. package/fixtures/readiness-protocols/extension-pack/invalid/protocol-missing-path.v1.json +20 -0
  162. package/fixtures/readiness-protocols/extension-pack/valid/with-protocol.v1.json +24 -0
  163. package/fixtures/readiness-protocols/protocol/invalid/missing-check-target.v1.json +103 -0
  164. package/fixtures/readiness-protocols/protocol/invalid/runtime-mutation-enabled.v1.json +107 -0
  165. package/fixtures/readiness-protocols/protocol/valid/minimal.v1.json +100 -0
  166. package/fixtures/readiness-protocols/run/invalid/missing-evidence.v1.json +37 -0
  167. package/fixtures/readiness-protocols/run/invalid/pass-with-blocker.v1.json +22 -0
  168. package/fixtures/readiness-protocols/run/invalid/runtime-mutation-enabled.v1.json +22 -0
  169. package/fixtures/readiness-protocols/run/valid/pass.v1.json +44 -0
  170. package/fixtures/support/invalid/leaky-support.v1.json +13 -0
  171. package/fixtures/support/valid/minimal-safe.v1.json +20 -0
  172. package/package.json +98 -0
  173. package/skills/claude/atelier-open/SKILL.md +68 -0
  174. package/skills/claude/mnstry-readiness/SKILL.md +41 -0
  175. package/skills/codex/atelier-open/SKILL.md +68 -0
  176. package/skills/codex/mnstry-readiness/SKILL.md +41 -0
  177. package/src/analysis/adapter.mjs +20 -0
  178. package/src/analysis/analysis-claim-contract.mjs +335 -0
  179. package/src/attestation/jcs.mjs +64 -0
  180. package/src/attestation/sign.mjs +305 -0
  181. package/src/boundary/content-rules.mjs +262 -0
  182. package/src/boundary/policy.mjs +806 -0
  183. package/src/check-atelier-export-contract.mjs +116 -0
  184. package/src/cli/run.mjs +283 -0
  185. package/src/collaboration/proposals.mjs +262 -0
  186. package/src/commands/analysis.mjs +8 -0
  187. package/src/commands/announcements.mjs +308 -0
  188. package/src/commands/attestation.mjs +198 -0
  189. package/src/commands/boundary.mjs +25 -0
  190. package/src/commands/config.mjs +4 -0
  191. package/src/commands/context.mjs +3 -0
  192. package/src/commands/distribution.mjs +224 -0
  193. package/src/commands/egress.mjs +11 -0
  194. package/src/commands/extension-pack.mjs +209 -0
  195. package/src/commands/feedback.mjs +3 -0
  196. package/src/commands/graph.mjs +3 -0
  197. package/src/commands/init.mjs +130 -0
  198. package/src/commands/lock.mjs +3 -0
  199. package/src/commands/project.mjs +3 -0
  200. package/src/commands/promote.mjs +4 -0
  201. package/src/commands/readiness.mjs +3 -0
  202. package/src/commands/server.mjs +6 -0
  203. package/src/commands/setup.mjs +250 -0
  204. package/src/commands/support.mjs +3 -0
  205. package/src/commands/upgrade.mjs +3 -0
  206. package/src/contracts/corpus.mjs +171 -0
  207. package/src/egress/check.mjs +45 -0
  208. package/src/egress/forbidden-egress.mjs +323 -0
  209. package/src/export/atelier-export-contract.mjs +722 -0
  210. package/src/extension-packs/loader.mjs +491 -0
  211. package/src/graph/graph.mjs +370 -0
  212. package/src/graph/knowledge-graph.mjs +887 -0
  213. package/src/harness/context-client.mjs +144 -0
  214. package/src/harness/context.mjs +27 -0
  215. package/src/index.mjs +88 -0
  216. package/src/project/config.mjs +557 -0
  217. package/src/project/file-class.mjs +113 -0
  218. package/src/project/git-ignore.mjs +31 -0
  219. package/src/project/path-match.mjs +30 -0
  220. package/src/project/repo-identity.mjs +176 -0
  221. package/src/projection/alignment-projection.mjs +169 -0
  222. package/src/projection/policy.mjs +90 -0
  223. package/src/projection/project.mjs +152 -0
  224. package/src/readiness/readiness.mjs +312 -0
  225. package/src/readiness-protocols/bundled-pack.mjs +766 -0
  226. package/src/readiness-protocols/runtime.mjs +419 -0
  227. package/src/server/local-sidecar.mjs +640 -0
  228. package/src/server/security.mjs +229 -0
  229. package/src/server/server.mjs +42 -0
  230. package/src/support/feedback-report.mjs +414 -0
  231. package/src/support/support-bundle.mjs +226 -0
  232. package/src/ui/html-primitives.mjs +104 -0
  233. package/src/upgrade/upgrade.mjs +701 -0
  234. package/src/validate-atelier-export-dry-run.mjs +75 -0
  235. package/templates/atelier.project.example.json +23 -0
  236. package/templates/distribution-workspace/.claude/launch.json +12 -0
  237. package/templates/distribution-workspace/README.md +86 -0
  238. package/templates/distribution-workspace/atelier.project.json +36 -0
  239. package/templates/distribution-workspace/boundary-policy.v1.json +61 -0
  240. package/templates/distribution-workspace/gitignore +29 -0
  241. package/templates/distribution-workspace/governance/repo-boundary-ledger.md +5 -0
  242. package/templates/distribution-workspace/project/README.md +19 -0
  243. package/templates/distribution-workspace/repo-access.v1.json +9 -0
  244. package/templates/launch.json +12 -0
  245. package/templates/private-domain-workspace/.claude/launch.json +12 -0
  246. package/templates/private-domain-workspace/README.md +50 -0
  247. package/templates/private-domain-workspace/atelier.project.json +28 -0
  248. package/templates/private-domain-workspace/boundary-policy.v1.json +54 -0
  249. package/templates/private-domain-workspace/domain/README.md +19 -0
  250. package/templates/private-domain-workspace/gitignore +29 -0
  251. package/templates/private-domain-workspace/governance/repo-boundary-ledger.md +4 -0
  252. package/templates/private-domain-workspace/repo-access.v1.json +9 -0
  253. package/templates/shared-project-workspace/.claude/launch.json +12 -0
  254. package/templates/shared-project-workspace/README.md +51 -0
  255. package/templates/shared-project-workspace/atelier.project.json +28 -0
  256. package/templates/shared-project-workspace/boundary-policy.v1.json +61 -0
  257. package/templates/shared-project-workspace/gitignore +29 -0
  258. package/templates/shared-project-workspace/governance/repo-boundary-ledger.md +5 -0
  259. package/templates/shared-project-workspace/project/README.md +19 -0
  260. package/templates/shared-project-workspace/repo-access.v1.json +9 -0
@@ -0,0 +1,22 @@
1
+ {
2
+ "schema": "atelier-action-intent@v1",
3
+ "id": "atelier.action.copy-repo-path",
4
+ "kind": "copy.repoPath",
5
+ "label": "Copy repo path",
6
+ "appliesTo": {
7
+ "scopes": ["entry"],
8
+ "targetTypes": ["source"]
9
+ },
10
+ "reads": ["kg.id", "repoPath"],
11
+ "writes": ["clipboard"],
12
+ "authority": {
13
+ "label": "Copy only; no runtime mutation",
14
+ "runtimeMutation": false
15
+ },
16
+ "deniedWhen": [
17
+ {
18
+ "reason": "no-repo-path",
19
+ "message": "Entry has no repo path to copy."
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "schema": "atelier-analysis-adapter@v1",
3
+ "adapterId": "atelier.analysis.sample",
4
+ "provider": "sample",
5
+ "enabled": false,
6
+ "outputRoot": ".mnstry/atelier/analysis/sample",
7
+ "claimContract": "atelier-claim@v1",
8
+ "execution": {
9
+ "posture": "inert",
10
+ "hiddenModelProvider": true,
11
+ "network": "none",
12
+ "installCommand": null,
13
+ "executeCommand": null
14
+ },
15
+ "authority": {
16
+ "claimOnly": true,
17
+ "frontMatterMutation": false,
18
+ "graphRelationMutation": false,
19
+ "publicExportFeed": false,
20
+ "mcpFeed": false,
21
+ "runtimeImport": false,
22
+ "directCanonicalWrite": false
23
+ }
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "schema": "atelier-analysis-adapter@v1",
3
+ "adapterId": "atelier.analysis.sample",
4
+ "provider": "sample",
5
+ "enabled": false,
6
+ "outputRoot": ".mnstry/atelier/analysis/sample",
7
+ "claimContract": "atelier-claim@v1",
8
+ "execution": {
9
+ "posture": "inert",
10
+ "hiddenModelProvider": false,
11
+ "network": "none",
12
+ "installCommand": null,
13
+ "executeCommand": "analysis-tool run"
14
+ },
15
+ "authority": {
16
+ "claimOnly": true,
17
+ "frontMatterMutation": false,
18
+ "graphRelationMutation": false,
19
+ "publicExportFeed": false,
20
+ "mcpFeed": false,
21
+ "runtimeImport": false,
22
+ "directCanonicalWrite": false
23
+ }
24
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "schema": "atelier-proposals@v1",
3
+ "adapterId": "atelier.analysis.sample",
4
+ "provider": "sample",
5
+ "generatedAt": "2026-08-05T00:00:00Z",
6
+ "proposals": [
7
+ {
8
+ "schema": "atelier-claim@v1",
9
+ "claimId": "claim:sample:2026-08-05:runtime-import-attempt",
10
+ "subject": "sample-workspace:offer-draft",
11
+ "predicate": "supports",
12
+ "object": "sample-workspace:runtime-readiness-summary",
13
+ "provider": "sample",
14
+ "status": "proposed",
15
+ "promoted": false,
16
+ "runtimeImport": {
17
+ "mode": "apply"
18
+ }
19
+ }
20
+ ],
21
+ "authority": {
22
+ "claimOnly": true,
23
+ "frontMatterMutation": false,
24
+ "graphRelationMutation": false,
25
+ "publicExportFeed": false,
26
+ "mcpFeed": false,
27
+ "runtimeImport": false,
28
+ "directCanonicalWrite": false
29
+ }
30
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "schema": "atelier-analysis-adapter@v1",
3
+ "adapterId": "atelier.analysis.sample",
4
+ "provider": "sample",
5
+ "enabled": false,
6
+ "outputRoot": ".mnstry/atelier/analysis/sample",
7
+ "claimContract": "atelier-claim@v1",
8
+ "execution": {
9
+ "posture": "inert",
10
+ "hiddenModelProvider": false,
11
+ "network": "none",
12
+ "installCommand": null,
13
+ "executeCommand": null
14
+ },
15
+ "authority": {
16
+ "claimOnly": true,
17
+ "frontMatterMutation": false,
18
+ "graphRelationMutation": false,
19
+ "publicExportFeed": false,
20
+ "mcpFeed": false,
21
+ "runtimeImport": false,
22
+ "directCanonicalWrite": false
23
+ }
24
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "schema": "atelier-proposals@v1",
3
+ "adapterId": "atelier.analysis.sample",
4
+ "provider": "sample",
5
+ "generatedAt": "2026-08-05T00:00:00Z",
6
+ "proposals": [
7
+ {
8
+ "schema": "atelier-claim@v1",
9
+ "claimId": "claim:sample:2026-08-05:offer-draft-supports-summary",
10
+ "subject": "sample-workspace:offer-draft",
11
+ "predicate": "supports",
12
+ "object": "sample-workspace:runtime-readiness-summary",
13
+ "provider": "sample",
14
+ "status": "proposed",
15
+ "promoted": false
16
+ }
17
+ ],
18
+ "authority": {
19
+ "claimOnly": true,
20
+ "frontMatterMutation": false,
21
+ "graphRelationMutation": false,
22
+ "publicExportFeed": false,
23
+ "mcpFeed": false,
24
+ "runtimeImport": false,
25
+ "directCanonicalWrite": false
26
+ }
27
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "schema": "atelier-attestation@v1",
3
+ "attestationId": "attestation:mnstry:export:sample-studio-offer:bad-digest",
4
+ "issuedAt": "2026-08-05T14:30:00Z",
5
+ "issuer": {
6
+ "id": "mnstry-admission",
7
+ "role": "admission-authority"
8
+ },
9
+ "subject": {
10
+ "schema": "atelier-export@v1",
11
+ "ref": "export:sample-studio-offer:0001",
12
+ "payloadHash": {
13
+ "algorithm": "sha-256",
14
+ "canonicalization": "RFC8785-JCS",
15
+ "digest": "62c1948f3b3e84110dbe09ab86d2cfc7"
16
+ }
17
+ },
18
+ "verdict": {
19
+ "scope": "admission",
20
+ "decision": "admitted"
21
+ },
22
+ "signature": null
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "schema": "atelier-attestation@v1",
3
+ "attestationId": "attestation:mnstry:export:sample-studio-offer:bad-scope",
4
+ "issuedAt": "2026-08-05T14:30:00Z",
5
+ "issuer": {
6
+ "id": "mnstry-admission",
7
+ "role": "admission-authority"
8
+ },
9
+ "subject": {
10
+ "schema": "atelier-export@v1",
11
+ "ref": "export:sample-studio-offer:0001",
12
+ "payloadHash": {
13
+ "algorithm": "sha-256",
14
+ "canonicalization": "RFC8785-JCS",
15
+ "digest": "62c1948f3b3e84110dbe09ab86d2cfc7e3a444f308f3c6aba147508da651ef17"
16
+ }
17
+ },
18
+ "verdict": {
19
+ "scope": "conformance",
20
+ "decision": "admitted"
21
+ },
22
+ "signature": null
23
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "schema": "atelier-attestation@v1",
3
+ "attestationId": "attestation:mnstry:export:sample-studio-offer:no-signature",
4
+ "issuedAt": "2026-08-05T14:30:00Z",
5
+ "issuer": {
6
+ "id": "mnstry-admission",
7
+ "role": "admission-authority"
8
+ },
9
+ "subject": {
10
+ "schema": "atelier-export@v1",
11
+ "ref": "export:sample-studio-offer:0001",
12
+ "payloadHash": {
13
+ "algorithm": "sha-256",
14
+ "canonicalization": "RFC8785-JCS",
15
+ "digest": "62c1948f3b3e84110dbe09ab86d2cfc7e3a444f308f3c6aba147508da651ef17"
16
+ }
17
+ },
18
+ "verdict": {
19
+ "scope": "admission",
20
+ "decision": "admitted"
21
+ }
22
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "schema": "atelier-attestation@v1",
3
+ "attestationId": "attestation:mnstry:export:sample-studio-offer:unknown-field",
4
+ "issuedAt": "2026-08-05T14:30:00Z",
5
+ "issuer": {
6
+ "id": "mnstry-admission",
7
+ "role": "admission-authority"
8
+ },
9
+ "subject": {
10
+ "schema": "atelier-export@v1",
11
+ "ref": "export:sample-studio-offer:0001",
12
+ "payloadHash": {
13
+ "algorithm": "sha-256",
14
+ "canonicalization": "RFC8785-JCS",
15
+ "digest": "62c1948f3b3e84110dbe09ab86d2cfc7e3a444f308f3c6aba147508da651ef17"
16
+ }
17
+ },
18
+ "verdict": {
19
+ "scope": "admission",
20
+ "decision": "admitted"
21
+ },
22
+ "signature": null,
23
+ "conformanceBadge": "gold"
24
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "keyId": "roundtrip-issuer-2026",
3
+ "algorithm": "ed25519",
4
+ "publicKeyJwk": {
5
+ "crv": "Ed25519",
6
+ "x": "eDaxEA9U34Vi2tO6zosmmK2O6bSdHTdsghF5HGdV1h0",
7
+ "kty": "OKP"
8
+ }
9
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "schema": "atelier-attestation@v1",
3
+ "contractVersion": "1.0.0",
4
+ "attestationId": "attestation:mnstry:claim:demo-thread-relation:0003",
5
+ "issuedAt": "2026-08-05T16:45:12Z",
6
+ "issuer": {
7
+ "id": "mnstry-admission",
8
+ "role": "admission-authority",
9
+ "keyId": "mnstry-admission-2026"
10
+ },
11
+ "subject": {
12
+ "schema": "atelier-claim@v1",
13
+ "ref": "claim:demo:thread-relation:0003",
14
+ "payloadHash": {
15
+ "algorithm": "sha-256",
16
+ "canonicalization": "RFC8785-JCS",
17
+ "digest": "fe41682e639687b00e6950498629b47cb001d4b99a717c1c078b4b4d175c3c6a"
18
+ },
19
+ "references": [
20
+ {
21
+ "type": "claim",
22
+ "id": "claim:demo:thread-relation:0003"
23
+ },
24
+ {
25
+ "type": "protocol",
26
+ "id": "protocol:tenant-readiness"
27
+ }
28
+ ]
29
+ },
30
+ "verdict": {
31
+ "scope": "admission",
32
+ "decision": "rejected",
33
+ "reasons": [
34
+ {
35
+ "code": "provenance.unverified",
36
+ "message": "Payload provenance chain could not be verified against the submitted repo commit."
37
+ },
38
+ {
39
+ "code": "policy.visibility-gate",
40
+ "message": "Declared visibility gate does not satisfy the admission policy for this collection."
41
+ }
42
+ ]
43
+ },
44
+ "signature": {
45
+ "algorithm": "es256",
46
+ "keyId": "mnstry-admission-2026",
47
+ "value": "eHWZOUiIroSEOwMwupyrs42SPR5wUcRVkRNL8Wu403nAyAggeNniEM4TL_Mka3eSrE5C-ByKrUnmD3qsumGbEg"
48
+ }
49
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "schema": "atelier-attestation@v1",
3
+ "contractVersion": "1.0.0",
4
+ "attestationId": "attestation:mnstry:export:sample-studio-offer:2026-08-05",
5
+ "issuedAt": "2026-08-05T14:30:00Z",
6
+ "issuer": {
7
+ "id": "mnstry-admission",
8
+ "role": "admission-authority",
9
+ "keyId": "mnstry-admission-2026"
10
+ },
11
+ "subject": {
12
+ "schema": "atelier-export@v1",
13
+ "ref": "export:sample-studio-offer:0001",
14
+ "payloadHash": {
15
+ "algorithm": "sha-256",
16
+ "canonicalization": "RFC8785-JCS",
17
+ "digest": "62c1948f3b3e84110dbe09ab86d2cfc7e3a444f308f3c6aba147508da651ef17"
18
+ },
19
+ "references": [
20
+ {
21
+ "type": "run",
22
+ "id": "run:tenant-readiness:2026-08-05:0001"
23
+ }
24
+ ]
25
+ },
26
+ "verdict": {
27
+ "scope": "admission",
28
+ "decision": "admitted"
29
+ },
30
+ "signature": {
31
+ "algorithm": "ed25519",
32
+ "keyId": "mnstry-admission-2026",
33
+ "value": "FVrrih4DH8tVnfThB4FJHiQJ2oTfTRt0kvNp1iK8lGbGKkmeVNUzbugqWkdJuAvElx8cXsiIMzhyfbm5Ib3VYQ"
34
+ }
35
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "schema": "atelier-attestation@v1",
3
+ "contractVersion": "1.0.0",
4
+ "attestationId": "attestation:roundtrip:export:sample-studio-offer:0001",
5
+ "issuedAt": "2026-08-06T00:00:00Z",
6
+ "issuer": {
7
+ "id": "atelier-roundtrip-fixture",
8
+ "role": "admission-authority",
9
+ "keyId": "roundtrip-issuer-2026"
10
+ },
11
+ "subject": {
12
+ "schema": "atelier-export@v1",
13
+ "ref": "export:sample-studio:guided-session:2026-06-11",
14
+ "payloadHash": {
15
+ "algorithm": "sha-256",
16
+ "canonicalization": "RFC8785-JCS",
17
+ "digest": "473d6df71add347f8429e4b2b8597fe96da10f132441fea1570b03d3b5fc8d1e"
18
+ }
19
+ },
20
+ "verdict": {
21
+ "scope": "admission",
22
+ "decision": "admitted"
23
+ },
24
+ "signature": {
25
+ "algorithm": "ed25519",
26
+ "keyId": "roundtrip-issuer-2026",
27
+ "value": "hxMTmwVBbQiSM3IV6vm__i9hP5b6jl4KQ9p4fBxTGQjC6_RnbylU-Rh2JBN_55G-rrUinH2b6EWxIjnfeg55Dg"
28
+ }
29
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "schema": "atelier-attestation@v1",
3
+ "attestationId": "attestation:local:run:tenant-readiness:0002",
4
+ "issuedAt": "2026-08-05T09:15:30Z",
5
+ "issuer": {
6
+ "id": "atelier-cli",
7
+ "role": "tool"
8
+ },
9
+ "subject": {
10
+ "schema": "atelier-readiness-run@v1",
11
+ "ref": "run:tenant-readiness:2026-08-05:0002",
12
+ "payloadHash": {
13
+ "algorithm": "sha-256",
14
+ "canonicalization": "RFC8785-JCS",
15
+ "digest": "938247ce73bf64fc7a0f0b06aaea900dc2c9b75ab22c0f92811ba917d5bd9cee"
16
+ }
17
+ },
18
+ "verdict": {
19
+ "scope": "admission",
20
+ "decision": "needs-review"
21
+ },
22
+ "signature": null
23
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "schema": "atelier-claim@v1",
3
+ "claimId": "claim:acme:2026-08-05:unregistered-provider",
4
+ "subject": "sample-workspace:offer-draft",
5
+ "predicate": "supports",
6
+ "object": "sample-workspace:runtime-readiness-summary",
7
+ "provider": "acme-agent",
8
+ "status": "proposed",
9
+ "promoted": false,
10
+ "confidence": 0.5,
11
+ "evidence": [
12
+ "docs/source.md#claim"
13
+ ],
14
+ "createdAt": "2026-08-05T00:00:00Z"
15
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "schema": "atelier-claim@v1",
3
+ "claimId": "claim:manual:2026-08-05:unknown-top-level-field",
4
+ "subject": "sample-workspace:offer-draft",
5
+ "predicate": "supports",
6
+ "object": "sample-workspace:runtime-readiness-summary",
7
+ "provider": "manual",
8
+ "status": "proposed",
9
+ "promoted": false,
10
+ "confidence": 0.5,
11
+ "evidence": [
12
+ "docs/source.md#claim"
13
+ ],
14
+ "createdAt": "2026-08-05T00:00:00Z",
15
+ "runtimeImport": true
16
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "schema": "atelier-claim@v2",
3
+ "claimId": "claim:manual:2026-08-05:wrong-schema-const",
4
+ "subject": "sample-workspace:offer-draft",
5
+ "predicate": "supports",
6
+ "object": "sample-workspace:runtime-readiness-summary",
7
+ "provider": "manual",
8
+ "status": "proposed",
9
+ "promoted": false,
10
+ "confidence": 0.5,
11
+ "evidence": [
12
+ "docs/source.md#claim"
13
+ ],
14
+ "createdAt": "2026-08-05T00:00:00Z"
15
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "schema": "atelier-claim@v1",
3
+ "claimId": "claim:analysis:2026-06-12:optional-install-supports-local-hybrid",
4
+ "subject": "sample-architecture:atelier-analysis-optional-install-decision",
5
+ "predicate": "supports",
6
+ "object": "sample-architecture:local-git-generated-db-hybrid",
7
+ "provider": "analysis",
8
+ "status": "proposed",
9
+ "promoted": false,
10
+ "confidence": 0.72,
11
+ "evidence": [
12
+ "ATELIER-ANALYSIS-OPTIONAL-INSTALL-DECISION.md#authority-boundary",
13
+ "LOCAL-GIT-GENERATED-DB-HYBRID.md#optional-discovery-graph-providers"
14
+ ],
15
+ "notes": [
16
+ "model-assisted analysis-style fixture only; no model-assisted analysis execution path exists in this pass."
17
+ ],
18
+ "createdAt": "2026-06-12T00:00:00Z"
19
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "schema": "atelier-claim@v1",
3
+ "claimId": "claim:codex:2026-06-12:graph-contract-supports-analysis-boundary",
4
+ "subject": "sample-architecture:fable-5-review-packet-mnstry-atelier-graph-contract",
5
+ "predicate": "supports",
6
+ "object": "sample-architecture:atelier-analysis-optional-install-decision",
7
+ "provider": "codex",
8
+ "status": "proposed",
9
+ "promoted": false,
10
+ "confidence": 0.67,
11
+ "evidence": [
12
+ "FABLE-5-REVIEW-PACKET-MNSTRY-ATELIER-GRAPH-CONTRACT.md#analysis-posture",
13
+ "ATELIER-ANALYSIS-OPTIONAL-INSTALL-DECISION.md#authority-boundary"
14
+ ],
15
+ "createdAt": "2026-06-12T00:00:00Z"
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "schema": "atelier-claim@v1",
3
+ "claimId": "claim:manual:2026-06-12:local-hybrid-supports-runtime-strategy",
4
+ "subject": "sample-architecture:local-git-generated-db-hybrid",
5
+ "predicate": "supports",
6
+ "object": "sample-architecture:mnstry-atelier-open-source-to-runtime-product-strategy",
7
+ "provider": "manual",
8
+ "status": "proposed",
9
+ "promoted": false,
10
+ "confidence": 0.9,
11
+ "evidence": [
12
+ "LOCAL-GIT-GENERATED-DB-HYBRID.md#core-shape",
13
+ "MNSTRY-ATELIER-OPEN-SOURCE-TO-RUNTIME-PRODUCT-STRATEGY.md"
14
+ ],
15
+ "createdAt": "2026-06-12T00:00:00Z"
16
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "schema": "atelier-claim@v1",
3
+ "claimId": "claim:atelier-readiness:2026-08-05:offer-draft-supports-runtime-readiness",
4
+ "subject": "sample-workspace:offer-draft",
5
+ "predicate": "supports",
6
+ "object": "sample-workspace:runtime-readiness-summary",
7
+ "provider": "atelier-readiness",
8
+ "status": "proposed",
9
+ "promoted": false,
10
+ "confidence": 0.8,
11
+ "evidence": [
12
+ "atelier-output/atelier-readiness.json#claims"
13
+ ],
14
+ "notes": [
15
+ "Emitted by a readiness protocol run; promotion into kg.relations remains a reviewed edit."
16
+ ],
17
+ "createdAt": "2026-08-05T00:00:00Z"
18
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "description": "A dirty export must be forced and must carry non-empty taint.",
3
+ "base": "../sample-studio-offer.v1.json",
4
+ "mutations": [
5
+ {
6
+ "path": "/dirtyTree",
7
+ "value": true
8
+ },
9
+ {
10
+ "path": "/forced",
11
+ "value": false
12
+ },
13
+ {
14
+ "path": "/visibilityGate/taint",
15
+ "value": []
16
+ }
17
+ ],
18
+ "expectedErrors": ["/forced must be true", "/visibilityGate/taint must contain at least 1 item"]
19
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "description": "Runtime/export object visibility must use runtime visibility, not local audience words.",
3
+ "base": "../sample-studio-offer.v1.json",
4
+ "mutations": [
5
+ {
6
+ "path": "/objects/spaces/0/visibility",
7
+ "value": "operator"
8
+ }
9
+ ],
10
+ "expectedErrors": ["runtime visibility must be one of private, shared, platform, public"]
11
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "description": "Runtime owner and operation object classes must use the closed v1 vocabulary.",
3
+ "base": "../sample-studio-offer.v1.json",
4
+ "mutations": [
5
+ {
6
+ "path": "/importPlan/runtimeOwners/0/objectClass",
7
+ "value": "raw_table"
8
+ },
9
+ {
10
+ "path": "/importPlan/runtimeOwners/0/owner",
11
+ "value": "RawDatabase"
12
+ },
13
+ {
14
+ "path": "/importPlan/operations/0/objectClass",
15
+ "value": "raw_table"
16
+ }
17
+ ],
18
+ "expectedErrors": [
19
+ "invalid runtime owner objectClass",
20
+ "invalid runtime owner",
21
+ "invalid operation objectClass"
22
+ ]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "description": "Pricing must use ISO-4217 currency and integer amountMinor values.",
3
+ "base": "../sample-studio-offer.v1.json",
4
+ "mutations": [
5
+ {
6
+ "path": "/objects/offers/0/pricing/currency",
7
+ "value": "AUDD"
8
+ },
9
+ {
10
+ "path": "/objects/offers/0/pricing/bands/0",
11
+ "value": {
12
+ "label": "Legacy float price",
13
+ "amount": 1250.5,
14
+ "notes": "Invalid legacy major-unit amount."
15
+ }
16
+ }
17
+ ],
18
+ "expectedErrors": [
19
+ "/objects/offers/0/pricing/currency must match pattern",
20
+ "/objects/offers/0/pricing/bands/0 must include required property amountMinor",
21
+ "/objects/offers/0/pricing/bands/0 must not include additional property amount"
22
+ ]
23
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "description": "Public objects must not hide internal graph ids behind external-looking sourceRefs.",
3
+ "base": "../sample-studio-offer.v1.json",
4
+ "mutations": [
5
+ {
6
+ "path": "/objects/offers/0/sourceRefs/0",
7
+ "value": "notion:sample-architecture:fable-5-review-disposition-mnstry-atelier-graph-contract"
8
+ }
9
+ ],
10
+ "expectedErrors": ["does not resolve to provenance.sourceNodes or an export object"]
11
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "description": "Public object nested sourceRef fields must be resolved and public-projectable.",
3
+ "base": "../sample-studio-offer.v1.json",
4
+ "mutations": [
5
+ {
6
+ "path": "/objects/sdui/0/props",
7
+ "value": {
8
+ "eyebrow": "Guided Studio Session",
9
+ "title": "A fictional guided session example",
10
+ "summary": "Clear sample copy for validating public export behavior.",
11
+ "cta": "Request the sample session",
12
+ "sourceRef": "sample-architecture:internal-review-note"
13
+ }
14
+ }
15
+ ],
16
+ "expectedErrors": ["sourceRef sample-architecture:internal-review-note does not resolve"]
17
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "description": "A source ref that RESOLVES to a private-audience node must be rejected as not public-projectable. The unresolved/disguised fixtures fail earlier, at resolution, so this fixture is the only one that reaches the public-projectability branch.",
3
+ "base": "../sample-studio-offer.v1.json",
4
+ "mutations": [
5
+ {
6
+ "path": "/provenance/sourceNodes/0/audience",
7
+ "value": "private"
8
+ }
9
+ ],
10
+ "expectedErrors": [
11
+ "source node sample-strategy:guides-offer-structure audience private is not public-projectable"
12
+ ]
13
+ }