yarramate 0.1.0
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/LICENSE +21 -0
- package/README.md +174 -0
- package/dist/adapter-mapping.d.ts +40 -0
- package/dist/adapter-mapping.js +200 -0
- package/dist/adapters/graphify-cli.d.ts +3 -0
- package/dist/adapters/graphify-cli.js +127 -0
- package/dist/adapters/graphify-entry.d.ts +1 -0
- package/dist/adapters/graphify-entry.js +1 -0
- package/dist/adapters/graphify.d.ts +23 -0
- package/dist/adapters/graphify.js +47 -0
- package/dist/adapters/likec4-cli.d.ts +3 -0
- package/dist/adapters/likec4-cli.js +662 -0
- package/dist/adapters/likec4-export.d.ts +25 -0
- package/dist/adapters/likec4-export.js +204 -0
- package/dist/adapters/likec4-kind-mapping.d.ts +22 -0
- package/dist/adapters/likec4-kind-mapping.js +60 -0
- package/dist/adapters/likec4-prepare.d.ts +28 -0
- package/dist/adapters/likec4-prepare.js +154 -0
- package/dist/adapters/likec4-project.d.ts +58 -0
- package/dist/adapters/likec4-project.js +176 -0
- package/dist/adapters/likec4.d.ts +4 -0
- package/dist/adapters/likec4.js +4 -0
- package/dist/architecture-state.d.ts +22 -0
- package/dist/architecture-state.js +63 -0
- package/dist/check-command.d.ts +2 -0
- package/dist/check-command.js +232 -0
- package/dist/cli-support.d.ts +24 -0
- package/dist/cli-support.js +81 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.js +575 -0
- package/dist/compiler.d.ts +66 -0
- package/dist/compiler.js +940 -0
- package/dist/core-contract.d.ts +43 -0
- package/dist/core-contract.js +162 -0
- package/dist/evidence.d.ts +58 -0
- package/dist/evidence.js +161 -0
- package/dist/graph.d.ts +2 -0
- package/dist/graph.js +37 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +9 -0
- package/dist/profile.d.ts +30 -0
- package/dist/profile.js +162 -0
- package/dist/projection.d.ts +42 -0
- package/dist/projection.js +183 -0
- package/dist/reconciliation.d.ts +26 -0
- package/dist/reconciliation.js +47 -0
- package/dist/source-document.d.ts +24 -0
- package/dist/source-document.js +80 -0
- package/dist/workspace.d.ts +29 -0
- package/dist/workspace.js +114 -0
- package/docs/CONSUMING-YARRAMATE.md +145 -0
- package/package.json +110 -0
- package/schema/yarramate-adapter-mapping.schema.json +59 -0
- package/schema/yarramate-check-result.schema.json +92 -0
- package/schema/yarramate-core-contract.schema.json +132 -0
- package/schema/yarramate-diagnostic-result.schema.json +64 -0
- package/schema/yarramate-document.schema.json +168 -0
- package/schema/yarramate-evidence-report.schema.json +73 -0
- package/schema/yarramate-evidence.schema.json +92 -0
- package/schema/yarramate-graph-v2.schema.json +170 -0
- package/schema/yarramate-likec4-check-result.schema.json +50 -0
- package/schema/yarramate-likec4-diagnostic-result.schema.json +69 -0
- package/schema/yarramate-likec4-generated-project-v2.schema.json +100 -0
- package/schema/yarramate-likec4-generated-project.schema.json +76 -0
- package/schema/yarramate-likec4-kind-mapping.schema.json +65 -0
- package/schema/yarramate-likec4-project.schema.json +160 -0
- package/schema/yarramate-profile.schema.json +113 -0
- package/schema/yarramate-projection-result.schema.json +177 -0
- package/schema/yarramate-projection.schema.json +126 -0
- package/schema/yarramate-reconciliation-report.schema.json +90 -0
- package/schema/yarramate-state-comparison.schema.json +61 -0
- package/schema/yarramate-workspace.schema.json +55 -0
- package/skills/yarramate-architecture/SKILL.md +135 -0
- package/skills/yarramate-architecture/agents/openai.yaml +4 -0
- package/skills/yarramate-architecture/references/journey-checklists.md +57 -0
- package/skills/yarramate-architecture/references/native-authoring.md +167 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Native authoring reference
|
|
2
|
+
|
|
3
|
+
Use concise YAML as the canonical source. Let the CLI compile it into explicit
|
|
4
|
+
claims.
|
|
5
|
+
|
|
6
|
+
## Workspace
|
|
7
|
+
|
|
8
|
+
```yaml
|
|
9
|
+
format: yarramate/workspace/v1
|
|
10
|
+
id: delivery
|
|
11
|
+
documents: [architecture/*.yaml]
|
|
12
|
+
profiles: []
|
|
13
|
+
projections: [projections/*.yaml]
|
|
14
|
+
adapterMappings: []
|
|
15
|
+
evidence: [evidence/*.yaml]
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Paths are relative to the manifest. Keep canonical inputs under `.yarramate/`
|
|
19
|
+
and generated artifacts under `.yarramate-out/`.
|
|
20
|
+
|
|
21
|
+
## Native document
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
format: yarramate/v1
|
|
25
|
+
id: delivery
|
|
26
|
+
profile: yarramate/core@0.1
|
|
27
|
+
concepts:
|
|
28
|
+
- id: customer
|
|
29
|
+
kind: businessActor
|
|
30
|
+
name: Customer
|
|
31
|
+
- id: delivery-api
|
|
32
|
+
kind: applicationComponent
|
|
33
|
+
name: Delivery API
|
|
34
|
+
status: planned
|
|
35
|
+
- id: delivery-data
|
|
36
|
+
kind: dataObject
|
|
37
|
+
name: Delivery data
|
|
38
|
+
constraints:
|
|
39
|
+
- id: residency
|
|
40
|
+
ref: australia-only
|
|
41
|
+
relationships:
|
|
42
|
+
- id: api-accesses-data
|
|
43
|
+
kind: access
|
|
44
|
+
from: delivery-api
|
|
45
|
+
to: delivery-data
|
|
46
|
+
mode: read-write
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
IDs are document-local and compile to `document-id#subject-id`. Cross-document
|
|
50
|
+
references must be globally qualified. Use `planned`, `current`, or `retired`
|
|
51
|
+
only for operational lifecycle—not approval or alternative selection.
|
|
52
|
+
|
|
53
|
+
Supported relationship kinds are:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
composition aggregation assignment realization serving access influence
|
|
57
|
+
association triggering flow specialization
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Use `mode: read|write|read-write|unspecified` only with `access`. Use
|
|
61
|
+
`content` only with `flow`. Prefer a precise relationship over `association`;
|
|
62
|
+
use association when no stronger semantic meaning is justified.
|
|
63
|
+
|
|
64
|
+
## Ownership and constraints
|
|
65
|
+
|
|
66
|
+
```yaml
|
|
67
|
+
- id: checkout
|
|
68
|
+
kind: capability
|
|
69
|
+
name: Checkout
|
|
70
|
+
owner: platform-team
|
|
71
|
+
constraints:
|
|
72
|
+
- id: residency
|
|
73
|
+
ref: australia-only
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Ownership is one accountable reference, not approval workflow. Constraints are
|
|
77
|
+
identified references, not a policy engine or free-form metadata bag.
|
|
78
|
+
|
|
79
|
+
## Architecture states
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
states:
|
|
83
|
+
- id: baseline
|
|
84
|
+
kind: baseline
|
|
85
|
+
name: Before implementation
|
|
86
|
+
- id: target
|
|
87
|
+
kind: target
|
|
88
|
+
name: Initial target
|
|
89
|
+
after: baseline
|
|
90
|
+
concepts:
|
|
91
|
+
- id: delivery-api
|
|
92
|
+
kind: applicationComponent
|
|
93
|
+
name: Delivery API
|
|
94
|
+
presentIn: [target]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Use `baseline`, `transition`, and `target` as planning contexts. An unscoped
|
|
98
|
+
concept participates in every declared state. Scope relationships explicitly
|
|
99
|
+
when they should exist only in selected states.
|
|
100
|
+
|
|
101
|
+
## Projection
|
|
102
|
+
|
|
103
|
+
```yaml
|
|
104
|
+
format: yarramate/projection/v1
|
|
105
|
+
id: delivery-target
|
|
106
|
+
version: "1.0"
|
|
107
|
+
query:
|
|
108
|
+
subjects:
|
|
109
|
+
- delivery#delivery-api
|
|
110
|
+
- delivery#delivery-data
|
|
111
|
+
states:
|
|
112
|
+
- delivery#target
|
|
113
|
+
relationships: between
|
|
114
|
+
presentation:
|
|
115
|
+
title: Delivery target
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Selectors are portable and may match nothing. `relationships` accepts
|
|
119
|
+
`between`, `connected`, or `none`. Connected expansion is exactly one hop.
|
|
120
|
+
Kind selectors are globally qualified; `kindMatching: descendants` explicitly
|
|
121
|
+
includes profile descendants. `isolatedConcepts: exclude` may suppress
|
|
122
|
+
unconnected concepts without becoming a completeness rule.
|
|
123
|
+
|
|
124
|
+
## Evidence
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
format: yarramate/evidence/v1
|
|
128
|
+
id: delivery-repository
|
|
129
|
+
version: "1.0"
|
|
130
|
+
provider: repository-inspection
|
|
131
|
+
observations:
|
|
132
|
+
- subject: delivery#delivery-api
|
|
133
|
+
result: confirmed
|
|
134
|
+
evidence:
|
|
135
|
+
uri: repo:src/delivery-api.ts
|
|
136
|
+
- claim: delivery#api-accesses-data
|
|
137
|
+
result: unknown
|
|
138
|
+
evidence:
|
|
139
|
+
uri: repo:src/delivery-api.ts
|
|
140
|
+
message: Storage behavior is not clear
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Evidence evaluates an existing subject or stable claim ID. Results are
|
|
144
|
+
`confirmed`, `contradicted`, `unknown`, or `not-observed`. Never add an
|
|
145
|
+
observed subject directly through evidence or mutate declared intent from an
|
|
146
|
+
evidence result.
|
|
147
|
+
|
|
148
|
+
## Stable commands
|
|
149
|
+
|
|
150
|
+
```sh
|
|
151
|
+
yarramate init .
|
|
152
|
+
yarramate add .yarramate/architecture/main.yaml \
|
|
153
|
+
--id delivery-api --kind applicationComponent --name "Delivery API"
|
|
154
|
+
yarramate connect .yarramate/architecture/main.yaml \
|
|
155
|
+
--id api-realizes-service --kind realization \
|
|
156
|
+
--from delivery-api --to delivery-service
|
|
157
|
+
yarramate check .yarramate/workspace.yaml --json
|
|
158
|
+
yarramate compile .yarramate/workspace.yaml
|
|
159
|
+
yarramate context <projection.yaml> .yarramate/workspace.yaml
|
|
160
|
+
yarramate view <projection.yaml> .yarramate/workspace.yaml
|
|
161
|
+
yarramate compare <from-state> <to-state> .yarramate/workspace.yaml
|
|
162
|
+
yarramate evidence <evidence.yaml> .yarramate/workspace.yaml
|
|
163
|
+
yarramate reconcile .yarramate/workspace.yaml
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Treat exit `0` as successful execution, `1` as correctness diagnostics, and
|
|
167
|
+
`2` as invocation or file failure.
|