yarramate 0.3.2 → 0.3.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yarramate",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Tool-neutral semantic architecture engine and guided methodology",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: yarramate-architecture
3
- description: Discover architecture in an existing repository or design a new solution before implementation using native YarraMate documents and the stable CLI. Use when an agent needs to map a codebase, propose an evidence-backed architecture model, brainstorm solution alternatives, define current/transition/target architecture, reconcile intent with evidence, or provide bounded architecture context to implementation work.
3
+ description: Discover, design, or maintain repository architecture using native YarraMate documents and the stable CLI. Use when an agent needs to map a codebase, propose an evidence-backed architecture model, brainstorm solution alternatives, evolve a model that already validates, rename or replace semantic subjects safely, define current/transition/target architecture, reconcile intent with evidence, or provide bounded architecture context to implementation work.
4
4
  ---
5
5
 
6
6
  # YarraMate architecture
7
7
 
8
- Use one repository-native lifecycle for discovery and design:
8
+ Use one repository-native lifecycle for discovery, design, and maintenance:
9
9
 
10
10
  ```text
11
11
  evidence or design conversation
@@ -26,7 +26,10 @@ automatically.
26
26
  existing project**.
27
27
  - Intent and a not-yet-built solution are the starting point: follow **Design
28
28
  a new solution**.
29
- - Declared architecture and implementation both exist: begin with discovery,
29
+ - A validating native model must change: follow **Maintain an existing
30
+ model**.
31
+ - Declared architecture and implementation both exist but no model change is
32
+ requested: begin with discovery,
30
33
  preserve the declared model, then report supported, contradicted, unknown,
31
34
  and unobserved claims without silently rewriting it.
32
35
 
@@ -67,6 +70,7 @@ yarramate evidence .yarramate/evidence/<evidence>.yaml .yarramate/workspace.yaml
67
70
  yarramate reconcile .yarramate/workspace.yaml
68
71
  yarramate context .yarramate/projections/<projection>.yaml .yarramate/workspace.yaml
69
72
  yarramate view .yarramate/projections/<projection>.yaml .yarramate/workspace.yaml
73
+ yarramate-likec4 check .yarramate/integrations/likec4/project.yaml --json .yarramate/workspace.yaml
70
74
  yarramate-likec4 map --sync .yarramate/integrations/likec4/subject-mapping.yaml .yarramate/workspace.yaml
71
75
  yarramate-likec4 export-project .yarramate/integrations/likec4/project.yaml .yarramate-out/likec4 .yarramate/workspace.yaml
72
76
  ```
@@ -112,6 +116,7 @@ yarramate context .yarramate/projections/<target>.yaml .yarramate/workspace.yaml
112
116
  yarramate view .yarramate/projections/<target>.yaml .yarramate/workspace.yaml
113
117
  yarramate view .yarramate/projections/<flow>.yaml .yarramate/workspace.yaml
114
118
  yarramate compare <document-id>#<baseline-state> <document-id>#<target-state> .yarramate/workspace.yaml
119
+ yarramate-likec4 check .yarramate/integrations/likec4/project.yaml --json .yarramate/workspace.yaml
115
120
  yarramate-likec4 map --sync .yarramate/integrations/likec4/subject-mapping.yaml .yarramate/workspace.yaml
116
121
  yarramate-likec4 export-project .yarramate/integrations/likec4/project.yaml .yarramate-out/likec4 .yarramate/workspace.yaml
