@isaacriehm/cairn-core 0.22.5 → 0.23.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/attention/index.d.ts +0 -1
- package/dist/attention/index.js +0 -1
- package/dist/attention/index.js.map +1 -1
- package/dist/cites/expand.d.ts +75 -0
- package/dist/cites/expand.js +197 -0
- package/dist/cites/expand.js.map +1 -0
- package/dist/doctor/index.d.ts +10 -4
- package/dist/doctor/index.js +25 -97
- package/dist/doctor/index.js.map +1 -1
- package/dist/gc/apply.d.ts +1 -1
- package/dist/gc/apply.js +1 -1
- package/dist/gc/classify.d.ts +4 -8
- package/dist/gc/classify.js +6 -12
- package/dist/gc/classify.js.map +1 -1
- package/dist/gc/completion-integrity.d.ts +0 -1
- package/dist/gc/completion-integrity.js +0 -6
- package/dist/gc/completion-integrity.js.map +1 -1
- package/dist/gc/index.d.ts +1 -1
- package/dist/gc/index.js +1 -1
- package/dist/gc/sweep.d.ts +1 -3
- package/dist/gc/sweep.js +2 -7
- package/dist/gc/sweep.js.map +1 -1
- package/dist/gc/types.d.ts +5 -6
- package/dist/gc/types.js +4 -5
- package/dist/gc/types.js.map +1 -1
- package/dist/hooks/post-tool-use/index.d.ts +1 -1
- package/dist/hooks/post-tool-use/index.js +1 -1
- package/dist/hooks/post-tool-use/index.js.map +1 -1
- package/dist/hooks/post-tool-use/sot-align.js +52 -21
- package/dist/hooks/post-tool-use/sot-align.js.map +1 -1
- package/dist/hooks/sot-align-common.d.ts +13 -0
- package/dist/hooks/sot-align-common.js +69 -0
- package/dist/hooks/sot-align-common.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/init/baseline-audit.js +3 -16
- package/dist/init/baseline-audit.js.map +1 -1
- package/dist/init/claude-rule.d.ts +1 -0
- package/dist/init/claude-rule.js +1 -1
- package/dist/init/claude-rule.js.map +1 -1
- package/dist/init/index.d.ts +0 -2
- package/dist/init/index.js +0 -1
- package/dist/init/index.js.map +1 -1
- package/dist/init/init.d.ts +2 -2
- package/dist/init/init.js +12 -27
- package/dist/init/init.js.map +1 -1
- package/dist/init/mapper-merge.d.ts +1 -4
- package/dist/init/mapper-merge.js +6 -22
- package/dist/init/mapper-merge.js.map +1 -1
- package/dist/init/mapper-parallel.d.ts +0 -4
- package/dist/init/mapper-parallel.js +3 -69
- package/dist/init/mapper-parallel.js.map +1 -1
- package/dist/init/mapper-prompts.d.ts +1 -25
- package/dist/init/mapper-prompts.js +2 -20
- package/dist/init/mapper-prompts.js.map +1 -1
- package/dist/init/mapper.d.ts +0 -4
- package/dist/init/mapper.js +2 -9
- package/dist/init/mapper.js.map +1 -1
- package/dist/init/overlay.js +6 -8
- package/dist/init/overlay.js.map +1 -1
- package/dist/init/phases/11-baseline.js +0 -10
- package/dist/init/phases/11-baseline.js.map +1 -1
- package/dist/init/phases/4-seed.js +0 -4
- package/dist/init/phases/4-seed.js.map +1 -1
- package/dist/init/source-comments/ingest.d.ts +0 -8
- package/dist/init/source-comments/ingest.js +11 -8
- package/dist/init/source-comments/ingest.js.map +1 -1
- package/dist/init/walker.d.ts +2 -3
- package/dist/init/walker.js +2 -3
- package/dist/init/walker.js.map +1 -1
- package/dist/init/workflow-block.d.ts +0 -4
- package/dist/init/workflow-block.js +0 -16
- package/dist/init/workflow-block.js.map +1 -1
- package/dist/invariants/prune.d.ts +50 -0
- package/dist/invariants/prune.js +113 -0
- package/dist/invariants/prune.js.map +1 -0
- package/dist/mcp/schemas.d.ts +8 -8
- package/dist/mcp/tools/mission-set-exit-gate.d.ts +1 -1
- package/dist/migrate/migrations/0004-drop-glob-settings.d.ts +16 -0
- package/dist/migrate/migrations/0004-drop-glob-settings.js +34 -0
- package/dist/migrate/migrations/0004-drop-glob-settings.js.map +1 -0
- package/dist/migrate/registry.js +2 -0
- package/dist/migrate/registry.js.map +1 -1
- package/dist/profiles/types.d.ts +0 -2
- package/dist/profiles/unknown.d.ts +2 -2
- package/dist/profiles/unknown.js +2 -3
- package/dist/profiles/unknown.js.map +1 -1
- package/dist/sensors/diff.d.ts +1 -1
- package/dist/sensors/diff.js +1 -1
- package/dist/sensors/index.d.ts +2 -3
- package/dist/sensors/index.js +1 -2
- package/dist/sensors/index.js.map +1 -1
- package/dist/sensors/runner.d.ts +7 -10
- package/dist/sensors/runner.js +6 -39
- package/dist/sensors/runner.js.map +1 -1
- package/dist/sensors/types.d.ts +0 -13
- package/dist/uninstall/index.d.ts +44 -0
- package/dist/uninstall/index.js +185 -0
- package/dist/uninstall/index.js.map +1 -0
- package/package.json +2 -2
- package/templates/.cairn/config/sensors.yaml +12 -91
- package/templates/.cairn/config/workflow.md +2 -5
- package/dist/attention/scoring.d.ts +0 -47
- package/dist/attention/scoring.js +0 -87
- package/dist/attention/scoring.js.map +0 -1
- package/dist/hooks/read-enrich.d.ts +0 -6
- package/dist/hooks/read-enrich.js +0 -11
- package/dist/hooks/read-enrich.js.map +0 -1
- package/dist/hooks/write-guard.d.ts +0 -6
- package/dist/hooks/write-guard.js +0 -11
- package/dist/hooks/write-guard.js.map +0 -1
- package/dist/init/glob-inference.d.ts +0 -16
- package/dist/init/glob-inference.js +0 -132
- package/dist/init/glob-inference.js.map +0 -1
- package/dist/init/phases/12-strip.d.ts +0 -10
- package/dist/init/phases/12-strip.js +0 -88
- package/dist/init/phases/12-strip.js.map +0 -1
- package/dist/sensors/structural.d.ts +0 -31
- package/dist/sensors/structural.js +0 -196
- package/dist/sensors/structural.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { scoreDecDraft, scoreInvariant, type DraftConfidence, type DraftScoreInput, } from "./scoring.js";
|
|
2
1
|
export { findDuplicateClusters, DEFAULT_THRESHOLD_DEFINITE, DEFAULT_THRESHOLD_FLOOR, type DraftRef, type DuplicateCluster, type DedupResult, } from "./dedup.js";
|
|
3
2
|
export { parseDraftMeta, findLatestSourceCommentsAudit, runDecSourceStrip, type DraftMeta, type StripOutcomeSummary, } from "./source-strip.js";
|
|
4
3
|
export { restoreDec, type RestoreArgs, type RestoreResult, type RestoreState, } from "./restore.js";
|
package/dist/attention/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { scoreDecDraft, scoreInvariant, } from "./scoring.js";
|
|
2
1
|
export { findDuplicateClusters, DEFAULT_THRESHOLD_DEFINITE, DEFAULT_THRESHOLD_FLOOR, } from "./dedup.js";
|
|
3
2
|
export { parseDraftMeta, findLatestSourceCommentsAudit, runDecSourceStrip, } from "./source-strip.js";
|
|
4
3
|
export { restoreDec, } from "./restore.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/attention/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/attention/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,GAIxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,cAAc,EACd,6BAA6B,EAC7B,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,UAAU,GAIX,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline cite expander — the inverse of sot-align's strip-replace.
|
|
3
|
+
*
|
|
4
|
+
* sot-align replaces a prose block with a bare `// §DEC-<hash>` /
|
|
5
|
+
* `// §INV-<hash>` citation. This expands such a citation back into the
|
|
6
|
+
* entity's body, rendered as a plain comment in the file's own comment
|
|
7
|
+
* style. Two uses:
|
|
8
|
+
*
|
|
9
|
+
* 1. Uninstall — un-cite a repo so removing `.cairn/` leaves the source
|
|
10
|
+
* self-documenting, with no dangling `§DEC-/§INV-` references.
|
|
11
|
+
* 2. General "expand cites" tooling.
|
|
12
|
+
*
|
|
13
|
+
* Only a PURE cite line — one whose entire content (after the comment
|
|
14
|
+
* leader) is citation tokens — is expanded. A citation that shares a line
|
|
15
|
+
* with code is left untouched (counted as `inlineSkipped`); a citation
|
|
16
|
+
* whose entity is missing on disk is left as-is (`danglingSkipped`).
|
|
17
|
+
*/
|
|
18
|
+
export interface ExpandResult {
|
|
19
|
+
text: string;
|
|
20
|
+
/** Citations replaced with their entity body. */
|
|
21
|
+
expanded: number;
|
|
22
|
+
/** Citation ids with no entity on disk — left in place. */
|
|
23
|
+
danglingSkipped: number;
|
|
24
|
+
/** Citations sharing a line with code — left in place. */
|
|
25
|
+
inlineSkipped: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Pure transform: expand every pure-cite line in `text`. `resolve` returns
|
|
29
|
+
* an entity body (post-frontmatter) by id, or null when it doesn't exist.
|
|
30
|
+
*/
|
|
31
|
+
export declare function expandCitesInText(text: string, resolve: (id: string) => string | null): ExpandResult;
|
|
32
|
+
export interface ExpandCitesFileOptions {
|
|
33
|
+
repoRoot: string;
|
|
34
|
+
/** Repo-relative path. */
|
|
35
|
+
filePath: string;
|
|
36
|
+
/** When true, compute the result but don't write. */
|
|
37
|
+
dryRun?: boolean;
|
|
38
|
+
}
|
|
39
|
+
export interface ExpandCitesFileResult extends ExpandResult {
|
|
40
|
+
filePath: string;
|
|
41
|
+
changed: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Expand every pure-cite line in one source file, resolving ids against the
|
|
45
|
+
* live `.cairn/ground/{decisions,invariants}/` store. Writes in place unless
|
|
46
|
+
* `dryRun`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function expandCitesInFile(opts: ExpandCitesFileOptions): ExpandCitesFileResult;
|
|
49
|
+
/**
|
|
50
|
+
* Walk the working tree for files that contain a `§DEC-/§INV-` token. The
|
|
51
|
+
* source of truth for un-citing is the source itself, NOT the scope-index —
|
|
52
|
+
* a stale/missing scope-index would silently leave dangling cites behind.
|
|
53
|
+
*/
|
|
54
|
+
export declare function findCitedFiles(repoRoot: string): string[];
|
|
55
|
+
export interface ExpandCitesRepoOptions {
|
|
56
|
+
repoRoot: string;
|
|
57
|
+
/**
|
|
58
|
+
* Explicit repo-relative files to expand. When omitted, the working tree
|
|
59
|
+
* is scanned for every file carrying a `§DEC-/§INV-` token.
|
|
60
|
+
*/
|
|
61
|
+
files?: string[];
|
|
62
|
+
dryRun?: boolean;
|
|
63
|
+
}
|
|
64
|
+
export interface ExpandCitesRepoResult {
|
|
65
|
+
files: ExpandCitesFileResult[];
|
|
66
|
+
filesChanged: number;
|
|
67
|
+
expanded: number;
|
|
68
|
+
danglingSkipped: number;
|
|
69
|
+
inlineSkipped: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Expand cites across many files. Defaults to the scope-index's cited-file
|
|
73
|
+
* set; pass `files` to target a subset (or when the scope-index is absent).
|
|
74
|
+
*/
|
|
75
|
+
export declare function expandCitesInRepo(opts: ExpandCitesRepoOptions): ExpandCitesRepoResult;
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline cite expander — the inverse of sot-align's strip-replace.
|
|
3
|
+
*
|
|
4
|
+
* sot-align replaces a prose block with a bare `// §DEC-<hash>` /
|
|
5
|
+
* `// §INV-<hash>` citation. This expands such a citation back into the
|
|
6
|
+
* entity's body, rendered as a plain comment in the file's own comment
|
|
7
|
+
* style. Two uses:
|
|
8
|
+
*
|
|
9
|
+
* 1. Uninstall — un-cite a repo so removing `.cairn/` leaves the source
|
|
10
|
+
* self-documenting, with no dangling `§DEC-/§INV-` references.
|
|
11
|
+
* 2. General "expand cites" tooling.
|
|
12
|
+
*
|
|
13
|
+
* Only a PURE cite line — one whose entire content (after the comment
|
|
14
|
+
* leader) is citation tokens — is expanded. A citation that shares a line
|
|
15
|
+
* with code is left untouched (counted as `inlineSkipped`); a citation
|
|
16
|
+
* whose entity is missing on disk is left as-is (`danglingSkipped`).
|
|
17
|
+
*/
|
|
18
|
+
import { existsSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
|
|
19
|
+
import { join } from "node:path";
|
|
20
|
+
import { readEntityBody } from "../hooks/sot-align-common.js";
|
|
21
|
+
const CITE_RE = /§(DEC|INV)-([0-9a-f]{7,})/g;
|
|
22
|
+
/** A line that, with all cite tokens removed, is only indent + comment leader. */
|
|
23
|
+
const PURE_CITE_LEADER_RE = /^(\s*)(\/\/+|#+|;+|--+|\*)?\s*$/;
|
|
24
|
+
/**
|
|
25
|
+
* Pure transform: expand every pure-cite line in `text`. `resolve` returns
|
|
26
|
+
* an entity body (post-frontmatter) by id, or null when it doesn't exist.
|
|
27
|
+
*/
|
|
28
|
+
export function expandCitesInText(text, resolve) {
|
|
29
|
+
let expanded = 0;
|
|
30
|
+
let danglingSkipped = 0;
|
|
31
|
+
let inlineSkipped = 0;
|
|
32
|
+
const eol = text.includes("\r\n") ? "\r\n" : "\n";
|
|
33
|
+
const lines = text.split(/\r?\n/);
|
|
34
|
+
const out = [];
|
|
35
|
+
for (const line of lines) {
|
|
36
|
+
const cites = [...line.matchAll(CITE_RE)];
|
|
37
|
+
if (cites.length === 0) {
|
|
38
|
+
out.push(line);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const stripped = line.replace(CITE_RE, "").replace(/\s+$/, "");
|
|
42
|
+
const leaderMatch = stripped.match(PURE_CITE_LEADER_RE);
|
|
43
|
+
if (leaderMatch === null) {
|
|
44
|
+
// Citation shares the line with code — don't touch it.
|
|
45
|
+
inlineSkipped += cites.length;
|
|
46
|
+
out.push(line);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const indent = leaderMatch[1] ?? "";
|
|
50
|
+
const leader = leaderMatch[2] ?? "//";
|
|
51
|
+
const replacement = [];
|
|
52
|
+
let expandedAny = false;
|
|
53
|
+
cites.forEach((m, idx) => {
|
|
54
|
+
const id = `${m[1]}-${m[2]}`;
|
|
55
|
+
const body = resolve(id);
|
|
56
|
+
if (body === null) {
|
|
57
|
+
danglingSkipped += 1;
|
|
58
|
+
replacement.push(`${indent}${leader} §${id}`); // keep dangling cite verbatim
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (expandedAny)
|
|
62
|
+
replacement.push(`${indent}${leader}`); // separator between bodies
|
|
63
|
+
for (const bl of body.split(/\r?\n/)) {
|
|
64
|
+
replacement.push(bl.length > 0 ? `${indent}${leader} ${bl}` : `${indent}${leader}`);
|
|
65
|
+
}
|
|
66
|
+
expanded += 1;
|
|
67
|
+
expandedAny = true;
|
|
68
|
+
void idx;
|
|
69
|
+
});
|
|
70
|
+
out.push(...replacement);
|
|
71
|
+
}
|
|
72
|
+
return { text: out.join(eol), expanded, danglingSkipped, inlineSkipped };
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Expand every pure-cite line in one source file, resolving ids against the
|
|
76
|
+
* live `.cairn/ground/{decisions,invariants}/` store. Writes in place unless
|
|
77
|
+
* `dryRun`.
|
|
78
|
+
*/
|
|
79
|
+
export function expandCitesInFile(opts) {
|
|
80
|
+
const abs = join(opts.repoRoot, opts.filePath);
|
|
81
|
+
const empty = {
|
|
82
|
+
filePath: opts.filePath,
|
|
83
|
+
text: "",
|
|
84
|
+
expanded: 0,
|
|
85
|
+
danglingSkipped: 0,
|
|
86
|
+
inlineSkipped: 0,
|
|
87
|
+
changed: false,
|
|
88
|
+
};
|
|
89
|
+
if (!existsSync(abs))
|
|
90
|
+
return empty;
|
|
91
|
+
let source;
|
|
92
|
+
try {
|
|
93
|
+
source = readFileSync(abs, "utf8");
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return empty;
|
|
97
|
+
}
|
|
98
|
+
const result = expandCitesInText(source, (id) => readEntityBody(opts.repoRoot, id));
|
|
99
|
+
const changed = result.text !== source;
|
|
100
|
+
if (changed && opts.dryRun !== true) {
|
|
101
|
+
writeFileSync(abs, result.text, "utf8");
|
|
102
|
+
}
|
|
103
|
+
return { ...result, filePath: opts.filePath, changed };
|
|
104
|
+
}
|
|
105
|
+
/** Dirs the cited-file scan never descends into. */
|
|
106
|
+
const SCAN_SKIP_DIRS = new Set([
|
|
107
|
+
".git",
|
|
108
|
+
".cairn",
|
|
109
|
+
"node_modules",
|
|
110
|
+
"dist",
|
|
111
|
+
"build",
|
|
112
|
+
"out",
|
|
113
|
+
"coverage",
|
|
114
|
+
".next",
|
|
115
|
+
".turbo",
|
|
116
|
+
".vercel",
|
|
117
|
+
]);
|
|
118
|
+
const CITE_SCAN_RE = /§(?:DEC|INV)-[0-9a-f]{7,}/;
|
|
119
|
+
const SCAN_SKIP_EXT = new Set([
|
|
120
|
+
".png", ".jpg", ".jpeg", ".gif", ".webp", ".ico", ".pdf", ".zip", ".gz",
|
|
121
|
+
".woff", ".woff2", ".ttf", ".eot", ".mp4", ".mov", ".wasm", ".lock", ".map",
|
|
122
|
+
]);
|
|
123
|
+
const SCAN_MAX_BYTES = 2_000_000;
|
|
124
|
+
/**
|
|
125
|
+
* Walk the working tree for files that contain a `§DEC-/§INV-` token. The
|
|
126
|
+
* source of truth for un-citing is the source itself, NOT the scope-index —
|
|
127
|
+
* a stale/missing scope-index would silently leave dangling cites behind.
|
|
128
|
+
*/
|
|
129
|
+
export function findCitedFiles(repoRoot) {
|
|
130
|
+
const out = [];
|
|
131
|
+
const walk = (absDir, relDir) => {
|
|
132
|
+
let entries;
|
|
133
|
+
try {
|
|
134
|
+
entries = readdirSync(absDir, { withFileTypes: true });
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
for (const e of entries) {
|
|
140
|
+
const rel = relDir.length > 0 ? `${relDir}/${e.name}` : e.name;
|
|
141
|
+
if (e.isDirectory()) {
|
|
142
|
+
if (SCAN_SKIP_DIRS.has(e.name))
|
|
143
|
+
continue;
|
|
144
|
+
walk(join(absDir, e.name), rel);
|
|
145
|
+
}
|
|
146
|
+
else if (e.isFile()) {
|
|
147
|
+
const dot = e.name.lastIndexOf(".");
|
|
148
|
+
if (dot !== -1 && SCAN_SKIP_EXT.has(e.name.slice(dot).toLowerCase()))
|
|
149
|
+
continue;
|
|
150
|
+
const abs = join(absDir, e.name);
|
|
151
|
+
try {
|
|
152
|
+
if (statSync(abs).size > SCAN_MAX_BYTES)
|
|
153
|
+
continue;
|
|
154
|
+
if (CITE_SCAN_RE.test(readFileSync(abs, "utf8")))
|
|
155
|
+
out.push(rel);
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
/* unreadable — skip */
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
walk(repoRoot, "");
|
|
164
|
+
return out;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Expand cites across many files. Defaults to the scope-index's cited-file
|
|
168
|
+
* set; pass `files` to target a subset (or when the scope-index is absent).
|
|
169
|
+
*/
|
|
170
|
+
export function expandCitesInRepo(opts) {
|
|
171
|
+
const targets = opts.files ?? findCitedFiles(opts.repoRoot);
|
|
172
|
+
const out = {
|
|
173
|
+
files: [],
|
|
174
|
+
filesChanged: 0,
|
|
175
|
+
expanded: 0,
|
|
176
|
+
danglingSkipped: 0,
|
|
177
|
+
inlineSkipped: 0,
|
|
178
|
+
};
|
|
179
|
+
for (const filePath of targets) {
|
|
180
|
+
const r = expandCitesInFile({
|
|
181
|
+
repoRoot: opts.repoRoot,
|
|
182
|
+
filePath,
|
|
183
|
+
...(opts.dryRun !== undefined ? { dryRun: opts.dryRun } : {}),
|
|
184
|
+
});
|
|
185
|
+
if (r.expanded === 0 && r.danglingSkipped === 0 && r.inlineSkipped === 0) {
|
|
186
|
+
continue; // no cites in this file
|
|
187
|
+
}
|
|
188
|
+
out.files.push(r);
|
|
189
|
+
if (r.changed)
|
|
190
|
+
out.filesChanged += 1;
|
|
191
|
+
out.expanded += r.expanded;
|
|
192
|
+
out.danglingSkipped += r.danglingSkipped;
|
|
193
|
+
out.inlineSkipped += r.inlineSkipped;
|
|
194
|
+
}
|
|
195
|
+
return out;
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=expand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand.js","sourceRoot":"","sources":["../../src/cites/expand.ts"],"names":[],"mappings":"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"}
|
package/dist/doctor/index.d.ts
CHANGED
|
@@ -2,10 +2,16 @@
|
|
|
2
2
|
* `cairn doctor` — verify the adoption is healthy.
|
|
3
3
|
*
|
|
4
4
|
* Pure filesystem reads + a status.json check. No LLM. No subprocess fan-out.
|
|
5
|
-
* Returns a structured `DoctorReport` the CLI renders.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* Returns a structured `DoctorReport` the CLI renders.
|
|
6
|
+
*
|
|
7
|
+
* Status semantics:
|
|
8
|
+
* error — broken adoption; the CLI exits 1.
|
|
9
|
+
* warn — advisory; the CLI prints it but exits 0 (use `--strict` to fail).
|
|
10
|
+
* info — expected/benign state, never counted toward warnings. Used for an
|
|
11
|
+
* ABSENT rebuildable cache (scope-index, *.ledger): those are
|
|
12
|
+
* gitignored by design, so a clean checkout legitimately lacks them.
|
|
13
|
+
* Reserve `warn` for a cache that is present-but-broken (empty /
|
|
14
|
+
* unreadable), which is a real problem.
|
|
9
15
|
*/
|
|
10
16
|
export type DoctorStatus = "ok" | "warn" | "error" | "info";
|
|
11
17
|
export interface DoctorCheck {
|
package/dist/doctor/index.js
CHANGED
|
@@ -2,16 +2,22 @@
|
|
|
2
2
|
* `cairn doctor` — verify the adoption is healthy.
|
|
3
3
|
*
|
|
4
4
|
* Pure filesystem reads + a status.json check. No LLM. No subprocess fan-out.
|
|
5
|
-
* Returns a structured `DoctorReport` the CLI renders.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* Returns a structured `DoctorReport` the CLI renders.
|
|
6
|
+
*
|
|
7
|
+
* Status semantics:
|
|
8
|
+
* error — broken adoption; the CLI exits 1.
|
|
9
|
+
* warn — advisory; the CLI prints it but exits 0 (use `--strict` to fail).
|
|
10
|
+
* info — expected/benign state, never counted toward warnings. Used for an
|
|
11
|
+
* ABSENT rebuildable cache (scope-index, *.ledger): those are
|
|
12
|
+
* gitignored by design, so a clean checkout legitimately lacks them.
|
|
13
|
+
* Reserve `warn` for a cache that is present-but-broken (empty /
|
|
14
|
+
* unreadable), which is a real problem.
|
|
9
15
|
*/
|
|
10
16
|
import { existsSync, readFileSync } from "node:fs";
|
|
11
17
|
import { join } from "node:path";
|
|
12
18
|
import { which } from "../sensors/shell.js";
|
|
13
19
|
import { parse as parseYaml } from "yaml";
|
|
14
|
-
import { cairnDir, buildDecisionsLedger, buildInvariantsLedger, hasComponentConfig,
|
|
20
|
+
import { cairnDir, buildDecisionsLedger, buildInvariantsLedger, hasComponentConfig, loadComponentsConfig, } from "@isaacriehm/cairn-state";
|
|
15
21
|
import { runComponentCheck } from "../components/check.js";
|
|
16
22
|
import { semverCmp } from "../migrate/semver.js";
|
|
17
23
|
import { VERSION } from "../index.js";
|
|
@@ -37,7 +43,6 @@ export function runDoctor(opts) {
|
|
|
37
43
|
checks.push(checkCairnVersion(opts.repoRoot));
|
|
38
44
|
// 2. Ground state
|
|
39
45
|
checks.push(checkScopeIndex(opts.repoRoot));
|
|
40
|
-
checks.push(...checkConfigGlobs(opts.repoRoot));
|
|
41
46
|
checks.push(checkLedger(opts.repoRoot, "decisions"));
|
|
42
47
|
checks.push(checkLedger(opts.repoRoot, "invariants"));
|
|
43
48
|
// 3. Sensors
|
|
@@ -154,11 +159,12 @@ function checkWorkflowMd(repoRoot) {
|
|
|
154
159
|
function checkScopeIndex(repoRoot) {
|
|
155
160
|
const path = cairnDir(repoRoot, "ground", "scope-index.yaml");
|
|
156
161
|
if (!existsSync(path)) {
|
|
162
|
+
// Rebuildable, gitignored cache — absent on a clean checkout is benign.
|
|
157
163
|
return {
|
|
158
164
|
group: "ground",
|
|
159
165
|
label: "scope-index",
|
|
160
|
-
status: "
|
|
161
|
-
detail: "
|
|
166
|
+
status: "info",
|
|
167
|
+
detail: "absent (rebuildable) — run cairn scope rebuild to populate",
|
|
162
168
|
fixCommand: "cairn scope rebuild",
|
|
163
169
|
};
|
|
164
170
|
}
|
|
@@ -200,98 +206,15 @@ function checkScopeIndex(repoRoot) {
|
|
|
200
206
|
};
|
|
201
207
|
}
|
|
202
208
|
/** Dirs the config-glob walk never descends into. */
|
|
203
|
-
const GLOB_WALK_SKIP_DIRS = new Set([
|
|
204
|
-
".git",
|
|
205
|
-
"node_modules",
|
|
206
|
-
".pnpm-store",
|
|
207
|
-
"dist",
|
|
208
|
-
"build",
|
|
209
|
-
".next",
|
|
210
|
-
".turbo",
|
|
211
|
-
".cache",
|
|
212
|
-
".archive",
|
|
213
|
-
"coverage",
|
|
214
|
-
".cairn",
|
|
215
|
-
]);
|
|
216
|
-
/**
|
|
217
|
-
* Config-glob staleness — warn when a `config.yaml` scope glob matches zero
|
|
218
|
-
* files in the working tree. These globs (`high_stakes_globs`,
|
|
219
|
-
* `project_globs.{route_handler,dto,generator_source,high_stakes}_globs`) are
|
|
220
|
-
* written once at adoption and never reconciled to the tree, so a later
|
|
221
|
-
* directory refactor silently neuters high-stakes weighting + the
|
|
222
|
-
* route/DTO sensors (they resolve to zero matches with no signal).
|
|
223
|
-
*
|
|
224
|
-
* Returns [] when the project declares no scope globs (nothing to validate)
|
|
225
|
-
* or the tree walk yields nothing. Stale globs collapse into a single warn
|
|
226
|
-
* check so the report stays readable; the detail lists a sample.
|
|
227
|
-
*/
|
|
228
|
-
function checkConfigGlobs(repoRoot) {
|
|
229
|
-
const cfg = loadCairnConfig(repoRoot);
|
|
230
|
-
const pairs = [];
|
|
231
|
-
const collect = (source, raw) => {
|
|
232
|
-
if (!Array.isArray(raw))
|
|
233
|
-
return;
|
|
234
|
-
for (const g of raw) {
|
|
235
|
-
if (typeof g === "string" && g.length > 0)
|
|
236
|
-
pairs.push({ source, glob: g });
|
|
237
|
-
}
|
|
238
|
-
};
|
|
239
|
-
collect("high_stakes_globs", cfg["high_stakes_globs"]);
|
|
240
|
-
const projectGlobs = cfg["project_globs"];
|
|
241
|
-
if (typeof projectGlobs === "object" && projectGlobs !== null) {
|
|
242
|
-
const pg = projectGlobs;
|
|
243
|
-
collect("project_globs.route_handler_globs", pg["route_handler_globs"]);
|
|
244
|
-
collect("project_globs.dto_globs", pg["dto_globs"]);
|
|
245
|
-
collect("project_globs.generator_source_globs", pg["generator_source_globs"]);
|
|
246
|
-
collect("project_globs.high_stakes_globs", pg["high_stakes_globs"]);
|
|
247
|
-
}
|
|
248
|
-
if (pairs.length === 0)
|
|
249
|
-
return [];
|
|
250
|
-
const files = [];
|
|
251
|
-
walkFs({
|
|
252
|
-
dir: repoRoot,
|
|
253
|
-
skipDirs: GLOB_WALK_SKIP_DIRS,
|
|
254
|
-
onFile: (rel) => {
|
|
255
|
-
files.push(rel);
|
|
256
|
-
},
|
|
257
|
-
});
|
|
258
|
-
if (files.length === 0)
|
|
259
|
-
return [];
|
|
260
|
-
const stale = pairs.filter((p) => !files.some((f) => matchGlob(f, p.glob)));
|
|
261
|
-
if (stale.length === 0) {
|
|
262
|
-
return [
|
|
263
|
-
{
|
|
264
|
-
group: "ground",
|
|
265
|
-
label: "config globs",
|
|
266
|
-
status: "ok",
|
|
267
|
-
detail: `${pairs.length} scope glob${pairs.length === 1 ? "" : "s"} all match tree files`,
|
|
268
|
-
},
|
|
269
|
-
];
|
|
270
|
-
}
|
|
271
|
-
const sample = stale
|
|
272
|
-
.slice(0, 3)
|
|
273
|
-
.map((p) => `${p.glob} (${p.source})`)
|
|
274
|
-
.join("; ");
|
|
275
|
-
const more = stale.length > 3 ? ` (+${stale.length - 3} more)` : "";
|
|
276
|
-
return [
|
|
277
|
-
{
|
|
278
|
-
group: "ground",
|
|
279
|
-
label: "config globs",
|
|
280
|
-
status: "warn",
|
|
281
|
-
detail: `${stale.length} of ${pairs.length} scope glob(s) match zero tree files — ` +
|
|
282
|
-
`stale after a directory refactor? high-stakes weighting + route/DTO sensors silently skip these: ${sample}${more}`,
|
|
283
|
-
fixCommand: "cairn init --force",
|
|
284
|
-
},
|
|
285
|
-
];
|
|
286
|
-
}
|
|
287
209
|
function checkLedger(repoRoot, kind) {
|
|
288
210
|
const path = cairnDir(repoRoot, "ground", kind, `${kind}.ledger.yaml`);
|
|
289
211
|
if (!existsSync(path)) {
|
|
212
|
+
// Rebuildable, gitignored cache — absent on a clean checkout is benign.
|
|
290
213
|
return {
|
|
291
214
|
group: "ground",
|
|
292
215
|
label: `${kind}.ledger`,
|
|
293
|
-
status: "
|
|
294
|
-
detail: "
|
|
216
|
+
status: "info",
|
|
217
|
+
detail: "absent (rebuildable) — run cairn fix to populate",
|
|
295
218
|
fixCommand: "cairn fix",
|
|
296
219
|
};
|
|
297
220
|
}
|
|
@@ -474,9 +397,12 @@ export async function runFix(opts) {
|
|
|
474
397
|
const applied = [];
|
|
475
398
|
const manual = [];
|
|
476
399
|
for (const c of report.checks) {
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
400
|
+
// Scope-index is a rebuildable cache: rebuild whenever it is not OK,
|
|
401
|
+
// including the `info` (absent-on-clean-tree) state — `cairn fix` is the
|
|
402
|
+
// one path that should still materialize it.
|
|
403
|
+
if (c.label === "scope-index" &&
|
|
404
|
+
c.status !== "ok" &&
|
|
405
|
+
opts.rebuildScopeIndexFn !== undefined) {
|
|
480
406
|
try {
|
|
481
407
|
const r = await opts.rebuildScopeIndexFn(opts.repoRoot);
|
|
482
408
|
applied.push(`scope-index → ${r.filesClassified} file${r.filesClassified === 1 ? "" : "s"} classified`);
|
|
@@ -490,6 +416,8 @@ export async function runFix(opts) {
|
|
|
490
416
|
}
|
|
491
417
|
continue;
|
|
492
418
|
}
|
|
419
|
+
if (c.status !== "warn" && c.status !== "error")
|
|
420
|
+
continue;
|
|
493
421
|
manual.push({
|
|
494
422
|
check: c.label,
|
|
495
423
|
command: c.fixCommand ?? null,
|
package/dist/doctor/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAe,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,QAAQ,EACf,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC,WAAW,EAAE,CAAC;AAEjB,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC,WAAW,EAAE,CAAC;AAEjB,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;IACzC,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC,WAAW,EAAE,CAAC;AAsBjB,MAAM,UAAU,SAAS,CAAC,IAA0B;IAClD,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,kCAAkC;IAClC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9C,kBAAkB;IAClB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAEtD,aAAa;IACb,MAAM,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,wEAAwE;IACxE,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAElE,OAAO;QACL,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC7C,MAAM;QACN,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,wEAAwE;AAExE,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,8CAA8C;YACtD,UAAU,EAAE,YAAY;SACzB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,wDAAwD;YAChE,UAAU,EAAE,oBAAoB;SACjC,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,eAAe,IAAI,MAAM,EACzB,CAAC;YACD,MAAM,CAAC,GAAI,MAAkC,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,cAAc,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,2DAA2D;SACpE,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,4DAA4D;YACpE,UAAU,EAAE,oBAAoB;SACjC,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;QAC/B,yEAAyE;QACzE,qEAAqE;QACrE,2EAA2E;QAC3E,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzD,OAAO;YACL,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,SAAS;gBACf,CAAC,CAAC,qBAAqB,cAAc,mBAAmB,OAAO,sDAAsD;gBACrH,CAAC,CAAC,qBAAqB,cAAc,wBAAwB,OAAO,qBAAqB;YAC3F,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,yCAAyC;SACpF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,GAAG,OAAO,sBAAsB;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,6BAA6B;YACrC,UAAU,EAAE,oBAAoB;SACjC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,wEAAwE;QACxE,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,4DAA4D;YACpE,UAAU,EAAE,qBAAqB;SAClC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAY,SAAS,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,yCAAyC;YACjD,UAAU,EAAE,qBAAqB;SAClC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,iCAAiC;YACzC,UAAU,EAAE,qBAAqB;SAClC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,GAAG,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa;KAC5D,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,SAAS,WAAW,CAClB,QAAgB,EAChB,IAAgC;IAEhC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,cAAc,CAAC,CAAC;IACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,wEAAwE;QACxE,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,GAAG,IAAI,SAAS;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,kDAAkD;YAC1D,UAAU,EAAE,WAAW;SACxB,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,KAAK,GAAG,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,GAAG,IAAI,SAAS;YACvB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,eAAe,OAAO,EAAE;YAChC,UAAU,EAAE,WAAW;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,GAAG,IAAI,SAAS;QACvB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,GAAG,KAAK,mBAAmB;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO;YACL;gBACE,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,6BAA6B;gBACrC,UAAU,EAAE,oBAAoB;aACjC;SACF,CAAC;IACJ,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL;gBACE,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,YAAY;aACrB;SACF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,QAAQ,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;QACxB,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC1B,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,sBAAsB;aAC/B,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC;QAC/C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;QAClC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBAClD,MAAM,EAAE,GAAG,OAAO,mDAAmD;iBACtE,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,wBAAwB;SAC1E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC;aACpC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,OAAO;YACL;gBACE,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,qBAAqB,MAAM,GAAG,IAAI,EAAE;gBAClE,UAAU,EAAE,wBAAwB;aACrC;SACF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL;gBACE,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,kBAAkB,MAAM,CAAC,YAAY,aAAa;gBACzE,UAAU,EAAE,wBAAwB;aACrC;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL;YACE,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,wBAAwB,MAAM,CAAC,UAAU,eAAe;SAChF;KACF,CAAC;AACJ,CAAC;AAED,wEAAwE;AAExE,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAsB,CAAC;YACxE,IAAI,GAAG,CAAC,IAAI;gBAAE,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IACD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,cAAc,CAAC,CAAC;AAC3E,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAiBD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAmB;IAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAgD,EAAE,CAAC;IAE/D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,qEAAqE;QACrE,yEAAyE;QACzE,6CAA6C;QAC7C,IACE,CAAC,CAAC,KAAK,KAAK,aAAa;YACzB,CAAC,CAAC,MAAM,KAAK,IAAI;YACjB,IAAI,CAAC,mBAAmB,KAAK,SAAS,EACtC,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC,CAAC,eAAe,QAAQ,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,CAC1F,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;iBAC9B,CAAC,CAAC;gBACH,KAAK,GAAG,CAAC;YACX,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;YAAE,SAAS;QAE1D,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACxD,CAAC"}
|
package/dist/gc/apply.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* files, run `git add` + `git commit`, return the resulting SHA.
|
|
4
4
|
*
|
|
5
5
|
* The caller is responsible for filtering proposals by `class` (only safe is
|
|
6
|
-
* auto-applied in v1; code
|
|
6
|
+
* auto-applied in v1; code is surfaced for confirm).
|
|
7
7
|
*
|
|
8
8
|
* No push happens here — the GC sweep + canary verification + push policy is
|
|
9
9
|
* orchestrated by `runGcBatch` (sweep.ts).
|
package/dist/gc/apply.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* files, run `git add` + `git commit`, return the resulting SHA.
|
|
4
4
|
*
|
|
5
5
|
* The caller is responsible for filtering proposals by `class` (only safe is
|
|
6
|
-
* auto-applied in v1; code
|
|
6
|
+
* auto-applied in v1; code is surfaced for confirm).
|
|
7
7
|
*
|
|
8
8
|
* No push happens here — the GC sweep + canary verification + push policy is
|
|
9
9
|
* orchestrated by `runGcBatch` (sweep.ts).
|
package/dist/gc/classify.d.ts
CHANGED
|
@@ -2,20 +2,16 @@
|
|
|
2
2
|
* Auto-merge classification.
|
|
3
3
|
*
|
|
4
4
|
* Given a set of repo-relative paths a commit will touch, return one of:
|
|
5
|
-
* safe
|
|
6
|
-
*
|
|
7
|
-
* code
|
|
8
|
-
* high-stakes — any path matches projectGlobs.high_stakes_globs
|
|
5
|
+
* safe — formatting, doc regen, frontmatter refresh, generated content,
|
|
6
|
+
* archive moves, stub-catalog additions, .cairn/ground/* writes
|
|
7
|
+
* code — touches *.ts / *.tsx / *.js outside generator-managed files
|
|
9
8
|
*
|
|
10
9
|
* The classifier is deliberately conservative: when in doubt, escalate. A
|
|
11
|
-
* single
|
|
12
|
-
* over safe.
|
|
10
|
+
* single code hit dominates over safe.
|
|
13
11
|
*/
|
|
14
|
-
import type { ProjectGlobs } from "../sensors/types.js";
|
|
15
12
|
import type { GcAutoMergeClass } from "./types.js";
|
|
16
13
|
export interface ClassifyArgs {
|
|
17
14
|
paths: readonly string[];
|
|
18
|
-
projectGlobs?: ProjectGlobs;
|
|
19
15
|
/**
|
|
20
16
|
* Globs of paths the cairn considers generator-managed — touching these
|
|
21
17
|
* stays safe-class even when the extension is .ts. Default: empty.
|
package/dist/gc/classify.js
CHANGED
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
* Auto-merge classification.
|
|
3
3
|
*
|
|
4
4
|
* Given a set of repo-relative paths a commit will touch, return one of:
|
|
5
|
-
* safe
|
|
6
|
-
*
|
|
7
|
-
* code
|
|
8
|
-
* high-stakes — any path matches projectGlobs.high_stakes_globs
|
|
5
|
+
* safe — formatting, doc regen, frontmatter refresh, generated content,
|
|
6
|
+
* archive moves, stub-catalog additions, .cairn/ground/* writes
|
|
7
|
+
* code — touches *.ts / *.tsx / *.js outside generator-managed files
|
|
9
8
|
*
|
|
10
9
|
* The classifier is deliberately conservative: when in doubt, escalate. A
|
|
11
|
-
* single
|
|
12
|
-
* over safe.
|
|
10
|
+
* single code hit dominates over safe.
|
|
13
11
|
*/
|
|
14
12
|
import { knownExtensions, matchAnyGlob } from "@isaacriehm/cairn-state";
|
|
15
13
|
/** Patterns the classifier always treats as safe regardless of file type. */
|
|
@@ -24,15 +22,11 @@ const DOC_LIKE_EXTS = [".md", ".yaml", ".yml", ".json", ".txt"];
|
|
|
24
22
|
/** Source-code extensions that escalate to code-class — the shared registry. */
|
|
25
23
|
const CODE_EXTS = knownExtensions();
|
|
26
24
|
export function classifyAutoMerge(args) {
|
|
27
|
-
const
|
|
28
|
-
const generated = args.generatorManagedGlobs ?? args.projectGlobs?.generator_source_globs ?? [];
|
|
25
|
+
const generated = args.generatorManagedGlobs ?? [];
|
|
29
26
|
let cls = "safe";
|
|
30
27
|
for (const path of args.paths) {
|
|
31
|
-
if (highStakes.length > 0 && matchAnyGlob(path, highStakes)) {
|
|
32
|
-
return "high-stakes";
|
|
33
|
-
}
|
|
34
28
|
if (cls === "code")
|
|
35
|
-
continue; // already escalated
|
|
29
|
+
continue; // already escalated
|
|
36
30
|
if (isSafePath(path, generated))
|
|
37
31
|
continue;
|
|
38
32
|
if (isCodePath(path)) {
|