@intentset/cli 0.3.0 → 0.5.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/dist/agents.d.ts +12 -0
- package/dist/agents.d.ts.map +1 -0
- package/dist/agents.js +176 -0
- package/dist/agents.js.map +1 -0
- package/dist/commands/context.d.ts +14 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +34 -1
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +52 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +5 -3
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/review.d.ts +20 -0
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +52 -8
- package/dist/commands/review.js.map +1 -1
- package/dist/git.d.ts +8 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +15 -0
- package/dist/git.js.map +1 -1
- package/dist/intentset.js +0 -0
- package/dist/main.d.ts +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +25 -13
- package/dist/main.js.map +1 -1
- package/dist/slices.d.ts +24 -0
- package/dist/slices.d.ts.map +1 -0
- package/dist/slices.js +48 -0
- package/dist/slices.js.map +1 -0
- package/package.json +10 -10
- package/src/agents.ts +185 -0
- package/src/commands/context.ts +39 -1
- package/src/commands/init.ts +54 -10
- package/src/commands/publish.ts +5 -3
- package/src/commands/review.ts +66 -9
- package/src/git.ts +15 -0
- package/src/main.ts +33 -13
- package/src/slices.ts +54 -0
package/dist/commands/review.js
CHANGED
|
@@ -7,21 +7,24 @@
|
|
|
7
7
|
* touches, a changed record to its own artifact and a changed source file
|
|
8
8
|
* through the claiming slice to that slice's behaviors, each start's direct
|
|
9
9
|
* dependents shown apart from its candidates. Markdown by default. Read-only.
|
|
10
|
+
*
|
|
11
|
+
* It also lists every slice whose code changed while none of the records that
|
|
12
|
+
* describe it did (Core §10: an agent updates affected semantics in the same
|
|
13
|
+
* review). A refactor changes code and no behavior, so the list is a prompt,
|
|
14
|
+
* not an error: a commit says so with an Intentset-Unchanged trailer, and
|
|
15
|
+
* `--fail-on-drift` fails only on slices no commit has spoken for.
|
|
10
16
|
*/
|
|
11
17
|
import { impact, compareStrings } from "@intentset/core";
|
|
12
|
-
import { changedFiles, chooseBase } from "../git.js";
|
|
13
|
-
import { matchGlob } from "../glob.js";
|
|
18
|
+
import { acknowledgedSlices, changedFiles, chooseBase, UNCHANGED_TRAILER } from "../git.js";
|
|
14
19
|
import { count, formatDiagnostic, json, snapshotLine, TOOL } from "../output.js";
|
|
15
20
|
import { levelJson, levelSections } from "../reports.js";
|
|
21
|
+
import { activeSlices, claimingSlices, describingRecords, isSliceCode } from "../slices.js";
|
|
16
22
|
import { pathText, REACHABILITY_NOTE } from "./impact.js";
|
|
17
23
|
/** Map changed files to impact starts. A path that is a record names its artifact; a claimed source file names the claiming slices' behaviors. */
|
|
18
24
|
export function attribute(graph, changed) {
|
|
19
25
|
const byPath = new Map();
|
|
20
26
|
for (const [id, artifact] of graph.artifacts)
|
|
21
27
|
byPath.set(artifact.path, id);
|
|
22
|
-
const slices = [...graph.artifacts.values()]
|
|
23
|
-
.filter((a) => a.meta.type === "slice" && a.meta.status !== "retired" && a.meta.slice !== undefined)
|
|
24
|
-
.sort((a, b) => compareStrings(a.meta.id, b.meta.id));
|
|
25
28
|
const starts = new Map();
|
|
26
29
|
const add = (id, reason) => {
|
|
27
30
|
const set = starts.get(id) ?? new Set();
|
|
@@ -35,7 +38,7 @@ export function attribute(graph, changed) {
|
|
|
35
38
|
add(id, `${path} is its record`);
|
|
36
39
|
continue;
|
|
37
40
|
}
|
|
38
|
-
const owners =
|
|
41
|
+
const owners = claimingSlices(graph, path);
|
|
39
42
|
let attributed = false;
|
|
40
43
|
for (const slice of owners) {
|
|
41
44
|
for (const behavior of slice.meta.links.implements ?? []) {
|
|
@@ -55,6 +58,31 @@ export function attribute(graph, changed) {
|
|
|
55
58
|
unattributed,
|
|
56
59
|
};
|
|
57
60
|
}
|
|
61
|
+
export const DRIFT_NOTE = "Slices whose code changed while none of the records that describe them did: the slice, its behaviors, their " +
|
|
62
|
+
"rules, scenarios and verifications, its contracts and their decisions. If behavior changed, update those records " +
|
|
63
|
+
`in this change. If it did not, say so in a commit with the trailer \`${UNCHANGED_TRAILER}: <slice ID>\`.`;
|
|
64
|
+
/** Each slice whose code is among the changed files while none of its describing records is, sorted by slice ID. */
|
|
65
|
+
export function drift(graph, changed, acknowledged) {
|
|
66
|
+
const records = new Set([...graph.artifacts.values()].map((artifact) => artifact.path));
|
|
67
|
+
const touched = new Set(changed);
|
|
68
|
+
const out = [];
|
|
69
|
+
for (const slice of activeSlices(graph)) {
|
|
70
|
+
const code = changed.filter((path) => !records.has(path) && isSliceCode(slice, path));
|
|
71
|
+
if (code.length === 0)
|
|
72
|
+
continue;
|
|
73
|
+
const describing = describingRecords(graph, slice);
|
|
74
|
+
if (describing.some((id) => touched.has(graph.artifacts.get(id)?.path ?? "")))
|
|
75
|
+
continue;
|
|
76
|
+
out.push({
|
|
77
|
+
slice: slice.meta.id,
|
|
78
|
+
title: slice.meta.title,
|
|
79
|
+
code,
|
|
80
|
+
records: describing,
|
|
81
|
+
acknowledged: acknowledged.has(slice.meta.id),
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return out;
|
|
85
|
+
}
|
|
58
86
|
export function reviewCommand(session, options, asJson, io) {
|
|
59
87
|
const { repo, result, snapshot } = session;
|
|
60
88
|
const graph = result.graph;
|
|
@@ -69,6 +97,9 @@ export function reviewCommand(session, options, asJson, io) {
|
|
|
69
97
|
changes.baseUnavailable = chosen.unavailable;
|
|
70
98
|
const changed = [...new Set([...changes.committed, ...changes.uncommitted])].sort(compareStrings);
|
|
71
99
|
const { starts, unattributed } = attribute(graph, changed);
|
|
100
|
+
const drifted = drift(graph, changed, new Set(acknowledgedSlices(repo.root, base)));
|
|
101
|
+
const failing = options.failOnDrift === true && drifted.some((item) => !item.acknowledged);
|
|
102
|
+
const exit = session.errors > 0 || failing ? 1 : 0;
|
|
72
103
|
const impacts = starts.map(({ start, because }) => {
|
|
73
104
|
const artifact = graph.artifacts.get(start);
|
|
74
105
|
const report = impact(graph, start);
|
|
@@ -95,9 +126,10 @@ export function reviewCommand(session, options, asJson, io) {
|
|
|
95
126
|
...levelJson(session),
|
|
96
127
|
note: REACHABILITY_NOTE,
|
|
97
128
|
impact: impacts,
|
|
129
|
+
drift: drifted,
|
|
98
130
|
unattributed,
|
|
99
131
|
}));
|
|
100
|
-
return
|
|
132
|
+
return exit;
|
|
101
133
|
}
|
|
102
134
|
const baseLine = base === null
|
|
103
135
|
? `- Base: none (${changes.baseUnavailable}); only uncommitted changes are considered`
|
|
@@ -136,12 +168,24 @@ export function reviewCommand(session, options, asJson, io) {
|
|
|
136
168
|
for (const hit of item.candidates)
|
|
137
169
|
out.push(`- ${hit.id} (${hit.type}): \`${pathText(item.start, hit)}\``);
|
|
138
170
|
}
|
|
171
|
+
const open = drifted.filter((item) => !item.acknowledged).length;
|
|
172
|
+
out.push("", `## Code changed, records unchanged (${drifted.length}, ${open} not acknowledged)`, "", DRIFT_NOTE);
|
|
173
|
+
if (drifted.length === 0)
|
|
174
|
+
out.push("", "None.");
|
|
175
|
+
for (const item of drifted) {
|
|
176
|
+
out.push("", `### ${item.slice}: ${item.title}`, "");
|
|
177
|
+
out.push(item.acknowledged
|
|
178
|
+
? `- Acknowledged: a commit since the base says this changes no behavior (${UNCHANGED_TRAILER}).`
|
|
179
|
+
: "- Not acknowledged: update the records below, or say in a commit that no behavior changed.");
|
|
180
|
+
out.push(...item.code.map((path) => `- Code changed: ${path}`));
|
|
181
|
+
out.push(`- Records describing it, none changed: ${item.records.join(", ")}`);
|
|
182
|
+
}
|
|
139
183
|
out.push("", `## Changed files no artifact accounts for (${unattributed.length})`, "");
|
|
140
184
|
if (unattributed.length === 0)
|
|
141
185
|
out.push("None.");
|
|
142
186
|
else
|
|
143
187
|
out.push(...unattributed.map((path) => `- ${path}`));
|
|
144
188
|
io.stdout(`${out.join("\n")}\n`);
|
|
145
|
-
return
|
|
189
|
+
return exit;
|
|
146
190
|
}
|
|
147
191
|
//# sourceMappingURL=review.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}
|
package/dist/git.d.ts
CHANGED
|
@@ -22,4 +22,12 @@ export declare function chooseBase(root: string, given: string | undefined): Bas
|
|
|
22
22
|
unavailable: string;
|
|
23
23
|
};
|
|
24
24
|
export declare function changedFiles(root: string, base: Base | null): Omit<Changes, "base" | "baseUnavailable">;
|
|
25
|
+
/**
|
|
26
|
+
* The trailer a commit carries to say it changes a slice's code without
|
|
27
|
+
* changing its behavior: `Intentset-Unchanged: SLICE-A, SLICE-B`. A reviewer
|
|
28
|
+
* reads it in the commit, so the claim is made where it can be questioned.
|
|
29
|
+
*/
|
|
30
|
+
export declare const UNCHANGED_TRAILER = "Intentset-Unchanged";
|
|
31
|
+
/** The slice IDs named in an Intentset-Unchanged trailer of any commit after the base, sorted. */
|
|
32
|
+
export declare function acknowledgedSlices(root: string, base: Base | null): string[];
|
|
25
33
|
//# sourceMappingURL=git.d.ts.map
|
package/dist/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,IAAI;IACnB,mGAAmG;IACnG,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kHAAkH;IAClH,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,uCAAuC;AACvC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAczG;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAWvG"}
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,IAAI;IACnB,mGAAmG;IACnG,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kHAAkH;IAClH,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,uCAAuC;AACvC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAczG;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAWvG;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,EAAE,CAK5E"}
|
package/dist/git.js
CHANGED
|
@@ -60,4 +60,19 @@ export function changedFiles(root, base) {
|
|
|
60
60
|
uncommitted: [...new Set(uncommitted)].sort(compareStrings),
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* The trailer a commit carries to say it changes a slice's code without
|
|
65
|
+
* changing its behavior: `Intentset-Unchanged: SLICE-A, SLICE-B`. A reviewer
|
|
66
|
+
* reads it in the commit, so the claim is made where it can be questioned.
|
|
67
|
+
*/
|
|
68
|
+
export const UNCHANGED_TRAILER = "Intentset-Unchanged";
|
|
69
|
+
/** The slice IDs named in an Intentset-Unchanged trailer of any commit after the base, sorted. */
|
|
70
|
+
export function acknowledgedSlices(root, base) {
|
|
71
|
+
if (base === null)
|
|
72
|
+
return [];
|
|
73
|
+
const out = git(root, ["log", `--format=%(trailers:key=${UNCHANGED_TRAILER},valueonly)`, `${base.commit}..HEAD`]);
|
|
74
|
+
if (out === null)
|
|
75
|
+
return [];
|
|
76
|
+
return [...new Set(out.split(/[\s,]+/).filter((id) => id !== ""))].sort(compareStrings);
|
|
77
|
+
}
|
|
63
78
|
//# sourceMappingURL=git.js.map
|
package/dist/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
package/dist/intentset.js
CHANGED
|
File without changes
|
package/dist/main.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Io } from "./output.ts";
|
|
2
2
|
export type { Io } from "./output.ts";
|
|
3
|
-
export declare const USAGE = "usage: intentset <command> [options]\n\ncommands\n init [--repository <name>] [--example]\n create .intentset/config.yaml
|
|
3
|
+
export declare const USAGE = "usage: intentset <command> [options]\n\ncommands\n init [--repository <name>] [--example] [--agents]\n create .intentset/config.yaml, an empty .intentset/registries.yaml and\n .intentset/agents.md, the guide that tells coding agents how to keep the\n model current; --example adds the scheduling example under\n product/scheduling/; --agents writes only the guide, for a repository\n already initialized. Never overwrites a file.\n validate every check the level asks for; exit 1 when any diagnostic is an error\n graph [--format json] [--include-bodies] [--release <product>:<label>] [--out <file>]\n [--generated-at <time>] [--report evidence|knowledge|impact|ownership|all]...\n [--include-restricted]\n print the intentset/export/0.2 envelope, or write it to --out;\n each --report adds a section (ownership needs L2, evidence L3; all\n is every one the level reads). Restricted artifacts are withheld\n and counted unless --include-restricted\n architecture check [--mode migration|strict] [--baseline <file>] [--write-baseline <file>]\n ownership, claims, imports, layers and regions (default level L2)\n evidence import --from vitest|node-tap <report> --out <file> --product <ID> --release <label>\n [--environment <text>] [--started-at <time>] [--finished-at <time>] [--uri-base <uri>]\n [--tool-version <v>]\n turn a test report into run records bound to this commit and graph\n impact <ID> what depends on an artifact: direct, candidates, review context, ancestors\n context <ID|path> [--include-restricted]\n the bounded engineering context of an artifact, with paths and bodies;\n given a file a slice claims, the context of that slice\n review [--base <ref>] [--fail-on-drift]\n the local review report: checks, coverage, the impact of what changed,\n and each slice whose code changed while its records did not;\n --fail-on-drift exits 1 for any such slice no commit acknowledged with\n an Intentset-Unchanged trailer\n publish --visibility <v> --audience <a> --product <ID> --release <r> --role <r> --edition <e>\n [--flag <f>]... [--authorized-internal] [--authorized-restricted] --out <dir> [--html]\n [--published-at <time>]\n reviewed knowledge for one audience and release, as Markset with provenance\n serve [--port <n>] [--host <address>] [--out <dir>]\n the Atlas, the internal review pages, on http://127.0.0.1:3000/ (rebuilt\n when a file changes), or written to --out; runs at L2, or L3 with run records\n mcp --mode engineering [--include-restricted]\n mcp --mode customer --visibility <public|customer> --audience <a> --product <ID> --release <r>\n --role <r> --edition <e> [--flag <f>]...\n the read-only MCP server on stdio: the engineering graph, or one\n publication made in memory as publish makes it, and nothing else\n\noptions\n --root <dir> repository root (default: the nearest directory at or above this one\n holding .intentset/config.yaml)\n --json machine-readable output, keys in canonical order\n --carrier <markset|plain> how documents are read (default markset)\n --level <L1..L4> conformance level; each includes those below it (default L1):\n L2 adds architecture, L3 evidence, L4 publication readiness\n --evidence <file> L3 and above: run records to read, repeatable (default: every *.json in\n .intentset/evidence/, which holds local output and is not committed)\n --product <ID> --release <label>\n L3 and above: the exact scope evidence is assessed for (default: every scope)\n --mode <migration|strict> --baseline <file>\n L2 and above: whether a baseline of known violations applies, and which\n (for mcp, --mode names the server's mode instead)\n -h, --help show this help\n\nexit codes: 0 no errors, 1 validation errors (or, with review --fail-on-drift, unacknowledged drift),\n 2 invocation or tool failure";
|
|
4
4
|
export declare function main(argv: string[], io: Io): Promise<number>;
|
|
5
5
|
//# sourceMappingURL=main.d.ts.map
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAItC,YAAY,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEtC,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAItC,YAAY,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEtC,eAAO,MAAM,KAAK,4lJA8DuB,CAAC;AAuF1C,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAsNlE"}
|
package/dist/main.js
CHANGED
|
@@ -27,10 +27,12 @@ import { EVIDENCE_DIR, evidenceFiles, openSession } from "./session.js";
|
|
|
27
27
|
export const USAGE = `usage: intentset <command> [options]
|
|
28
28
|
|
|
29
29
|
commands
|
|
30
|
-
init [--repository <name>] [--example]
|
|
31
|
-
create .intentset/config.yaml
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
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.
|
|
34
36
|
validate every check the level asks for; exit 1 when any diagnostic is an error
|
|
35
37
|
graph [--format json] [--include-bodies] [--release <product>:<label>] [--out <file>]
|
|
36
38
|
[--generated-at <time>] [--report evidence|knowledge|impact|ownership|all]...
|
|
@@ -46,9 +48,14 @@ commands
|
|
|
46
48
|
[--tool-version <v>]
|
|
47
49
|
turn a test report into run records bound to this commit and graph
|
|
48
50
|
impact <ID> what depends on an artifact: direct, candidates, review context, ancestors
|
|
49
|
-
context <ID> [--include-restricted]
|
|
50
|
-
the bounded engineering context of an artifact, with paths and bodies
|
|
51
|
-
|
|
51
|
+
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
|
|
54
|
+
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
|
|
52
59
|
publish --visibility <v> --audience <a> --product <ID> --release <r> --role <r> --edition <e>
|
|
53
60
|
[--flag <f>]... [--authorized-internal] [--authorized-restricted] --out <dir> [--html]
|
|
54
61
|
[--published-at <time>]
|
|
@@ -78,7 +85,8 @@ options
|
|
|
78
85
|
(for mcp, --mode names the server's mode instead)
|
|
79
86
|
-h, --help show this help
|
|
80
87
|
|
|
81
|
-
exit codes: 0 no errors, 1 validation errors,
|
|
88
|
+
exit codes: 0 no errors, 1 validation errors (or, with review --fail-on-drift, unacknowledged drift),
|
|
89
|
+
2 invocation or tool failure`;
|
|
82
90
|
const COMMANDS = [
|
|
83
91
|
"init",
|
|
84
92
|
"validate",
|
|
@@ -95,7 +103,7 @@ const COMMANDS = [
|
|
|
95
103
|
const GLOBAL = ["root", "json", "carrier", "level", "help"];
|
|
96
104
|
const LEVEL_OPTIONS = ["evidence", "product", "release", "mode", "baseline"];
|
|
97
105
|
const COMMAND_OPTIONS = {
|
|
98
|
-
init: ["repository", "example"],
|
|
106
|
+
init: ["repository", "example", "agents"],
|
|
99
107
|
validate: LEVEL_OPTIONS,
|
|
100
108
|
graph: [
|
|
101
109
|
"format",
|
|
@@ -123,7 +131,7 @@ const COMMAND_OPTIONS = {
|
|
|
123
131
|
],
|
|
124
132
|
impact: LEVEL_OPTIONS,
|
|
125
133
|
context: ["include-restricted", ...LEVEL_OPTIONS],
|
|
126
|
-
review: ["base", ...LEVEL_OPTIONS],
|
|
134
|
+
review: ["base", "fail-on-drift", ...LEVEL_OPTIONS],
|
|
127
135
|
serve: ["port", "host", "out", ...LEVEL_OPTIONS],
|
|
128
136
|
mcp: [
|
|
129
137
|
"mode",
|
|
@@ -159,7 +167,7 @@ const POSITIONALS = {
|
|
|
159
167
|
architecture: { sub: "check", count: 0 },
|
|
160
168
|
evidence: { sub: "import", count: 1, what: "a report file" },
|
|
161
169
|
impact: { count: 1, what: "an artifact ID" },
|
|
162
|
-
context: { count: 1, what: "an artifact ID" },
|
|
170
|
+
context: { count: 1, what: "an artifact ID or a file path" },
|
|
163
171
|
};
|
|
164
172
|
export async function main(argv, io) {
|
|
165
173
|
let parsed;
|
|
@@ -219,7 +227,9 @@ export async function main(argv, io) {
|
|
|
219
227
|
return usage(`--mode ${values.mode}: the modes are migration and strict`);
|
|
220
228
|
}
|
|
221
229
|
if (command === "init") {
|
|
222
|
-
|
|
230
|
+
if (values.agents && values.example)
|
|
231
|
+
return usage("--agents writes only the guide; it does not combine with --example");
|
|
232
|
+
return initCommand({ root: values.root, repository: values.repository, example: values.example, agentsOnly: values.agents }, io);
|
|
223
233
|
}
|
|
224
234
|
// Evidence scope: --product with --release, or graph's --release <product>:<label>.
|
|
225
235
|
let scope = null;
|
|
@@ -317,7 +327,7 @@ export async function main(argv, io) {
|
|
|
317
327
|
const session = openSession(command, sessionOptions(level), io);
|
|
318
328
|
if (typeof session === "number")
|
|
319
329
|
return session;
|
|
320
|
-
return reviewCommand(session, { base: values.base, levelReason: reason }, values.json, io);
|
|
330
|
+
return reviewCommand(session, { base: values.base, levelReason: reason, failOnDrift: values["fail-on-drift"] }, values.json, io);
|
|
321
331
|
}
|
|
322
332
|
case "serve": {
|
|
323
333
|
const port = values.port === undefined ? 3000 : Number(values.port);
|
|
@@ -388,6 +398,8 @@ function parse(argv) {
|
|
|
388
398
|
help: { type: "boolean", short: "h", default: false },
|
|
389
399
|
repository: { type: "string" },
|
|
390
400
|
example: { type: "boolean", default: false },
|
|
401
|
+
agents: { type: "boolean", default: false },
|
|
402
|
+
"fail-on-drift": { type: "boolean", default: false },
|
|
391
403
|
format: { type: "string" },
|
|
392
404
|
"include-bodies": { type: "boolean", default: false },
|
|
393
405
|
release: { type: "string" },
|
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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"}
|
package/dist/slices.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slices, the code they claim and the records that describe them, for
|
|
3
|
+
* `review`'s list of slices whose code changed while their records did not
|
|
4
|
+
* (Core §10) and for `context <path>`.
|
|
5
|
+
*
|
|
6
|
+
* A slice's code is what its `source`, `backend` and `contract` claims match;
|
|
7
|
+
* its `verification` and `documentation` claims are checks and prose, not
|
|
8
|
+
* implementation. The records that describe a slice are the slice itself, the
|
|
9
|
+
* behaviors it implements, the rules that govern them, the scenarios that
|
|
10
|
+
* illustrate them, the verifications of any of those, the contracts it
|
|
11
|
+
* exposes, and the decisions that inform the slice, its behaviors or its
|
|
12
|
+
* contracts. Knowledge is left out: it explains the model to an audience, and
|
|
13
|
+
* review pins already mark it for review when the model changes.
|
|
14
|
+
*/
|
|
15
|
+
import { type Artifact, type Graph } from "@intentset/core";
|
|
16
|
+
/** Every slice that is not retired and has slice metadata, sorted by ID. */
|
|
17
|
+
export declare function activeSlices(graph: Graph): Artifact[];
|
|
18
|
+
/** The slices with any claim matching `path`, sorted by ID. */
|
|
19
|
+
export declare function claimingSlices(graph: Graph, path: string): Artifact[];
|
|
20
|
+
/** True when one of the slice's source, backend or contract claims matches `path`. */
|
|
21
|
+
export declare function isSliceCode(slice: Artifact, path: string): boolean;
|
|
22
|
+
/** The IDs of the records that describe a slice, the slice included, sorted. Only IDs present in the graph. */
|
|
23
|
+
export declare function describingRecords(graph: Graph, slice: Artifact): string[];
|
|
24
|
+
//# sourceMappingURL=slices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slices.d.ts","sourceRoot":"","sources":["../src/slices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,KAAK,QAAQ,EAAkB,KAAK,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAK5E,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,CAIrD;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAErE;AAED,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,+GAA+G;AAC/G,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,EAAE,CAgBzE"}
|
package/dist/slices.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slices, the code they claim and the records that describe them, for
|
|
3
|
+
* `review`'s list of slices whose code changed while their records did not
|
|
4
|
+
* (Core §10) and for `context <path>`.
|
|
5
|
+
*
|
|
6
|
+
* A slice's code is what its `source`, `backend` and `contract` claims match;
|
|
7
|
+
* its `verification` and `documentation` claims are checks and prose, not
|
|
8
|
+
* implementation. The records that describe a slice are the slice itself, the
|
|
9
|
+
* behaviors it implements, the rules that govern them, the scenarios that
|
|
10
|
+
* illustrate them, the verifications of any of those, the contracts it
|
|
11
|
+
* exposes, and the decisions that inform the slice, its behaviors or its
|
|
12
|
+
* contracts. Knowledge is left out: it explains the model to an audience, and
|
|
13
|
+
* review pins already mark it for review when the model changes.
|
|
14
|
+
*/
|
|
15
|
+
import { compareStrings } from "@intentset/core";
|
|
16
|
+
import { matchGlob } from "./glob.js";
|
|
17
|
+
const CODE_CLAIMS = new Set(["source", "backend", "contract"]);
|
|
18
|
+
/** Every slice that is not retired and has slice metadata, sorted by ID. */
|
|
19
|
+
export function activeSlices(graph) {
|
|
20
|
+
return [...graph.artifacts.values()]
|
|
21
|
+
.filter((a) => a.meta.type === "slice" && a.meta.status !== "retired" && a.meta.slice !== undefined)
|
|
22
|
+
.sort((a, b) => compareStrings(a.meta.id, b.meta.id));
|
|
23
|
+
}
|
|
24
|
+
/** The slices with any claim matching `path`, sorted by ID. */
|
|
25
|
+
export function claimingSlices(graph, path) {
|
|
26
|
+
return activeSlices(graph).filter((slice) => slice.meta.slice?.claims.some((claim) => matchGlob(claim.path, path)));
|
|
27
|
+
}
|
|
28
|
+
/** True when one of the slice's source, backend or contract claims matches `path`. */
|
|
29
|
+
export function isSliceCode(slice, path) {
|
|
30
|
+
return slice.meta.slice?.claims.some((claim) => CODE_CLAIMS.has(claim.kind) && matchGlob(claim.path, path)) ?? false;
|
|
31
|
+
}
|
|
32
|
+
/** The IDs of the records that describe a slice, the slice included, sorted. Only IDs present in the graph. */
|
|
33
|
+
export function describingRecords(graph, slice) {
|
|
34
|
+
const out = new Set([slice.meta.id]);
|
|
35
|
+
const targets = (id, kind) => (graph.out.get(id) ?? []).filter((edge) => edge.kind === kind).map((edge) => edge.to);
|
|
36
|
+
const sources = (id, kind) => (graph.in.get(id) ?? []).filter((edge) => edge.kind === kind).map((edge) => edge.from);
|
|
37
|
+
const behaviors = targets(slice.meta.id, "implements");
|
|
38
|
+
const rules = behaviors.flatMap((id) => targets(id, "governedBy"));
|
|
39
|
+
const scenarios = behaviors.flatMap((id) => sources(id, "illustrates"));
|
|
40
|
+
const claims = [...behaviors, ...rules, ...scenarios];
|
|
41
|
+
const verifications = claims.flatMap((id) => sources(id, "verifies"));
|
|
42
|
+
const contracts = targets(slice.meta.id, "exposes");
|
|
43
|
+
const decisions = [slice.meta.id, ...behaviors, ...contracts].flatMap((id) => targets(id, "informedBy"));
|
|
44
|
+
for (const id of [...claims, ...verifications, ...contracts, ...decisions])
|
|
45
|
+
out.add(id);
|
|
46
|
+
return [...out].filter((id) => graph.artifacts.has(id)).sort(compareStrings);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=slices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slices.js","sourceRoot":"","sources":["../src/slices.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentset/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "The intentset command: validate, graph, architecture check, evidence, impact, review, publish, serve, context, mcp.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
"intentset": "./dist/intentset.js"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@intentset/core": "^0.
|
|
35
|
-
"@intentset/markset-adapter": "^0.
|
|
36
|
-
"@intentset/architecture": "^0.
|
|
37
|
-
"@intentset/verification": "^0.
|
|
38
|
-
"@intentset/publisher": "^0.
|
|
39
|
-
"@intentset/atlas": "^0.
|
|
40
|
-
"@intentset/mcp": "^0.
|
|
41
|
-
"@intentset/conformance-suite": "^0.
|
|
34
|
+
"@intentset/core": "^0.5.0",
|
|
35
|
+
"@intentset/markset-adapter": "^0.5.0",
|
|
36
|
+
"@intentset/architecture": "^0.5.0",
|
|
37
|
+
"@intentset/verification": "^0.5.0",
|
|
38
|
+
"@intentset/publisher": "^0.5.0",
|
|
39
|
+
"@intentset/atlas": "^0.5.0",
|
|
40
|
+
"@intentset/mcp": "^0.5.0",
|
|
41
|
+
"@intentset/conformance-suite": "^0.5.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@modelcontextprotocol/sdk": "^1.32.0"
|
|
45
45
|
}
|
|
46
|
-
}
|
|
46
|
+
}
|