@isaacriehm/cairn-core 0.7.3 → 0.8.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/doctor/index.js +57 -0
- package/dist/doctor/index.js.map +1 -1
- package/dist/gc/citation-integrity.js +3 -1
- package/dist/gc/citation-integrity.js.map +1 -1
- package/dist/gc/doc-claims.d.ts +31 -0
- package/dist/gc/doc-claims.js +213 -0
- package/dist/gc/doc-claims.js.map +1 -0
- package/dist/gc/doc-source-drift.d.ts +31 -0
- package/dist/gc/doc-source-drift.js +190 -0
- package/dist/gc/doc-source-drift.js.map +1 -0
- package/dist/gc/index.d.ts +4 -0
- package/dist/gc/index.js +2 -0
- package/dist/gc/index.js.map +1 -1
- package/dist/gc/sweep.js +18 -0
- package/dist/gc/sweep.js.map +1 -1
- package/dist/gc/types.d.ts +2 -2
- package/dist/hooks/runners/context-threshold.d.ts +63 -0
- package/dist/hooks/runners/context-threshold.js +179 -0
- package/dist/hooks/runners/context-threshold.js.map +1 -0
- package/dist/hooks/runners/gc-autotrigger.d.ts +49 -0
- package/dist/hooks/runners/gc-autotrigger.js +87 -0
- package/dist/hooks/runners/gc-autotrigger.js.map +1 -0
- package/dist/hooks/runners/index.d.ts +2 -0
- package/dist/hooks/runners/index.js +1 -0
- package/dist/hooks/runners/index.js.map +1 -1
- package/dist/hooks/runners/session-start.js +110 -6
- package/dist/hooks/runners/session-start.js.map +1 -1
- package/dist/hooks/runners/stop.js +119 -0
- package/dist/hooks/runners/stop.js.map +1 -1
- package/dist/init/index.d.ts +5 -1
- package/dist/init/index.js +2 -0
- package/dist/init/index.js.map +1 -1
- package/dist/init/ingest-docs.d.ts +6 -1
- package/dist/init/ingest-docs.js.map +1 -1
- package/dist/init/init.js +11 -6
- package/dist/init/init.js.map +1 -1
- package/dist/init/mapper-parallel.js +13 -6
- package/dist/init/mapper-parallel.js.map +1 -1
- package/dist/init/phases/1-detect.d.ts +17 -4
- package/dist/init/phases/1-detect.js +48 -4
- package/dist/init/phases/1-detect.js.map +1 -1
- package/dist/init/phases/10-rules-merge.js +13 -1
- package/dist/init/phases/10-rules-merge.js.map +1 -1
- package/dist/init/phases/11-baseline.js.map +1 -1
- package/dist/init/phases/12-strip.js +14 -1
- package/dist/init/phases/12-strip.js.map +1 -1
- package/dist/init/phases/3-mapper.js.map +1 -1
- package/dist/init/phases/4-seed.js +1 -1
- package/dist/init/phases/4-seed.js.map +1 -1
- package/dist/init/phases/5-pilot.js.map +1 -1
- package/dist/init/phases/6-brand.js +2 -4
- package/dist/init/phases/6-brand.js.map +1 -1
- package/dist/init/phases/8-docs-ingest.js +13 -1
- package/dist/init/phases/8-docs-ingest.js.map +1 -1
- package/dist/init/phases/9-source-comments.js +13 -1
- package/dist/init/phases/9-source-comments.js.map +1 -1
- package/dist/init/phases/orchestrator.d.ts +10 -0
- package/dist/init/phases/orchestrator.js +12 -0
- package/dist/init/phases/orchestrator.js.map +1 -1
- package/dist/init/phases/parallel-8910.js +29 -4
- package/dist/init/phases/parallel-8910.js.map +1 -1
- package/dist/init/phases/source-comments-output-io.d.ts +7 -2
- package/dist/init/phases/source-comments-output-io.js.map +1 -1
- package/dist/init/phases/types.d.ts +49 -9
- package/dist/init/phases/types.js.map +1 -1
- package/dist/init/post-git-init.d.ts +53 -0
- package/dist/init/post-git-init.js +74 -0
- package/dist/init/post-git-init.js.map +1 -0
- package/dist/init/preflight-guards.d.ts +11 -2
- package/dist/init/preflight-guards.js +27 -5
- package/dist/init/preflight-guards.js.map +1 -1
- package/dist/init/rules-merge/index.d.ts +1 -1
- package/dist/init/rules-merge/ingest.d.ts +6 -1
- package/dist/init/rules-merge/ingest.js.map +1 -1
- package/dist/init/skill-budget.d.ts +39 -0
- package/dist/init/skill-budget.js +99 -0
- package/dist/init/skill-budget.js.map +1 -0
- package/dist/init/types.d.ts +9 -0
- package/dist/mcp/bootstrap-guard.js +2 -2
- package/dist/mcp/bootstrap-guard.js.map +1 -1
- package/dist/mcp/schemas.d.ts +34 -0
- package/dist/mcp/schemas.js +50 -0
- package/dist/mcp/schemas.js.map +1 -1
- package/dist/mcp/telemetry.d.ts +1 -1
- package/dist/mcp/tools/bootstrap-retry.d.ts +23 -0
- package/dist/mcp/tools/bootstrap-retry.js +53 -0
- package/dist/mcp/tools/bootstrap-retry.js.map +1 -0
- package/dist/mcp/tools/index.js +10 -0
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/init-phases.js +4 -8
- package/dist/mcp/tools/init-phases.js.map +1 -1
- package/dist/mcp/tools/resume.d.ts +21 -0
- package/dist/mcp/tools/resume.js +88 -0
- package/dist/mcp/tools/resume.js.map +1 -0
- package/dist/mcp/tools/task-complete.d.ts +23 -0
- package/dist/mcp/tools/task-complete.js +51 -0
- package/dist/mcp/tools/task-complete.js.map +1 -0
- package/dist/mcp/tools/task-create.js +17 -11
- package/dist/mcp/tools/task-create.js.map +1 -1
- package/dist/mcp/tools/task-journal-append.d.ts +22 -0
- package/dist/mcp/tools/task-journal-append.js +44 -0
- package/dist/mcp/tools/task-journal-append.js.map +1 -0
- package/dist/paths/index.js +1 -1
- package/dist/paths/index.js.map +1 -1
- package/dist/status-line/format.js +20 -0
- package/dist/status-line/format.js.map +1 -1
- package/dist/tasks/index.d.ts +2 -0
- package/dist/tasks/index.js +2 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/lifecycle.d.ts +107 -0
- package/dist/tasks/lifecycle.js +302 -0
- package/dist/tasks/lifecycle.js.map +1 -0
- package/dist/trace/index.d.ts +1 -1
- package/dist/trace/index.js +2 -2
- package/dist/trace/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -8,8 +8,20 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { runDocsIngestion } from "../ingest-docs.js";
|
|
10
10
|
import { clearProgress, writeProgress } from "../progress.js";
|
|
11
|
-
import { advancePhase } from "./orchestrator.js";
|
|
11
|
+
import { advancePhase, isSelfAdoptState } from "./orchestrator.js";
|
|
12
12
|
export async function runPhase8DocsIngest(state) {
|
|
13
|
+
if (isSelfAdoptState(state)) {
|
|
14
|
+
const skipped = { skipped: "self-adopt" };
|
|
15
|
+
const next = {
|
|
16
|
+
...state,
|
|
17
|
+
outputs: { ...state.outputs, "8-docs-ingest": skipped },
|
|
18
|
+
};
|
|
19
|
+
return {
|
|
20
|
+
status: "complete",
|
|
21
|
+
nextPhase: "9-source-comments",
|
|
22
|
+
state: advancePhase(next),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
13
25
|
const startedAt = Date.now();
|
|
14
26
|
try {
|
|
15
27
|
const result = await runDocsIngestion({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"8-docs-ingest.js","sourceRoot":"","sources":["../../../src/init/phases/8-docs-ingest.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"8-docs-ingest.js","sourceRoot":"","sources":["../../../src/init/phases/8-docs-ingest.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAiB;IACzD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAoB,EAAE,OAAO,EAAE,YAAqB,EAAE,CAAC;QACpE,MAAM,IAAI,GAAe;YACvB,GAAG,KAAK;YACR,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE;SACxD,CAAC;QACF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,mBAAmB;YAC9B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAoB,MAAM,gBAAgB,CAAC;YACrD,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;gBACvB,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAC5B,KAAK,EAAE,iBAAiB,GAAG,CAAC,KAAK,EAAE;oBACnC,KAAK,EAAE,GAAG,CAAC,WAAW;oBACtB,KAAK,EAAE,GAAG,CAAC,YAAY;oBACvB,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QACH,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAe;YACvB,GAAG,KAAK;YACR,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE;SACvD,CAAC;QACF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,mBAAmB;YAC9B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO;YACL,MAAM,EAAE,OAAO;YACf,KAAK,EAAE;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,gCAAgC;gBACzC,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACtE;YACD,KAAK;SACN,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -4,9 +4,21 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { runSourceCommentsIngestion, } from "../source-comments/index.js";
|
|
6
6
|
import { clearProgress } from "../progress.js";
|
|
7
|
-
import { advancePhase } from "./orchestrator.js";
|
|
7
|
+
import { advancePhase, isSelfAdoptState } from "./orchestrator.js";
|
|
8
8
|
import { to7bResultPersisted, writeSourceCommentsWalkFile, } from "./source-comments-output-io.js";
|
|
9
9
|
export async function runPhase9SourceComments(state) {
|
|
10
|
+
if (isSelfAdoptState(state)) {
|
|
11
|
+
const skipped = { skipped: "self-adopt" };
|
|
12
|
+
const next = {
|
|
13
|
+
...state,
|
|
14
|
+
outputs: { ...state.outputs, "9-source-comments": skipped },
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
status: "complete",
|
|
18
|
+
nextPhase: "10-rules-merge",
|
|
19
|
+
state: advancePhase(next),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
10
22
|
const mapper = state.outputs["3-mapper"];
|
|
11
23
|
const globs = mapper
|
|
12
24
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"9-source-comments.js","sourceRoot":"","sources":["../../../src/init/phases/9-source-comments.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,0BAA0B,GAE3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"9-source-comments.js","sourceRoot":"","sources":["../../../src/init/phases/9-source-comments.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,0BAA0B,GAE3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EACL,mBAAmB,EACnB,2BAA2B,GAE5B,MAAM,gCAAgC,CAAC;AAGxC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAAiB;IAC7D,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAwC,EAAE,OAAO,EAAE,YAAqB,EAAE,CAAC;QACxF,MAAM,IAAI,GAAe;YACvB,GAAG,KAAK;YACR,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE;SAC5D,CAAC;QACF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,gBAAgB;YAC3B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,KAAK,GAAiB,MAAM;QAChC,CAAC,CAAC;YACE,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB;YACtD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB;YAC5D,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB;YAClD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB;SAC3C;QACH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,WAAW,GACf,OAAO,QAAQ,EAAE,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAChE,CAAC,CAAC,QAAQ,CAAC,MAAM;QACjB,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAA+B,MAAM,0BAA0B,CAAC;YAC1E,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,2BAA2B,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC9C,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAe;YACvB,GAAG,KAAK;YACR,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE;SAC9D,CAAC;QACF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,gBAAgB;YAC3B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO;YACL,MAAM,EAAE,OAAO;YACf,KAAK,EAAE;gBACL,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,iCAAiC;gBAC1C,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACtE;YACD,KAAK;SACN,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -35,6 +35,16 @@ export declare function freshPhaseState(repoRoot: string): PhaseState;
|
|
|
35
35
|
* runs again.
|
|
36
36
|
*/
|
|
37
37
|
export declare function resumePhases(repoRoot: string): ResumeReport;
|
|
38
|
+
/**
|
|
39
|
+
* Self-adoption flag check. True when Phase 1 detect set
|
|
40
|
+
* `outputs["1-detect"].is_self_adopt = true` because the operator is
|
|
41
|
+
* dogfooding Cairn against its own source repo via the
|
|
42
|
+
* `CAIRN_SELF_ADOPT=1` escape hatch. Phases 8 / 9 / 10 / 12 read this
|
|
43
|
+
* and short-circuit so the recursive-ingest scenario (Cairn's own
|
|
44
|
+
* docs / source comments / CLAUDE.md / essay-class block strip)
|
|
45
|
+
* never runs against the source tree.
|
|
46
|
+
*/
|
|
47
|
+
export declare function isSelfAdoptState(state: PhaseState): boolean;
|
|
38
48
|
/**
|
|
39
49
|
* Compute the phase id that follows `current` in PHASE_IDS, or null
|
|
40
50
|
* when `current` is already the last id. Pure function — useful from
|
|
@@ -58,6 +58,18 @@ export function resumePhases(repoRoot) {
|
|
|
58
58
|
state: persisted,
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Self-adoption flag check. True when Phase 1 detect set
|
|
63
|
+
* `outputs["1-detect"].is_self_adopt = true` because the operator is
|
|
64
|
+
* dogfooding Cairn against its own source repo via the
|
|
65
|
+
* `CAIRN_SELF_ADOPT=1` escape hatch. Phases 8 / 9 / 10 / 12 read this
|
|
66
|
+
* and short-circuit so the recursive-ingest scenario (Cairn's own
|
|
67
|
+
* docs / source comments / CLAUDE.md / essay-class block strip)
|
|
68
|
+
* never runs against the source tree.
|
|
69
|
+
*/
|
|
70
|
+
export function isSelfAdoptState(state) {
|
|
71
|
+
return state.outputs["1-detect"]?.is_self_adopt === true;
|
|
72
|
+
}
|
|
61
73
|
/**
|
|
62
74
|
* Compute the phase id that follows `current` in PHASE_IDS, or null
|
|
63
75
|
* when `current` is already the last id. Pure function — useful from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/init/phases/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAoD,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1B,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,aAAa,EAAE,CAAC;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YACvB,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC;SACjC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS,CAAC,YAAY;QACjC,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,GAAG,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC7D,CAAC"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/init/phases/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAoD,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1B,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,aAAa,EAAE,CAAC;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YACvB,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC;SACjC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS,CAAC,YAAY;QACjC,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,GAAG,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC7D,CAAC"}
|
|
@@ -30,7 +30,7 @@ import { clearProgress, writeProgress } from "../progress.js";
|
|
|
30
30
|
import { runRulesMerge } from "../rules-merge/index.js";
|
|
31
31
|
import { runSourceCommentsIngestion } from "../source-comments/index.js";
|
|
32
32
|
import { to7bResultPersisted, writeSourceCommentsWalkFile, } from "./source-comments-output-io.js";
|
|
33
|
-
import { advancePhase } from "./orchestrator.js";
|
|
33
|
+
import { advancePhase, isSelfAdoptState } from "./orchestrator.js";
|
|
34
34
|
const log = logger("init.phases.parallel-8910");
|
|
35
35
|
export async function runPhases8910Parallel(state) {
|
|
36
36
|
// Sanity: this runner only enters at the start of the 8 / 9 / 10
|
|
@@ -46,6 +46,32 @@ export async function runPhases8910Parallel(state) {
|
|
|
46
46
|
state,
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
+
// Self-adopt skip — Q11. Stamp empty outputs for all three phases
|
|
50
|
+
// and advance past 9 + 10 to 11-baseline so the pipeline mirrors
|
|
51
|
+
// the normal-path exit shape.
|
|
52
|
+
if (isSelfAdoptState(state)) {
|
|
53
|
+
const skippedDocs = { skipped: "self-adopt" };
|
|
54
|
+
const skippedSrc = { skipped: "self-adopt" };
|
|
55
|
+
const skippedRules = { skipped: "self-adopt" };
|
|
56
|
+
let next = {
|
|
57
|
+
...state,
|
|
58
|
+
outputs: {
|
|
59
|
+
...state.outputs,
|
|
60
|
+
"8-docs-ingest": skippedDocs,
|
|
61
|
+
"9-source-comments": skippedSrc,
|
|
62
|
+
"10-rules-merge": skippedRules,
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
const skipTargets = ["8-docs-ingest", "9-source-comments", "10-rules-merge"];
|
|
66
|
+
for (const _ of skipTargets) {
|
|
67
|
+
next = advancePhase(next);
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
status: "complete",
|
|
71
|
+
nextPhase: "11-baseline",
|
|
72
|
+
state: next,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
49
75
|
const mapper = state.outputs["3-mapper"];
|
|
50
76
|
const globs = mapper
|
|
51
77
|
? {
|
|
@@ -135,12 +161,11 @@ export async function runPhases8910Parallel(state) {
|
|
|
135
161
|
for (const id of skipTargets) {
|
|
136
162
|
const out = next.outputs[id];
|
|
137
163
|
if (typeof out === "object" && out !== null) {
|
|
138
|
-
|
|
139
|
-
if (obj["duration_ms"] === undefined) {
|
|
164
|
+
if (!("duration_ms" in out)) {
|
|
140
165
|
// Approximate per-phase duration via the wall-clock divided
|
|
141
166
|
// among the three phases — until each ingest function reports
|
|
142
167
|
// its own duration, this is the best we can do.
|
|
143
|
-
|
|
168
|
+
Object.assign(out, { duration_ms: durationMs });
|
|
144
169
|
}
|
|
145
170
|
}
|
|
146
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-8910.js","sourceRoot":"","sources":["../../../src/init/phases/parallel-8910.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAA4B,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"parallel-8910.js","sourceRoot":"","sources":["../../../src/init/phases/parallel-8910.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,13 +31,17 @@ export declare function writeSourceCommentsWalkFile(repoRoot: string, full: Inge
|
|
|
31
31
|
* stored on state.
|
|
32
32
|
*/
|
|
33
33
|
export declare function readSourceCommentsWalkFile(repoRoot: string): IngestSourceCommentsResult | null;
|
|
34
|
+
/** Phase was skipped because the repo is the Cairn source repo itself. */
|
|
35
|
+
export interface IngestSourceCommentsSkippedResult {
|
|
36
|
+
readonly skipped: "self-adopt";
|
|
37
|
+
}
|
|
34
38
|
/**
|
|
35
39
|
* Lightweight projection persisted into `init-state.json` outputs. Drops
|
|
36
40
|
* `walk.blocks` and `classifications` (the heavy fields); keeps ledger /
|
|
37
41
|
* triage references that downstream phases + the cairn-adopt summary
|
|
38
42
|
* skill query directly.
|
|
39
43
|
*/
|
|
40
|
-
export interface
|
|
44
|
+
export interface IngestSourceCommentsRunResult {
|
|
41
45
|
/** Repo-relative path to the spilled full result, or null when not written. */
|
|
42
46
|
walkPath: string;
|
|
43
47
|
walkSummary: {
|
|
@@ -80,5 +84,6 @@ export interface IngestSourceCommentsResultPersisted {
|
|
|
80
84
|
batchesFailed: number;
|
|
81
85
|
kindCounts: Record<CommentClassKind, number>;
|
|
82
86
|
}
|
|
87
|
+
export type IngestSourceCommentsResultPersisted = IngestSourceCommentsRunResult | IngestSourceCommentsSkippedResult;
|
|
83
88
|
/** Strip the heavy fields from a fresh ingest result for state persistence. */
|
|
84
|
-
export declare function to7bResultPersisted(full: IngestSourceCommentsResult):
|
|
89
|
+
export declare function to7bResultPersisted(full: IngestSourceCommentsResult): IngestSourceCommentsRunResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-comments-output-io.js","sourceRoot":"","sources":["../../../src/init/phases/source-comments-output-io.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAI1C,qCAAqC;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAC3C,QAAQ,EACR,MAAM,EACN,2BAA2B,CAC5B,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,OAAO,IAAI,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAgB,EAChB,IAAgC;IAEhC,MAAM,GAAG,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAChD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;IACzB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAAgB;IAEhB,MAAM,GAAG,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAA+B,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"source-comments-output-io.js","sourceRoot":"","sources":["../../../src/init/phases/source-comments-output-io.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAI1C,qCAAqC;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAC3C,QAAQ,EACR,MAAM,EACN,2BAA2B,CAC5B,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,OAAO,IAAI,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAgB,EAChB,IAAgC;IAEhC,MAAM,GAAG,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAChD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;IACzB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAAgB;IAEhB,MAAM,GAAG,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAA+B,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AA6DD,+EAA+E;AAC/E,MAAM,UAAU,mBAAmB,CACjC,IAAgC;IAEhC,OAAO;QACL,QAAQ,EAAE,yBAAyB;QACnC,WAAW,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAC7B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YAC/B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;YACpC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc;YACxC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;SACjD;QACD,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -12,6 +12,15 @@
|
|
|
12
12
|
* pipeline is crash-safe — operator can `/exit` Claude Code mid-init
|
|
13
13
|
* and pick up at the same phase on the next session.
|
|
14
14
|
*/
|
|
15
|
+
import type { DetectionResult } from "../types.js";
|
|
16
|
+
import type { RepoSummary } from "../walker.js";
|
|
17
|
+
import type { IngestionResult } from "../ingest-docs.js";
|
|
18
|
+
import type { RunRulesMergeResult } from "../rules-merge/index.js";
|
|
19
|
+
import type { BaselineAuditResult } from "../baseline-audit.js";
|
|
20
|
+
import type { MultiDevInstallResult } from "../multi-dev/index.js";
|
|
21
|
+
import type { MapperResultPersisted } from "./mapper-output-io.js";
|
|
22
|
+
import type { IngestSourceCommentsResultPersisted } from "./source-comments-output-io.js";
|
|
23
|
+
import type { TopicIndexPhaseOutput } from "./7-topic-index.js";
|
|
15
24
|
/** Phase ids in execution order. */
|
|
16
25
|
export declare const PHASE_IDS: readonly ["1-detect", "2-walker", "3-mapper", "4-seed", "5-pilot", "6-brand", "7-topic-index", "8-docs-ingest", "9-source-comments", "10-rules-merge", "11-baseline", "12-strip", "13-multidev"];
|
|
17
26
|
export type PhaseId = (typeof PHASE_IDS)[number];
|
|
@@ -19,7 +28,7 @@ export type PhaseId = (typeof PHASE_IDS)[number];
|
|
|
19
28
|
export interface PhaseQuestion {
|
|
20
29
|
/** Stable identifier so the skill can correlate answers across re-invocations. */
|
|
21
30
|
id: string;
|
|
22
|
-
/** Operator-facing prompt — full English
|
|
31
|
+
/** Operator-facing prompt — full plain English; no operator-personal voice. */
|
|
23
32
|
prompt: string;
|
|
24
33
|
/** Options labeled A/B/C/... */
|
|
25
34
|
options: PhaseOption[];
|
|
@@ -53,14 +62,45 @@ export interface PhaseState {
|
|
|
53
62
|
/** Schema version for the on-disk state file (bump on breaking change). */
|
|
54
63
|
schemaVersion: 1;
|
|
55
64
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
65
|
+
export interface SeedPhaseOutput {
|
|
66
|
+
written_files: string[];
|
|
67
|
+
collisions: string[];
|
|
68
|
+
config_path: string;
|
|
69
|
+
scope_index_path: string;
|
|
70
|
+
workflow_slug_patched: boolean;
|
|
71
|
+
workflow_patch_error: string | null;
|
|
72
|
+
attested_seeded: number;
|
|
73
|
+
attested_seed_status: "ok" | "skipped" | "error";
|
|
74
|
+
}
|
|
75
|
+
export interface PilotOutput {
|
|
76
|
+
picked: string;
|
|
77
|
+
}
|
|
78
|
+
export interface BrandOutput {
|
|
79
|
+
choice: string;
|
|
80
|
+
applied: {
|
|
81
|
+
updated: string[];
|
|
82
|
+
warnings: string[];
|
|
83
|
+
} | null;
|
|
84
|
+
}
|
|
85
|
+
export interface StripState {
|
|
86
|
+
pending: string[];
|
|
87
|
+
decisions: Record<string, "strip" | "keep" | "skip">;
|
|
88
|
+
}
|
|
89
|
+
export interface PhaseOutputs {
|
|
90
|
+
"1-detect"?: DetectionResult;
|
|
91
|
+
"2-walker"?: RepoSummary;
|
|
92
|
+
"3-mapper"?: MapperResultPersisted;
|
|
93
|
+
"4-seed"?: SeedPhaseOutput;
|
|
94
|
+
"5-pilot"?: PilotOutput;
|
|
95
|
+
"6-brand"?: BrandOutput;
|
|
96
|
+
"7-topic-index"?: TopicIndexPhaseOutput;
|
|
97
|
+
"8-docs-ingest"?: IngestionResult;
|
|
98
|
+
"9-source-comments"?: IngestSourceCommentsResultPersisted;
|
|
99
|
+
"10-rules-merge"?: RunRulesMergeResult;
|
|
100
|
+
"11-baseline"?: BaselineAuditResult;
|
|
101
|
+
"12-strip"?: StripState;
|
|
102
|
+
"13-multidev"?: MultiDevInstallResult;
|
|
103
|
+
}
|
|
64
104
|
/** Discriminated union returned by every phase function. */
|
|
65
105
|
export type PhaseResult = {
|
|
66
106
|
readonly status: "complete";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/init/phases/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/init/phases/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH,oCAAoC;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU;IACV,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,eAAe;IACf,eAAe;IACf,mBAAmB;IACnB,gBAAgB;IAChB,aAAa;IACb,UAAU;IACV,aAAa;CACL,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Post-git-init configuration helper.
|
|
3
|
+
*
|
|
4
|
+
* Cairn drives a `git init` only when adoption starts in a directory
|
|
5
|
+
* that isn't already a working tree (cairn-adopt skill, Step 2). On
|
|
6
|
+
* WSL+Windows volumes the freshly-initialized repo's owner uid often
|
|
7
|
+
* differs from the WSL user, and `git` then refuses to operate with
|
|
8
|
+
* `fatal: detected dubious ownership in repository`. The fix is per-
|
|
9
|
+
* clone, idempotent, and silent if already set:
|
|
10
|
+
*
|
|
11
|
+
* git config --local safe.directory <abs-path>
|
|
12
|
+
* git config --local core.fileMode false
|
|
13
|
+
*
|
|
14
|
+
* `applyPostInitGitConfig` is callable two ways:
|
|
15
|
+
*
|
|
16
|
+
* 1. Right after Cairn drives a `git init` — run unconditionally.
|
|
17
|
+
* 2. From Phase 1 detect, when WSL-from-Windows is active — run
|
|
18
|
+
* whether or not Cairn drove the init.
|
|
19
|
+
*
|
|
20
|
+
* The git runner is injectable so smokes can record argv without a
|
|
21
|
+
* real fork.
|
|
22
|
+
*/
|
|
23
|
+
export interface GitRunResult {
|
|
24
|
+
ok: boolean;
|
|
25
|
+
stdout: string;
|
|
26
|
+
stderr: string;
|
|
27
|
+
}
|
|
28
|
+
export type GitRunner = (args: string[], cwd: string) => GitRunResult;
|
|
29
|
+
export interface PostGitInitOptions {
|
|
30
|
+
repoRoot: string;
|
|
31
|
+
/** Test injection. Defaults to `spawnSync("git", args, {cwd})`. */
|
|
32
|
+
gitRunner?: GitRunner;
|
|
33
|
+
}
|
|
34
|
+
export interface PostGitInitResult {
|
|
35
|
+
/** One entry per `git config` call attempted. */
|
|
36
|
+
applied: {
|
|
37
|
+
command: string[];
|
|
38
|
+
ok: boolean;
|
|
39
|
+
stderr: string;
|
|
40
|
+
}[];
|
|
41
|
+
}
|
|
42
|
+
export declare function applyPostInitGitConfig(opts: PostGitInitOptions): PostGitInitResult;
|
|
43
|
+
export interface WslDetectOptions {
|
|
44
|
+
platform?: NodeJS.Platform;
|
|
45
|
+
/** Test injection. Defaults to reading `/proc/version`. */
|
|
46
|
+
procVersionReader?: () => string | null;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* `true` when the current process is Linux running inside WSL.
|
|
50
|
+
* Defaults to live `process.platform` + `/proc/version` lookup; tests
|
|
51
|
+
* inject both.
|
|
52
|
+
*/
|
|
53
|
+
export declare function detectWsl(opts?: WslDetectOptions): boolean;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Post-git-init configuration helper.
|
|
3
|
+
*
|
|
4
|
+
* Cairn drives a `git init` only when adoption starts in a directory
|
|
5
|
+
* that isn't already a working tree (cairn-adopt skill, Step 2). On
|
|
6
|
+
* WSL+Windows volumes the freshly-initialized repo's owner uid often
|
|
7
|
+
* differs from the WSL user, and `git` then refuses to operate with
|
|
8
|
+
* `fatal: detected dubious ownership in repository`. The fix is per-
|
|
9
|
+
* clone, idempotent, and silent if already set:
|
|
10
|
+
*
|
|
11
|
+
* git config --local safe.directory <abs-path>
|
|
12
|
+
* git config --local core.fileMode false
|
|
13
|
+
*
|
|
14
|
+
* `applyPostInitGitConfig` is callable two ways:
|
|
15
|
+
*
|
|
16
|
+
* 1. Right after Cairn drives a `git init` — run unconditionally.
|
|
17
|
+
* 2. From Phase 1 detect, when WSL-from-Windows is active — run
|
|
18
|
+
* whether or not Cairn drove the init.
|
|
19
|
+
*
|
|
20
|
+
* The git runner is injectable so smokes can record argv without a
|
|
21
|
+
* real fork.
|
|
22
|
+
*/
|
|
23
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
24
|
+
import { resolve } from "node:path";
|
|
25
|
+
import { spawnSync } from "node:child_process";
|
|
26
|
+
const defaultGitRunner = (args, cwd) => {
|
|
27
|
+
const r = spawnSync("git", args, { cwd, encoding: "utf8" });
|
|
28
|
+
return {
|
|
29
|
+
ok: r.status === 0,
|
|
30
|
+
stdout: r.stdout ?? "",
|
|
31
|
+
stderr: r.stderr ?? "",
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export function applyPostInitGitConfig(opts) {
|
|
35
|
+
const runner = opts.gitRunner ?? defaultGitRunner;
|
|
36
|
+
const abs = resolve(opts.repoRoot);
|
|
37
|
+
const calls = [
|
|
38
|
+
["config", "--local", "safe.directory", abs],
|
|
39
|
+
["config", "--local", "core.fileMode", "false"],
|
|
40
|
+
];
|
|
41
|
+
const applied = [];
|
|
42
|
+
for (const args of calls) {
|
|
43
|
+
const r = runner(args, abs);
|
|
44
|
+
applied.push({ command: ["git", ...args], ok: r.ok, stderr: r.stderr });
|
|
45
|
+
}
|
|
46
|
+
return { applied };
|
|
47
|
+
}
|
|
48
|
+
const defaultProcVersionReader = () => {
|
|
49
|
+
if (!existsSync("/proc/version"))
|
|
50
|
+
return null;
|
|
51
|
+
try {
|
|
52
|
+
return readFileSync("/proc/version", "utf8");
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const WSL_PROC_RE = /Microsoft|WSL/;
|
|
59
|
+
/**
|
|
60
|
+
* `true` when the current process is Linux running inside WSL.
|
|
61
|
+
* Defaults to live `process.platform` + `/proc/version` lookup; tests
|
|
62
|
+
* inject both.
|
|
63
|
+
*/
|
|
64
|
+
export function detectWsl(opts = {}) {
|
|
65
|
+
const platform = opts.platform ?? process.platform;
|
|
66
|
+
if (platform !== "linux")
|
|
67
|
+
return false;
|
|
68
|
+
const reader = opts.procVersionReader ?? defaultProcVersionReader;
|
|
69
|
+
const text = reader();
|
|
70
|
+
if (typeof text !== "string")
|
|
71
|
+
return false;
|
|
72
|
+
return WSL_PROC_RE.test(text);
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=post-git-init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-git-init.js","sourceRoot":"","sources":["../../src/init/post-git-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAqB/C,MAAM,gBAAgB,GAAc,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAChD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;KACvB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CACpC,IAAwB;IAExB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,KAAK,GAAe;QACxB,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,CAAC;QAC5C,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC;KAChD,CAAC;IACF,MAAM,OAAO,GAAiC,EAAE,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAQD,MAAM,wBAAwB,GAAG,GAAkB,EAAE;IACnD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,eAAe,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,OAAyB,EAAE;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;IAClE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -36,7 +36,16 @@ export interface MonorepoContext {
|
|
|
36
36
|
export declare function detectMonorepoContext(startCwd: string, gitRoot: string | null): MonorepoContext | null;
|
|
37
37
|
/**
|
|
38
38
|
* Returns true when `repoRoot` looks like the Cairn source repository.
|
|
39
|
-
*
|
|
40
|
-
*
|
|
39
|
+
*
|
|
40
|
+
* Conjunction of three load-bearing markers — any single one
|
|
41
|
+
* false-positives on too many repos:
|
|
42
|
+
*
|
|
43
|
+
* 1. `packages/cairn-core/package.json` exists AND its `name` field
|
|
44
|
+
* is `@isaacriehm/cairn-core`.
|
|
45
|
+
* 2. `packages/cairn-frontend-claudecode/package.json` exists.
|
|
46
|
+
* 3. `pnpm-workspace.yaml` at the root.
|
|
47
|
+
*
|
|
48
|
+
* The package.json `name` check is what actually identifies the repo
|
|
49
|
+
* — directory names are not unique enough.
|
|
41
50
|
*/
|
|
42
51
|
export declare function isCairnSourceRepo(repoRoot: string): boolean;
|
|
@@ -97,12 +97,34 @@ function checkWorkspaceMarker(dir) {
|
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
99
|
* Returns true when `repoRoot` looks like the Cairn source repository.
|
|
100
|
-
*
|
|
101
|
-
*
|
|
100
|
+
*
|
|
101
|
+
* Conjunction of three load-bearing markers — any single one
|
|
102
|
+
* false-positives on too many repos:
|
|
103
|
+
*
|
|
104
|
+
* 1. `packages/cairn-core/package.json` exists AND its `name` field
|
|
105
|
+
* is `@isaacriehm/cairn-core`.
|
|
106
|
+
* 2. `packages/cairn-frontend-claudecode/package.json` exists.
|
|
107
|
+
* 3. `pnpm-workspace.yaml` at the root.
|
|
108
|
+
*
|
|
109
|
+
* The package.json `name` check is what actually identifies the repo
|
|
110
|
+
* — directory names are not unique enough.
|
|
102
111
|
*/
|
|
103
112
|
export function isCairnSourceRepo(repoRoot) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
113
|
+
if (!existsSync(join(repoRoot, "pnpm-workspace.yaml")))
|
|
114
|
+
return false;
|
|
115
|
+
if (!existsSync(join(repoRoot, "packages", "cairn-frontend-claudecode", "package.json"))) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
const corePkgPath = join(repoRoot, "packages", "cairn-core", "package.json");
|
|
119
|
+
if (!existsSync(corePkgPath))
|
|
120
|
+
return false;
|
|
121
|
+
try {
|
|
122
|
+
const raw = readFileSync(corePkgPath, "utf8");
|
|
123
|
+
const parsed = JSON.parse(raw);
|
|
124
|
+
return parsed.name === "@isaacriehm/cairn-core";
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
107
129
|
}
|
|
108
130
|
//# sourceMappingURL=preflight-guards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight-guards.js","sourceRoot":"","sources":["../../src/init/preflight-guards.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"preflight-guards.js","sourceRoot":"","sources":["../../src/init/preflight-guards.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,4 +7,4 @@ export type { RuleSection } from "./parse-sections.js";
|
|
|
7
7
|
export { regenerateRulesFiles } from "./regenerate.js";
|
|
8
8
|
export type { RegenerateRulesArgs, RegenerateRulesResult, } from "./regenerate.js";
|
|
9
9
|
export { runRulesMerge } from "./ingest.js";
|
|
10
|
-
export type { RuleClassKind, RuleClassification, RunRulesMergeArgs, RunRulesMergeResult, } from "./ingest.js";
|
|
10
|
+
export type { RuleClassKind, RuleClassification, RunRulesMergeArgs, RunRulesMergeResult, RunRulesMergeRunResult, RunRulesMergeSkippedResult, } from "./ingest.js";
|
|
@@ -107,7 +107,7 @@ interface RuleConflictRecord {
|
|
|
107
107
|
/** Haiku judge's verdict reasoning excerpt. */
|
|
108
108
|
reasoning: string;
|
|
109
109
|
}
|
|
110
|
-
export interface
|
|
110
|
+
export interface RunRulesMergeRunResult {
|
|
111
111
|
sources: RuleSourceFile[];
|
|
112
112
|
sectionsTotal: number;
|
|
113
113
|
classifications: RuleClassification[];
|
|
@@ -119,5 +119,10 @@ export interface RunRulesMergeResult {
|
|
|
119
119
|
auditRelPath: string;
|
|
120
120
|
kindCounts: Record<RuleClassKind, number>;
|
|
121
121
|
}
|
|
122
|
+
/** Phase was skipped because the repo is the Cairn source repo itself. */
|
|
123
|
+
export interface RunRulesMergeSkippedResult {
|
|
124
|
+
readonly skipped: "self-adopt";
|
|
125
|
+
}
|
|
126
|
+
export type RunRulesMergeResult = RunRulesMergeRunResult | RunRulesMergeSkippedResult;
|
|
122
127
|
export declare function runRulesMerge(args: RunRulesMergeArgs): Promise<RunRulesMergeResult>;
|
|
123
128
|
export {};
|