117
122
  ```
@@ -125,10 +130,64 @@ yarramate-likec4 export-project .yarramate/integrations/likec4/project.yaml .yar
125
130
  implementation context. Do not generate code until the requested design
126
131
  decision is reviewable.
127
132
 
133
+ ## Maintain an existing model
134
+
135
+ Use this journey for a deliberate change to a model that already passes its
136
+ checks, including a renamed subject, resolved gap, changed relationship, or
137
+ retired concept.
138
+
139
+ 1. Discover the authored layout before assuming paths:
140
+ - read the workspace `documents`, `projections`, `adapterMappings`, and
141
+ `evidence` entries;
142
+ - locate any `yarramate/likec4-project/v1` document and follow its `mapping`
143
+ field;
144
+ - treat paths shown below as examples, not required repository layout.
145
+ Discover the repository’s authored paths instead of assuming these examples.
146
+ 2. Establish a passing baseline with Core and every configured read-only
147
+ adapter check. If the baseline already fails, separate those pre-existing
148
+ diagnostics from the requested maintenance change.
149
+ 3. Before changing an identity, search its local and globally qualified forms
150
+ across every workspace input. Account for:
151
+ - `references[].ref` citations;
152
+ - relationship `from` and `to` endpoints;
153
+ - evidence `subject` entries and stable claim targets;
154
+ - adapter mapping `native` entries;
155
+ - projection selectors, architecture states, ownership, and constraints.
156
+ 4. Make the smallest coherent edit and update all referring authored inputs.
157
+ Do not rewrite unrelated architectural intent.
158
+ 5. Run the read-only checks before any repair command so drift remains
159
+ observable:
160
+
161
+ ```sh
162
+ yarramate check .yarramate/workspace.yaml --json
163
+ yarramate-likec4 check .yarramate/integrations/likec4/project.yaml --json .yarramate/workspace.yaml
164
+ ```
165
+
166
+ 6. If the adapter check reports intended mapping drift, repair it locally,
167
+ inspect the tracked diff, then verify again. Use `--prune` only after
168
+ confirming that stale native subjects were intentionally renamed or
169
+ removed:
170
+
171
+ ```sh
172
+ yarramate-likec4 map --sync --prune .yarramate/integrations/likec4/subject-mapping.yaml .yarramate/workspace.yaml
173
+ git diff -- .yarramate
174
+ yarramate check .yarramate/workspace.yaml --json
175
+ yarramate-likec4 check .yarramate/integrations/likec4/project.yaml --json .yarramate/workspace.yaml
176
+ yarramate-likec4 export-project .yarramate/integrations/likec4/project.yaml .yarramate-out/likec4 .yarramate/workspace.yaml
177
+ ```
178
+
179
+ 7. Require both configured read-only checks to exit successfully after the
180
+ edit. The maintained model must pass before handoff. Report changed
181
+ identities, updated dependants, mapping repairs, generated output, and any
182
+ intentionally deferred architecture work.
183
+
128
184
  ## Correctness and authority
129
185
 
130
186
  - Treat `check` as deterministic correctness, never as architecture approval,
131
187
  completeness, or quality scoring.
188
+ - A repair command cannot serve as verification. Run read-only adapter checks
189
+ before `map --sync`, use sync only while authoring, and never put sync in a
190
+ CI verification gate.
132
191
  - Keep LikeC4 optional. Default to visual output for these guided journeys,
133
192
  but respect an explicit request for tool-neutral semantic output only.
134
193
  - Keep adapter fields outside native documents.
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "YarraMate Architecture"
3
- short_description: "Discover and design repository architecture"
4
- default_prompt: "Use $yarramate-architecture to discover or design this project architecture with native YarraMate documents."
3
+ short_description: "Discover, design, and maintain architecture"
4
+ default_prompt: "Use $yarramate-architecture to discover, design, or safely maintain this project architecture."
@@ -60,3 +60,11 @@ Design is minimally useful when:
60
60
  - intended projections are rendered through a current LikeC4 project;
61
61
  - rendering coverage gaps are stated, including intentional omissions;
62
62
  - missing detail is visible without becoming a Core correctness error.
63
+
64
+ Maintenance is complete only when:
65
+
66
+ - all references to a changed identity were found before editing;
67
+ - native documents and configured adapters pass their read-only checks;
68
+ - any mapping sync or prune was reviewed as an authored Git change;
69
+ - generated views are current;
70
+ - changed identities and updated dependants are reported at handoff.
@@ -15,8 +15,10 @@ adapterMappings: []
15
15
  evidence: [evidence/*.yaml]
16
16
  ```
17
17
 
18
- Paths are relative to the manifest. Keep canonical inputs under `.yarramate/`
19
- and generated artifacts under `.yarramate-out/`.
18
+ Paths are relative to the manifest. `.yarramate/` for canonical inputs and
19
+ `.yarramate-out/` for generated artifacts are recommended examples, not fixed
20
+ CLI paths. In an existing repository, read its workspace and project documents
21
+ and preserve the authored layout.
20
22
 
21
23
  ## Native document
22
24
 
@@ -196,6 +198,9 @@ Give every ordered flow its own focused projection and dynamic view. A dynamic
196
198
  view takes its title and description from its projection; reusing one broad
197
199
  projection for several flows makes their rendered identities ambiguous.
198
200
  Ensure every intended projection is listed in the project.
201
+ In an existing repository, locate the project by its
202
+ `yarramate/likec4-project/v1` format and follow its `mapping` field instead of
203
+ assuming the example paths below.
199
204
 
200
205
  Start the referenced mapping as a valid empty mapping, then let sync populate
201
206
  it:
@@ -231,6 +236,10 @@ yarramate view <projection.yaml> .yarramate/workspace.yaml
231
236
  yarramate compare <from-state> <to-state> .yarramate/workspace.yaml
232
237
  yarramate evidence <evidence.yaml> .yarramate/workspace.yaml
233
238
  yarramate reconcile .yarramate/workspace.yaml
239
+ yarramate-likec4 check \
240
+ .yarramate/integrations/likec4/project.yaml \
241
+ --json \
242
+ .yarramate/workspace.yaml
234
243
  yarramate-likec4 map --sync \
235
244
  .yarramate/integrations/likec4/subject-mapping.yaml \
236
245
  .yarramate/workspace.yaml
@@ -240,6 +249,12 @@ yarramate-likec4 export-project \
240
249
  .yarramate/workspace.yaml
241
250
  ```
242
251
 
252
+ `yarramate-likec4 check` is read-only verification and belongs in CI.
253
+ Run it before sync when checking an existing mapping so missing or stale
254
+ entries remain observable. `map --sync [--prune]` is an authoring repair: it
255
+ mutates a tracked mapping, so review and commit its diff. Never use a repair
256
+ command as a CI gate.
257
+
243
258
  Sync preserves and reports mappings for native subjects that no longer exist.
244
259
  After confirming that those subjects were intentionally removed or renamed,
245
260
  delete the stale entries while adding missing mappings with: