@intentset/cli 0.6.0 → 0.7.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 (62) hide show
  1. package/README.md +35 -0
  2. package/dist/agents.d.ts.map +1 -1
  3. package/dist/agents.js +18 -10
  4. package/dist/agents.js.map +1 -1
  5. package/dist/commands/evidence-stale.d.ts +19 -0
  6. package/dist/commands/evidence-stale.d.ts.map +1 -0
  7. package/dist/commands/evidence-stale.js +118 -0
  8. package/dist/commands/evidence-stale.js.map +1 -0
  9. package/dist/commands/evidence.d.ts +7 -0
  10. package/dist/commands/evidence.d.ts.map +1 -1
  11. package/dist/commands/evidence.js +19 -2
  12. package/dist/commands/evidence.js.map +1 -1
  13. package/dist/commands/graph.js +1 -1
  14. package/dist/commands/guide.d.ts +5 -0
  15. package/dist/commands/guide.d.ts.map +1 -0
  16. package/dist/commands/guide.js +16 -0
  17. package/dist/commands/guide.js.map +1 -0
  18. package/dist/commands/init.d.ts +6 -0
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +11 -3
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/migrate.d.ts +23 -0
  23. package/dist/commands/migrate.d.ts.map +1 -0
  24. package/dist/commands/migrate.js +125 -0
  25. package/dist/commands/migrate.js.map +1 -0
  26. package/dist/git.d.ts +13 -0
  27. package/dist/git.d.ts.map +1 -1
  28. package/dist/git.js +26 -0
  29. package/dist/git.js.map +1 -1
  30. package/dist/index.d.ts +3 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +3 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/main.d.ts +2 -2
  35. package/dist/main.d.ts.map +1 -1
  36. package/dist/main.js +154 -45
  37. package/dist/main.js.map +1 -1
  38. package/dist/reports.d.ts.map +1 -1
  39. package/dist/reports.js +26 -3
  40. package/dist/reports.js.map +1 -1
  41. package/dist/session.d.ts +8 -2
  42. package/dist/session.d.ts.map +1 -1
  43. package/dist/session.js +18 -1
  44. package/dist/session.js.map +1 -1
  45. package/dist/subject.d.ts +16 -0
  46. package/dist/subject.d.ts.map +1 -0
  47. package/dist/subject.js +44 -0
  48. package/dist/subject.js.map +1 -0
  49. package/package.json +18 -10
  50. package/src/agents.ts +18 -10
  51. package/src/commands/evidence-stale.ts +151 -0
  52. package/src/commands/evidence.ts +30 -3
  53. package/src/commands/graph.ts +1 -1
  54. package/src/commands/guide.ts +17 -0
  55. package/src/commands/init.ts +12 -3
  56. package/src/commands/migrate.ts +136 -0
  57. package/src/git.ts +25 -0
  58. package/src/index.ts +3 -1
  59. package/src/main.ts +158 -46
  60. package/src/reports.ts +27 -3
  61. package/src/session.ts +26 -1
  62. package/src/subject.ts +61 -0
package/dist/main.js CHANGED
@@ -5,90 +5,123 @@
5
5
  *
6
6
  * Exit codes (Core §11, ADR 0004): 0 no errors, 1 validation errors, 2
7
7
  * invocation or tool failure. validate, graph, architecture check, impact,
8
- * context, review, serve and mcp never write; graph --out, architecture
8
+ * context, review, evidence stale, serve, mcp and guide never write; graph --out, architecture
9
9
  * check --write-baseline, evidence import --out, publish --out and serve
10
- * --out write only what they name; init only creates.
10
+ * --out write only what they name; init only creates; migrate rewrites the
11
+ * two version values of each record's frontmatter and nothing else.
11
12
  */
12
13
  import { parseArgs } from "node:util";
13
- import { LEVELS } from "@intentset/core";
14
+ import { EVIDENCE_BINDINGS, LEVELS } from "@intentset/core";
14
15
  import { architectureCommand } from "./commands/architecture.js";
15
16
  import { contextCommand } from "./commands/context.js";
16
17
  import { evidenceImportCommand, evidenceUsageProblem } from "./commands/evidence.js";
18
+ import { evidenceStaleCommand, evidenceStaleUsageProblem } from "./commands/evidence-stale.js";
17
19
  import { graphCommand, graphUsageProblem, parseRelease } from "./commands/graph.js";
20
+ import { guideCommand } from "./commands/guide.js";
18
21
  import { impactCommand } from "./commands/impact.js";
19
22
  import { initCommand } from "./commands/init.js";
23
+ import { migrateCommand, migrateUsageProblem } from "./commands/migrate.js";
20
24
  import { mcpCommand, mcpUsageProblem } from "./commands/mcp.js";
21
25
  import { publishCommand, publishUsageProblem } from "./commands/publish.js";
22
26
  import { reviewCommand } from "./commands/review.js";
23
27
  import { serveCommand } from "./commands/serve.js";
24
28
  import { validateCommand } from "./commands/validate.js";
29
+ import { TOOL } from "./output.js";
25
30
  import { CARRIERS, findRoot } from "./repository.js";
26
31
  import { EVIDENCE_DIR, evidenceFiles, openSession } from "./session.js";
27
32
  export const USAGE = `usage: intentset <command> [options]
28
33
 
29
34
  commands
30
35
  init [--repository <name>] [--example] [--agents]
31
- create .intentset/config.yaml, an empty .intentset/registries.yaml and
32
- .intentset/agents.md, the guide that tells coding agents how to keep the
33
- model current; --example adds the scheduling example under
34
- product/scheduling/; --agents writes only the guide, for a repository
35
- already initialized. Never overwrites a file.
36
- validate every check the level asks for; exit 1 when any diagnostic is an error
36
+ create .intentset/config.yaml, an empty .intentset/registries.yaml
37
+ and .intentset/agents.md, the guide that tells coding agents how to
38
+ keep the model current; --example adds the scheduling example under
39
+ product/scheduling/; --agents writes only the guide, for a
40
+ repository already initialized. Never overwrites a file.
41
+ guide print that guide for this repository, for the scope its config
42
+ names, without writing anything
43
+ validate every check the level asks for; exit 1 when any diagnostic is an
44
+ error
37
45
  graph [--format json] [--include-bodies] [--release <product>:<label>] [--out <file>]
38
46
  [--generated-at <time>] [--report evidence|knowledge|impact|ownership|all]...
39
47
  [--include-restricted]
40
- print the intentset/export/0.3 envelope, or write it to --out;
48
+ print the intentset/export/0.4 envelope, or write it to --out;
41
49
  each --report adds a section (ownership needs L2, evidence L3; all
42
50
  is every one the level reads). Restricted artifacts are withheld
43
51
  and counted unless --include-restricted
44
52
  architecture check [--mode migration|strict] [--baseline <file>] [--write-baseline <file>]
45
53
  ownership, claims, imports, layers and regions (default level L2)
46
- evidence import --from vitest|node-tap <report> --out <file> --product <ID> --release <label>
54
+ evidence import --from vitest|playwright|node-tap <report> --out <file> --product <ID>
55
+ --release <label>
47
56
  [--environment <text>] [--started-at <time>] [--finished-at <time>] [--uri-base <uri>]
48
57
  [--tool-version <v>]
49
58
  turn a test report into run records bound to this commit and graph
50
- impact <ID> what depends on an artifact: direct, candidates, review context, ancestors
59
+ evidence stale [--release <product>:<label>] [--check] [--binding <subject|commit>]
60
+ [--format list|json|playwright|vitest|node-test]
61
+ what needs a run: the automated verifications whose evidence is
62
+ not a current pass, as a table, as JSON, or as the arguments that
63
+ make a test runner run only those tests; never writes; --check
64
+ exits 1 when any needs a run
65
+ impact <ID> what depends on an artifact: direct, candidates, review context,
66
+ ancestors
51
67
  context <ID|path> [--include-restricted]
52
- the bounded engineering context of an artifact, with paths and bodies;
53
- given a file a slice claims, the context of that slice
68
+ the bounded engineering context of an artifact, with paths and
69
+ bodies; given a file a slice claims, the context of that slice
54
70
  review [--base <ref>] [--fail-on-drift]
55
- the local review report: checks, coverage, the impact of what changed,
56
- and each slice whose code changed while its records did not;
57
- --fail-on-drift exits 1 for any such slice no commit acknowledged with
58
- an Intentset-Unchanged trailer
71
+ the local review report: checks, coverage, the impact of what
72
+ changed, and each slice whose code changed while its records did
73
+ not; --fail-on-drift exits 1 for any such slice no commit
74
+ acknowledged with an Intentset-Unchanged trailer
59
75
  publish --visibility <v> --audience <a> --product <ID> --release <r> --role <r> --edition <e>
60
76
  [--flag <f>]... [--authorized-internal] [--authorized-restricted] --out <dir> [--html]
61
77
  [--published-at <time>]
62
- reviewed knowledge for one audience and release, as Markset with provenance
78
+ reviewed knowledge for one audience and release, as Markset with
79
+ provenance
63
80
  serve [--port <n>] [--host <address>] [--out <dir>]
64
- the Atlas, the internal review pages, on http://127.0.0.1:3000/ (rebuilt
65
- when a file changes), or written to --out; runs at L2, or L3 with run records
81
+ the Atlas, the internal review pages, on http://127.0.0.1:3000/
82
+ (rebuilt when a file changes), or written to --out; runs at L2, or
83
+ L3 with run records
84
+ migrate --to 0.2 [--allow-dirty]
85
+ move the records the model reads from specifications 0.1 to 0.2:
86
+ rewrites intentset.spec and intentset.profile in each record's
87
+ frontmatter and nothing else, and says how many. Refuses a tree
88
+ with uncommitted changes to tracked files unless --allow-dirty
66
89
  mcp --mode engineering [--include-restricted]
67
- mcp --mode customer --visibility <public|customer> --audience <a> --product <ID> --release <r>
68
- --role <r> --edition <e> [--flag <f>]...
90
+ mcp --mode customer --visibility <public|customer> --audience <a> --product <ID>
91
+ --release <r> --role <r> --edition <e> [--flag <f>]...
69
92
  the read-only MCP server on stdio: the engineering graph, or one
70
93
  publication made in memory as publish makes it, and nothing else
71
94
 
72
95
  options
73
- --root <dir> repository root (default: the nearest directory at or above this one
74
- holding .intentset/config.yaml)
96
+ --root <dir> repository root (default: the nearest directory at or above this
97
+ one holding .intentset/config.yaml)
75
98
  --json machine-readable output, keys in canonical order
76
99
  --carrier <markset|plain> how documents are read (default markset)
77
100
  --level <L1..L4> conformance level; each includes those below it (default L1):
78
101
  L2 adds architecture, L3 evidence, L4 publication readiness
79
- --evidence <file> L3 and above: run records to read, repeatable (default: every *.json in
80
- ${EVIDENCE_DIR}/, which holds local output and is not committed)
102
+ --evidence <file> L3 and above: run records to read, repeatable (default: every
103
+ *.json in ${EVIDENCE_DIR}/, which holds local output and is not
104
+ committed)
81
105
  --product <ID> --release <label>
82
- L3 and above: the exact scope evidence is assessed for (default: every scope)
106
+ L3 and above: the exact scope evidence is assessed for (default:
107
+ every scope)
108
+ --binding <subject|commit>
109
+ L3 and above, and evidence import: how run evidence is judged
110
+ current, overriding evidence.binding in the configuration (default:
111
+ subject where slices claim files, else commit). Subject keeps a
112
+ record current while what it checked is unchanged; commit only at
113
+ the commit it ran at
83
114
  --mode <migration|strict> --baseline <file>
84
- L2 and above: whether a baseline of known violations applies, and which
85
- (for mcp, --mode names the server's mode instead)
115
+ L2 and above: whether a baseline of known violations applies, and
116
+ which (for mcp, --mode names the server's mode instead)
86
117
  -h, --help show this help
118
+ --version print "intentset <version>", the checker version a report names
87
119
 
88
- exit codes: 0 no errors, 1 validation errors (or, with review --fail-on-drift, unacknowledged drift),
89
- 2 invocation or tool failure`;
120
+ exit codes: 0 no errors, 1 validation errors (or, with review --fail-on-drift,
121
+ unacknowledged drift), 2 invocation or tool failure`;
90
122
  const COMMANDS = [
91
123
  "init",
124
+ "guide",
92
125
  "validate",
93
126
  "graph",
94
127
  "architecture",
@@ -98,12 +131,15 @@ const COMMANDS = [
98
131
  "review",
99
132
  "publish",
100
133
  "serve",
134
+ "migrate",
101
135
  "mcp",
102
136
  ];
103
- const GLOBAL = ["root", "json", "carrier", "level", "help"];
104
- const LEVEL_OPTIONS = ["evidence", "product", "release", "mode", "baseline"];
137
+ const GLOBAL = ["root", "json", "carrier", "level", "help", "version"];
138
+ const LEVEL_OPTIONS = ["evidence", "product", "release", "mode", "baseline", "binding"];
105
139
  const COMMAND_OPTIONS = {
106
140
  init: ["repository", "example", "agents"],
141
+ guide: [],
142
+ migrate: ["to", "allow-dirty"],
107
143
  validate: LEVEL_OPTIONS,
108
144
  graph: [
109
145
  "format",
@@ -116,9 +152,13 @@ const COMMAND_OPTIONS = {
116
152
  "evidence",
117
153
  "mode",
118
154
  "baseline",
155
+ "binding",
119
156
  ],
120
157
  architecture: ["mode", "baseline", "write-baseline"],
121
158
  evidence: [
159
+ "format",
160
+ "check",
161
+ "evidence",
122
162
  "from",
123
163
  "out",
124
164
  "product",
@@ -128,6 +168,7 @@ const COMMAND_OPTIONS = {
128
168
  "finished-at",
129
169
  "uri-base",
130
170
  "tool-version",
171
+ "binding",
131
172
  ],
132
173
  impact: LEVEL_OPTIONS,
133
174
  context: ["include-restricted", ...LEVEL_OPTIONS],
@@ -164,8 +205,8 @@ const COMMAND_OPTIONS = {
164
205
  };
165
206
  /** Positional arguments after the command: a fixed subcommand, then how many more. */
166
207
  const POSITIONALS = {
167
- architecture: { sub: "check", count: 0 },
168
- evidence: { sub: "import", count: 1, what: "a report file" },
208
+ architecture: { subs: { check: 0 }, count: 0 },
209
+ evidence: { subs: { import: 1, stale: 0 }, count: 0, what: "a report file" },
169
210
  impact: { count: 1, what: "an artifact ID" },
170
211
  context: { count: 1, what: "an artifact ID or a file path" },
171
212
  };
@@ -180,6 +221,10 @@ export async function main(argv, io) {
180
221
  }
181
222
  const { values, positionals, tokens } = parsed;
182
223
  const [command, ...rest] = positionals;
224
+ if (values.version && !values.help) {
225
+ io.stdout(`${TOOL.name} ${TOOL.version}\n`);
226
+ return 0;
227
+ }
183
228
  if (values.help || command === undefined) {
184
229
  io.stdout(`${USAGE}\n`);
185
230
  return values.help ? 0 : 2;
@@ -201,16 +246,46 @@ export async function main(argv, io) {
201
246
  }
202
247
  const shape = POSITIONALS[command] ?? { count: 0 };
203
248
  let args = rest;
204
- if (shape.sub !== undefined) {
205
- if (args[0] !== shape.sub)
206
- return usage(`the only subcommand is "${command} ${shape.sub}"`);
249
+ let wanted = shape.count;
250
+ let sub;
251
+ if (shape.subs !== undefined) {
252
+ const names = Object.keys(shape.subs);
253
+ sub = args[0];
254
+ if (sub === undefined || !Object.hasOwn(shape.subs, sub)) {
255
+ return usage(names.length === 1
256
+ ? `the only subcommand is "${command} ${names[0]}"`
257
+ : `the subcommands are ${names.map((name) => `"${command} ${name}"`).join(" and ")}`);
258
+ }
259
+ wanted = shape.subs[sub];
207
260
  args = args.slice(1);
208
261
  }
209
- if (args.length < shape.count)
262
+ if (args.length < wanted)
210
263
  return usage(`${shape.what} is required`);
211
- if (args.length > shape.count) {
212
- const hint = shape.count === 0 ? " (use --root <dir> to name the repository)" : "";
213
- return usage(`unexpected argument "${args[shape.count]}"${hint}`);
264
+ if (args.length > wanted) {
265
+ const hint = wanted === 0 ? " (use --root <dir> to name the repository)" : "";
266
+ return usage(`unexpected argument "${args[wanted]}"${hint}`);
267
+ }
268
+ if (command === "evidence") {
269
+ // Each subcommand takes its own options, though one list allows them all.
270
+ const own = sub === "stale"
271
+ ? ["format", "check", "evidence", "release", "binding"]
272
+ : [
273
+ "from",
274
+ "out",
275
+ "product",
276
+ "release",
277
+ "environment",
278
+ "started-at",
279
+ "finished-at",
280
+ "uri-base",
281
+ "tool-version",
282
+ "binding",
283
+ ];
284
+ for (const token of tokens) {
285
+ if (token.kind === "option" && COMMAND_OPTIONS.evidence.includes(token.name) && !own.includes(token.name)) {
286
+ return usage(`--${token.name} is not an option of evidence ${sub}`);
287
+ }
288
+ }
214
289
  }
215
290
  const carrier = values.carrier ?? "markset";
216
291
  if (!Object.hasOwn(CARRIERS, carrier)) {
@@ -226,6 +301,14 @@ export async function main(argv, io) {
226
301
  if (command !== "mcp" && values.mode !== undefined && values.mode !== "migration" && values.mode !== "strict") {
227
302
  return usage(`--mode ${values.mode}: the modes are migration and strict`);
228
303
  }
304
+ if (command === "guide")
305
+ return guideCommand({ root: values.root }, io);
306
+ if (command === "migrate") {
307
+ const problem = migrateUsageProblem({ to: values.to });
308
+ if (problem !== null)
309
+ return usage(problem);
310
+ return migrateCommand({ root: values.root, to: values.to, allowDirty: values["allow-dirty"], carrier: carrier }, io);
311
+ }
229
312
  if (command === "init") {
230
313
  if (values.agents && values.example)
231
314
  return usage("--agents writes only the guide; it does not combine with --example");
@@ -233,8 +316,8 @@ export async function main(argv, io) {
233
316
  }
234
317
  // Evidence scope: --product with --release, or graph's --release <product>:<label>.
235
318
  let scope = null;
236
- if (command !== "evidence" && command !== "publish" && command !== "mcp") {
237
- if (command === "graph") {
319
+ if ((command !== "evidence" || sub === "stale") && command !== "publish" && command !== "mcp") {
320
+ if (command === "graph" || command === "evidence") {
238
321
  const release = values.release === undefined ? null : parseRelease(values.release);
239
322
  scope = release === null ? null : { product: release.product, release: release.label };
240
323
  }
@@ -245,6 +328,9 @@ export async function main(argv, io) {
245
328
  scope = { product: values.product, release: values.release };
246
329
  }
247
330
  }
331
+ if (values.binding !== undefined && !EVIDENCE_BINDINGS.includes(values.binding)) {
332
+ return usage(`--binding ${values.binding}: the bindings are ${EVIDENCE_BINDINGS.join(" and ")}`);
333
+ }
248
334
  const sessionOptions = (level) => ({
249
335
  root: values.root,
250
336
  carrier: carrier,
@@ -253,6 +339,7 @@ export async function main(argv, io) {
253
339
  baseline: values.baseline,
254
340
  evidence: values.evidence,
255
341
  scope,
342
+ binding: values.binding,
256
343
  });
257
344
  switch (command) {
258
345
  case "validate": {
@@ -284,6 +371,22 @@ export async function main(argv, io) {
284
371
  return architectureCommand(session, { writeBaseline: values["write-baseline"] }, values.json, io);
285
372
  }
286
373
  case "evidence": {
374
+ if (sub === "stale") {
375
+ if (levelGiven === "L1" || levelGiven === "L2") {
376
+ return usage("evidence is judged at L3 and above, where run records are read");
377
+ }
378
+ const staleOptions = {
379
+ release: values.release,
380
+ format: values.format,
381
+ check: values.check,
382
+ json: values.json,
383
+ };
384
+ const checked = evidenceStaleUsageProblem(staleOptions);
385
+ if ("problem" in checked)
386
+ return usage(checked.problem);
387
+ const session = openSession("evidence stale", sessionOptions(levelGiven ?? "L3"), io);
388
+ return typeof session === "number" ? session : evidenceStaleCommand(session, checked.format, staleOptions, io);
389
+ }
287
390
  const options = {
288
391
  from: values.from,
289
392
  report: args[0],
@@ -295,6 +398,7 @@ export async function main(argv, io) {
295
398
  finishedAt: values["finished-at"],
296
399
  uriBase: values["uri-base"],
297
400
  toolVersion: values["tool-version"],
401
+ binding: values.binding,
298
402
  };
299
403
  const problem = evidenceUsageProblem(options);
300
404
  if (problem !== null)
@@ -396,6 +500,7 @@ function parse(argv) {
396
500
  carrier: { type: "string" },
397
501
  level: { type: "string" },
398
502
  help: { type: "boolean", short: "h", default: false },
503
+ version: { type: "boolean", default: false },
399
504
  repository: { type: "string" },
400
505
  example: { type: "boolean", default: false },
401
506
  agents: { type: "boolean", default: false },
@@ -411,7 +516,9 @@ function parse(argv) {
411
516
  product: { type: "string" },
412
517
  mode: { type: "string" },
413
518
  baseline: { type: "string" },
519
+ binding: { type: "string" },
414
520
  "write-baseline": { type: "string" },
521
+ check: { type: "boolean", default: false },
415
522
  from: { type: "string" },
416
523
  environment: { type: "string" },
417
524
  "started-at": { type: "string" },
@@ -430,6 +537,8 @@ function parse(argv) {
430
537
  "published-at": { type: "string" },
431
538
  port: { type: "string" },
432
539
  host: { type: "string" },
540
+ to: { type: "string" },
541
+ "allow-dirty": { type: "boolean", default: false },
433
542
  },
434
543
  });
435
544
  }
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../src/reports.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAgBlG;AAUD,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,CA6BxD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAMrE;AAED,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAOxD;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAenE"}
1
+ {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../src/reports.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAgBlG;AAqBD,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,CA8BxD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAMrE;AAED,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAOxD;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2BnE"}
package/dist/reports.js CHANGED
@@ -23,6 +23,16 @@ function ofCounts(part, whole) {
23
23
  `${part.scenarios} of ${count(whole.scenarios, "scenario")}`,
24
24
  ].join(", ");
25
25
  }
26
+ /** Which binding judged the evidence, and why (Core §8). */
27
+ function bindingLine(run) {
28
+ const { binding, reason } = run.binding;
29
+ if (binding === "subject") {
30
+ return `Binding: subject (${reason === "default" ? "the default, since slices claim files" : "as configured"}); a record is current while the subject it checked is unchanged`;
31
+ }
32
+ return reason === "no-slices"
33
+ ? "Binding: commit, because no slice claims files and there is no subject to bind to (EVID004); a record is current only at the assessed commit and graph hash"
34
+ : "Binding: commit, as configured; a record is current only at the assessed commit and graph hash";
35
+ }
26
36
  export function evidenceLines(run) {
27
37
  const { coverage, classification } = run.check;
28
38
  const snap = run.snapshot;
@@ -33,6 +43,7 @@ export function evidenceLines(run) {
33
43
  const d = coverage.denominator;
34
44
  const lines = [
35
45
  `Evidence: ${count(run.records, "run record")} from ${from}; assessed at ${snap.commit === null ? "no commit" : `commit ${snap.commit}`}, graph ${snap.graphHash}, for ${scope}`,
46
+ bindingLine(run),
36
47
  `Coverage over ${count(d.behaviors, "behavior")}, ${count(d.rules, "rule")} and ${count(d.scenarios, "scenario")} that are not retired:`,
37
48
  ` linked: ${ofCounts(coverage.linked, d)} (${coverage.measures.linked})`,
38
49
  ` verified: ${ofCounts(coverage.verified, d)} (${coverage.measures.verified})`,
@@ -45,7 +56,7 @@ export function evidenceLines(run) {
45
56
  lines.push(" none");
46
57
  for (const id of ids) {
47
58
  const v = classification.verifications[id];
48
- lines.push(` ${id} ${v.method} ${v.status}${v.note === undefined ? "" : ` (${v.note})`}`);
59
+ lines.push(` ${id} ${v.method} ${v.status} [${v.binding}]${v.note === undefined ? "" : ` (${v.note})`}`);
49
60
  }
50
61
  lines.push(`Not checked, so not a pass (${coverage.unresolved.length}):${coverage.unresolved.length === 0 ? " none" : ""}`);
51
62
  for (const item of coverage.unresolved)
@@ -78,9 +89,21 @@ export function levelJson(session) {
78
89
  const { files, records, snapshot, check } = session.evidence;
79
90
  const verifications = {};
80
91
  for (const [id, v] of Object.entries(check.classification.verifications)) {
81
- verifications[id] = { method: v.method, status: v.status, ...(v.note === undefined ? {} : { note: v.note }) };
92
+ verifications[id] = {
93
+ method: v.method,
94
+ status: v.status,
95
+ binding: v.binding,
96
+ ...(v.note === undefined ? {} : { note: v.note }),
97
+ };
82
98
  }
83
- out.evidence = { files, records, snapshot, coverage: check.coverage, verifications };
99
+ out.evidence = {
100
+ files,
101
+ records,
102
+ binding: session.evidence.binding,
103
+ snapshot: { commit: snapshot.commit, graphHash: snapshot.graphHash, scope: snapshot.scope ?? null },
104
+ coverage: check.coverage,
105
+ verifications,
106
+ };
84
107
  }
85
108
  if (session.publication !== undefined)
86
109
  out.publication = { checked: session.publication.checked };
@@ -1 +1 @@
1
- {"version":3,"file":"reports.js","sourceRoot":"","sources":["../src/reports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reports.js","sourceRoot":"","sources":["../src/reports.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type ArchitectureResult, type Mode } from "@intentset/architecture";
2
- import { type Diagnostic, type Graph, type Level, type ValidationResult } from "@intentset/core";
3
- import { type EvidenceCheck, type EvidenceSnapshot, type RunScope } from "@intentset/verification";
2
+ import { type Diagnostic, type EvidenceBinding, type Graph, type Level, type ValidationResult } from "@intentset/core";
3
+ import { type BindingDecision, type EvidenceCheck, type EvidenceSnapshot, type RunRecord, type RunScope } from "@intentset/verification";
4
4
  import { type Io, type Snapshot } from "./output.ts";
5
5
  import { type CarrierName, type Repository } from "./repository.ts";
6
6
  import { type Tree } from "./tree.ts";
@@ -19,11 +19,17 @@ export interface SessionOptions {
19
19
  scope?: RunScope | null;
20
20
  /** The day exceptions expire against; default today, UTC. */
21
21
  today?: string;
22
+ /** L3 and above: the evidence binding asked for on the command line, overriding the configuration. */
23
+ binding?: EvidenceBinding;
22
24
  }
23
25
  export interface EvidenceRun {
24
26
  /** The files read, as repository-relative paths where they lie inside the root. */
25
27
  files: string[];
26
28
  records: number;
29
+ /** The records read, as classified; the export classifies them again under the binding its contract states. */
30
+ runRecords: RunRecord[];
31
+ /** The binding in force and why. */
32
+ binding: BindingDecision;
27
33
  check: EvidenceCheck;
28
34
  snapshot: EvidenceSnapshot;
29
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,kBAAkB,EAGvB,KAAK,IAAI,EAEV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,KAAK,EAIV,KAAK,KAAK,EAEV,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,KAAK,QAAQ,EAEd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAoB,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAyC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAY,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAEhD,sGAAsG;AACtG,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,wGAAwG;IACxG,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,mFAAmF;IACnF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,qGAAqG;IACrG,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,mFAAmF;IACnF,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACrC;AAID,qHAAqH;AACrH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,MAAM,CAsG9F;AAiBD,4GAA4G;AAC5G,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAQ9F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CA4CnG"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,kBAAkB,EAGvB,KAAK,IAAI,EAEV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,KAAK,EAIV,KAAK,KAAK,EAEV,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,QAAQ,EAEd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAoB,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAyC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE3G,OAAO,EAAY,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAEhD,sGAAsG;AACtG,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,wGAAwG;IACxG,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sGAAsG;IACtG,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,mFAAmF;IACnF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,+GAA+G;IAC/G,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,oCAAoC;IACpC,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,qGAAqG;IACrG,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,mFAAmF;IACnF,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACrC;AAID,qHAAqH;AACrH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,MAAM,CAsH9F;AAiBD,4GAA4G;AAC5G,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAQ9F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CA4CnG"}
package/dist/session.js CHANGED
@@ -21,6 +21,7 @@ import { checkEvidence, readRunRecords, } from "@intentset/verification";
21
21
  import { insideRoot } from "./outputs.js";
22
22
  import { formatDiagnostic } from "./output.js";
23
23
  import { CONFIG_PATH, findRoot, loadRepository } from "./repository.js";
24
+ import { bindingFor, subjectsOf } from "./subject.js";
24
25
  import { readTree } from "./tree.js";
25
26
  /** Where run records are read from when no --evidence is given. Local output: not to be committed. */
26
27
  export const EVIDENCE_DIR = ".intentset/evidence";
@@ -100,17 +101,33 @@ export function openSession(command, options, io) {
100
101
  }
101
102
  shown.push(path);
102
103
  }
104
+ const decision = bindingFor(repo, graph, options.binding);
103
105
  const evidenceSnapshot = {
104
106
  commit: snapshot.commit,
105
107
  graphHash: snapshot.graphHash,
106
108
  scope: options.scope ?? null,
109
+ binding: decision.binding,
110
+ bindingReason: decision.reason,
107
111
  };
112
+ if (decision.binding === "subject" && session.tree !== undefined && records.length > 0) {
113
+ const computed = subjectsOf(repo, graph, session.tree);
114
+ evidenceSnapshot.subjects = computed.subjects;
115
+ evidenceSnapshot.covers = computed.source.covers;
116
+ evidenceSnapshot.changedSince = computed.changedSince;
117
+ }
108
118
  const check = checkEvidence(graph, records, evidenceSnapshot, {
109
119
  level,
110
120
  files: session.tree?.paths,
111
121
  evidencePath: shown.length === 1 ? shown[0] : null,
112
122
  });
113
- session.evidence = { files: shown, records: records.length, check, snapshot: evidenceSnapshot };
123
+ session.evidence = {
124
+ files: shown,
125
+ records: records.length,
126
+ runRecords: records,
127
+ binding: decision,
128
+ check,
129
+ snapshot: evidenceSnapshot,
130
+ };
114
131
  all.push(...check.diagnostics);
115
132
  }
116
133
  if (at(level, "L4")) {