@isaacriehm/cairn 0.19.1 → 0.21.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/dist/.tsbuildinfo +1 -1
- package/dist/cli/attention.js +3 -177
- package/dist/cli/attention.js.map +1 -1
- package/dist/cli/components.js +5 -1
- package/dist/cli/components.js.map +1 -1
- package/dist/cli/fix.d.ts +7 -10
- package/dist/cli/fix.js +8 -33
- package/dist/cli/fix.js.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/join.js +28 -1
- package/dist/cli/join.js.map +1 -1
- package/dist/cli/migrate.d.ts +9 -0
- package/dist/cli/migrate.js +85 -0
- package/dist/cli/migrate.js.map +1 -0
- package/dist/cli/sensor-run.d.ts +17 -13
- package/dist/cli/sensor-run.js +71 -27
- package/dist/cli/sensor-run.js.map +1 -1
- package/package.json +8 -6
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/join.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolve } from "node:path";
|
|
2
|
-
import { runJoin } from "@isaacriehm/cairn-core";
|
|
2
|
+
import { runJoin, runMigrations } from "@isaacriehm/cairn-core";
|
|
3
3
|
function parseArgs(argv) {
|
|
4
4
|
const positional = [];
|
|
5
5
|
const flags = {};
|
|
@@ -54,6 +54,33 @@ export async function joinCli(argv) {
|
|
|
54
54
|
dryRun: parsed.flags["dry-run"] === true,
|
|
55
55
|
strict: parsed.flags["strict"] === true,
|
|
56
56
|
});
|
|
57
|
+
// Catch the clone up on any pending safe `.cairn/` migrations (the pin
|
|
58
|
+
// bump + dead-field cleanup land here on a fresh clone). Best-effort —
|
|
59
|
+
// never fail the join over a migration.
|
|
60
|
+
if (result.repoRoot !== null &&
|
|
61
|
+
parsed.flags["dry-run"] !== true &&
|
|
62
|
+
result.steps.every((s) => s.status !== "error")) {
|
|
63
|
+
try {
|
|
64
|
+
const mig = await runMigrations({ repoRoot: result.repoRoot });
|
|
65
|
+
const applied = mig.outcomes.filter((o) => o.status === "applied").length;
|
|
66
|
+
if (applied > 0 || mig.newPin !== null) {
|
|
67
|
+
result.steps.push({
|
|
68
|
+
step: "migrate",
|
|
69
|
+
status: "ok",
|
|
70
|
+
detail: applied > 0
|
|
71
|
+
? `applied ${applied} migration(s)${mig.newPin !== null ? `, pin → ${mig.newPin}` : ""}`
|
|
72
|
+
: `pin → ${mig.newPin}`,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
result.steps.push({
|
|
78
|
+
step: "migrate",
|
|
79
|
+
status: "warn",
|
|
80
|
+
detail: `migration run failed (retries next session): ${err instanceof Error ? err.message : String(err)}`,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
57
84
|
if (parsed.flags["json"] === true) {
|
|
58
85
|
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
59
86
|
}
|
package/dist/cli/join.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/cli/join.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/cli/join.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cairn migrate` — bring `.cairn/` state up to the current Cairn version.
|
|
3
|
+
*
|
|
4
|
+
* Runs the coded migration registry: `safe` migrations apply automatically;
|
|
5
|
+
* `review` migrations apply only with `--all` (operator-confirmed). `--dry-run`
|
|
6
|
+
* reports what would run without touching anything. Replaces the scattered
|
|
7
|
+
* `cairn fix <X>` version-keyed repairs.
|
|
8
|
+
*/
|
|
9
|
+
export declare function migrateCli(argv: string[]): Promise<void>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cairn migrate` — bring `.cairn/` state up to the current Cairn version.
|
|
3
|
+
*
|
|
4
|
+
* Runs the coded migration registry: `safe` migrations apply automatically;
|
|
5
|
+
* `review` migrations apply only with `--all` (operator-confirmed). `--dry-run`
|
|
6
|
+
* reports what would run without touching anything. Replaces the scattered
|
|
7
|
+
* `cairn fix <X>` version-keyed repairs.
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync } from "node:fs";
|
|
10
|
+
import { resolve } from "node:path";
|
|
11
|
+
import { runMigrations } from "@isaacriehm/cairn-core";
|
|
12
|
+
function parseRepoFlag(argv) {
|
|
13
|
+
const idx = argv.indexOf("--repo");
|
|
14
|
+
if (idx === -1)
|
|
15
|
+
return process.cwd();
|
|
16
|
+
const candidate = argv[idx + 1];
|
|
17
|
+
if (candidate === undefined || candidate.startsWith("--")) {
|
|
18
|
+
console.error("--repo requires a path argument");
|
|
19
|
+
process.exit(2);
|
|
20
|
+
}
|
|
21
|
+
return resolve(candidate);
|
|
22
|
+
}
|
|
23
|
+
function ensureAdopted(repoRoot) {
|
|
24
|
+
if (!existsSync(repoRoot)) {
|
|
25
|
+
console.error(`cairn: repo root does not exist: ${repoRoot}`);
|
|
26
|
+
process.exit(2);
|
|
27
|
+
}
|
|
28
|
+
if (!existsSync(`${repoRoot}/.cairn`)) {
|
|
29
|
+
console.error(`cairn: ${repoRoot} is not cairn-adopted (no .cairn/). Run \`cairn init\` first.`);
|
|
30
|
+
process.exit(2);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function icon(status) {
|
|
34
|
+
switch (status) {
|
|
35
|
+
case "applied":
|
|
36
|
+
return "✓";
|
|
37
|
+
case "noop":
|
|
38
|
+
return "○";
|
|
39
|
+
case "queued":
|
|
40
|
+
case "would-queue":
|
|
41
|
+
return "⚠";
|
|
42
|
+
case "failed":
|
|
43
|
+
return "✗";
|
|
44
|
+
case "would-apply":
|
|
45
|
+
return "→";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export async function migrateCli(argv) {
|
|
49
|
+
const repoRoot = parseRepoFlag(argv);
|
|
50
|
+
ensureAdopted(repoRoot);
|
|
51
|
+
const dryRun = argv.includes("--dry-run");
|
|
52
|
+
const includeReview = argv.includes("--all");
|
|
53
|
+
const result = await runMigrations({ repoRoot, dryRun, includeReview });
|
|
54
|
+
if (!result.ran) {
|
|
55
|
+
process.stdout.write("⬡ cairn migrate — another migration is in progress (lock held); skipped.\n");
|
|
56
|
+
process.exit(0);
|
|
57
|
+
}
|
|
58
|
+
process.stdout.write(`⬡ cairn migrate — pin ${result.pin} → ${result.current}${dryRun ? " (dry-run)" : ""}\n`);
|
|
59
|
+
if (result.outcomes.length === 0) {
|
|
60
|
+
if (result.newPin !== null) {
|
|
61
|
+
process.stdout.write(` ✓ Nothing pending — pin bumped to ${result.newPin}.\n`);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
process.stdout.write(" ✓ Already up to date.\n");
|
|
65
|
+
}
|
|
66
|
+
process.exit(0);
|
|
67
|
+
}
|
|
68
|
+
for (const o of result.outcomes) {
|
|
69
|
+
process.stdout.write(` ${icon(o.status)} ${o.id} — ${o.detail}\n`);
|
|
70
|
+
}
|
|
71
|
+
process.stdout.write("\n");
|
|
72
|
+
const failed = result.outcomes.filter((o) => o.status === "failed").length;
|
|
73
|
+
if (result.newPin !== null) {
|
|
74
|
+
process.stdout.write(` Pin advanced to ${result.newPin}.\n`);
|
|
75
|
+
}
|
|
76
|
+
if (result.pendingReview.length > 0) {
|
|
77
|
+
process.stdout.write(` ${result.pendingReview.length} review migration(s) need confirmation — re-run with \`cairn migrate --all\`.\n`);
|
|
78
|
+
}
|
|
79
|
+
if (failed > 0) {
|
|
80
|
+
process.stdout.write(` ${failed} migration(s) failed — state left at last good.\n`);
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
process.exit(0);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/sensor-run.d.ts
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `cairn sensor-run` —
|
|
3
|
-
* commit-msg).
|
|
2
|
+
* `cairn sensor-run` — the live sensor gate. Invoked by the cairn git hooks
|
|
3
|
+
* (pre-commit, commit-msg) and by CI.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
5
|
+
* Modes:
|
|
6
|
+
* --staged pre-commit. Runs the component-registry check + the
|
|
7
|
+
* sensor sweep (Layer A stub catalog, Layer C
|
|
8
|
+
* structural, decision-assertions) over the STAGED
|
|
9
|
+
* tree. Blocks the commit (exit 1) on any hard
|
|
10
|
+
* finding; soft findings print as warnings.
|
|
11
|
+
* --diff <range> CI. Runs the same sweep over a committed range
|
|
12
|
+
* (e.g. `origin/main..HEAD`). Report-only unless
|
|
13
|
+
* `--strict` is also passed.
|
|
14
|
+
* --strict with --diff: exit 1 on any hard finding.
|
|
15
|
+
* --commit-msg <path> commit-msg hook. There are no commit-message
|
|
16
|
+
* sensors by design, so this is an intentional clean
|
|
17
|
+
* pass (kept so already-installed hooks don't error).
|
|
11
18
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* Exits 0 on a clean tree or a repo with no component config; exits 1 only on
|
|
16
|
-
* a hard component finding.
|
|
19
|
+
* Exits 0 on a clean tree or a repo with no component config. Exits 1 only on
|
|
20
|
+
* a hard finding (component or sensor) at a blocking gate.
|
|
17
21
|
*/
|
|
18
22
|
export declare function sensorRunCli(argv: string[]): Promise<void>;
|
package/dist/cli/sensor-run.js
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `cairn sensor-run` —
|
|
3
|
-
* commit-msg).
|
|
2
|
+
* `cairn sensor-run` — the live sensor gate. Invoked by the cairn git hooks
|
|
3
|
+
* (pre-commit, commit-msg) and by CI.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
5
|
+
* Modes:
|
|
6
|
+
* --staged pre-commit. Runs the component-registry check + the
|
|
7
|
+
* sensor sweep (Layer A stub catalog, Layer C
|
|
8
|
+
* structural, decision-assertions) over the STAGED
|
|
9
|
+
* tree. Blocks the commit (exit 1) on any hard
|
|
10
|
+
* finding; soft findings print as warnings.
|
|
11
|
+
* --diff <range> CI. Runs the same sweep over a committed range
|
|
12
|
+
* (e.g. `origin/main..HEAD`). Report-only unless
|
|
13
|
+
* `--strict` is also passed.
|
|
14
|
+
* --strict with --diff: exit 1 on any hard finding.
|
|
15
|
+
* --commit-msg <path> commit-msg hook. There are no commit-message
|
|
16
|
+
* sensors by design, so this is an intentional clean
|
|
17
|
+
* pass (kept so already-installed hooks don't error).
|
|
11
18
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* Exits 0 on a clean tree or a repo with no component config; exits 1 only on
|
|
16
|
-
* a hard component finding.
|
|
19
|
+
* Exits 0 on a clean tree or a repo with no component config. Exits 1 only on
|
|
20
|
+
* a hard finding (component or sensor) at a blocking gate.
|
|
17
21
|
*/
|
|
18
22
|
import { execFileSync } from "node:child_process";
|
|
19
23
|
import { existsSync } from "node:fs";
|
|
20
24
|
import { join, resolve } from "node:path";
|
|
21
|
-
import { runComponentCheck } from "@isaacriehm/cairn-core";
|
|
25
|
+
import { getRangeDiff, getStagedDiff, runComponentCheck, runSensorsOnDiff, } from "@isaacriehm/cairn-core";
|
|
22
26
|
function findRepoRoot(start) {
|
|
23
27
|
let cur = resolve(start);
|
|
24
28
|
for (let i = 0; i < 80; i++) {
|
|
@@ -47,11 +51,24 @@ function stagedFiles(repoRoot) {
|
|
|
47
51
|
function parseFlags(argv) {
|
|
48
52
|
let trigger = null;
|
|
49
53
|
let commitMsgPath = null;
|
|
54
|
+
let diffRange = null;
|
|
55
|
+
let strict = false;
|
|
50
56
|
for (let i = 0; i < argv.length; i++) {
|
|
51
57
|
const a = argv[i];
|
|
52
58
|
if (a === "--staged") {
|
|
53
59
|
trigger = "pre-commit";
|
|
54
60
|
}
|
|
61
|
+
else if (a === "--strict") {
|
|
62
|
+
strict = true;
|
|
63
|
+
}
|
|
64
|
+
else if (a === "--diff") {
|
|
65
|
+
trigger = "diff";
|
|
66
|
+
const next = argv[i + 1];
|
|
67
|
+
if (typeof next === "string" && !next.startsWith("--")) {
|
|
68
|
+
diffRange = next;
|
|
69
|
+
i += 1;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
55
72
|
else if (a === "--commit-msg") {
|
|
56
73
|
trigger = "commit-msg";
|
|
57
74
|
const next = argv[i + 1];
|
|
@@ -63,13 +80,22 @@ function parseFlags(argv) {
|
|
|
63
80
|
}
|
|
64
81
|
if (trigger === null)
|
|
65
82
|
return null;
|
|
66
|
-
return { trigger, commitMsgPath };
|
|
83
|
+
return { trigger, commitMsgPath, diffRange, strict };
|
|
84
|
+
}
|
|
85
|
+
/** Print every sensor finding, ERROR for hard / WARN for soft. */
|
|
86
|
+
function printFindings(sweep) {
|
|
87
|
+
for (const r of sweep.results) {
|
|
88
|
+
for (const f of r.findings) {
|
|
89
|
+
const tag = f.severity === "hard" ? "ERROR" : "WARN ";
|
|
90
|
+
console.error(`${tag} ${f.sensor_id}: ${f.message}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
67
93
|
}
|
|
68
94
|
export async function sensorRunCli(argv) {
|
|
69
95
|
const flags = parseFlags(argv);
|
|
70
96
|
if (flags === null) {
|
|
71
|
-
console.error("Usage: cairn sensor-run --staged | --commit-msg <path>\n" +
|
|
72
|
-
"Invoked by the cairn pre-commit / commit-msg git hooks.");
|
|
97
|
+
console.error("Usage: cairn sensor-run --staged | --diff <range> [--strict] | --commit-msg <path>\n" +
|
|
98
|
+
"Invoked by the cairn pre-commit / commit-msg git hooks and by CI.");
|
|
73
99
|
process.exit(2);
|
|
74
100
|
}
|
|
75
101
|
const repoRoot = findRepoRoot(process.cwd());
|
|
@@ -77,27 +103,45 @@ export async function sensorRunCli(argv) {
|
|
|
77
103
|
// Not a cairn-adopted repo — hooks call us defensively, exit clean.
|
|
78
104
|
process.exit(0);
|
|
79
105
|
}
|
|
80
|
-
// commit-msg
|
|
106
|
+
// commit-msg: no commit-message sensors by design — clean pass.
|
|
81
107
|
if (flags.trigger === "commit-msg") {
|
|
82
108
|
process.exit(0);
|
|
83
109
|
}
|
|
84
|
-
// ──
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
110
|
+
// ── CI diff sweep ─────────────────────────────────────────────────────
|
|
111
|
+
if (flags.trigger === "diff") {
|
|
112
|
+
const range = flags.diffRange ?? "origin/main..HEAD";
|
|
113
|
+
const diff = await getRangeDiff(repoRoot, range);
|
|
114
|
+
const sweep = await runSensorsOnDiff({ repoRoot, diff, runId: `ci:${range}` });
|
|
115
|
+
printFindings(sweep);
|
|
116
|
+
if (sweep.hard_failures > 0 && flags.strict) {
|
|
117
|
+
console.error(`\nCairn sensor sweep FAILED — ${sweep.hard_failures} hard finding(s) over ${range}.`);
|
|
118
|
+
process.exit(1);
|
|
119
|
+
}
|
|
88
120
|
process.exit(0);
|
|
89
121
|
}
|
|
90
|
-
|
|
122
|
+
// ── pre-commit: component check + sensor sweep on the staged tree ──────
|
|
123
|
+
const staged = stagedFiles(repoRoot);
|
|
124
|
+
const componentResult = runComponentCheck(repoRoot, { files: staged });
|
|
125
|
+
let hardFailures = componentResult.hardFailures;
|
|
126
|
+
for (const f of componentResult.findings) {
|
|
91
127
|
const tag = f.severity === "hard" ? "ERROR" : "WARN ";
|
|
92
128
|
console.error(`${tag} component: ${f.message}`);
|
|
93
129
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
130
|
+
const stagedDiff = await getStagedDiff(repoRoot);
|
|
131
|
+
const sweep = await runSensorsOnDiff({
|
|
132
|
+
repoRoot,
|
|
133
|
+
diff: stagedDiff,
|
|
134
|
+
runId: "pre-commit",
|
|
135
|
+
});
|
|
136
|
+
printFindings(sweep);
|
|
137
|
+
hardFailures += sweep.hard_failures;
|
|
138
|
+
if (hardFailures > 0) {
|
|
139
|
+
console.error(`\nCairn pre-commit gate FAILED — ${hardFailures} hard finding(s). ` +
|
|
140
|
+
"Fix them, then re-commit (or `git commit --no-verify` to bypass; " +
|
|
97
141
|
"the bypass is flagged at the next session and caught by CI).");
|
|
98
142
|
process.exit(1);
|
|
99
143
|
}
|
|
100
|
-
// soft-only —
|
|
144
|
+
// soft-only — surfaced as warnings above, don't block.
|
|
101
145
|
process.exit(0);
|
|
102
146
|
}
|
|
103
147
|
//# sourceMappingURL=sensor-run.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sensor-run.js","sourceRoot":"","sources":["../../src/cli/sensor-run.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sensor-run.js","sourceRoot":"","sources":["../../src/cli/sensor-run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAIhC,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,SAAS,WAAW,CAAC,QAAgB;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CACtB,KAAK,EACL,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAC/D,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAC/C,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,GAAG;aACP,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAMhC,IAAI,OAAO,GAAmB,IAAI,CAAC;IACnC,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACrB,OAAO,GAAG,YAAY,CAAC;QACzB,CAAC;aAAM,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,GAAG,MAAM,CAAC;YACjB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,SAAS,GAAG,IAAI,CAAC;gBACjB,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YAChC,OAAO,GAAG,YAAY,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,aAAa,GAAG,IAAI,CAAC;gBACrB,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,kEAAkE;AAClE,SAAS,aAAa,CAAC,KAAwB;IAC7C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAc;IAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CACX,sFAAsF;YACpF,mEAAmE,CACtE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,oEAAoE;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gEAAgE;IAChE,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,yEAAyE;IACzE,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,mBAAmB,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/E,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CACX,iCAAiC,KAAK,CAAC,aAAa,yBAAyB,KAAK,GAAG,CACtF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,0EAA0E;IAC1E,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvE,IAAI,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;QACnC,QAAQ;QACR,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IACH,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,YAAY,IAAI,KAAK,CAAC,aAAa,CAAC;IAEpC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CACX,oCAAoC,YAAY,oBAAoB;YAClE,mEAAmE;YACnE,8DAA8D,CACjE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uDAAuD;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@isaacriehm/cairn",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "Cairn — state + context-loading layer for AI coding agents.",
|
|
5
5
|
"author": "Isaac Riehm",
|
|
6
6
|
"license": "MIT",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"simple-git": "^3.36.0",
|
|
39
39
|
"yaml": "^2.9.0",
|
|
40
|
-
"@isaacriehm/cairn-core": "0.
|
|
40
|
+
"@isaacriehm/cairn-core": "0.21.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/node": "^25.9.2",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"scripts": {
|
|
49
49
|
"build": "tsc -b",
|
|
50
|
-
"typecheck": "tsc -b
|
|
50
|
+
"typecheck": "tsc -b",
|
|
51
51
|
"clean": "rm -rf dist *.tsbuildinfo",
|
|
52
52
|
"dev": "tsx src/cli/index.ts",
|
|
53
53
|
"check:layout": "tsx scripts/check-layout.ts",
|
|
@@ -57,6 +57,9 @@
|
|
|
57
57
|
"smoke:status-line": "tsx scripts/smoke-status-line.ts",
|
|
58
58
|
"smoke:handoff": "tsx scripts/smoke-handoff.ts",
|
|
59
59
|
"smoke:scope-index": "tsx scripts/smoke-scope-index.ts",
|
|
60
|
+
"smoke:config-globs": "tsx scripts/smoke-config-globs.ts",
|
|
61
|
+
"smoke:sensor-gate": "tsx scripts/smoke-sensor-gate.ts",
|
|
62
|
+
"smoke:migrate": "tsx scripts/smoke-migrate.ts",
|
|
60
63
|
"smoke:read-enrich": "tsx scripts/smoke-read-enrich.ts",
|
|
61
64
|
"smoke:ingestion-baseline": "tsx scripts/smoke-ingestion-baseline.ts",
|
|
62
65
|
"smoke:lock": "tsx scripts/smoke-lock.ts",
|
|
@@ -81,9 +84,7 @@
|
|
|
81
84
|
"smoke:phase-ready-surface": "tsx scripts/smoke-phase-ready-surface.ts",
|
|
82
85
|
"smoke:mission-phase-brief": "tsx scripts/smoke-mission-phase-brief.ts",
|
|
83
86
|
"smoke:id-content-addressed": "tsx scripts/smoke-id-content-addressed.ts",
|
|
84
|
-
"smoke:attention-serve": "tsx scripts/smoke-attention-serve.ts",
|
|
85
87
|
"smoke:topic-index": "tsx scripts/smoke-topic-index.ts",
|
|
86
|
-
"smoke:propose-decision": "tsx scripts/smoke-propose-decision.ts",
|
|
87
88
|
"smoke:tag-cli": "tsx scripts/smoke-tag-cli.ts",
|
|
88
89
|
"smoke:llm-prompt-eval": "tsx scripts/smoke-llm-prompt-eval.ts",
|
|
89
90
|
"smoke:llm-detect-components": "tsx scripts/smoke-llm-detect-components.ts",
|
|
@@ -105,7 +106,8 @@
|
|
|
105
106
|
"smoke:rebuild-derived": "tsx scripts/smoke-rebuild-derived.ts",
|
|
106
107
|
"smoke:claude-rule-import": "tsx scripts/smoke-claude-rule-import.ts",
|
|
107
108
|
"smoke:components": "tsx scripts/smoke-components.ts",
|
|
108
|
-
"
|
|
109
|
+
"smoke:units-multilang": "tsx scripts/smoke-units-multilang.ts",
|
|
110
|
+
"smokes": "pnpm smoke:rebuild-derived && pnpm smoke:claude-rule-import && pnpm smoke:components && pnpm smoke:units-multilang && pnpm smoke:plugin-layout && pnpm smoke:resolve-attention && pnpm smoke:stop-hook && pnpm smoke:events && pnpm smoke:session-state && pnpm smoke:status-line && pnpm smoke:session-start && pnpm smoke:handoff && pnpm smoke:scope-index && pnpm smoke:config-globs && pnpm smoke:sensor-gate && pnpm smoke:migrate && pnpm smoke:read-enrich && pnpm smoke:init && pnpm smoke:ingestion-baseline && pnpm smoke:gc && pnpm smoke:lock && pnpm smoke:source-comments && pnpm smoke:rules-merge && pnpm smoke:join && pnpm smoke:bypass-detection && pnpm smoke:bootstrap-guard && pnpm smoke:e2e-adoption && pnpm smoke:e2e-daily-flow && pnpm smoke:plugin-bundle && pnpm smoke:init-phases-state && pnpm smoke:init-phases-all && pnpm smoke:init-mcp-tools && pnpm smoke:init-progress-heartbeat && pnpm smoke:stop-debounce && pnpm smoke:phase-ready-surface && pnpm smoke:mission-phase-brief && pnpm smoke:curator-validate && pnpm smoke:essay-shape-detector && pnpm smoke:entity-orphan && pnpm smoke:repo-root-anchor && pnpm smoke:bug-mine-0.13.3 && pnpm smoke:bug-mine-0.13.5 && pnpm smoke:bug-mine-0.13.8 && pnpm smoke:bug-mine-0.13.10",
|
|
109
111
|
"smokes:all": "pnpm run \"/^smoke:/\""
|
|
110
112
|
}
|
|
111
113
|
}
|