@isaacriehm/cairn-core 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/attention/index.d.ts +0 -2
- package/dist/attention/index.js +0 -2
- package/dist/attention/index.js.map +1 -1
- package/dist/attention/restore.d.ts +1 -1
- package/dist/attention/restore.js +1 -1
- package/dist/attention/source-strip.d.ts +2 -2
- package/dist/attention/source-strip.js +2 -2
- package/dist/components/audit.d.ts +7 -1
- package/dist/components/audit.js +144 -72
- package/dist/components/audit.js.map +1 -1
- package/dist/doctor/index.js +96 -3
- package/dist/doctor/index.js.map +1 -1
- package/dist/gc/citation-integrity.d.ts +2 -2
- package/dist/gc/citation-integrity.js +9 -7
- package/dist/gc/citation-integrity.js.map +1 -1
- package/dist/gc/classify.js +3 -16
- package/dist/gc/classify.js.map +1 -1
- package/dist/gc/entity-orphan.js +7 -5
- package/dist/gc/entity-orphan.js.map +1 -1
- package/dist/gc/sweep.d.ts +1 -1
- package/dist/gc/sweep.js +1 -1
- package/dist/hooks/post-tool-use/ask-user-blocked.d.ts +1 -2
- package/dist/hooks/post-tool-use/ask-user-blocked.js +1 -2
- package/dist/hooks/post-tool-use/ask-user-blocked.js.map +1 -1
- package/dist/hooks/post-tool-use/citation-scanner.d.ts +2 -2
- package/dist/hooks/post-tool-use/citation-scanner.js +1 -1
- package/dist/hooks/post-tool-use/read-enricher.d.ts +1 -1
- package/dist/hooks/post-tool-use/read-enricher.js +1 -1
- package/dist/hooks/post-tool-use/write-guardian.d.ts +1 -5
- package/dist/hooks/post-tool-use/write-guardian.js +21 -14
- package/dist/hooks/post-tool-use/write-guardian.js.map +1 -1
- package/dist/hooks/runners/session-start.js +61 -1
- package/dist/hooks/runners/session-start.js.map +1 -1
- package/dist/hooks/runners/stop.js +20 -30
- package/dist/hooks/runners/stop.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/init/detect-components.d.ts +3 -2
- package/dist/init/detect-components.js +31 -13
- package/dist/init/detect-components.js.map +1 -1
- package/dist/init/detect.d.ts +1 -5
- package/dist/init/detect.js +157 -143
- package/dist/init/detect.js.map +1 -1
- package/dist/init/glob-inference.js +24 -0
- package/dist/init/glob-inference.js.map +1 -1
- package/dist/init/index.d.ts +3 -3
- package/dist/init/index.js +1 -1
- package/dist/init/index.js.map +1 -1
- package/dist/init/init.js +0 -14
- package/dist/init/init.js.map +1 -1
- package/dist/init/mapper-merge.d.ts +1 -4
- package/dist/init/mapper-merge.js +4 -17
- package/dist/init/mapper-merge.js.map +1 -1
- package/dist/init/mapper-parallel.js +1 -1
- package/dist/init/mapper-parallel.js.map +1 -1
- package/dist/init/mapper-prompts.d.ts +1 -23
- package/dist/init/mapper-prompts.js +1 -25
- package/dist/init/mapper-prompts.js.map +1 -1
- package/dist/init/mapper.d.ts +0 -6
- package/dist/init/mapper.js +0 -3
- package/dist/init/mapper.js.map +1 -1
- package/dist/init/module-slicer.js +3 -24
- package/dist/init/module-slicer.js.map +1 -1
- package/dist/init/overlay.js +5 -16
- package/dist/init/overlay.js.map +1 -1
- package/dist/init/phases/9d-comp-walk.js +1 -1
- package/dist/init/phases/9d-comp-walk.js.map +1 -1
- package/dist/init/source-comments/strip-replace.d.ts +1 -1
- package/dist/init/source-comments/strip-replace.js +2 -2
- package/dist/init/source-comments/walker.js +8 -79
- package/dist/init/source-comments/walker.js.map +1 -1
- package/dist/init/types.d.ts +8 -16
- package/dist/init/walker.d.ts +1 -1
- package/dist/init/walker.js +1 -1
- package/dist/mcp/schemas.d.ts +4 -4
- package/dist/mcp/schemas.js +1 -1
- package/dist/mcp/serve.js +9 -0
- package/dist/mcp/serve.js.map +1 -1
- package/dist/mcp/tools/decision-get.js +2 -2
- package/dist/mcp/tools/decision-get.js.map +1 -1
- package/dist/mcp/tools/index.js +0 -6
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/mission-advance.d.ts +3 -4
- package/dist/mcp/tools/mission-advance.js +10 -14
- package/dist/mcp/tools/mission-advance.js.map +1 -1
- package/dist/mcp/tools/record-decision.js +7 -6
- package/dist/mcp/tools/record-decision.js.map +1 -1
- package/dist/mcp/tools/resolve-attention.js +50 -30
- package/dist/mcp/tools/resolve-attention.js.map +1 -1
- package/dist/migrate/config-io.d.ts +16 -0
- package/dist/migrate/config-io.js +71 -0
- package/dist/migrate/config-io.js.map +1 -0
- package/dist/migrate/index.d.ts +5 -0
- package/dist/migrate/index.js +5 -0
- package/dist/migrate/index.js.map +1 -0
- package/dist/migrate/migrations/0001-drop-dead-config-fields.d.ts +12 -0
- package/dist/migrate/migrations/0001-drop-dead-config-fields.js +39 -0
- package/dist/migrate/migrations/0001-drop-dead-config-fields.js.map +1 -0
- package/dist/migrate/registry.d.ts +9 -0
- package/dist/migrate/registry.js +10 -0
- package/dist/migrate/registry.js.map +1 -0
- package/dist/migrate/runner.d.ts +45 -0
- package/dist/migrate/runner.js +170 -0
- package/dist/migrate/runner.js.map +1 -0
- package/dist/migrate/semver.d.ts +11 -0
- package/dist/migrate/semver.js +35 -0
- package/dist/migrate/semver.js.map +1 -0
- package/dist/migrate/types.d.ts +39 -0
- package/dist/migrate/types.js +13 -0
- package/dist/migrate/types.js.map +1 -0
- package/dist/missions/task-link.js +3 -3
- package/dist/missions/task-link.js.map +1 -1
- package/dist/sensors/catalog.js +4 -9
- package/dist/sensors/catalog.js.map +1 -1
- package/dist/sensors/decisions.js +55 -19
- package/dist/sensors/decisions.js.map +1 -1
- package/dist/sensors/diff.d.ts +12 -0
- package/dist/sensors/diff.js +103 -0
- package/dist/sensors/diff.js.map +1 -1
- package/dist/sensors/index.d.ts +4 -5
- package/dist/sensors/index.js +2 -3
- package/dist/sensors/index.js.map +1 -1
- package/dist/sensors/runner.d.ts +34 -37
- package/dist/sensors/runner.js +63 -53
- package/dist/sensors/runner.js.map +1 -1
- package/dist/sensors/stub-catalog.d.ts +6 -3
- package/dist/sensors/stub-catalog.js +7 -19
- package/dist/sensors/stub-catalog.js.map +1 -1
- package/dist/sensors/types.d.ts +11 -55
- package/dist/sensors/types.js +4 -8
- package/dist/sensors/types.js.map +1 -1
- package/dist/session-start/build.js +5 -5
- package/dist/session-start/build.js.map +1 -1
- package/dist/session-start/templates.d.ts +1 -1
- package/dist/session-start/templates.js +1 -1
- package/dist/tasks/lifecycle.d.ts +3 -4
- package/dist/tasks/lifecycle.js +9 -12
- package/dist/tasks/lifecycle.js.map +1 -1
- package/package.json +2 -2
- package/templates/.cairn/git-hooks/pre-commit +7 -4
- package/templates/.github/workflows/cairn-check.yml +8 -0
- package/dist/attention/bulk-accept.d.ts +0 -78
- package/dist/attention/bulk-accept.js +0 -348
- package/dist/attention/bulk-accept.js.map +0 -1
- package/dist/attention/serve/api.d.ts +0 -24
- package/dist/attention/serve/api.js +0 -383
- package/dist/attention/serve/api.js.map +0 -1
- package/dist/attention/serve/index.d.ts +0 -63
- package/dist/attention/serve/index.js +0 -219
- package/dist/attention/serve/index.js.map +0 -1
- package/dist/mcp/tools/attention-serve.d.ts +0 -23
- package/dist/mcp/tools/attention-serve.js +0 -84
- package/dist/mcp/tools/attention-serve.js.map +0 -1
- package/dist/mcp/tools/attention-wait.d.ts +0 -18
- package/dist/mcp/tools/attention-wait.js +0 -84
- package/dist/mcp/tools/attention-wait.js.map +0 -1
- package/dist/mcp/tools/bulk-accept-attention.d.ts +0 -22
- package/dist/mcp/tools/bulk-accept-attention.js +0 -84
- package/dist/mcp/tools/bulk-accept-attention.js.map +0 -1
- package/dist/sensors/attestation.d.ts +0 -44
- package/dist/sensors/attestation.js +0 -262
- package/dist/sensors/attestation.js.map +0 -1
package/dist/tasks/lifecycle.js
CHANGED
|
@@ -109,10 +109,9 @@ export function completeTask(args) {
|
|
|
109
109
|
* `tasks/active/<id>/` and reset its phase to `running`. Inverse of
|
|
110
110
|
* `completeTask`.
|
|
111
111
|
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* operator was told to `mv` the directory manually.
|
|
112
|
+
* Recovery tool for when `cairn_task_complete` without `task_id`
|
|
113
|
+
* graduated the wrong task (a parallel-session task picked via
|
|
114
|
+
* mtime-based active-task fallback).
|
|
116
115
|
*
|
|
117
116
|
* Side-effect: renames any pre-existing `attestation.yaml` to
|
|
118
117
|
* `attestation.<completedAt>.yaml` so the Stop-hook auto-graduator
|
|
@@ -264,15 +263,13 @@ export function appendTaskJournal(args) {
|
|
|
264
263
|
appendFileSync(path, `${JSON.stringify(entry)}\n`, "utf8");
|
|
265
264
|
// Bump status.yaml mtime so the stalled-task detector (which reads
|
|
266
265
|
// mtime on status.yaml) sees a journal-only turn as live activity.
|
|
267
|
-
// Without this, journaling without a status edit
|
|
268
|
-
//
|
|
266
|
+
// Without this, journaling without a status edit lets the idle clock
|
|
267
|
+
// fire mid-active-work.
|
|
269
268
|
//
|
|
270
|
-
// Also stamp `last_journal_session` so the stall scan can tell
|
|
271
|
-
//
|
|
272
|
-
//
|
|
273
|
-
//
|
|
274
|
-
// saw each other's tasks as stalled because nothing distinguished
|
|
275
|
-
// "owned by another session" from "abandoned."
|
|
269
|
+
// Also stamp `last_journal_session` so the stall scan can tell which
|
|
270
|
+
// session is currently working the task — two concurrent CC sessions
|
|
271
|
+
// sharing one `.cairn/` must not see each other's tasks as stalled
|
|
272
|
+
// ("owned by another session" vs "abandoned").
|
|
276
273
|
const statusPath = join(taskDir, "status.yaml");
|
|
277
274
|
if (existsSync(statusPath)) {
|
|
278
275
|
if (args.sessionId !== null && args.sessionId !== "") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/tasks/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/tasks/lifecycle.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@isaacriehm/cairn-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "Cairn core — state + context layer. Curated `.cairn/ground/` (decisions, §INV invariants, canonical-map, brand, quality-grades), MCP server, init wizard, hook runners, sensors, GC drift sweep.",
|
|
5
5
|
"author": "Isaac Riehm",
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"simple-git": "^3.36.0",
|
|
40
40
|
"yaml": "^2.9.0",
|
|
41
41
|
"zod": "^4.4.3",
|
|
42
|
-
"@isaacriehm/cairn-state": "0.
|
|
42
|
+
"@isaacriehm/cairn-state": "0.21.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/cli-progress": "^3.11.6",
|
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
#
|
|
4
4
|
# Runs two passes against the staged tree:
|
|
5
5
|
#
|
|
6
|
-
# 1. `cairn sensor-run --staged` —
|
|
7
|
-
# (
|
|
8
|
-
#
|
|
9
|
-
#
|
|
6
|
+
# 1. `cairn sensor-run --staged` — component-registry check + the
|
|
7
|
+
# sensor sweep (Layer A stub
|
|
8
|
+
# catalog, Layer C structural,
|
|
9
|
+
# decision-assertions) over the
|
|
10
|
+
# staged tree. Exits non-zero,
|
|
11
|
+
# blocking the commit, on any hard
|
|
12
|
+
# finding.
|
|
10
13
|
#
|
|
11
14
|
# 2. `cairn hook pre-commit-align` — Layer B (plan §4.2)
|
|
12
15
|
# detection-only SoT drift log.
|
|
@@ -27,3 +27,11 @@ jobs:
|
|
|
27
27
|
|
|
28
28
|
- name: Cairn doctor — verify ground state is healthy
|
|
29
29
|
run: cairn doctor
|
|
30
|
+
|
|
31
|
+
- name: Cairn sensor sweep — enforce decisions/invariants on the diff
|
|
32
|
+
run: |
|
|
33
|
+
BASE="${{ github.event.pull_request.base.sha || github.event.before }}"
|
|
34
|
+
if [ -z "$BASE" ] || ! git cat-file -e "${BASE}^{commit}" 2>/dev/null; then
|
|
35
|
+
BASE="origin/${{ github.event.repository.default_branch || 'main' }}"
|
|
36
|
+
fi
|
|
37
|
+
cairn sensor-run --diff "${BASE}..HEAD" --strict
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bulk-accept obvious DEC drafts + stamp confidence on invariants.
|
|
3
|
-
*
|
|
4
|
-
* Mirrors the per-draft accept flow in `mcp/tools/resolve-attention.ts`
|
|
5
|
-
* (`choice: "a"`) but applies it in one pass over `_inbox/` filtered
|
|
6
|
-
* by the `scoring.ts` heuristic. Operator runs this once per
|
|
7
|
-
* adoption to drain the obvious classifications, then triages the
|
|
8
|
-
* medium / low-confidence remainder interactively via the existing
|
|
9
|
-
* cairn-attention skill.
|
|
10
|
-
*
|
|
11
|
-
* Design:
|
|
12
|
-
* - Score each draft from frontmatter + body (prose, raw block) so
|
|
13
|
-
* it can run against drafts written before the scoring pipeline
|
|
14
|
-
* existed (back-compat for v0.3.6 adoptions).
|
|
15
|
-
* - High-confidence DEC drafts: move `_inbox/<id>.draft.md`
|
|
16
|
-
* → `<id>.md`, flip `status:` frontmatter to `accepted`, and
|
|
17
|
-
* stamp `capture_confidence: high`. Rebuild
|
|
18
|
-
* `decisions.ledger.yaml` once at the end.
|
|
19
|
-
* - Medium / low-confidence DEC drafts: stay in `_inbox/` but
|
|
20
|
-
* get `capture_confidence` stamped so the cairn-attention skill
|
|
21
|
-
* can prioritize what to surface first.
|
|
22
|
-
* - Invariants are already at `status: active` (phase 7b promotes
|
|
23
|
-
* them on write). Just stamp `capture_confidence` so future
|
|
24
|
-
* UX can hide low-confidence ones from the active set.
|
|
25
|
-
*
|
|
26
|
-
* Side-effect-only: emits decision_accepted events, runs the source
|
|
27
|
-
* strip-replace pass on accepted source-comment drafts so the §INV /
|
|
28
|
-
* §DEC citations land in the original source.
|
|
29
|
-
*/
|
|
30
|
-
import type { ProjectGlobs } from "../sensors/types.js";
|
|
31
|
-
import { type DraftConfidence } from "./scoring.js";
|
|
32
|
-
export interface BulkAcceptArgs {
|
|
33
|
-
repoRoot: string;
|
|
34
|
-
/** Project globs sourced from `.cairn/config.yaml`. */
|
|
35
|
-
globs: ProjectGlobs;
|
|
36
|
-
/**
|
|
37
|
-
* Minimum confidence to auto-accept DEC drafts. Defaults to "high"
|
|
38
|
-
* — only obvious accepts move out of the inbox. "medium" widens
|
|
39
|
-
* acceptance; "low" effectively accepts everything (do not use
|
|
40
|
-
* unless the operator explicitly opts in).
|
|
41
|
-
*/
|
|
42
|
-
threshold?: DraftConfidence;
|
|
43
|
-
/** Don't write — just compute counts. Returns the same shape. */
|
|
44
|
-
dryRun?: boolean;
|
|
45
|
-
}
|
|
46
|
-
export interface BulkAcceptResult {
|
|
47
|
-
decsScanned: number;
|
|
48
|
-
decsAccepted: number;
|
|
49
|
-
decsByConfidence: Record<DraftConfidence, number>;
|
|
50
|
-
acceptedIds: string[];
|
|
51
|
-
invariantsScanned: number;
|
|
52
|
-
invariantsByConfidence: Record<DraftConfidence, number>;
|
|
53
|
-
/**
|
|
54
|
-
* Aggregate count of files where an accepted DEC's source-comment
|
|
55
|
-
* essay was replaced inline with `// §DEC-NNNN`. Mirrors the §INV
|
|
56
|
-
* strip pass that 7b runs at adoption time.
|
|
57
|
-
*/
|
|
58
|
-
sourceStripFilesModified: number;
|
|
59
|
-
/** Aggregate count of strip items that landed across all accepted DECs. */
|
|
60
|
-
sourceStripItemsApplied: number;
|
|
61
|
-
/**
|
|
62
|
-
* Per-accepted-id strip outcome reasons when the strip didn't run
|
|
63
|
-
* the happy path (block not found, audit missing, source dirty).
|
|
64
|
-
* Empty when every accept succeeded or no DECs came from source
|
|
65
|
-
* comments.
|
|
66
|
-
*/
|
|
67
|
-
sourceStripSkipped: {
|
|
68
|
-
id: string;
|
|
69
|
-
reason: string;
|
|
70
|
-
}[];
|
|
71
|
-
dryRun: boolean;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Score, stamp, and (for high-confidence DECs) accept inbox drafts in
|
|
75
|
-
* bulk. Returns the count summary the CLI / skill renders to the
|
|
76
|
-
* operator.
|
|
77
|
-
*/
|
|
78
|
-
export declare function bulkAcceptObvious(args: BulkAcceptArgs): Promise<BulkAcceptResult>;
|
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bulk-accept obvious DEC drafts + stamp confidence on invariants.
|
|
3
|
-
*
|
|
4
|
-
* Mirrors the per-draft accept flow in `mcp/tools/resolve-attention.ts`
|
|
5
|
-
* (`choice: "a"`) but applies it in one pass over `_inbox/` filtered
|
|
6
|
-
* by the `scoring.ts` heuristic. Operator runs this once per
|
|
7
|
-
* adoption to drain the obvious classifications, then triages the
|
|
8
|
-
* medium / low-confidence remainder interactively via the existing
|
|
9
|
-
* cairn-attention skill.
|
|
10
|
-
*
|
|
11
|
-
* Design:
|
|
12
|
-
* - Score each draft from frontmatter + body (prose, raw block) so
|
|
13
|
-
* it can run against drafts written before the scoring pipeline
|
|
14
|
-
* existed (back-compat for v0.3.6 adoptions).
|
|
15
|
-
* - High-confidence DEC drafts: move `_inbox/<id>.draft.md`
|
|
16
|
-
* → `<id>.md`, flip `status:` frontmatter to `accepted`, and
|
|
17
|
-
* stamp `capture_confidence: high`. Rebuild
|
|
18
|
-
* `decisions.ledger.yaml` once at the end.
|
|
19
|
-
* - Medium / low-confidence DEC drafts: stay in `_inbox/` but
|
|
20
|
-
* get `capture_confidence` stamped so the cairn-attention skill
|
|
21
|
-
* can prioritize what to surface first.
|
|
22
|
-
* - Invariants are already at `status: active` (phase 7b promotes
|
|
23
|
-
* them on write). Just stamp `capture_confidence` so future
|
|
24
|
-
* UX can hide low-confidence ones from the active set.
|
|
25
|
-
*
|
|
26
|
-
* Side-effect-only: emits decision_accepted events, runs the source
|
|
27
|
-
* strip-replace pass on accepted source-comment drafts so the §INV /
|
|
28
|
-
* §DEC citations land in the original source.
|
|
29
|
-
*/
|
|
30
|
-
import { existsSync, readFileSync, readdirSync, rmSync, writeFileSync, } from "node:fs";
|
|
31
|
-
import { join } from "node:path";
|
|
32
|
-
import { writeFileSafe } from "@isaacriehm/cairn-state";
|
|
33
|
-
import { stringify as stringifyYaml } from "yaml";
|
|
34
|
-
import { decisionsDir, invariantsDir } from "@isaacriehm/cairn-state";
|
|
35
|
-
import { writeDecisionsLedger } from "@isaacriehm/cairn-state";
|
|
36
|
-
import { parseFrontmatterRecord } from "@isaacriehm/cairn-state";
|
|
37
|
-
import { withWriteLock } from "../lock.js";
|
|
38
|
-
import { writeInvalidationEvent } from "../events/index.js";
|
|
39
|
-
import { scoreDecDraft, scoreInvariant, } from "./scoring.js";
|
|
40
|
-
import { runDecSourceStrip } from "./source-strip.js";
|
|
41
|
-
/**
|
|
42
|
-
* Score, stamp, and (for high-confidence DECs) accept inbox drafts in
|
|
43
|
-
* bulk. Returns the count summary the CLI / skill renders to the
|
|
44
|
-
* operator.
|
|
45
|
-
*/
|
|
46
|
-
export async function bulkAcceptObvious(args) {
|
|
47
|
-
const threshold = args.threshold ?? "high";
|
|
48
|
-
const dry = args.dryRun ?? false;
|
|
49
|
-
// ── DEC drafts ────────────────────────────────────────────────────
|
|
50
|
-
const inboxDir = join(decisionsDir(args.repoRoot), "_inbox");
|
|
51
|
-
const decsByConfidence = { high: 0, medium: 0, low: 0 };
|
|
52
|
-
const acceptedIds = [];
|
|
53
|
-
const sourceStripSkipped = [];
|
|
54
|
-
let decsScanned = 0;
|
|
55
|
-
let decsAccepted = 0;
|
|
56
|
-
let sourceStripFilesModified = 0;
|
|
57
|
-
let sourceStripItemsApplied = 0;
|
|
58
|
-
if (existsSync(inboxDir)) {
|
|
59
|
-
const entries = readdirSync(inboxDir, { withFileTypes: true });
|
|
60
|
-
const drafts = entries.filter((e) => e.isFile() && e.name.endsWith(".draft.md"));
|
|
61
|
-
decsScanned = drafts.length;
|
|
62
|
-
if (drafts.length > 0) {
|
|
63
|
-
await withWriteLock(args.repoRoot, async () => {
|
|
64
|
-
for (const e of drafts) {
|
|
65
|
-
const abs = join(inboxDir, e.name);
|
|
66
|
-
let raw;
|
|
67
|
-
try {
|
|
68
|
-
raw = readFileSync(abs, "utf8");
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
continue;
|
|
72
|
-
}
|
|
73
|
-
const fm = parseFrontmatterRecord(raw).fm;
|
|
74
|
-
const body = stripFrontmatter(raw);
|
|
75
|
-
const id = stringField(fm, "id") ?? e.name.replace(/\.draft\.md$/, "");
|
|
76
|
-
const sourceFile = stringField(fm, "sourceFile") ?? "";
|
|
77
|
-
const titleFm = stringField(fm, "proposedTitle") ?? stringField(fm, "title") ?? "";
|
|
78
|
-
const rationaleFm = stringField(fm, "proposedRationale") ?? extractSection(body, "Proposed rationale");
|
|
79
|
-
const proseFromBody = extractSection(body, "Source comment");
|
|
80
|
-
// Phase 7b drafts emit verbatim essay bodies without a `## Source
|
|
81
|
-
// comment` heading, so `extractSection` returns "". Fall back to
|
|
82
|
-
// the full body so the scorer sees the actual prose — without this
|
|
83
|
-
// every draft scored low because DECISION_VERBS / INVARIANT_MODALS
|
|
84
|
-
// / REASON_MARKERS regexes matched nothing.
|
|
85
|
-
const proseFallback = body.trim();
|
|
86
|
-
const prose = rationaleFm.length > 0
|
|
87
|
-
? rationaleFm
|
|
88
|
-
: proseFromBody.length > 0
|
|
89
|
-
? proseFromBody
|
|
90
|
-
: proseFallback;
|
|
91
|
-
const rawComment = proseFromBody.length > 0 ? proseFromBody : proseFallback;
|
|
92
|
-
const score = scoreDecDraft({
|
|
93
|
-
sourceFile,
|
|
94
|
-
prose,
|
|
95
|
-
title: titleFm,
|
|
96
|
-
rawComment,
|
|
97
|
-
globs: args.globs,
|
|
98
|
-
});
|
|
99
|
-
decsByConfidence[score] += 1;
|
|
100
|
-
// Stamp confidence on the in-memory frontmatter. The actual write
|
|
101
|
-
// back to disk is gated below — we don't re-stamp drafts the
|
|
102
|
-
// operator already saw with a confidence value.
|
|
103
|
-
const prevConf = stringField(fm, "capture_confidence");
|
|
104
|
-
// Tight check: only valid enum values count as already-stamped.
|
|
105
|
-
// An empty string or hand-edited garbage is treated as unstamped
|
|
106
|
-
// so the scorer can re-stamp on next run.
|
|
107
|
-
const previouslyStamped = prevConf === "high" || prevConf === "medium" || prevConf === "low";
|
|
108
|
-
const stampedFm = { ...fm, capture_confidence: score };
|
|
109
|
-
if (atOrAbove(score, threshold)) {
|
|
110
|
-
// Promote to accepted.
|
|
111
|
-
const acceptedFm = { ...stampedFm, status: "accepted" };
|
|
112
|
-
const acceptedBody = renderDoc(acceptedFm, body);
|
|
113
|
-
const acceptedPath = join(decisionsDir(args.repoRoot), `${id}.md`);
|
|
114
|
-
if (!dry) {
|
|
115
|
-
writeFileSafe(acceptedPath, acceptedBody);
|
|
116
|
-
try {
|
|
117
|
-
rmSync(abs, { force: true });
|
|
118
|
-
}
|
|
119
|
-
catch {
|
|
120
|
-
/* best-effort */
|
|
121
|
-
}
|
|
122
|
-
// Source-comment derived DECs: replace the original essay
|
|
123
|
-
// block with `// §DEC-NNNN` so the file ends up carrying
|
|
124
|
-
// the bare cite, mirroring the §INV strip pass that 7b
|
|
125
|
-
// runs at adoption time.
|
|
126
|
-
const captureSource = stringField(stampedFm, "capture_source");
|
|
127
|
-
const blockId = stringField(stampedFm, "blockId");
|
|
128
|
-
if (captureSource === "init-source-comments" &&
|
|
129
|
-
blockId !== null) {
|
|
130
|
-
// Source files that came from Phase 7b are already dirty
|
|
131
|
-
// (the INV strip pass mutated them); runDecSourceStrip
|
|
132
|
-
// forces overwrite for the target file so the dirty
|
|
133
|
-
// check doesn't bail. Operator consented to source
|
|
134
|
-
// mutation at adoption time.
|
|
135
|
-
const stripOutcome = runDecSourceStrip({
|
|
136
|
-
repoRoot: args.repoRoot,
|
|
137
|
-
decId: id,
|
|
138
|
-
meta: {
|
|
139
|
-
blockId,
|
|
140
|
-
sourceFile: stringField(stampedFm, "sourceFile") ?? "",
|
|
141
|
-
captureSource,
|
|
142
|
-
title: stringField(stampedFm, "title") ?? "",
|
|
143
|
-
},
|
|
144
|
-
});
|
|
145
|
-
sourceStripFilesModified +=
|
|
146
|
-
stripOutcome.files_modified;
|
|
147
|
-
sourceStripItemsApplied +=
|
|
148
|
-
stripOutcome.items_applied;
|
|
149
|
-
if (stripOutcome.attempted &&
|
|
150
|
-
stripOutcome.items_applied === 0 &&
|
|
151
|
-
stripOutcome.reason !== undefined) {
|
|
152
|
-
sourceStripSkipped.push({
|
|
153
|
-
id,
|
|
154
|
-
reason: stripOutcome.reason,
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
else if (!stripOutcome.attempted && stripOutcome.reason !== undefined) {
|
|
158
|
-
sourceStripSkipped.push({
|
|
159
|
-
id,
|
|
160
|
-
reason: stripOutcome.reason,
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
// Emit `decision_accepted` event per promoted draft so
|
|
166
|
-
// cross-session listeners (Stop hook, scope-index rebuild)
|
|
167
|
-
// see the new accepted DEC. Without this, bulk-accept's
|
|
168
|
-
// 21-DEC batches were invisible to the event ledger and
|
|
169
|
-
// downstream invalidation never fired.
|
|
170
|
-
if (!dry) {
|
|
171
|
-
try {
|
|
172
|
-
writeInvalidationEvent(args.repoRoot, {
|
|
173
|
-
kind: "decision_accepted",
|
|
174
|
-
refs: [{ kind: "decision", id }],
|
|
175
|
-
path: `.cairn/ground/decisions/${id}.md`,
|
|
176
|
-
source: { session_id: null, tool: "cairn_bulk_accept_attention" },
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
catch {
|
|
180
|
-
/* best-effort */
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
decsAccepted += 1;
|
|
184
|
-
acceptedIds.push(id);
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
// Stay in inbox. Only persist the stamp on first scoring —
|
|
188
|
-
// a re-run of bulk-accept (e.g. operator clicks "accept
|
|
189
|
-
// high-confidence" again with a different threshold) must
|
|
190
|
-
// not silently mutate drafts the operator already saw.
|
|
191
|
-
if (!dry && !previouslyStamped) {
|
|
192
|
-
const stampedDoc = renderDoc(stampedFm, body);
|
|
193
|
-
writeFileSync(abs, stampedDoc, "utf8");
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
// Rebuild the ledger once at the end so accepted DECs surface
|
|
198
|
-
// in `cairn_in_scope` immediately.
|
|
199
|
-
if (!dry && decsAccepted > 0) {
|
|
200
|
-
try {
|
|
201
|
-
writeDecisionsLedger({ repoRoot: args.repoRoot });
|
|
202
|
-
}
|
|
203
|
-
catch {
|
|
204
|
-
/* best-effort */
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
// ── Invariants ────────────────────────────────────────────────────
|
|
211
|
-
// Already at status: active on disk. Just stamp confidence so the
|
|
212
|
-
// attention skill can hide / down-weight low-confidence ones.
|
|
213
|
-
const invDir = invariantsDir(args.repoRoot);
|
|
214
|
-
const invariantsByConfidence = { high: 0, medium: 0, low: 0 };
|
|
215
|
-
let invariantsScanned = 0;
|
|
216
|
-
if (existsSync(invDir)) {
|
|
217
|
-
const invEntries = readdirSync(invDir, { withFileTypes: true });
|
|
218
|
-
const invFiles = invEntries.filter((e) => e.isFile() && /^INV-[0-9a-f]{7,}\.md$/.test(e.name));
|
|
219
|
-
invariantsScanned = invFiles.length;
|
|
220
|
-
if (invFiles.length > 0 && !dry) {
|
|
221
|
-
await withWriteLock(args.repoRoot, async () => {
|
|
222
|
-
for (const e of invFiles) {
|
|
223
|
-
const abs = join(invDir, e.name);
|
|
224
|
-
let raw;
|
|
225
|
-
try {
|
|
226
|
-
raw = readFileSync(abs, "utf8");
|
|
227
|
-
}
|
|
228
|
-
catch {
|
|
229
|
-
continue;
|
|
230
|
-
}
|
|
231
|
-
const fm = parseFrontmatterRecord(raw).fm;
|
|
232
|
-
const body = stripFrontmatter(raw);
|
|
233
|
-
const sourceFile = stringField(fm, "sourceFile") ?? "";
|
|
234
|
-
const titleFm = stringField(fm, "title") ?? "";
|
|
235
|
-
const rawCommentBody = extractSection(body, "Source comment");
|
|
236
|
-
const constraintBody = extractSection(body, "Constraint");
|
|
237
|
-
// Phase 7b invariants emit verbatim essay bodies — no `## Constraint`
|
|
238
|
-
// / `## Source comment` headings. Fall back to full body so the
|
|
239
|
-
// scorer's INVARIANT_MODALS / REASON_MARKERS regexes have signal.
|
|
240
|
-
const proseFallback = body.trim();
|
|
241
|
-
const prose = constraintBody.length > 0
|
|
242
|
-
? constraintBody
|
|
243
|
-
: rawCommentBody.length > 0
|
|
244
|
-
? rawCommentBody
|
|
245
|
-
: proseFallback;
|
|
246
|
-
const rawComment = rawCommentBody.length > 0 ? rawCommentBody : proseFallback;
|
|
247
|
-
const score = scoreInvariant({
|
|
248
|
-
sourceFile,
|
|
249
|
-
prose,
|
|
250
|
-
title: titleFm,
|
|
251
|
-
rawComment,
|
|
252
|
-
globs: args.globs,
|
|
253
|
-
});
|
|
254
|
-
invariantsByConfidence[score] += 1;
|
|
255
|
-
const prevConf = stringField(fm, "capture_confidence");
|
|
256
|
-
// Tight check: only valid enum values count as already-stamped.
|
|
257
|
-
// An empty string or hand-edited garbage is treated as unstamped
|
|
258
|
-
// so the scorer can re-stamp on next run.
|
|
259
|
-
const previouslyStamped = prevConf === "high" || prevConf === "medium" || prevConf === "low";
|
|
260
|
-
if (!previouslyStamped) {
|
|
261
|
-
const stamped = { ...fm, capture_confidence: score };
|
|
262
|
-
const stampedDoc = renderDoc(stamped, body);
|
|
263
|
-
writeFileSync(abs, stampedDoc, "utf8");
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
else if (invFiles.length > 0 && dry) {
|
|
269
|
-
// Dry run still scores so the operator can see the distribution.
|
|
270
|
-
for (const e of invFiles) {
|
|
271
|
-
const abs = join(invDir, e.name);
|
|
272
|
-
let raw;
|
|
273
|
-
try {
|
|
274
|
-
raw = readFileSync(abs, "utf8");
|
|
275
|
-
}
|
|
276
|
-
catch {
|
|
277
|
-
continue;
|
|
278
|
-
}
|
|
279
|
-
const fm = parseFrontmatterRecord(raw).fm;
|
|
280
|
-
const body = stripFrontmatter(raw);
|
|
281
|
-
const sourceFile = stringField(fm, "sourceFile") ?? "";
|
|
282
|
-
const titleFm = stringField(fm, "title") ?? "";
|
|
283
|
-
const rawCommentBody = extractSection(body, "Source comment");
|
|
284
|
-
const constraintBody = extractSection(body, "Constraint");
|
|
285
|
-
const proseFallback = body.trim();
|
|
286
|
-
const prose = constraintBody.length > 0
|
|
287
|
-
? constraintBody
|
|
288
|
-
: rawCommentBody.length > 0
|
|
289
|
-
? rawCommentBody
|
|
290
|
-
: proseFallback;
|
|
291
|
-
const rawComment = rawCommentBody.length > 0 ? rawCommentBody : proseFallback;
|
|
292
|
-
const score = scoreInvariant({
|
|
293
|
-
sourceFile,
|
|
294
|
-
prose,
|
|
295
|
-
title: titleFm,
|
|
296
|
-
rawComment,
|
|
297
|
-
globs: args.globs,
|
|
298
|
-
});
|
|
299
|
-
invariantsByConfidence[score] += 1;
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
return {
|
|
304
|
-
decsScanned,
|
|
305
|
-
decsAccepted,
|
|
306
|
-
decsByConfidence,
|
|
307
|
-
acceptedIds,
|
|
308
|
-
sourceStripFilesModified,
|
|
309
|
-
sourceStripItemsApplied,
|
|
310
|
-
sourceStripSkipped,
|
|
311
|
-
invariantsScanned,
|
|
312
|
-
invariantsByConfidence,
|
|
313
|
-
dryRun: dry,
|
|
314
|
-
};
|
|
315
|
-
}
|
|
316
|
-
// ── Helpers ────────────────────────────────────────────────────────
|
|
317
|
-
function stripFrontmatter(doc) {
|
|
318
|
-
return doc.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/, "");
|
|
319
|
-
}
|
|
320
|
-
function renderDoc(fm, body) {
|
|
321
|
-
return `---\n${stringifyYaml(fm).trimEnd()}\n---\n${body.startsWith("\n") ? body : `\n${body}`}`;
|
|
322
|
-
}
|
|
323
|
-
function stringField(fm, key) {
|
|
324
|
-
const v = fm[key];
|
|
325
|
-
return typeof v === "string" ? v : null;
|
|
326
|
-
}
|
|
327
|
-
function extractSection(body, header) {
|
|
328
|
-
const re = new RegExp(`##\\s+${escapeRegex(header)}\\s*\\n([\\s\\S]*?)(?=\\n##\\s|$)`, "i");
|
|
329
|
-
const m = body.match(re);
|
|
330
|
-
if (m === null)
|
|
331
|
-
return "";
|
|
332
|
-
const captured = m[1];
|
|
333
|
-
if (captured === undefined)
|
|
334
|
-
return "";
|
|
335
|
-
return captured.replace(/^\s*```[a-z0-9]*\n?/i, "").replace(/```\s*$/, "").trim();
|
|
336
|
-
}
|
|
337
|
-
function escapeRegex(s) {
|
|
338
|
-
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
339
|
-
}
|
|
340
|
-
function atOrAbove(score, threshold) {
|
|
341
|
-
const order = { low: 0, medium: 1, high: 2 };
|
|
342
|
-
const scoreVal = order[score];
|
|
343
|
-
const thresholdVal = order[threshold];
|
|
344
|
-
if (scoreVal === undefined || thresholdVal === undefined)
|
|
345
|
-
return false;
|
|
346
|
-
return scoreVal >= thresholdVal;
|
|
347
|
-
}
|
|
348
|
-
//# sourceMappingURL=bulk-accept.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-accept.js","sourceRoot":"","sources":["../../src/attention/bulk-accept.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JSON API for the triage GUI. Routes mirror the existing attention
|
|
3
|
-
* MCP handlers (resolve / bulk-accept / dedup / restore) so all writes
|
|
4
|
-
* funnel through `withWriteLock`.
|
|
5
|
-
*/
|
|
6
|
-
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
7
|
-
interface Counters {
|
|
8
|
-
accepted: number;
|
|
9
|
-
rejected: number;
|
|
10
|
-
merged: number;
|
|
11
|
-
edited: number;
|
|
12
|
-
}
|
|
13
|
-
interface ApiCtx {
|
|
14
|
-
repoRoot: string;
|
|
15
|
-
counters: Counters;
|
|
16
|
-
touch: () => void;
|
|
17
|
-
token: string;
|
|
18
|
-
onDone: () => void;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Top-level dispatch. Always responds with JSON.
|
|
22
|
-
*/
|
|
23
|
-
export declare function handleApi(req: IncomingMessage, res: ServerResponse, ctx: ApiCtx): Promise<void>;
|
|
24
|
-
export {};
|