aontu 0.60.0 → 0.62.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 (113) hide show
  1. package/README.md +3 -3
  2. package/dist/agentsmd.d.ts +1 -0
  3. package/dist/agentsmd.js +7 -1
  4. package/dist/agentsmd.js.map +1 -1
  5. package/dist/allow.d.ts +23 -0
  6. package/dist/allow.js +230 -0
  7. package/dist/allow.js.map +1 -0
  8. package/dist/aontu.d.ts +4 -2
  9. package/dist/aontu.js +4 -2
  10. package/dist/aontu.js.map +1 -1
  11. package/dist/cli.d.ts +10 -1
  12. package/dist/cli.js +1000 -47
  13. package/dist/cli.js.map +1 -1
  14. package/dist/format.d.ts +1 -0
  15. package/dist/format.js +154 -12
  16. package/dist/format.js.map +1 -1
  17. package/dist/helpdoc.d.ts +16 -0
  18. package/dist/helpdoc.js +59 -0
  19. package/dist/helpdoc.js.map +1 -0
  20. package/dist/hints.js +15 -2
  21. package/dist/hints.js.map +1 -1
  22. package/dist/lang.js +93 -40
  23. package/dist/lang.js.map +1 -1
  24. package/dist/lower.d.ts +3 -0
  25. package/dist/lower.js +3 -0
  26. package/dist/lower.js.map +1 -1
  27. package/dist/lsp.d.ts +1 -1
  28. package/dist/lsp.js +1 -1
  29. package/dist/lsp.js.map +1 -1
  30. package/dist/relation.d.ts +2 -0
  31. package/dist/relation.js +7 -1
  32. package/dist/relation.js.map +1 -1
  33. package/dist/render.js +26 -21
  34. package/dist/render.js.map +1 -1
  35. package/dist/sigdecl.js +1 -1
  36. package/dist/sigdecl.js.map +1 -1
  37. package/dist/std.js +112 -69
  38. package/dist/std.js.map +1 -1
  39. package/dist/template.d.ts +2 -1
  40. package/dist/template.js +51 -15
  41. package/dist/template.js.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/dist/val/AggFuncVal.js +2 -2
  44. package/dist/val/AggFuncVal.js.map +1 -1
  45. package/dist/val/CmpFuncVal.d.ts +20 -0
  46. package/dist/val/CmpFuncVal.js +245 -0
  47. package/dist/val/CmpFuncVal.js.map +1 -0
  48. package/dist/val/EachFuncVal.d.ts +1 -2
  49. package/dist/val/EachFuncVal.js +15 -29
  50. package/dist/val/EachFuncVal.js.map +1 -1
  51. package/dist/val/FormFuncVal.js.map +1 -1
  52. package/dist/val/LowerFuncVal.js +17 -1
  53. package/dist/val/LowerFuncVal.js.map +1 -1
  54. package/dist/val/NamerFuncVal.d.ts +12 -0
  55. package/dist/val/NamerFuncVal.js +176 -0
  56. package/dist/val/NamerFuncVal.js.map +1 -0
  57. package/dist/val/NilVal.js +29 -3
  58. package/dist/val/NilVal.js.map +1 -1
  59. package/dist/val/NomFuncVal.d.ts +12 -0
  60. package/dist/val/NomFuncVal.js +187 -0
  61. package/dist/val/NomFuncVal.js.map +1 -0
  62. package/dist/val/PackFuncVal.js +3 -3
  63. package/dist/val/PackFuncVal.js.map +1 -1
  64. package/dist/val/RefVal.js +1 -1
  65. package/dist/val/TranslateFuncVal.d.ts +12 -0
  66. package/dist/val/TranslateFuncVal.js +101 -0
  67. package/dist/val/TranslateFuncVal.js.map +1 -0
  68. package/dist/val/UpperFuncVal.js +17 -1
  69. package/dist/val/UpperFuncVal.js.map +1 -1
  70. package/dist/val/caserange.d.ts +3 -0
  71. package/dist/val/caserange.js +110 -0
  72. package/dist/val/caserange.js.map +1 -0
  73. package/dist/vet.d.ts +12 -0
  74. package/dist/vet.js +209 -1
  75. package/dist/vet.js.map +1 -1
  76. package/grammar/aontu.abnf +1 -1
  77. package/grammar/aontu.gbnf +1 -1
  78. package/grammar/aontu.lark +1 -1
  79. package/grammar/aontu.tmLanguage.json +1 -1
  80. package/package.json +1 -1
  81. package/skill/SKILL.md +8 -0
  82. package/skill/init/check.sh +28 -0
  83. package/skill/init/data.aon +12 -0
  84. package/skill/init/model.aon +19 -0
  85. package/skill/tasks.md +151 -0
  86. package/src/agentsmd.ts +13 -2
  87. package/src/allow.ts +316 -0
  88. package/src/aontu.ts +10 -1
  89. package/src/cli.ts +1131 -53
  90. package/src/format.ts +191 -14
  91. package/src/helpdoc.ts +77 -0
  92. package/src/hints.ts +16 -2
  93. package/src/lang.ts +98 -42
  94. package/src/lower.ts +3 -3
  95. package/src/lsp.ts +1 -1
  96. package/src/relation.ts +21 -1
  97. package/src/render.ts +26 -21
  98. package/src/sigdecl.ts +1 -1
  99. package/src/std.ts +112 -69
  100. package/src/template.ts +55 -15
  101. package/src/val/AggFuncVal.ts +2 -2
  102. package/src/val/CmpFuncVal.ts +411 -0
  103. package/src/val/EachFuncVal.ts +49 -50
  104. package/src/val/LowerFuncVal.ts +18 -1
  105. package/src/val/NilVal.ts +29 -3
  106. package/src/val/NomFuncVal.ts +287 -0
  107. package/src/val/PackFuncVal.ts +3 -3
  108. package/src/val/RefVal.ts +1 -1
  109. package/src/val/TranslateFuncVal.ts +182 -0
  110. package/src/val/UpperFuncVal.ts +18 -1
  111. package/src/val/caserange.ts +115 -0
  112. package/src/vet.ts +287 -1
  113. package/src/val/FormFuncVal.ts +0 -119
