@mnstry/atelier 0.2.0-alpha.2 → 0.2.0-alpha.4
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.
- package/CHANGELOG.md +59 -0
- package/README.md +276 -245
- package/docs/blocks/audience-visibility.md +9 -0
- package/docs/blocks/claims.md +45 -0
- package/docs/blocks/conformance-admission.md +15 -0
- package/docs/blocks/will-not-do.md +9 -0
- package/docs/continuity.md +3 -4
- package/docs/design.md +19 -12
- package/docs/install.md +19 -14
- package/docs/upgrade.md +26 -4
- package/package.json +17 -3
- package/skills/claude/atelier-open/SKILL.md +6 -5
- package/skills/codex/atelier-open/SKILL.md +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,64 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.0-alpha.4
|
|
4
|
+
|
|
5
|
+
Presentation release. No contract changes and no runtime behaviour changes:
|
|
6
|
+
documents valid against `0.2.0-alpha.0` remain valid.
|
|
7
|
+
|
|
8
|
+
- **The README now explains the system before the package.** It begins with
|
|
9
|
+
the repository as a durable substrate, then shows how ontology, enforcement,
|
|
10
|
+
governed projections, and a local runtime make the same work usable by
|
|
11
|
+
people, teams, agents, and tools.
|
|
12
|
+
- **The story progresses with the reader.** Stewards and collaborators get the
|
|
13
|
+
purpose and working loop first; builders get the graph and library surfaces;
|
|
14
|
+
technical readers retain the exact, test-gated claims, limitations, and
|
|
15
|
+
conformance boundaries.
|
|
16
|
+
- **Methodology authoring is presented as the proving ground, not the
|
|
17
|
+
category.** The package can support any file-based body of work whose
|
|
18
|
+
structure, relationships, disclosure, and readiness must remain portable and
|
|
19
|
+
enforceable.
|
|
20
|
+
- **Package and installation metadata match the new public presentation.** The
|
|
21
|
+
prerelease remains explicitly pinned, and the coordinated MNSTRY developer
|
|
22
|
+
documentation carries the same conceptual spine.
|
|
23
|
+
- **Bundled client instructions match the released CLI.** The Codex and Claude
|
|
24
|
+
open-Atelier skills use `atelier dev` and point registry users to the scoped,
|
|
25
|
+
collision-free install path.
|
|
26
|
+
|
|
27
|
+
## 0.2.0-alpha.3
|
|
28
|
+
|
|
29
|
+
Documentation and metadata release. No contract changes and no runtime
|
|
30
|
+
behaviour changes: documents valid against `0.2.0-alpha.0` remain valid.
|
|
31
|
+
|
|
32
|
+
- **The package's promises are now under a gate.** The checkable claims,
|
|
33
|
+
the will-not-do list, the conformance/admission separation, and the
|
|
34
|
+
audience/visibility rule live canonically in `docs/blocks/`, the README
|
|
35
|
+
embeds them verbatim between markers, and a test fails when they drift.
|
|
36
|
+
Promises converge by machinery; framing diverges by audience.
|
|
37
|
+
- **The README is restructured as a depth ramp** — category and trust
|
|
38
|
+
posture first, the working loop with its visible result second, the
|
|
39
|
+
checkable claims third, boundaries fourth, architecture fifth, reference
|
|
40
|
+
last — and a new "Where the Atelier stops" section states the boundary
|
|
41
|
+
with MNSTRY's managed platform as a literal table.
|
|
42
|
+
- **Overbroad claims are corrected.** "Trustworthy enough for whatever you
|
|
43
|
+
govern with it" is gone from the README and `docs/design.md` — controls
|
|
44
|
+
shaped for one demanding case do not establish adequacy everywhere; the
|
|
45
|
+
agent-runtime passage now states the narrow, testable control rather
|
|
46
|
+
than a general safety claim; "does not contact external services" now
|
|
47
|
+
carries its documented `gh` exception inline; contract and test counts
|
|
48
|
+
are stated by command, not by number; the contributions text now matches
|
|
49
|
+
`CONTRIBUTING.md`'s outside-PRs-not-open-yet posture; and
|
|
50
|
+
`docs/continuity.md` speaks of npm publication in the present tense.
|
|
51
|
+
- **`npx` examples use the collision-free `mnstry-atelier` form.** The
|
|
52
|
+
unscoped npm name `atelier` belongs to an unrelated third-party package,
|
|
53
|
+
so a bare `npx atelier` outside an installed workspace runs someone
|
|
54
|
+
else's code. Every `npx` example on every surface now uses the branded
|
|
55
|
+
binary, `atelier` remains the documented command inside installed
|
|
56
|
+
workspaces, and `docs/install.md` no longer calls `mnstry-atelier` a
|
|
57
|
+
legacy alias — it is the safe form.
|
|
58
|
+
- **npm metadata describes the package from the outside.** A concrete
|
|
59
|
+
description, registry keywords, and a homepage that resolves to the
|
|
60
|
+
published documentation page.
|
|
61
|
+
|
|
3
62
|
## 0.2.0-alpha.2
|
|
4
63
|
|
|
5
64
|
Documentation and release-lane release. No contract changes and no runtime
|
package/README.md
CHANGED
|
@@ -1,170 +1,234 @@
|
|
|
1
1
|
# MNSTRY Atelier
|
|
2
2
|
|
|
3
|
-
**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
3
|
+
**Turn a repository into a living, governed system.**
|
|
4
|
+
|
|
5
|
+
Important bodies of work often begin as files: methods, research, programs,
|
|
6
|
+
policies, editorial systems, product knowledge, or something no existing app
|
|
7
|
+
quite understands. A folder can hold that work, but it cannot explain what each
|
|
8
|
+
file is, how the pieces relate, who may see them, or whether the whole is ready
|
|
9
|
+
to use.
|
|
10
|
+
|
|
11
|
+
The Atelier adds that missing layer without taking the work away from you. It
|
|
12
|
+
turns a repository into an ontology-governed knowledge graph, gives rules the
|
|
13
|
+
power to refuse invalid states, and produces bounded views for people, teams,
|
|
14
|
+
agents, and tools. Git remains the source of record. Your files remain readable.
|
|
15
|
+
The runtime remains local.
|
|
16
|
+
|
|
17
|
+
That makes the same repository useful at several levels:
|
|
18
|
+
|
|
19
|
+
- A **steward** can shape a coherent system without surrendering it to a
|
|
20
|
+
proprietary database.
|
|
21
|
+
- A **team** can collaborate through explicit roles, handoffs, and disclosure
|
|
22
|
+
boundaries.
|
|
23
|
+
- A **person or agent** can receive the right context and capabilities for the
|
|
24
|
+
task, without receiving the entire repository.
|
|
25
|
+
- A **toolmaker** can build a specialized or commercial product on the graph,
|
|
26
|
+
contracts, validators, and projections instead of inventing a new source of
|
|
27
|
+
truth.
|
|
28
|
+
|
|
29
|
+
MNSTRY built the Atelier for a demanding case: a living body of methodology
|
|
30
|
+
that must stay legible, internally connected, privacy-aware, and usable across
|
|
31
|
+
many interfaces. Methodology authoring is one application of the system, not
|
|
32
|
+
its definition or ceiling.
|
|
33
|
+
|
|
34
|
+
## From files to a working system
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
files you own
|
|
38
|
+
↓ declare identity, type, audience, and relationships
|
|
39
|
+
ontology-governed graph
|
|
40
|
+
↓ apply contracts, policies, and readiness rules
|
|
41
|
+
governed projections
|
|
42
|
+
├── local review
|
|
43
|
+
├── bounded agent context
|
|
44
|
+
├── collaboration and disclosure
|
|
45
|
+
└── specialized tools and commercial distributions
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
You can see the complete loop in a disposable sample workspace:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm install --save-dev @mnstry/atelier@0.2.0-alpha.4
|
|
52
|
+
npx mnstry-atelier init --fixture=sample-workspace --target ./sample
|
|
53
|
+
npx mnstry-atelier graph --project ./sample/atelier.project.json
|
|
54
|
+
npx mnstry-atelier project --project ./sample/atelier.project.json
|
|
55
|
+
npx mnstry-atelier dev --project ./sample/atelier.project.json
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Open the loopback URL printed by `dev`. The browser page is generated from
|
|
59
|
+
the same graph and rules that the CLI and library expose.
|
|
60
|
+
|
|
61
|
+
`npx` here runs the binary installed in `./node_modules/.bin`, so install the
|
|
62
|
+
scoped package first. Keep the `@mnstry/` scope: the unscoped npm package
|
|
63
|
+
`atelier` is unrelated. The branded `npx mnstry-atelier` command avoids that
|
|
64
|
+
collision; inside an installed workspace, the shorter `atelier` command is
|
|
65
|
+
also available.
|
|
26
66
|
|
|
27
67
|
## What authoring looks like
|
|
28
68
|
|
|
29
|
-
|
|
30
|
-
|
|
69
|
+
Enrollment is deliberately small. A source file declares its identity, type,
|
|
70
|
+
audience, and relationships in front matter:
|
|
31
71
|
|
|
32
72
|
```markdown
|
|
33
73
|
---
|
|
34
|
-
title:
|
|
35
|
-
summary:
|
|
74
|
+
title: Breath practice
|
|
75
|
+
summary: A simple preparation practice.
|
|
76
|
+
tags: []
|
|
36
77
|
kg:
|
|
37
|
-
id:
|
|
38
|
-
type:
|
|
39
|
-
status:
|
|
40
|
-
audience:
|
|
78
|
+
id: example:breath-practice
|
|
79
|
+
type: document
|
|
80
|
+
status: active
|
|
81
|
+
audience: public
|
|
41
82
|
relations:
|
|
42
|
-
|
|
83
|
+
belongs_to: example:flagship-program
|
|
43
84
|
---
|
|
44
85
|
|
|
45
|
-
#
|
|
86
|
+
# Breath practice
|
|
46
87
|
|
|
47
|
-
|
|
88
|
+
Let the exhale become slightly longer than the inhale.
|
|
48
89
|
```
|
|
49
90
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
91
|
+
The file is still Markdown. Git still records its history. The declarations
|
|
92
|
+
let the Atelier resolve one canonical identity, validate its declared shape,
|
|
93
|
+
connect it to neighboring work, and decide where it may
|
|
94
|
+
travel.
|
|
54
95
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
atelier project --project ./atelier.project.json # generate the local review surface
|
|
58
|
-
atelier readiness --project ./atelier.project.json # check against published protocols
|
|
59
|
-
atelier dry-run ./atelier-export.json # validate against the public contracts
|
|
60
|
-
```
|
|
96
|
+
When a source format cannot carry front matter, a sidecar can provide the same
|
|
97
|
+
declarations. The graph does not require every source to become Markdown.
|
|
61
98
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
the machinery downstream refuses to let material travel further than its
|
|
66
|
-
audience allows. A public export that references a non-public source is
|
|
67
|
-
rejected — that check is fixture-pinned and mutation-tested.
|
|
68
|
-
|
|
69
|
-
## The system
|
|
70
|
-
|
|
71
|
-
Git is the database. The ontology is the schema. The validators are the
|
|
72
|
-
constraints. The runtime is local. The design is five movements, each
|
|
73
|
-
grounded in shipped machinery — [docs/design.md](docs/design.md) states
|
|
74
|
-
them in full, ending each one with the command that proves it:
|
|
75
|
-
|
|
76
|
-
**A repository with an ontology.** Front matter — or a `.kg.json` sidecar
|
|
77
|
-
beside any format the kit never parses — declares a file's identity, type,
|
|
78
|
-
audience, and relations. The graph builder compiles the repository into a
|
|
79
|
-
deterministic knowledge graph. No import step, no database: the repository
|
|
80
|
-
is the store, and Git is the history, the review process, and the read
|
|
81
|
-
boundary.
|
|
82
|
-
|
|
83
|
-
**Rules that refuse.** Eighteen contracts under a compatibility epoch
|
|
84
|
-
define the vocabulary; fail-closed validators enforce it. A public export
|
|
85
|
-
that references a non-public source is rejected — fixture-pinned and
|
|
86
|
-
mutation-tested — and dry-run reports are deterministic: `accepted`,
|
|
87
|
-
`importable`, `worstOperationStatus`. Twelve bundled claim-first readiness
|
|
88
|
-
protocols check the work against published criteria and produce proposed
|
|
89
|
-
claims, never runtime mutations.
|
|
90
|
-
|
|
91
|
-
**Collaboration as governed disclosure.** Private-domain and shared-project
|
|
92
|
-
repos have enforced roles: the boundary guard fails closed when private or
|
|
93
|
-
sensitive material lands in shared space, when protected local files are
|
|
94
|
-
staged, or when private-domain material appears in shared work without a
|
|
95
|
-
recorded `git.promote` disclosure event. Disclosure is a commit, not an
|
|
96
|
-
accident. Change to the machinery itself is governed the same way — the
|
|
97
|
-
lockfile records exactly what a workspace runs, and upgrades are
|
|
98
|
-
branch-based, review-first, and refuse dirty repos.
|
|
99
|
-
|
|
100
|
-
**A local runtime for humans and for agents.** The workspace projects two
|
|
101
|
-
ways: a generated review surface over a loopback-only sidecar for humans,
|
|
102
|
-
and session-bound context and capability envelopes for agent harnesses — a
|
|
103
|
-
governed view with proposals recorded as metadata and no apply endpoints.
|
|
104
|
-
Context without authority. Neutral Claude and Codex skill wrappers ship in
|
|
105
|
-
the package.
|
|
106
|
-
|
|
107
|
-
**A platform for your own tool.** A distribution wraps the CLI under your
|
|
108
|
-
own name, contributes a validated extension pack, and themes the
|
|
109
|
-
projection, while the root contracts, guards, and conformance stay
|
|
110
|
-
canonical underneath — commercially if you want. See "Build your own tool
|
|
111
|
-
on it" below.
|
|
112
|
-
|
|
113
|
-
Methodology authoring is the first application, not the ceiling. MNSTRY
|
|
114
|
-
built the Atelier to carry its own most demanding case — private
|
|
115
|
-
transformational work, where a leaked document is a betrayal — and a
|
|
116
|
-
system trustworthy enough for that is trustworthy enough for whatever you
|
|
117
|
-
govern with it.
|
|
118
|
-
|
|
119
|
-
## Quickstart
|
|
99
|
+
From there, one source can inform a human-readable review page, a session-bound
|
|
100
|
+
context envelope for an agent, or structured input to another tool. These are
|
|
101
|
+
interfaces to the same governed repository, not copies that quietly drift apart.
|
|
120
102
|
|
|
121
|
-
|
|
122
|
-
npm install --save-dev @mnstry/atelier@0.2.0-alpha.2
|
|
123
|
-
|
|
124
|
-
npx atelier init --fixture=sample-workspace --target ./sample
|
|
125
|
-
npx atelier graph --project ./sample/atelier.project.json
|
|
126
|
-
npx atelier project --project ./sample/atelier.project.json
|
|
127
|
-
npx atelier readiness --project ./sample/atelier.project.json
|
|
128
|
-
MNSTRY_ATELIER_ACTOR=owner npx atelier boundary check --project ./sample/atelier.project.json
|
|
129
|
-
npx atelier dev --project ./sample/atelier.project.json
|
|
130
|
-
```
|
|
103
|
+
## Rules travel with the work
|
|
131
104
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
105
|
+
The ontology is not only a vocabulary. It is an enforcement surface. Contracts
|
|
106
|
+
define valid shapes, policies govern movement and disclosure, readiness rules
|
|
107
|
+
make completion testable, and validators fail closed when a boundary cannot be
|
|
108
|
+
proven.
|
|
135
109
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
110
|
+
<!-- atelier:block:audience-visibility:start -->
|
|
111
|
+
The `audience` field in the header is the load-bearing word. It declares who
|
|
112
|
+
a source is written for — `public`, `team`, `operator`, `staff`, `private`,
|
|
113
|
+
or `sensitive` — and the machinery downstream refuses to let material travel
|
|
114
|
+
further than its audience allows. Runtime and export `visibility` is a
|
|
115
|
+
separate vocabulary (`private`, `shared`, `platform`, `public`) describing
|
|
116
|
+
runtime exposure, and the validators reject every crossing between the two.
|
|
117
|
+
Above all: a public export that references a source whose audience is not
|
|
118
|
+
public is refused. That check is fixture-pinned and mutation-tested —
|
|
119
|
+
deleting its enforcement fails tests, not documentation.
|
|
120
|
+
<!-- atelier:block:audience-visibility:end -->
|
|
139
121
|
|
|
140
|
-
|
|
141
|
-
|
|
122
|
+
That distinction matters whenever several interfaces share one body of work.
|
|
123
|
+
A public site, an internal review tool, and an agent session can all use the
|
|
124
|
+
same graph while receiving different, mechanically checked projections.
|
|
125
|
+
|
|
126
|
+
## The system beneath it
|
|
127
|
+
|
|
128
|
+
### 1. The repository becomes an ontology
|
|
129
|
+
|
|
130
|
+
The project manifest tells the Atelier where sources live and which boundaries
|
|
131
|
+
govern the workspace. Source declarations establish typed nodes and relationships. The
|
|
132
|
+
graph command resolves those declarations into a deterministic index that can
|
|
133
|
+
be queried, validated, rendered, and extended.
|
|
134
|
+
|
|
135
|
+
This is what makes a collection of files behave like a system while remaining
|
|
136
|
+
portable. The repository contains both the knowledge and the terms needed to
|
|
137
|
+
interpret it.
|
|
138
|
+
|
|
139
|
+
### 2. Rules can refuse
|
|
140
|
+
|
|
141
|
+
A useful rule must do more than advise. The Atelier checks schema validity,
|
|
142
|
+
relationship integrity, audience boundaries, readiness protocols, and export
|
|
143
|
+
contracts. Invalid or ambiguous states produce a failing command instead of a
|
|
144
|
+
best-effort publication.
|
|
145
|
+
|
|
146
|
+
Because the checks are local and versioned with the work, the repository can
|
|
147
|
+
prove its state in CI, on a laptop, or inside a larger toolchain.
|
|
148
|
+
|
|
149
|
+
### 3. Collaboration becomes governed disclosure
|
|
150
|
+
|
|
151
|
+
Collaboration is not equivalent to giving every participant every file. The
|
|
152
|
+
Atelier models audience, runtime visibility, roles, and capability envelopes
|
|
153
|
+
as separate concerns. A projection can therefore disclose the material needed
|
|
154
|
+
for a task while withholding material outside that boundary.
|
|
142
155
|
|
|
143
|
-
|
|
144
|
-
|
|
156
|
+
This creates a shared language for human handoffs, agent sessions, reviews,
|
|
157
|
+
and eventual managed delivery. The open package validates the declared
|
|
158
|
+
boundary; it does not silently make access decisions on your behalf.
|
|
159
|
+
|
|
160
|
+
### 4. The local runtime serves people and agents
|
|
161
|
+
|
|
162
|
+
`atelier dev` exposes a loopback-only review surface backed by the compiled
|
|
163
|
+
graph. The library exposes the same project, graph, validation, and projection
|
|
164
|
+
primitives to code.
|
|
165
|
+
|
|
166
|
+
The shipped agent model is intentionally bounded: the Atelier can assemble
|
|
167
|
+
session context, capability envelopes, and proposed changes, but it does not
|
|
168
|
+
apply those proposals or grant direct write access. It is a local context and
|
|
169
|
+
control layer that another interface can build on, not an autonomous editor.
|
|
170
|
+
|
|
171
|
+
### 5. The repository can power another product
|
|
172
|
+
|
|
173
|
+
The CLI is one interface. The package is also a library, and its contracts are
|
|
174
|
+
published artifacts. A tool can use the repository as its durable source of
|
|
175
|
+
truth, compile the graph, select an audience-safe projection, and present a
|
|
176
|
+
purpose-built experience without reimplementing the governance model.
|
|
177
|
+
|
|
178
|
+
That tool may be private, open source, or commercial. Apache-2.0 permits all
|
|
179
|
+
three. Conformance to the public Atelier contracts does not require a MNSTRY
|
|
180
|
+
account or service.
|
|
181
|
+
|
|
182
|
+
Read [the design document](./docs/design.md) for the five-part architecture and
|
|
183
|
+
[the ontology](./docs/ontology.md) and
|
|
184
|
+
[contract-stability policy](./docs/contract-stability.md) for the stable
|
|
185
|
+
boundaries.
|
|
186
|
+
|
|
187
|
+
## Build your own tool on it
|
|
188
|
+
|
|
189
|
+
Use the CLI when a shell command or CI gate is enough. Use the library when the
|
|
190
|
+
Atelier is the substrate beneath a custom interface:
|
|
191
|
+
|
|
192
|
+
```js
|
|
193
|
+
import {
|
|
194
|
+
buildGraph,
|
|
195
|
+
resolveProjectConfig,
|
|
196
|
+
} from '@mnstry/atelier'
|
|
197
|
+
|
|
198
|
+
const project = resolveProjectConfig({
|
|
199
|
+
cwd: process.cwd(),
|
|
200
|
+
argv: ['--project=./atelier.project.json'],
|
|
201
|
+
})
|
|
202
|
+
const graph = buildGraph(project)
|
|
203
|
+
|
|
204
|
+
if (graph.errors.length > 0) throw new Error(graph.errors.join('\n'))
|
|
205
|
+
console.log(graph.nodes)
|
|
145
206
|
```
|
|
146
207
|
|
|
147
|
-
|
|
148
|
-
|
|
208
|
+
The package exports change over the alpha series, so pin the exact prerelease
|
|
209
|
+
version and treat the package export map and shipped source modules as the
|
|
210
|
+
executable API reference. [Distribution contracts](./docs/distributions.md) explain
|
|
211
|
+
how a governed subset can be packaged for another surface without widening its
|
|
212
|
+
audience.
|
|
213
|
+
|
|
214
|
+
## Where the Atelier stops
|
|
149
215
|
|
|
150
|
-
|
|
216
|
+
The open package owns repository-side structure and proof. A managed runtime
|
|
217
|
+
may consume a conformant export, but that is a separate system with a separate
|
|
218
|
+
trust boundary.
|
|
151
219
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
marker, not an install target — it predates the current tree. The version
|
|
161
|
-
`0.2.0` was published in error and unpublished the same day; that number
|
|
162
|
-
is permanently retired on npm and will never be reused.
|
|
163
|
-
- Telemetry: none. Network egress: none, with one documented exception —
|
|
164
|
-
see "Nothing leaves your machine" below.
|
|
220
|
+
| The local Atelier does | A managed runtime may do |
|
|
221
|
+
| --- | --- |
|
|
222
|
+
| Parse sources and sidecars | Authenticate participants |
|
|
223
|
+
| Compile and query the graph | Resolve live authorization |
|
|
224
|
+
| Validate contracts and relationships | Persist runtime state |
|
|
225
|
+
| Enforce export audience boundaries | Deliver governed experiences |
|
|
226
|
+
| Generate local review and agent context | Record consent and operational events |
|
|
227
|
+
| Check offline conformance | Decide optional admission |
|
|
165
228
|
|
|
166
|
-
|
|
229
|
+
### Claims you can verify
|
|
167
230
|
|
|
231
|
+
<!-- atelier:block:claims:start -->
|
|
168
232
|
This package makes three promises. None of them asks for your trust — each
|
|
169
233
|
one names the command that proves it.
|
|
170
234
|
|
|
@@ -210,132 +274,99 @@ atelier dry-run ./atelier-export.json
|
|
|
210
274
|
`docs/continuity.md` records the distribution commitments behind these
|
|
211
275
|
claims, including the perpetual Apache-2.0 grant on every tagged release you
|
|
212
276
|
receive.
|
|
277
|
+
<!-- atelier:block:claims:end -->
|
|
213
278
|
|
|
214
|
-
|
|
279
|
+
### What it will not do
|
|
215
280
|
|
|
281
|
+
<!-- atelier:block:will-not-do:start -->
|
|
216
282
|
- It does not write to a MNSTRY runtime database.
|
|
217
283
|
- It does not import, provision, publish, or send anything.
|
|
218
|
-
-
|
|
284
|
+
- Except for the documented `gh` actor-resolution fallback, it initiates no
|
|
285
|
+
external network requests.
|
|
219
286
|
- It does not execute model-assisted analysis or any model provider.
|
|
220
287
|
- It does not include client project content.
|
|
221
288
|
|
|
222
289
|
These limits are the design. An authoring tool for private material earns
|
|
223
290
|
trust by what it refuses to be able to do.
|
|
291
|
+
<!-- atelier:block:will-not-do:end -->
|
|
224
292
|
|
|
225
|
-
|
|
293
|
+
### Conformance and admission
|
|
226
294
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
`audience` describes local source readership (`public`, `team`, `operator`,
|
|
230
|
-
`staff`, `private`, `sensitive`); runtime/export `visibility` describes
|
|
231
|
-
runtime exposure and accepts only `private`, `shared`, `platform`, or
|
|
232
|
-
`public`. A public export referencing a source whose audience is not public
|
|
233
|
-
is refused — that check is fixture-pinned and mutation-tested.
|
|
295
|
+
<!-- atelier:block:conformance-admission:start -->
|
|
296
|
+
The Atelier export format is MNSTRY's format, offered openly.
|
|
234
297
|
|
|
235
|
-
|
|
298
|
+
**Anyone can check a document against the published contracts, forever,
|
|
299
|
+
offline.** The contracts, fixtures, and dry-run validator all ship in the
|
|
300
|
+
package, so conformance needs no account, no network, and no MNSTRY
|
|
301
|
+
involvement.
|
|
236
302
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
bin, extension pack, themed workspace template. It lives in this
|
|
247
|
-
repository and deliberately never ships in the npm tarball.
|
|
248
|
-
- `docs/distributions.md` — the contract a distribution must honor.
|
|
249
|
-
- `TRADEMARKS.md` — naming rules; Apache-2.0 grants code rights, not brand
|
|
250
|
-
rights. Every distribution carries "powered by MNSTRY Atelier" attribution,
|
|
251
|
-
checked by `atelier distribution check`.
|
|
252
|
-
|
|
253
|
-
## The MNSTRY relationship
|
|
254
|
-
|
|
255
|
-
The Atelier export format is MNSTRY's format, offered openly. Conformance —
|
|
256
|
-
is this document valid against the published contracts? — is public,
|
|
257
|
-
offline, and free, forever. Admission — will MNSTRY's governed runtime
|
|
258
|
-
accept it for delivery to clients? — is a separate, opt-in step: a signed
|
|
259
|
-
attestation issued by MNSTRY against criteria this package publishes
|
|
260
|
-
(`docs/attestation.md`). The criteria are public; the checker is private;
|
|
261
|
-
the rejection message is part of the contract. You can build on the Atelier
|
|
262
|
-
without ever talking to MNSTRY, and a document MNSTRY declines can still be
|
|
263
|
-
fully conformant.
|
|
264
|
-
|
|
265
|
-
## Feedback and announcements
|
|
266
|
-
|
|
267
|
-
Both channels respect consent by construction. `atelier feedback` writes a
|
|
268
|
-
scanned, redaction-checked report to a local file — there is no send path;
|
|
269
|
-
you choose whether and where to share it. `announcements list` verifies
|
|
270
|
-
project-shipped announcements against a committed public key — pull-only,
|
|
271
|
-
nothing phones home to ask.
|
|
272
|
-
|
|
273
|
-
## Running the test suite from a fresh clone
|
|
274
|
-
|
|
275
|
-
`npm test` includes one fail-closed check that expects a private denylist
|
|
276
|
-
file (`release-denylist.local.json`, gitignored) used by MNSTRY's release
|
|
277
|
-
lane. On a fresh clone that file is absent, so the check **fails** — it never
|
|
278
|
-
passes silently on missing protection. Expect this, after `npm install`:
|
|
303
|
+
Admission is a narrower, opt-in decision: whether a MNSTRY governed runtime
|
|
304
|
+
accepts a document for delivery to the people it serves. That is what
|
|
305
|
+
admission buys — delivery through a runtime that enforces consent and
|
|
306
|
+
visibility at serve time — and it takes the form of a signed MNSTRY
|
|
307
|
+
attestation against criteria this package publishes (`docs/attestation.md`).
|
|
308
|
+
The criteria are public, the checker is private, and the rejection message
|
|
309
|
+
is part of the contract. You can build on the Atelier without ever talking
|
|
310
|
+
to MNSTRY, and a document MNSTRY declines can still be fully conformant.
|
|
311
|
+
<!-- atelier:block:conformance-admission:end -->
|
|
279
312
|
|
|
280
|
-
|
|
281
|
-
npm install
|
|
282
|
-
npm test # 510 tests: 509 pass, 1 fail — the denylist check, by design
|
|
283
|
-
```
|
|
313
|
+
## Install and go deeper
|
|
284
314
|
|
|
285
|
-
|
|
286
|
-
|
|
315
|
+
Node.js `>=22.18.0 <23` is required. Pin the prerelease while the package
|
|
316
|
+
remains in alpha:
|
|
287
317
|
|
|
288
318
|
```bash
|
|
289
|
-
|
|
319
|
+
npm install --save-dev @mnstry/atelier@0.2.0-alpha.4
|
|
290
320
|
```
|
|
291
321
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
atelier
|
|
312
|
-
atelier
|
|
313
|
-
atelier
|
|
314
|
-
atelier
|
|
315
|
-
atelier
|
|
316
|
-
atelier
|
|
317
|
-
atelier
|
|
318
|
-
atelier
|
|
322
|
+
Then choose the path that matches what you are building:
|
|
323
|
+
|
|
324
|
+
- [Installation and first run](./docs/install.md)
|
|
325
|
+
- [Design and architecture](./docs/design.md)
|
|
326
|
+
- [Knowledge graph and source model](./docs/knowledge-graph.md)
|
|
327
|
+
- [Local runtime and agent boundary](./docs/atelier-runtime.md)
|
|
328
|
+
- [Distribution contracts](./docs/distributions.md)
|
|
329
|
+
- [Conformance and attestation](./docs/attestation.md)
|
|
330
|
+
- [Continuity commitments](./docs/continuity.md)
|
|
331
|
+
- [Upgrade notes](./docs/upgrade.md)
|
|
332
|
+
|
|
333
|
+
## Status and command reference
|
|
334
|
+
|
|
335
|
+
Current package: `@mnstry/atelier@0.2.0-alpha.4`.
|
|
336
|
+
|
|
337
|
+
The alpha package is usable and contract-tested, but its library API may still
|
|
338
|
+
change before a stable release. Pin the exact version in production toolchains.
|
|
339
|
+
|
|
340
|
+
```text
|
|
341
|
+
atelier init
|
|
342
|
+
atelier adopt
|
|
343
|
+
atelier setup
|
|
344
|
+
atelier graph
|
|
345
|
+
atelier project
|
|
346
|
+
atelier build
|
|
347
|
+
atelier dev
|
|
348
|
+
atelier generated check
|
|
349
|
+
atelier config check
|
|
350
|
+
atelier extension-pack
|
|
351
|
+
atelier distribution check
|
|
352
|
+
atelier egress check
|
|
353
|
+
atelier boundary
|
|
354
|
+
atelier readiness
|
|
355
|
+
atelier export
|
|
356
|
+
atelier context flow
|
|
357
|
+
atelier support bundle
|
|
358
|
+
atelier feedback
|
|
359
|
+
atelier announcements
|
|
360
|
+
atelier attestation
|
|
361
|
+
atelier promote
|
|
362
|
+
atelier upgrade
|
|
363
|
+
atelier lock
|
|
319
364
|
```
|
|
320
365
|
|
|
321
|
-
`
|
|
322
|
-
|
|
323
|
-
runs only registered migrations, refreshes generated projections, and leaves
|
|
324
|
-
a Git commit for review. It will not weaken boundary policy, introduce
|
|
325
|
-
telemetry, enable non-localhost egress, run model-assisted analysis, or write/import/apply
|
|
326
|
-
runtime state.
|
|
327
|
-
|
|
328
|
-
## Sample fixtures
|
|
329
|
-
|
|
330
|
-
Fixtures in this package are fictional and generic. Project-specific adapter
|
|
331
|
-
fixtures belong in their project repositories, not in the published Atelier
|
|
332
|
-
package.
|
|
366
|
+
Run `atelier --help` or `atelier <command> --help` for the current flags. The
|
|
367
|
+
full command behavior is also covered by the package's executable tests.
|
|
333
368
|
|
|
334
|
-
##
|
|
369
|
+
## Contributing and license
|
|
335
370
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
continuity commitments). Contributions are accepted under inbound-equals-
|
|
339
|
-
outbound Apache-2.0 with a DCO sign-off — `CONTRIBUTING.md` is the working
|
|
340
|
-
agreement, including how to contribute without exposing client material or
|
|
341
|
-
your own private methodology.
|
|
371
|
+
Contributions are welcome through [the contribution guide](./CONTRIBUTING.md).
|
|
372
|
+
MNSTRY Atelier is released under [Apache-2.0](./LICENSE).
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
The `audience` field in the header is the load-bearing word. It declares who
|
|
2
|
+
a source is written for — `public`, `team`, `operator`, `staff`, `private`,
|
|
3
|
+
or `sensitive` — and the machinery downstream refuses to let material travel
|
|
4
|
+
further than its audience allows. Runtime and export `visibility` is a
|
|
5
|
+
separate vocabulary (`private`, `shared`, `platform`, `public`) describing
|
|
6
|
+
runtime exposure, and the validators reject every crossing between the two.
|
|
7
|
+
Above all: a public export that references a source whose audience is not
|
|
8
|
+
public is refused. That check is fixture-pinned and mutation-tested —
|
|
9
|
+
deleting its enforcement fails tests, not documentation.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
This package makes three promises. None of them asks for your trust — each
|
|
2
|
+
one names the command that proves it.
|
|
3
|
+
|
|
4
|
+
**Nothing leaves your machine, with one exception you can see.** There is no
|
|
5
|
+
telemetry, no update check, no crash reporting, and no send path anywhere in
|
|
6
|
+
the package. The exception: when no actor is configured, `boundary check` and
|
|
7
|
+
`doctor` fall back to the `gh` CLI to resolve your GitHub login, which is an
|
|
8
|
+
authenticated request to GitHub made with your own credentials. Set
|
|
9
|
+
`MNSTRY_ATELIER_ACTOR` and that path is never taken. The only network client
|
|
10
|
+
refuses non-loopback URLs, the served pages carry a policy that authorizes no
|
|
11
|
+
external origin, and a fail-closed gate scans the executable and markup files
|
|
12
|
+
under `src/`, `bin/`, `scripts/`, and `examples/` for egress primitives. Two
|
|
13
|
+
limits worth stating plainly: the gate does not read the `.json` and `.md`
|
|
14
|
+
files under `templates/` and `skills/`, and it does not model
|
|
15
|
+
`child_process`, which is why the `gh` fallback above does not trip it:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm run egress:check
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Compatibility is checked by machinery, not memory.** Documents valid
|
|
22
|
+
against the `v0.2.0-alpha.0` contracts stay valid: every change is checked
|
|
23
|
+
against the baseline tag's validators, and schema widening outside `ext`
|
|
24
|
+
containers is refused by a schema-vs-schema differ. Breaking changes require
|
|
25
|
+
a new contract version and a recorded migration. Known limit: the differ
|
|
26
|
+
compares schemas structurally and does not resolve `$ref` pointers, so a
|
|
27
|
+
`$ref` retargeted at a looser definition is not caught by this gate — the
|
|
28
|
+
fixture tests catch that for contracts with negative fixtures, and closing
|
|
29
|
+
the gap in the differ is tracked work:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm run contract:compat
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Conformance works offline, forever.** Validating a document against the
|
|
36
|
+
published contracts needs this package and nothing else — no account, no
|
|
37
|
+
service, no network:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
atelier dry-run ./atelier-export.json
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`docs/continuity.md` records the distribution commitments behind these
|
|
44
|
+
claims, including the perpetual Apache-2.0 grant on every tagged release you
|
|
45
|
+
receive.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
The Atelier export format is MNSTRY's format, offered openly.
|
|
2
|
+
|
|
3
|
+
**Anyone can check a document against the published contracts, forever,
|
|
4
|
+
offline.** The contracts, fixtures, and dry-run validator all ship in the
|
|
5
|
+
package, so conformance needs no account, no network, and no MNSTRY
|
|
6
|
+
involvement.
|
|
7
|
+
|
|
8
|
+
Admission is a narrower, opt-in decision: whether a MNSTRY governed runtime
|
|
9
|
+
accepts a document for delivery to the people it serves. That is what
|
|
10
|
+
admission buys — delivery through a runtime that enforces consent and
|
|
11
|
+
visibility at serve time — and it takes the form of a signed MNSTRY
|
|
12
|
+
attestation against criteria this package publishes (`docs/attestation.md`).
|
|
13
|
+
The criteria are public, the checker is private, and the rejection message
|
|
14
|
+
is part of the contract. You can build on the Atelier without ever talking
|
|
15
|
+
to MNSTRY, and a document MNSTRY declines can still be fully conformant.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
- It does not write to a MNSTRY runtime database.
|
|
2
|
+
- It does not import, provision, publish, or send anything.
|
|
3
|
+
- Except for the documented `gh` actor-resolution fallback, it initiates no
|
|
4
|
+
external network requests.
|
|
5
|
+
- It does not execute model-assisted analysis or any model provider.
|
|
6
|
+
- It does not include client project content.
|
|
7
|
+
|
|
8
|
+
These limits are the design. An authoring tool for private material earns
|
|
9
|
+
trust by what it refuses to be able to do.
|
package/docs/continuity.md
CHANGED
|
@@ -21,10 +21,9 @@ NOTICE attribution obligation and the trademark limits in `TRADEMARKS.md`).
|
|
|
21
21
|
tag you fetched, with full Apache-2.0 rights over it. MNSTRY will not ask
|
|
22
22
|
for deletion of received tagged source and has no license mechanism to do
|
|
23
23
|
so.
|
|
24
|
-
2. **npm publication
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
permission — the distribution channel of record.
|
|
24
|
+
2. **npm publication.** Tagged releases are published to the npm registry
|
|
25
|
+
under `@mnstry/atelier` with public access, making the registry — not
|
|
26
|
+
repository permission — the distribution channel of record.
|
|
28
27
|
3. **Contract compatibility by machinery.** From tag `v0.2.0-alpha.0`
|
|
29
28
|
onward, the published contracts are under a compatibility gate
|
|
30
29
|
(`npm run contract:compat`): documents valid against the baseline tag must
|
package/docs/design.md
CHANGED
|
@@ -35,9 +35,10 @@ atelier graph --check --project ./atelier.project.json
|
|
|
35
35
|
|
|
36
36
|
The ontology is not documentation. It is the enforcement mechanism.
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
configuration, boundary policy, sidecars, locks,
|
|
40
|
-
attestation — and fail-closed validators enforce
|
|
38
|
+
The JSON Schema contracts under `contracts/` define the vocabulary —
|
|
39
|
+
exports, project configuration, boundary policy, sidecars, locks,
|
|
40
|
+
migrations, readiness, attestation — and fail-closed validators enforce
|
|
41
|
+
it. The load-bearing
|
|
41
42
|
separation is `audience` versus `visibility`: audience is local readership
|
|
42
43
|
(`public`, `team`, `operator`, `staff`, `private`, `sensitive`), visibility
|
|
43
44
|
is runtime authority (`private`, `shared`, `platform`, `public`), and the
|
|
@@ -103,9 +104,12 @@ without authority. Neutral Claude and Codex skill wrappers ship in the
|
|
|
103
104
|
package, so a harness can do readiness review work against the workspace
|
|
104
105
|
without a single line of custom glue.
|
|
105
106
|
|
|
106
|
-
This is
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
This is a deliberately narrow answer to a broad question. It does not make
|
|
108
|
+
an agent safe around private material in general; it makes one surface
|
|
109
|
+
checkable: within the Atelier sidecar, a harness receives session-bound
|
|
110
|
+
context and can record proposals, and there is no apply endpoint and no
|
|
111
|
+
write authority to grant. A bounded view, with writing made impossible —
|
|
112
|
+
a testable control, not a trust exercise.
|
|
109
113
|
|
|
110
114
|
```bash
|
|
111
115
|
atelier dev --project ./atelier.project.json
|
|
@@ -127,9 +131,11 @@ in one sitting: a wrapper bin, a pack, a themed workspace.
|
|
|
127
131
|
Apache-2.0 makes commercial use a right, not a favor. The trademark policy
|
|
128
132
|
keeps the name ours and the code yours: every distribution carries
|
|
129
133
|
"powered by MNSTRY Atelier" attribution, and the check is a command, not a
|
|
130
|
-
request.
|
|
131
|
-
no CLA — nobody, including MNSTRY, holds rights over
|
|
132
|
-
that
|
|
134
|
+
request. The contribution terms are inbound-equals-outbound with a DCO
|
|
135
|
+
sign-off and no CLA — nobody, including MNSTRY, holds rights over a
|
|
136
|
+
contribution that the contributor does not also hold. Outside pull
|
|
137
|
+
requests are not open yet; `CONTRIBUTING.md` states the posture and the
|
|
138
|
+
terms that will govern them when they open.
|
|
133
139
|
|
|
134
140
|
```bash
|
|
135
141
|
atelier distribution check --target ./my-distribution
|
|
@@ -144,9 +150,10 @@ transformational work, where a leaked document is not a bug but a
|
|
|
144
150
|
betrayal. That case set the bar — fail-closed boundaries, no telemetry, no
|
|
145
151
|
send path, agents without authority, disclosure as a recorded event.
|
|
146
152
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
153
|
+
That case shaped the defaults. Other bodies of work — a research corpus, a
|
|
154
|
+
client practice, an editorial pipeline, anything that must outlive the
|
|
155
|
+
tools that touch it — reuse the mechanics, and each defines and validates
|
|
156
|
+
its own ontology, protocols, and boundary policies.
|
|
150
157
|
|
|
151
158
|
The claims behind this page are stated precisely, with their known limits,
|
|
152
159
|
in the README's "Claims you can check" — each with the command that proves
|
package/docs/install.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
# Install
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
project work in shared project
|
|
3
|
+
This is the install guide for Atelier workspaces. The workspace pattern it
|
|
4
|
+
installs — Repo Boundary Guard V1 — keeps private domain source in
|
|
5
|
+
user-owned Git repositories and keeps shared project work in shared project
|
|
6
|
+
repositories.
|
|
6
7
|
|
|
7
8
|
## Posture
|
|
8
9
|
|
|
@@ -16,32 +17,36 @@ Git repository access is the hard read boundary for source files. Local
|
|
|
16
17
|
`kg.audience` labels guide projection and review, but they do not hide files
|
|
17
18
|
from anyone who can read the repository.
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
`
|
|
20
|
+
Two command forms ship, and each has a place. Inside an installed
|
|
21
|
+
workspace, use `atelier` — it resolves from `node_modules/.bin`, so npm
|
|
22
|
+
scripts and workspace shells get the real binary. From outside a
|
|
23
|
+
workspace, always use the branded `npx mnstry-atelier` form: the unscoped
|
|
24
|
+
npm name `atelier` belongs to an unrelated third-party package, so a bare
|
|
25
|
+
`npx atelier` outside a workspace runs someone else's code.
|
|
21
26
|
|
|
22
|
-
## Install
|
|
27
|
+
## Install shape
|
|
23
28
|
|
|
24
29
|
The registry is the distribution channel of record, as `docs/continuity.md`
|
|
25
30
|
commits:
|
|
26
31
|
|
|
27
32
|
```bash
|
|
28
|
-
npm install --save-dev @mnstry/atelier@0.2.0-alpha.
|
|
33
|
+
npm install --save-dev @mnstry/atelier@0.2.0-alpha.4
|
|
29
34
|
```
|
|
30
35
|
|
|
31
36
|
Installing from the matching Git tag resolves to the same reviewed commit:
|
|
32
37
|
|
|
33
38
|
```bash
|
|
34
|
-
npm install --save-dev "git+https://github.com/MNSTRY/atelier.git#v0.2.0-alpha.
|
|
39
|
+
npm install --save-dev "git+https://github.com/MNSTRY/atelier.git#v0.2.0-alpha.4"
|
|
35
40
|
```
|
|
36
41
|
|
|
37
42
|
Or over SSH:
|
|
38
43
|
|
|
39
44
|
```bash
|
|
40
|
-
npm install --save-dev "git+ssh://git@github.com/MNSTRY/atelier.git#v0.2.0-alpha.
|
|
45
|
+
npm install --save-dev "git+ssh://git@github.com/MNSTRY/atelier.git#v0.2.0-alpha.4"
|
|
41
46
|
```
|
|
42
47
|
|
|
43
|
-
Keep the `@mnstry/` scope
|
|
44
|
-
|
|
48
|
+
Keep the `@mnstry/` scope — see the command-form note above for why the
|
|
49
|
+
unscoped name is dangerous.
|
|
45
50
|
|
|
46
51
|
Do not install from `v0.2.0-alpha.0`. That tag is the **contract epoch
|
|
47
52
|
marker** — `contracts/compat-baseline.json` pins the compatibility gate to it,
|
|
@@ -68,7 +73,7 @@ github.com/<org>/project-shared-library
|
|
|
68
73
|
The repository names above are examples. Create and permission repositories in
|
|
69
74
|
GitHub or your internal Git host before pointing Atelier at them.
|
|
70
75
|
|
|
71
|
-
## Tenant
|
|
76
|
+
## Tenant workspace example
|
|
72
77
|
|
|
73
78
|
Default placeholder shape:
|
|
74
79
|
|
|
@@ -82,7 +87,7 @@ values only inside the copied private workspace or through initializer flags.
|
|
|
82
87
|
The example repositories are placeholders, not repositories created by this
|
|
83
88
|
package release.
|
|
84
89
|
|
|
85
|
-
## Local
|
|
90
|
+
## Local setup
|
|
86
91
|
|
|
87
92
|
Copy one of the starter templates:
|
|
88
93
|
|
|
@@ -128,7 +133,7 @@ atelier readiness export --dry-run --project ./atelier.project.json
|
|
|
128
133
|
|
|
129
134
|
These commands read local files and write generated local outputs only.
|
|
130
135
|
|
|
131
|
-
## Upgrade
|
|
136
|
+
## Upgrade path
|
|
132
137
|
|
|
133
138
|
The starter commands create `atelier.lock.json` inside the copied workspace so
|
|
134
139
|
the installed Atelier package source, version, contracts, and migration state
|
package/docs/upgrade.md
CHANGED
|
@@ -5,6 +5,28 @@ workspace between Atelier package releases. The flow is local-only: it does not
|
|
|
5
5
|
provision repositories, contact a Git host, mutate the MNSTRY runtime, or write
|
|
6
6
|
through a browser view.
|
|
7
7
|
|
|
8
|
+
## Upgrading to 0.2.0-alpha.4
|
|
9
|
+
|
|
10
|
+
This is a presentation release. There are no contract changes and no runtime
|
|
11
|
+
behaviour changes: documents valid against `0.2.0-alpha.0` remain valid, and
|
|
12
|
+
`npm run contract:compat` is clean against the same epoch baseline. The README,
|
|
13
|
+
package metadata, and public documentation now describe the Atelier as a
|
|
14
|
+
repository substrate for people, agents, teams, and tools. Upgrading is a
|
|
15
|
+
dependency bump.
|
|
16
|
+
|
|
17
|
+
## Upgrading to 0.2.0-alpha.3
|
|
18
|
+
|
|
19
|
+
No contract changes and no runtime behaviour changes: documents valid against
|
|
20
|
+
`0.2.0-alpha.0` remain valid, and `npm run contract:compat` is clean against
|
|
21
|
+
the same epoch baseline. Upgrading is a dependency bump.
|
|
22
|
+
|
|
23
|
+
One thing worth knowing, because it changes what you type. Outside an
|
|
24
|
+
installed workspace, use `npx mnstry-atelier` rather than `npx atelier`: the
|
|
25
|
+
unscoped npm name `atelier` belongs to an unrelated third-party package, so a
|
|
26
|
+
bare `npx atelier` there runs someone else's code. Inside an installed
|
|
27
|
+
workspace both names resolve from `node_modules/.bin`, so npm scripts and
|
|
28
|
+
workspace shells need no change.
|
|
29
|
+
|
|
8
30
|
## Upgrading to 0.2.0-alpha.2
|
|
9
31
|
|
|
10
32
|
No contract changes and no runtime behaviour changes: documents valid against
|
|
@@ -72,16 +94,16 @@ For registry installs, pin the exact version and record the resolved version
|
|
|
72
94
|
in the lockfile:
|
|
73
95
|
|
|
74
96
|
```bash
|
|
75
|
-
npm install --save-dev @mnstry/atelier@0.2.0-alpha.
|
|
76
|
-
npx atelier lock write --project ./atelier.project.json
|
|
97
|
+
npm install --save-dev @mnstry/atelier@0.2.0-alpha.4
|
|
98
|
+
npx mnstry-atelier lock write --project ./atelier.project.json
|
|
77
99
|
```
|
|
78
100
|
|
|
79
101
|
For Git installs, pin the release tag rather than a branch, so the lock file
|
|
80
102
|
records exactly what was reviewed:
|
|
81
103
|
|
|
82
104
|
```bash
|
|
83
|
-
npm install --save-dev "git+https://github.com/MNSTRY/atelier.git#v0.2.0-alpha.
|
|
84
|
-
npx atelier lock write --project ./atelier.project.json
|
|
105
|
+
npm install --save-dev "git+https://github.com/MNSTRY/atelier.git#v0.2.0-alpha.4"
|
|
106
|
+
npx mnstry-atelier lock write --project ./atelier.project.json
|
|
85
107
|
```
|
|
86
108
|
|
|
87
109
|
Before accepting upstream changes, run the non-mutating upgrade planner:
|
package/package.json
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnstry/atelier",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.4",
|
|
4
4
|
"private": false,
|
|
5
|
-
"description": "Local
|
|
5
|
+
"description": "Local toolkit that turns a Git repository into an ontology-governed knowledge graph, enforcement layer, and runtime for people, agents, and tools. No telemetry, service, or account.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"knowledge-graph",
|
|
8
|
+
"ontology",
|
|
9
|
+
"front-matter",
|
|
10
|
+
"local-first",
|
|
11
|
+
"json-schema",
|
|
12
|
+
"validation",
|
|
13
|
+
"provenance",
|
|
14
|
+
"governance",
|
|
15
|
+
"markdown",
|
|
16
|
+
"cli",
|
|
17
|
+
"agent-context",
|
|
18
|
+
"offline"
|
|
19
|
+
],
|
|
6
20
|
"type": "module",
|
|
7
21
|
"bin": {
|
|
8
22
|
"atelier": "bin/atelier.mjs",
|
|
@@ -65,7 +79,7 @@
|
|
|
65
79
|
"type": "git",
|
|
66
80
|
"url": "git+https://github.com/MNSTRY/atelier.git"
|
|
67
81
|
},
|
|
68
|
-
"homepage": "https://mnstry.
|
|
82
|
+
"homepage": "https://docs.mnstry.ai/public-product/developers/atelier",
|
|
69
83
|
"bugs": {
|
|
70
84
|
"url": "https://github.com/MNSTRY/atelier/issues"
|
|
71
85
|
},
|
|
@@ -25,14 +25,15 @@ name (`atelier`) and use the port the harness returns. The equivalent manual
|
|
|
25
25
|
command is:
|
|
26
26
|
|
|
27
27
|
```
|
|
28
|
-
./node_modules/.bin/atelier
|
|
28
|
+
./node_modules/.bin/atelier dev
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
Use the local binary path. Do **not** run `npx atelier
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
Use the local binary path. Do **not** run unscoped `npx atelier`: the unscoped
|
|
32
|
+
name belongs to an unrelated third-party package that `npx` would download and
|
|
33
|
+
execute. From outside an installed workspace, install `@mnstry/atelier` first
|
|
34
|
+
and use the branded `npx mnstry-atelier` command.
|
|
34
35
|
|
|
35
|
-
`atelier
|
|
36
|
+
`atelier dev` resolves its port as **argv > `PORT` env > 8137**, so a
|
|
36
37
|
supervisor can hand it a free port without a config edit.
|
|
37
38
|
|
|
38
39
|
## Do not fight for the canonical port
|
|
@@ -25,14 +25,15 @@ name (`atelier`) and use the port the harness returns. The equivalent manual
|
|
|
25
25
|
command is:
|
|
26
26
|
|
|
27
27
|
```
|
|
28
|
-
./node_modules/.bin/atelier
|
|
28
|
+
./node_modules/.bin/atelier dev
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
Use the local binary path. Do **not** run `npx atelier
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
Use the local binary path. Do **not** run unscoped `npx atelier`: the unscoped
|
|
32
|
+
name belongs to an unrelated third-party package that `npx` would download and
|
|
33
|
+
execute. From outside an installed workspace, install `@mnstry/atelier` first
|
|
34
|
+
and use the branded `npx mnstry-atelier` command.
|
|
34
35
|
|
|
35
|
-
`atelier
|
|
36
|
+
`atelier dev` resolves its port as **argv > `PORT` env > 8137**, so a
|
|
36
37
|
supervisor can hand it a free port without a config edit.
|
|
37
38
|
|
|
38
39
|
## Do not fight for the canonical port
|