aval-adr 1.6.0 → 1.7.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.
- package/README.md +35 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -261,7 +261,8 @@ different edges:
|
|
|
261
261
|
| `aval heads [--write\|--check]` | the projection |
|
|
262
262
|
| `aval show ADR-0015` | derived status, including partial supersession |
|
|
263
263
|
| `aval history <key>` | the chain, labelled as history |
|
|
264
|
-
| `aval rules [--level L] [--all]` | the rules the decisions have adopted, one line each |
|
|
264
|
+
| `aval rules [--level L] [--all] [--all-traits]` | the rules the decisions have adopted, one line each |
|
|
265
|
+
| `aval traits [--summary\|--detect\|--check]` | what this repository says it is, and what its tracked files suggest |
|
|
265
266
|
| `aval rule <id>` | one rule, with its translation and why |
|
|
266
267
|
| `aval hook install [--check]` | put the heads in front of an agent at session start |
|
|
267
268
|
| `aval pack [--write\|--check]` | publish this corpus's declarations for others to read |
|
|
@@ -308,6 +309,39 @@ prints: the decision at the scope asked, then the default-scope decision, then
|
|
|
308
309
|
these rules, then the book a rule cites — as explanation only. Remembered
|
|
309
310
|
advice from that book does not outrank a rule here.
|
|
310
311
|
|
|
312
|
+
### Traits: rules that only apply where the thing exists
|
|
313
|
+
|
|
314
|
+
Rules about command-line programs mean nothing in a repository that ships none.
|
|
315
|
+
A rule file says what it is about, the fleet corpus declares the vocabulary,
|
|
316
|
+
and each repository declares which of its parts have which traits:
|
|
317
|
+
|
|
318
|
+
```yaml
|
|
319
|
+
# a rule file's frontmatter
|
|
320
|
+
applies: [cli]
|
|
321
|
+
|
|
322
|
+
# the producer's .adr.yaml — travels in its pack
|
|
323
|
+
traits: [cli, ui]
|
|
324
|
+
|
|
325
|
+
# a consumer's .adr.yaml — its own, never in a pack
|
|
326
|
+
areas:
|
|
327
|
+
"web/**": [ui]
|
|
328
|
+
"cmd/**": [cli]
|
|
329
|
+
disclaims:
|
|
330
|
+
"tools/**": [cli]
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
With `areas` declared, `aval rules` and the hook list only rules that apply to
|
|
334
|
+
the traits declared, and **say what they hid** — on stderr, in `omitted` on
|
|
335
|
+
every `--json` and tool payload, and in one hook line printed even when nothing
|
|
336
|
+
is hidden. A hidden rule is still active: `aval rule <id>` explains it and
|
|
337
|
+
`--all-traits` lists it. Without `areas`, nothing changes.
|
|
338
|
+
|
|
339
|
+
`aval traits --detect` proposes areas from the files git tracks, and `aval
|
|
340
|
+
traits --check` reports what the declaration misses, locally per package, plus
|
|
341
|
+
any glob that matches nothing. Detection is advisory and leans toward
|
|
342
|
+
reporting: a false positive costs one `disclaims` line, while a miss would hide
|
|
343
|
+
a constraint. It never filters anything on its own.
|
|
344
|
+
|
|
311
345
|
## Sharing one decision across repositories
|
|
312
346
|
|
|
313
347
|
A decision made once should be readable everywhere it applies. `aval pack`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aval-adr",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"description": "Ask what the current architecture decision is, and get a typed answer",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"adr",
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"node": ">=18"
|
|
33
33
|
},
|
|
34
34
|
"optionalDependencies": {
|
|
35
|
-
"@aval-adr/darwin-arm64": "1.
|
|
36
|
-
"@aval-adr/darwin-x64": "1.
|
|
37
|
-
"@aval-adr/linux-arm64-gnu": "1.
|
|
38
|
-
"@aval-adr/linux-x64-gnu": "1.
|
|
39
|
-
"@aval-adr/linux-x64-musl": "1.
|
|
40
|
-
"@aval-adr/win32-x64": "1.
|
|
35
|
+
"@aval-adr/darwin-arm64": "1.7.1",
|
|
36
|
+
"@aval-adr/darwin-x64": "1.7.1",
|
|
37
|
+
"@aval-adr/linux-arm64-gnu": "1.7.1",
|
|
38
|
+
"@aval-adr/linux-x64-gnu": "1.7.1",
|
|
39
|
+
"@aval-adr/linux-x64-musl": "1.7.1",
|
|
40
|
+
"@aval-adr/win32-x64": "1.7.1"
|
|
41
41
|
}
|
|
42
42
|
}
|