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.
Files changed (76) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -0
  3. package/dist/adapter-mapping.d.ts +40 -0
  4. package/dist/adapter-mapping.js +200 -0
  5. package/dist/adapters/graphify-cli.d.ts +3 -0
  6. package/dist/adapters/graphify-cli.js +127 -0
  7. package/dist/adapters/graphify-entry.d.ts +1 -0
  8. package/dist/adapters/graphify-entry.js +1 -0
  9. package/dist/adapters/graphify.d.ts +23 -0
  10. package/dist/adapters/graphify.js +47 -0
  11. package/dist/adapters/likec4-cli.d.ts +3 -0
  12. package/dist/adapters/likec4-cli.js +662 -0
  13. package/dist/adapters/likec4-export.d.ts +25 -0
  14. package/dist/adapters/likec4-export.js +204 -0
  15. package/dist/adapters/likec4-kind-mapping.d.ts +22 -0
  16. package/dist/adapters/likec4-kind-mapping.js +60 -0
  17. package/dist/adapters/likec4-prepare.d.ts +28 -0
  18. package/dist/adapters/likec4-prepare.js +154 -0
  19. package/dist/adapters/likec4-project.d.ts +58 -0
  20. package/dist/adapters/likec4-project.js +176 -0
  21. package/dist/adapters/likec4.d.ts +4 -0
  22. package/dist/adapters/likec4.js +4 -0
  23. package/dist/architecture-state.d.ts +22 -0
  24. package/dist/architecture-state.js +63 -0
  25. package/dist/check-command.d.ts +2 -0
  26. package/dist/check-command.js +232 -0
  27. package/dist/cli-support.d.ts +24 -0
  28. package/dist/cli-support.js +81 -0
  29. package/dist/cli.d.ts +4 -0
  30. package/dist/cli.js +575 -0
  31. package/dist/compiler.d.ts +66 -0
  32. package/dist/compiler.js +940 -0
  33. package/dist/core-contract.d.ts +43 -0
  34. package/dist/core-contract.js +162 -0
  35. package/dist/evidence.d.ts +58 -0
  36. package/dist/evidence.js +161 -0
  37. package/dist/graph.d.ts +2 -0
  38. package/dist/graph.js +37 -0
  39. package/dist/index.d.ts +11 -0
  40. package/dist/index.js +9 -0
  41. package/dist/profile.d.ts +30 -0
  42. package/dist/profile.js +162 -0
  43. package/dist/projection.d.ts +42 -0
  44. package/dist/projection.js +183 -0
  45. package/dist/reconciliation.d.ts +26 -0
  46. package/dist/reconciliation.js +47 -0
  47. package/dist/source-document.d.ts +24 -0
  48. package/dist/source-document.js +80 -0
  49. package/dist/workspace.d.ts +29 -0
  50. package/dist/workspace.js +114 -0
  51. package/docs/CONSUMING-YARRAMATE.md +145 -0
  52. package/package.json +110 -0
  53. package/schema/yarramate-adapter-mapping.schema.json +59 -0
  54. package/schema/yarramate-check-result.schema.json +92 -0
  55. package/schema/yarramate-core-contract.schema.json +132 -0
  56. package/schema/yarramate-diagnostic-result.schema.json +64 -0
  57. package/schema/yarramate-document.schema.json +168 -0
  58. package/schema/yarramate-evidence-report.schema.json +73 -0
  59. package/schema/yarramate-evidence.schema.json +92 -0
  60. package/schema/yarramate-graph-v2.schema.json +170 -0
  61. package/schema/yarramate-likec4-check-result.schema.json +50 -0
  62. package/schema/yarramate-likec4-diagnostic-result.schema.json +69 -0
  63. package/schema/yarramate-likec4-generated-project-v2.schema.json +100 -0
  64. package/schema/yarramate-likec4-generated-project.schema.json +76 -0
  65. package/schema/yarramate-likec4-kind-mapping.schema.json +65 -0
  66. package/schema/yarramate-likec4-project.schema.json +160 -0
  67. package/schema/yarramate-profile.schema.json +113 -0
  68. package/schema/yarramate-projection-result.schema.json +177 -0
  69. package/schema/yarramate-projection.schema.json +126 -0
  70. package/schema/yarramate-reconciliation-report.schema.json +90 -0
  71. package/schema/yarramate-state-comparison.schema.json +61 -0
  72. package/schema/yarramate-workspace.schema.json +55 -0
  73. package/skills/yarramate-architecture/SKILL.md +135 -0
  74. package/skills/yarramate-architecture/agents/openai.yaml +4 -0
  75. package/skills/yarramate-architecture/references/journey-checklists.md +57 -0
  76. 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.