@@ -6,6 +6,7 @@ const err_1 = require("../err");
6
6
  const ScalarKindVal_1 = require("../val/ScalarKindVal");
7
7
  const valutil_1 = require("../val/valutil");
8
8
  const Decimal_1 = require("../val/Decimal");
9
+ const caserange_1 = require("./caserange");
9
10
  const FuncBaseVal_1 = require("./FuncBaseVal");
10
11
  class UpperFuncVal extends FuncBaseVal_1.FuncBaseVal {
11
12
  constructor(spec, ctx) {
@@ -25,7 +26,22 @@ class UpperFuncVal extends FuncBaseVal_1.FuncBaseVal {
25
26
  // internal error.
26
27
  const arg = args?.[0];
27
28
  const oldpeg = arg?.peg;
28
- const peg = 'string' === typeof oldpeg ? oldpeg.toUpperCase() :
29
+ // THE RANGE (ts/src/val/caserange.ts): `start` names the first
30
+ // character of the run when it is zero or positive and the last
31
+ // when it is negative; `len` of -1, and the absent argument, are
32
+ // the source's length. Refused on a NUMBER, where a run of
33
+ // characters means nothing -- the numeric arm below is a ceiling,
34
+ // not a case mapping.
35
+ const start = (0, caserange_1.rangeArg)(args?.[1]);
36
+ const len = (0, caserange_1.rangeArg)(args?.[2]);
37
+ const ranged = undefined !== start || undefined !== len;
38
+ if (ranged &&
39
+ (Number.isNaN(start) || Number.isNaN(len) ||
40
+ 'string' !== typeof oldpeg)) {
41
+ return this.place((0, err_1.makeNilErr)(ctx, 'invalid-arg', this, arg, 'range'));
42
+ }
43
+ const peg = 'string' === typeof oldpeg ?
44
+ (0, caserange_1.caseRange)(oldpeg, start ?? 0, len ?? -1, true) :
29
45
  'number' === typeof oldpeg ? Math.ceil(oldpeg) :
30
46
  // The exact leaves take an EXACT ceiling and keep their kind: a
31
47
  // biginteger is already integral so it is its own ceiling, and a
@@ -1 +1 @@
1
- {"version":3,"file":"UpperFuncVal.js","sourceRoot":"","sources":["../../src/val/UpperFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAGnC,wDAAoD;AACpD,4CAA+C;AAC/C,4CAAwC;AAIxC,+CAA2C;AAG3C,MAAM,YAAa,SAAQ,yBAAW;IAGpC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,gBAAW,GAAG,IAAI,CAAA;IAOlB,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,OAAO,CAAC,GAA6B,EAAE,IAAW;QAChD,mEAAmE;QACnE,gEAAgE;QAChE,4DAA4D;QAC5D,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,CAAA;QACvB,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7D,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9C,gEAAgE;gBAChE,iEAAiE;gBACjE,+DAA+D;gBAC/D,gEAAgE;gBAChE,4DAA4D;gBAC5D,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnC,MAAM,YAAY,iBAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;wBACzC,SAAS,CAAA;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,IAAI,IAAI,GAAG,CAAC,CAAC;YACX,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;YACtC,gEAAgE;YAChE,8DAA8D;YAC9D,gEAAgE;YAChE,8CAA8C;YAC9C,IAAA,wBAAc,EAAC,GAAG,EAAE,GAAG,CAAC,CAC3B,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QACzB,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,IAAI,6BAAa,CAAC;gBAC3B,GAAG,EAAE,GAAG,CAAC,IAAI;aACd,CAAC,CAAC,CAAC,CAAC;YACL,KAAK,CAAC,QAAQ,EAAE,CAAA;IACpB,CAAC;CACF,CAAC,iCAAiC;QAIjC,YAAY"}
1
+ {"version":3,"file":"UpperFuncVal.js","sourceRoot":"","sources":["../../src/val/UpperFuncVal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function caseSpan(n: number, start: number, len: number): [number, number];
2
+ export declare function caseRange(text: string, start: number, len: number, up: boolean): string;
3
+ export declare function rangeArg(v: any): number | undefined;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ /* Copyright (c) 2026 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.caseSpan = caseSpan;
5
+ exports.caseRange = caseRange;
6
+ exports.rangeArg = rangeArg;
7
+ // THE RANGE `upper` AND `lower` TAKE.
8
+ //
9
+ // upper(s) the whole string
10
+ // upper(s, start) from `start` to the end
11
+ // upper(s, start, len) `len` characters
12
+ //
13
+ // `start` IS A BOUNDARY, NOT A CHARACTER. Zero or positive, it is
14
+ // where the run BEGINS and the run reaches forward; negative, it counts
15
+ // from the end and is where the run STOPS -- the character it lands on
16
+ // is the first one NOT modified. One index, two directions, and no
17
+ // second argument to say which:
18
+ //
19
+ // upper("foo", 0, 1) "Foo" begins at 0, one character
20
+ // lower("FOOBAR", -3, -1) "fooBAR" stops before the last three
21
+ //
22
+ // `len` of -1 means THE LENGTH OF THE SOURCE, which is how "and the
23
+ // rest of it" is spelled in either direction, and is also the default:
24
+ //
25
+ // lower("FOO", 1, -1) "Foo" from 1 to the end
26
+ // lower("FOOBAR", -1) "foobaR" everything but the last
27
+ //
28
+ // The exclusive reading is why `-0` is not a spelling: it is `0`, and
29
+ // so begins a forward run. The whole string is `upper(s)`.
30
+ //
31
+ // BOTH ENDS CLAMP rather than refuse. A run reaching past either end
32
+ // modifies as much of the string as exists, and one that lands wholly
33
+ // outside it modifies nothing — an out-of-range index is not a
34
+ // different KIND of answer, it is the same answer over a shorter run.
35
+ //
36
+ // CODE POINTS, NOT UTF-16 UNITS, so an index means the same thing in
37
+ // both ports: one index is one Go rune. Twin: caseSpan/caseRange in
38
+ // go/func.go.
39
+ //
40
+ // THE CASE MAPPING IS THE WHOLE-STRING ONE, applied to the slice, so
41
+ // `upper(s)` and `upper(s, 0, -1)` are the same bytes. Two consequences
42
+ // follow from full Unicode case mapping and are properties of the
43
+ // mapping rather than of this range:
44
+ //
45
+ // - THE RESULT MAY BE LONGER than the source, because full mapping is
46
+ // not one-in-one-out: `upper("straße", 3, 3)` is "straSSE".
47
+ // - FINAL SIGMA IS DECIDED WITHIN THE SLICE, since a slice taken out
48
+ // of its word has no following letter to see. A medial sigma cased
49
+ // alone lowercases as a final one.
50
+ //
51
+ // Both are stated here rather than worked around: silently widening
52
+ // the slice to keep context would make the run something other than
53
+ // what the author asked for.
54
+ // The half-open code-point span [lo, hi) a (start, len) selects over a
55
+ // string of `n` code points.
56
+ function caseSpan(n, start, len) {
57
+ // -1 is the source's length, and so is any other negative: there is
58
+ // no meaningful run of "minus two" characters, and refusing one would
59
+ // be a second rule for no gain.
60
+ const span = len < 0 ? n : len;
61
+ if (0 <= start) {
62
+ const lo = Math.min(start, n);
63
+ return [lo, Math.min(lo + span, n)];
64
+ }
65
+ // A negative start is where the run STOPS: the character it lands on
66
+ // is the first one not modified, so the run reaches back from it. No
67
+ // upper clamp: start is negative here, so n+start is below n by
68
+ // construction.
69
+ const hi = Math.max(0, n + start);
70
+ return [Math.max(0, hi - span), hi];
71
+ }
72
+ // `text` with the selected run cased. Outside the run the source is
73
+ // returned verbatim, code point for code point.
74
+ function caseRange(text, start, len, up) {
75
+ const cps = Array.from(text);
76
+ const [lo, hi] = caseSpan(cps.length, start, len);
77
+ if (hi <= lo) {
78
+ return text;
79
+ }
80
+ const mid = cps.slice(lo, hi).join('');
81
+ return cps.slice(0, lo).join('') +
82
+ (up ? mid.toUpperCase() : mid.toLowerCase()) +
83
+ cps.slice(hi).join('');
84
+ }
85
+ // The integer a range argument carries, or undefined when it is not
86
+ // one. `undefined` for an absent argument is the caller's default, not
87
+ // a refusal — these are optional.
88
+ function rangeArg(v) {
89
+ if (null == v) {
90
+ return undefined;
91
+ }
92
+ const p = (true === v?.isScalar) ? v.peg : undefined;
93
+ if ('number' === typeof p && Number.isInteger(p)) {
94
+ return p;
95
+ }
96
+ // A biginteger index is an index: a position in a string is small by
97
+ // construction, or it is not an index at all.
98
+ if ('bigint' === typeof p) {
99
+ const n = Number(p);
100
+ if (Number.isSafeInteger(n)) {
101
+ return n;
102
+ }
103
+ }
104
+ // ONE REFUSAL for every way an argument can fail to be an index: not
105
+ // a scalar at all (a preference reaches here, the signature gate
106
+ // having nothing to check), a scalar of another kind, or a biginteger
107
+ // too large to be a position in a string.
108
+ return NaN;
109
+ }
110
+ //# sourceMappingURL=caserange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caserange.js","sourceRoot":"","sources":["../../src/val/caserange.ts"],"names":[],"mappings":"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"}
package/dist/vet.d.ts CHANGED
@@ -22,16 +22,27 @@ export type VetFinding = {
22
22
  actual?: string;
23
23
  note?: string;
24
24
  };
25
+ export type VetCoverage = {
26
+ checked: number;
27
+ declared: number;
28
+ leaves: number;
29
+ unchecked: string[];
30
+ unused: string[];
31
+ vacuous: boolean;
32
+ };
25
33
  export type VetReport = {
26
34
  verdict: VetVerdict;
27
35
  truncated: boolean;
28
36
  findings: VetFinding[];
37
+ coverage?: VetCoverage;
29
38
  };
30
39
  export type VetOptions = {
31
40
  at?: string;
32
41
  closed?: boolean;
33
42
  partial?: boolean;
34
43
  maxErrors?: number;
44
+ coverage?: boolean;
45
+ coverageAt?: string;
35
46
  schemaUrl?: string;
36
47
  dataUrl?: string;
37
48
  schemaPath?: string;
@@ -44,4 +55,5 @@ export declare function displayFile(url: string, label: string, path?: string):
44
55
  export declare function failureFinding(ctx: any, url?: string, failed?: any): VetFinding;
45
56
  export declare function anchorAt(root: any, at: string): Val | undefined;
46
57
  export declare function throughResidue(v: any): any;
58
+ export declare function vetCoverage(anchor: any, dataVal: any, coverageAt?: string): VetCoverage;
47
59
  export declare function vet(schemaSrc: string, dataSrc: string, opts?: VetOptions): VetReport;
package/dist/vet.js CHANGED
@@ -6,6 +6,7 @@ exports.displayFile = displayFile;
6
6
  exports.failureFinding = failureFinding;
7
7
  exports.anchorAt = anchorAt;
8
8
  exports.throughResidue = throughResidue;
9
+ exports.vetCoverage = vetCoverage;
9
10
  exports.vet = vet;
10
11
  const aontu_1 = require("./aontu");
11
12
  const node_path_1 = require("node:path");
@@ -21,6 +22,7 @@ const subsume_1 = require("./subsume");
21
22
  // (query imports anchorAt from here), and a benign one: both sides
22
23
  // use the other only from inside a function body, never at load time.
23
24
  const query_1 = require("./query");
25
+ const keyorder_1 = require("./keyorder");
24
26
  // The default cap, exported because the CLI applies it to the WHOLE
25
27
  // report across several data files and must not carry a second copy of
26
28
  // the number (ts/src/cli.ts).
@@ -393,6 +395,189 @@ function throughResidue(v) {
393
395
  // are unusable — which is why an unusable schema is a verdict (`error`)
394
396
  // rather than an exception too: "the schema is broken" is a fact the
395
397
  // agent loop needs to branch on, not an exceptional condition.
398
+ // THE COVERAGE ACCOUNTING (G11 phase 5). Structural, over the two
399
+ // trees vet already holds, and deliberately NOT provenance-based: the
400
+ // question is what the SCHEMA DECLARES about the data, which is a
401
+ // property of the two documents rather than of the meet that ran. A
402
+ // meet-based reading would also count a value the data supplied to
403
+ // itself as "covered", which is the opposite of the thing being asked.
404
+ //
405
+ // A map's template lives on `spread.cj` rather than in `peg`, so a
406
+ // declaration path spells it `&` -- the same character the language
407
+ // spells it with, and one no map key can collide with, since a bare
408
+ // `&` cannot be a key.
409
+ const COVER_TEMPLATE = '&';
410
+ // Is this value a bag with children to walk?
411
+ function coverKids(v) {
412
+ // NO KIND GUARD: the two tests below already reject anything that is
413
+ // not a bag, exactly as the Go twin's type switch does, so a guard
414
+ // above them is dead code (ADR-002).
415
+ const out = [];
416
+ if (true === v.isMap && null != v.peg) {
417
+ for (const k of Object.keys(v.peg).sort(keyorder_1.cmpCodePoint)) {
418
+ out.push({ key: k, val: v.peg[k] });
419
+ }
420
+ }
421
+ else if (true === v.isList && Array.isArray(v.peg)) {
422
+ v.peg.forEach((m, i) => out.push({ key: String(i), val: m }));
423
+ }
424
+ return out;
425
+ }
426
+ // The template a bag applies to every child, when it has one. A spread
427
+ // with no conjunct is not a declaration: `{"*":{...}}` carries the
428
+ // empty spread every map carries, and reading that as a template is
429
+ // precisely the confusion this phase exists to end.
430
+ function coverTemplate(v) {
431
+ const cj = v?.spread?.cj;
432
+ return null != cj && true === cj.isVal && true !== cj.isTop ? cj : undefined;
433
+ }
434
+ // Every declaration the schema makes, as a path, with the node at it.
435
+ // Named keys and templates alike, at every depth.
436
+ //
437
+ // NO IDENTITY GUARD, and that is a decision rather than an omission.
438
+ // `walkVals` (ts/src/walk.ts) carries one because it walks values the
439
+ // unification MINTED -- findings, conjunct operands, disjunct trials --
440
+ // where a node really is reached twice. These two walks descend a
441
+ // SETTLED bag through `peg` and `spread` alone, and such a tree is a
442
+ // tree: a reference resolves by cloning its target, and an alias, a
443
+ // repeated spread and a recursive residual were each probed and share
444
+ // nothing. The property is already relied on repository-wide, because
445
+ // `canon` walks the same edges with no guard and is computed on every
446
+ // one of these values. A guard here would be a branch nothing can
447
+ // take, which ADR-002 exists to keep out.
448
+ function coverDeclare(v, path, out) {
449
+ const tpl = coverTemplate(v);
450
+ if (null != tpl) {
451
+ const at = [...path, COVER_TEMPLATE];
452
+ out.set(pathText(at), tpl);
453
+ coverDeclare(tpl, at, out);
454
+ }
455
+ for (const { key, val } of coverKids(v)) {
456
+ const at = [...path, key];
457
+ out.set(pathText(at), val);
458
+ coverDeclare(val, at, out);
459
+ }
460
+ }
461
+ // Every path in the data, and whether it is a LEAF -- a node with no
462
+ // children, which is where a value lives.
463
+ function coverDataPaths(v, path, out) {
464
+ const kids = coverKids(v);
465
+ if (0 < path.length) {
466
+ out.push({ path: pathText(path), leaf: 0 === kids.length });
467
+ }
468
+ for (const { key, val } of kids) {
469
+ coverDataPaths(val, [...path, key], out);
470
+ }
471
+ }
472
+ // Walk one data path down the schema, naming the declaration that
473
+ // constrains it -- the exact key where the schema has one, else the
474
+ // covering template. Undefined when the schema declares nothing there.
475
+ function coverMatch(anchor, segs) {
476
+ // NO NIL GUARD ON `at`, and none on an empty `segs`: `at` starts as
477
+ // the anchor and is only ever reassigned to a non-nil child or
478
+ // template, and coverDataPaths never emits the root path, so a call
479
+ // with no segments cannot happen. A guard that cannot fire is dead
480
+ // code, and dead code is what ADR-002 exists to keep out.
481
+ let at = anchor;
482
+ let decl = '';
483
+ for (const seg of segs) {
484
+ const named = true === at.isMap && null != at.peg ? at.peg[seg]
485
+ : true === at.isList && Array.isArray(at.peg) ? at.peg[Number(seg)]
486
+ : undefined;
487
+ if (null != named && true === named.isVal) {
488
+ decl = '' === decl ? seg : decl + '.' + seg;
489
+ at = named;
490
+ continue;
491
+ }
492
+ const tpl = coverTemplate(at);
493
+ if (null == tpl) {
494
+ return undefined;
495
+ }
496
+ decl = '' === decl ? COVER_TEMPLATE : decl + '.' + COVER_TEMPLATE;
497
+ at = tpl;
498
+ }
499
+ return '$.' + decl;
500
+ }
501
+ // The SHALLOWEST members of a set of paths: one whose parent is also in
502
+ // the set is covered by naming the parent, and naming both is noise.
503
+ // `render --coverage`'s `dead` is built on the same rule.
504
+ function coverShallowest(paths) {
505
+ const held = new Set(paths);
506
+ return paths.filter((p) => {
507
+ for (let at = p; -1 !== at.lastIndexOf('.');) {
508
+ at = at.slice(0, at.lastIndexOf('.'));
509
+ if (held.has(at)) {
510
+ return false;
511
+ }
512
+ }
513
+ return true;
514
+ }).sort(keyorder_1.cmpCodePoint);
515
+ }
516
+ // The accounting itself: what the schema declared, what the data holds,
517
+ // and which of each the other met.
518
+ function vetCoverage(anchor, dataVal, coverageAt) {
519
+ const declarations = new Map();
520
+ coverDeclare(anchor, [], declarations);
521
+ const dataPaths = [];
522
+ coverDataPaths(dataVal, [], dataPaths);
523
+ // `--coverage-at` narrows the DATA side, which is the side a caller
524
+ // gating one subtree is asking about. The schema side follows from
525
+ // it: a declaration is unused only among the data actually measured.
526
+ const under = null == coverageAt ? undefined
527
+ : coverageAt.replace(/^\$\.?/, '');
528
+ const inScope = (p) => {
529
+ if (null == under || '' === under) {
530
+ return true;
531
+ }
532
+ const want = '$.' + under;
533
+ return p === want || p.startsWith(want + '.');
534
+ };
535
+ const used = new Set();
536
+ const unchecked = [];
537
+ let checked = 0;
538
+ let leaves = 0;
539
+ for (const { path, leaf } of dataPaths) {
540
+ if (!inScope(path)) {
541
+ continue;
542
+ }
543
+ const segs = path.replace(/^\$\.?/, '').split('.').filter((x) => '' !== x);
544
+ const decl = coverMatch(anchor, segs);
545
+ if (leaf) {
546
+ leaves++;
547
+ }
548
+ if (null == decl) {
549
+ unchecked.push(path);
550
+ continue;
551
+ }
552
+ used.add(decl);
553
+ if (leaf) {
554
+ checked++;
555
+ }
556
+ }
557
+ // A declaration is met when it constrained a data path, or when a
558
+ // declaration BENEATH it was: `$.a` is used by `$.a.b` meeting
559
+ // `$.a.b`, and reporting the parent as unused would be false.
560
+ const unused = [];
561
+ for (const decl of declarations.keys()) {
562
+ const covered = used.has(decl) ||
563
+ [...used].some((u) => u.startsWith(decl + '.'));
564
+ if (!covered) {
565
+ unused.push(decl);
566
+ }
567
+ }
568
+ return {
569
+ checked,
570
+ declared: declarations.size,
571
+ leaves,
572
+ unchecked: coverShallowest(unchecked),
573
+ unused: coverShallowest(unused),
574
+ // VACUOUS IS ABOUT LEAVES, and a document with none cannot be
575
+ // vacuously checked: `{}` against any schema examined nothing
576
+ // because there was nothing to examine, which is not the failure
577
+ // this reports.
578
+ vacuous: 0 === checked && 0 < leaves,
579
+ };
580
+ }
396
581
  function vet(schemaSrc, dataSrc, opts) {
397
582
  const options = opts ?? {};
398
583
  const schemaUrl = options.schemaUrl ?? DEFAULT_SCHEMA_URL;
@@ -519,6 +704,26 @@ function vet(schemaSrc, dataSrc, opts) {
519
704
  schemaUrl, schemaPath: options.schemaPath,
520
705
  dataUrl, dataPath: options.dataPath,
521
706
  };
707
+ // COVERAGE IS MEASURED BEFORE THE MEET (G11 phase 5), because the
708
+ // meet CONSUMES its operands: parsed trees are single-use, and under
709
+ // `--at` the anchor itself is the left operand. Measuring after would
710
+ // read a tree the fixpoint had already rewritten.
711
+ //
712
+ // The data side is its own evaluation rather than the parse above,
713
+ // so a document that reaches its values through `@"..."` or a
714
+ // reference is measured on the paths it actually has. It is one more
715
+ // evaluation of one document, and it happens only when asked for.
716
+ let coverage;
717
+ if (true === options.coverage) {
718
+ const coverCtx = aontu.ctx({ collect: true });
719
+ const settledData = aontu.unify(dataSrc, dataOpts, coverCtx);
720
+ // A data document that does not stand alone is already reported by
721
+ // the meet below; here it falls back to what was parsed, which is
722
+ // the same paths minus whatever an include would have added.
723
+ const measured = 0 === coverCtx.err.length && true !== settledData?.isNil
724
+ ? settledData : dataVal;
725
+ coverage = vetCoverage(anchor, measured, options.coverageAt);
726
+ }
522
727
  // Default-validity lint (G3 phase 5, re-examined under ADR-004): for
523
728
  // every disjunction in the SCHEMA carrying a preference, warn when
524
729
  // the effective default is not an instance of any REMAINING
@@ -802,6 +1007,9 @@ function vet(schemaSrc, dataSrc, opts) {
802
1007
  else if (0 < unmet && true !== options.partial) {
803
1008
  verdict = 'incomplete';
804
1009
  }
805
- return { verdict, truncated, findings: kept };
1010
+ return {
1011
+ verdict, truncated, findings: kept,
1012
+ ...(null == coverage ? {} : { coverage }),
1013
+ };
806
1014
  }
807
1015
  //# sourceMappingURL=vet.js.map
package/dist/vet.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vet.js","sourceRoot":"","sources":["../src/vet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vet.js","sourceRoot":"","sources":["../src/vet.ts"],"names":[],"mappings":"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"}
@@ -82,7 +82,7 @@ func = name %s"(" ws [ value *( ws %s"," ws value ) ws ] %s")"
82
82
  ; listed before `re`, and `rem` before `re` as well.
83
83
  name = %s"above" / %s"acyclic" / %s"add" / %s"below" / %s"close"
84
84
  / %s"copy" / %s"deprecate" / %s"div"
85
- / %s"each" / %s"emit" / %s"esc" / %s"filter" / %s"form" / %s"greatest"
85
+ / %s"each" / %s"emit" / %s"esc" / %s"filter" / %s"greatest"
86
86
  / %s"hide"
87
87
  / %s"inverse" / %s"join" / %s"key" / %s"least"
88
88
  / %s"length" / %s"list" / %s"lower" / %s"map" / %s"match"
@@ -82,7 +82,7 @@ func ::= name "(" ws ( value ( ws "," ws value )* ws )? ")"
82
82
 
83
83
  name ::=
84
84
  "above" | "acyclic" | "add" | "below" | "close" | "copy" | "deprecate" | "div"
85
- | "each" | "emit" | "esc" | "filter" | "form" | "greatest"
85
+ | "each" | "emit" | "esc" | "filter" | "greatest"
86
86
  | "hide"
87
87
  | "inverse" | "join" | "key" | "least"
88
88
  | "length" | "list" | "lower" | "map" | "match" | "max" | "min" | "mod" | "move"
@@ -63,7 +63,7 @@ element: spread
63
63
  func: name "(" [value ("," value)*] ")"
64
64
 
65
65
  name: "above" | "acyclic" | "add" | "below" | "close" | "copy" | "deprecate" | "div"
66
- | "each" | "emit" | "esc" | "filter" | "form" | "greatest"
66
+ | "each" | "emit" | "esc" | "filter" | "greatest"
67
67
  | "hide"
68
68
  | "inverse" | "join" | "key" | "least"
69
69
  | "length" | "list" | "lower" | "map" | "match" | "max" | "min" | "mod" | "move"
@@ -111,7 +111,7 @@
111
111
 
112
112
  "builtin": {
113
113
  "comment": "The engine's function registry. `func: name \"(\" ...` in aontu.lark — only these names can be called, so a call to anything else is deliberately left uncoloured rather than dressed up as valid. The prefix family is spelled longest-first (refer|rel|rem|re) to keep the intent legible; the trailing \\b already makes the order immaterial, since a short alternative that swallowed the stem fails the boundary and backtracks.",
114
- "match": "\\b(above|acyclic|add|below|close|copy|deprecate|div|each|emit|esc|filter|form|greatest|hide|inverse|join|key|least|length|list|lower|map|match|max|min|mod|move|mul|must|neq|open|pack|path|pick|pref|refer|rel|rem|rep|re|split|sub|sum|super|type|unique|upper|usc)\\b(?=\\s*\\()",
114
+ "match": "\\b(above|acyclic|add|below|close|copy|deprecate|div|each|emit|esc|filter|greatest|hide|inverse|join|key|least|length|list|lower|map|match|max|min|mod|move|mul|must|neq|open|pack|path|pick|pref|refer|rel|rem|rep|re|split|sub|sum|super|type|unique|upper|usc)\\b(?=\\s*\\()",
115
115
  "captures": {
116
116
  "1": { "name": "support.function.builtin.aontu" }
117
117
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aontu",
3
- "version": "0.60.0",
3
+ "version": "0.62.0",
4
4
  "main": "dist/aontu.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/aontu.d.ts",
package/skill/SKILL.md CHANGED
@@ -19,6 +19,8 @@ Start here:
19
19
 
20
20
  - Every JSON document is an aontu document. Write JSON, then add
21
21
  what JSON cannot say.
22
+ - [`tasks.md`](tasks.md) — the verb for a job, indexed by the word
23
+ you arrived with (ontology, schema, validate, model).
22
24
  - [`grammar-card.md`](grammar-card.md) — the whole surface on one
23
25
  page.
24
26
  - [`examples.md`](examples.md) — the JSON-superset ladder: plain
@@ -33,5 +35,11 @@ aontu vet schema.aon data.aon # does this data satisfy that truth?
33
35
  aontu get $.a.b file.aon # what does it say at a path?
34
36
  aontu why $.a.b file.aon # why does that value hold?
35
37
  aontu set $.a.b=1 --entry file.aon --overlay over.aon
38
+ aontu allow --role dev roles.aon $.a.b # may this role change that subtree?
36
39
  aontu hash file.aon # a pin that survives reformatting
37
40
  ```
41
+
42
+ These four files also ship INSIDE the command, so they answer with no
43
+ network and no checkout: `aontu help` lists the topics, `aontu help
44
+ language` is the grammar card, and `aontu explain <code>` says what one
45
+ refusal means.