@isaacriehm/cairn-core 0.7.0 → 0.7.1
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/align-undo/undo.js +2 -2
- package/dist/align-undo/undo.js.map +1 -1
- package/dist/attention/bulk-accept.js +48 -40
- package/dist/attention/bulk-accept.js.map +1 -1
- package/dist/attention/dedup.js +23 -10
- package/dist/attention/dedup.js.map +1 -1
- package/dist/attention/restore.js +2 -2
- package/dist/attention/restore.js.map +1 -1
- package/dist/attention/scoring.js +1 -1
- package/dist/attention/scoring.js.map +1 -1
- package/dist/attention/serve/api.d.ts +1 -0
- package/dist/attention/serve/api.js +127 -80
- package/dist/attention/serve/api.js.map +1 -1
- package/dist/attention/serve/index.d.ts +1 -0
- package/dist/attention/serve/index.js +21 -7
- package/dist/attention/serve/index.js.map +1 -1
- package/dist/attention/source-strip.js +41 -46
- package/dist/attention/source-strip.js.map +1 -1
- package/dist/claude/cache.d.ts +10 -19
- package/dist/claude/cache.js +0 -0
- package/dist/claude/cache.js.map +1 -1
- package/dist/claude/runner.d.ts +4 -6
- package/dist/claude/runner.js +242 -203
- package/dist/claude/runner.js.map +1 -1
- package/dist/claude/types.d.ts +5 -5
- package/dist/context/handoff-builder.d.ts +28 -4
- package/dist/context/handoff-builder.js +75 -157
- package/dist/context/handoff-builder.js.map +1 -1
- package/dist/context/spec-delta.js +61 -9
- package/dist/context/spec-delta.js.map +1 -1
- package/dist/context/task-summary.js +5 -1
- package/dist/context/task-summary.js.map +1 -1
- package/dist/decision-capture/id.js +1 -1
- package/dist/decision-capture/id.js.map +1 -1
- package/dist/doctor/index.d.ts +9 -11
- package/dist/doctor/index.js +118 -175
- package/dist/doctor/index.js.map +1 -1
- package/dist/drain/drain.d.ts +1 -1
- package/dist/drain/drain.js +16 -16
- package/dist/drain/drain.js.map +1 -1
- package/dist/drain/index.d.ts +1 -1
- package/dist/drain/index.js +1 -1
- package/dist/events/reader.d.ts +9 -10
- package/dist/events/reader.js +46 -57
- package/dist/events/reader.js.map +1 -1
- package/dist/events/writer.js +1 -1
- package/dist/events/writer.js.map +1 -1
- package/dist/fix-align/index.d.ts +1 -1
- package/dist/fix-align/index.js +1 -1
- package/dist/fix-align/run.d.ts +1 -1
- package/dist/fix-align/run.js +4 -3
- package/dist/fix-align/run.js.map +1 -1
- package/dist/fix-align/sentinel.d.ts +1 -2
- package/dist/fix-align/sentinel.js +3 -4
- package/dist/fix-align/sentinel.js.map +1 -1
- package/dist/gc/apply.js +1 -1
- package/dist/gc/apply.js.map +1 -1
- package/dist/gc/attested-commits.d.ts +19 -0
- package/dist/gc/attested-commits.js +48 -0
- package/dist/gc/attested-commits.js.map +1 -0
- package/dist/gc/canary.d.ts +11 -21
- package/dist/gc/canary.js +18 -24
- package/dist/gc/canary.js.map +1 -1
- package/dist/gc/citation-integrity.d.ts +11 -14
- package/dist/gc/citation-integrity.js +124 -125
- package/dist/gc/citation-integrity.js.map +1 -1
- package/dist/gc/classify.d.ts +1 -1
- package/dist/gc/classify.js +2 -2
- package/dist/gc/classify.js.map +1 -1
- package/dist/gc/completion-integrity.d.ts +6 -7
- package/dist/gc/completion-integrity.js +45 -53
- package/dist/gc/completion-integrity.js.map +1 -1
- package/dist/gc/doc-gardening.js +1 -9
- package/dist/gc/doc-gardening.js.map +1 -1
- package/dist/gc/frontmatter.js +2 -2
- package/dist/gc/frontmatter.js.map +1 -1
- package/dist/gc/index.d.ts +7 -6
- package/dist/gc/index.js +3 -2
- package/dist/gc/index.js.map +1 -1
- package/dist/gc/quality-update.d.ts +6 -10
- package/dist/gc/quality-update.js +12 -15
- package/dist/gc/quality-update.js.map +1 -1
- package/dist/gc/scope-coverage.js +1 -1
- package/dist/gc/scope-coverage.js.map +1 -1
- package/dist/gc/stub-hits.d.ts +7 -25
- package/dist/gc/stub-hits.js +14 -40
- package/dist/gc/stub-hits.js.map +1 -1
- package/dist/gc/sweep.js +15 -6
- package/dist/gc/sweep.js.map +1 -1
- package/dist/gc/types.d.ts +5 -5
- package/dist/gc/types.js +2 -2
- package/dist/gc/walk-source.js +8 -28
- package/dist/gc/walk-source.js.map +1 -1
- package/dist/hooks/defer.d.ts +9 -20
- package/dist/hooks/defer.js +10 -27
- package/dist/hooks/defer.js.map +1 -1
- package/dist/hooks/post-tool-use/allowlist-reader.d.ts +2 -1
- package/dist/hooks/post-tool-use/allowlist-reader.js +49 -34
- package/dist/hooks/post-tool-use/allowlist-reader.js.map +1 -1
- package/dist/hooks/post-tool-use/index.d.ts +3 -4
- package/dist/hooks/post-tool-use/index.js +3 -3
- package/dist/hooks/post-tool-use/index.js.map +1 -1
- package/dist/hooks/post-tool-use/legend-builder.d.ts +2 -2
- package/dist/hooks/post-tool-use/legend-builder.js +2 -2
- package/dist/hooks/post-tool-use/legend-builder.js.map +1 -1
- package/dist/hooks/post-tool-use/post-write.d.ts +8 -0
- package/dist/hooks/post-tool-use/post-write.js +112 -0
- package/dist/hooks/post-tool-use/post-write.js.map +1 -0
- package/dist/hooks/post-tool-use/read-enricher.d.ts +10 -5
- package/dist/hooks/post-tool-use/read-enricher.js +114 -155
- package/dist/hooks/post-tool-use/read-enricher.js.map +1 -1
- package/dist/hooks/post-tool-use/sot-align.d.ts +12 -0
- package/dist/hooks/post-tool-use/sot-align.js +73 -49
- package/dist/hooks/post-tool-use/sot-align.js.map +1 -1
- package/dist/hooks/post-tool-use/write-guardian.d.ts +40 -8
- package/dist/hooks/post-tool-use/write-guardian.js +202 -254
- package/dist/hooks/post-tool-use/write-guardian.js.map +1 -1
- package/dist/hooks/pre-commit/sot-align-precommit.js +2 -2
- package/dist/hooks/pre-commit/sot-align-precommit.js.map +1 -1
- package/dist/hooks/runners/index.d.ts +2 -2
- package/dist/hooks/runners/index.js +1 -1
- package/dist/hooks/runners/index.js.map +1 -1
- package/dist/hooks/runners/payload.d.ts +34 -19
- package/dist/hooks/runners/payload.js +47 -44
- package/dist/hooks/runners/payload.js.map +1 -1
- package/dist/hooks/runners/session-end.js +12 -11
- package/dist/hooks/runners/session-end.js.map +1 -1
- package/dist/hooks/runners/session-start.d.ts +4 -2
- package/dist/hooks/runners/session-start.js +88 -261
- package/dist/hooks/runners/session-start.js.map +1 -1
- package/dist/hooks/runners/stop.js +27 -8
- package/dist/hooks/runners/stop.js.map +1 -1
- package/dist/hooks/runners/user-prompt-submit.js +7 -1
- package/dist/hooks/runners/user-prompt-submit.js.map +1 -1
- package/dist/hooks/sot-align-common.d.ts +1 -2
- package/dist/hooks/sot-align-common.js +2 -2
- package/dist/hooks/sot-align-common.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/init/baseline-audit.d.ts +14 -58
- package/dist/init/baseline-audit.js +92 -320
- package/dist/init/baseline-audit.js.map +1 -1
- package/dist/init/brand-derive.d.ts +11 -15
- package/dist/init/brand-derive.js +21 -46
- package/dist/init/brand-derive.js.map +1 -1
- package/dist/init/brand-setup.d.ts +1 -1
- package/dist/init/brand-setup.js +1 -1
- package/dist/init/detect.d.ts +25 -6
- package/dist/init/detect.js +107 -136
- package/dist/init/detect.js.map +1 -1
- package/dist/init/index.d.ts +2 -2
- package/dist/init/index.js +1 -1
- package/dist/init/index.js.map +1 -1
- package/dist/init/ingest-docs.d.ts +2 -2
- package/dist/init/ingest-docs.js +31 -43
- package/dist/init/ingest-docs.js.map +1 -1
- package/dist/init/init.d.ts +21 -21
- package/dist/init/init.js +41 -61
- package/dist/init/init.js.map +1 -1
- package/dist/init/mapper-merge.js +1 -1
- package/dist/init/mapper-merge.js.map +1 -1
- package/dist/init/mapper-parallel.d.ts +1 -1
- package/dist/init/mapper-parallel.js +2 -1
- package/dist/init/mapper-parallel.js.map +1 -1
- package/dist/init/mapper.js +1 -1
- package/dist/init/mapper.js.map +1 -1
- package/dist/init/multi-dev/install.d.ts +5 -5
- package/dist/init/multi-dev/install.js +4 -4
- package/dist/init/overlay.js +1 -0
- package/dist/init/overlay.js.map +1 -1
- package/dist/init/phases/1-detect.js +1 -1
- package/dist/init/phases/1-detect.js.map +1 -1
- package/dist/init/phases/{7c-rules-merge.d.ts → 10-rules-merge.d.ts} +2 -2
- package/dist/init/phases/{7c-rules-merge.js → 10-rules-merge.js} +6 -12
- package/dist/init/phases/10-rules-merge.js.map +1 -0
- package/dist/init/phases/11-baseline.d.ts +7 -0
- package/dist/init/phases/{8-baseline.js → 11-baseline.js} +5 -9
- package/dist/init/phases/11-baseline.js.map +1 -0
- package/dist/init/phases/12-strip.d.ts +10 -0
- package/dist/init/phases/{10-strip.js → 12-strip.js} +10 -14
- package/dist/init/phases/12-strip.js.map +1 -0
- package/dist/init/phases/{12-multidev.d.ts → 13-multidev.d.ts} +2 -2
- package/dist/init/phases/{12-multidev.js → 13-multidev.js} +4 -4
- package/dist/init/phases/{12-multidev.js.map → 13-multidev.js.map} +1 -1
- package/dist/init/phases/3-mapper.d.ts +1 -1
- package/dist/init/phases/3-mapper.js +2 -2
- package/dist/init/phases/3-mapper.js.map +1 -1
- package/dist/init/phases/{3b-seed.d.ts → 4-seed.d.ts} +2 -2
- package/dist/init/phases/{3b-seed.js → 4-seed.js} +7 -7
- package/dist/init/phases/4-seed.js.map +1 -0
- package/dist/init/phases/{4-pilot.d.ts → 5-pilot.d.ts} +2 -2
- package/dist/init/phases/{4-pilot.js → 5-pilot.js} +9 -9
- package/dist/init/phases/{4-pilot.js.map → 5-pilot.js.map} +1 -1
- package/dist/init/phases/{5-brand.d.ts → 6-brand.d.ts} +2 -7
- package/dist/init/phases/{5-brand.js → 6-brand.js} +6 -14
- package/dist/init/phases/6-brand.js.map +1 -0
- package/dist/init/phases/{5b-topic-index.d.ts → 7-topic-index.d.ts} +2 -11
- package/dist/init/phases/{5b-topic-index.js → 7-topic-index.js} +9 -18
- package/dist/init/phases/7-topic-index.js.map +1 -0
- package/dist/init/phases/8-docs-ingest.d.ts +10 -0
- package/dist/init/phases/{6-docs-ingest.js → 8-docs-ingest.js} +6 -11
- package/dist/init/phases/8-docs-ingest.js.map +1 -0
- package/dist/init/phases/9-source-comments.d.ts +6 -0
- package/dist/init/phases/{7b-source-comments.js → 9-source-comments.js} +7 -26
- package/dist/init/phases/9-source-comments.js.map +1 -0
- package/dist/init/phases/index.d.ts +12 -12
- package/dist/init/phases/index.js +11 -11
- package/dist/init/phases/index.js.map +1 -1
- package/dist/init/phases/{parallel-678.d.ts → parallel-8910.d.ts} +7 -8
- package/dist/init/phases/{parallel-678.js → parallel-8910.js} +26 -44
- package/dist/init/phases/parallel-8910.js.map +1 -0
- package/dist/init/phases/source-comments-output-io.d.ts +3 -3
- package/dist/init/phases/source-comments-output-io.js +3 -3
- package/dist/init/phases/types.d.ts +1 -1
- package/dist/init/phases/types.js +10 -10
- package/dist/init/phases/types.js.map +1 -1
- package/dist/init/rules-merge/discover.d.ts +2 -2
- package/dist/init/rules-merge/discover.js +28 -43
- package/dist/init/rules-merge/discover.js.map +1 -1
- package/dist/init/rules-merge/ingest.d.ts +6 -6
- package/dist/init/rules-merge/ingest.js +9 -10
- package/dist/init/rules-merge/ingest.js.map +1 -1
- package/dist/init/rules-merge/keep-markers.d.ts +1 -1
- package/dist/init/rules-merge/keep-markers.js +1 -1
- package/dist/init/rules-merge/regenerate.d.ts +3 -3
- package/dist/init/rules-merge/regenerate.js +3 -3
- package/dist/init/seed.js +17 -24
- package/dist/init/seed.js.map +1 -1
- package/dist/init/sot-emit.d.ts +27 -9
- package/dist/init/sot-emit.js +39 -7
- package/dist/init/sot-emit.js.map +1 -1
- package/dist/init/source-comments/classify.d.ts +2 -2
- package/dist/init/source-comments/classify.js +9 -1
- package/dist/init/source-comments/classify.js.map +1 -1
- package/dist/init/source-comments/index.d.ts +1 -1
- package/dist/init/source-comments/index.js.map +1 -1
- package/dist/init/source-comments/ingest.d.ts +2 -2
- package/dist/init/source-comments/ingest.js +6 -8
- package/dist/init/source-comments/ingest.js.map +1 -1
- package/dist/init/source-comments/strip-replace.js +3 -2
- package/dist/init/source-comments/strip-replace.js.map +1 -1
- package/dist/init/source-comments/walker.d.ts +3 -26
- package/dist/init/source-comments/walker.js +18 -30
- package/dist/init/source-comments/walker.js.map +1 -1
- package/dist/init/topic-index/index.d.ts +1 -1
- package/dist/init/topic-index/index.js +3 -3
- package/dist/init/topic-index/index.js.map +1 -1
- package/dist/init/topic-index/judge.d.ts +5 -9
- package/dist/init/topic-index/judge.js +17 -22
- package/dist/init/topic-index/judge.js.map +1 -1
- package/dist/init/topic-index/resolve.d.ts +5 -4
- package/dist/init/topic-index/resolve.js +6 -6
- package/dist/init/topic-index/resolve.js.map +1 -1
- package/dist/init/topic-index/walk.d.ts +6 -6
- package/dist/init/topic-index/walk.js +9 -9
- package/dist/init/topic-index/walk.js.map +1 -1
- package/dist/lock.js +4 -1
- package/dist/lock.js.map +1 -1
- package/dist/logger.js +3 -0
- package/dist/logger.js.map +1 -1
- package/dist/mcp/history/summarizer.js +1 -1
- package/dist/mcp/history/summarizer.js.map +1 -1
- package/dist/mcp/history/walker.js +1 -1
- package/dist/mcp/history/walker.js.map +1 -1
- package/dist/mcp/path-allowlist.js +1 -1
- package/dist/mcp/path-allowlist.js.map +1 -1
- package/dist/mcp/schemas.d.ts +16 -38
- package/dist/mcp/schemas.js +8 -22
- package/dist/mcp/schemas.js.map +1 -1
- package/dist/mcp/server.js +10 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/archive.js +1 -1
- package/dist/mcp/tools/archive.js.map +1 -1
- package/dist/mcp/tools/attention-wait.js +12 -2
- package/dist/mcp/tools/attention-wait.js.map +1 -1
- package/dist/mcp/tools/bulk-accept-attention.js +29 -30
- package/dist/mcp/tools/bulk-accept-attention.js.map +1 -1
- package/dist/mcp/tools/canonical-for-topic.js +37 -15
- package/dist/mcp/tools/canonical-for-topic.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/decisions-for-symbol.js +2 -2
- package/dist/mcp/tools/decisions-for-symbol.js.map +1 -1
- package/dist/mcp/tools/get-full.js +1 -1
- package/dist/mcp/tools/get-full.js.map +1 -1
- package/dist/mcp/tools/ground-get.js +1 -1
- package/dist/mcp/tools/ground-get.js.map +1 -1
- package/dist/mcp/tools/in-scope.d.ts +8 -0
- package/dist/mcp/tools/in-scope.js +125 -0
- package/dist/mcp/tools/in-scope.js.map +1 -0
- package/dist/mcp/tools/index.js +7 -10
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/init-phases.d.ts +3 -2
- package/dist/mcp/tools/init-phases.js +125 -124
- package/dist/mcp/tools/init-phases.js.map +1 -1
- package/dist/mcp/tools/invariant-get.js +2 -2
- package/dist/mcp/tools/invariant-get.js.map +1 -1
- package/dist/mcp/tools/record-decision.d.ts +4 -3
- package/dist/mcp/tools/record-decision.js +111 -36
- package/dist/mcp/tools/record-decision.js.map +1 -1
- package/dist/mcp/tools/reject-candidate.d.ts +1 -1
- package/dist/mcp/tools/reject-candidate.js +3 -3
- package/dist/mcp/tools/reject-candidate.js.map +1 -1
- package/dist/mcp/tools/resolve-attention.d.ts +5 -18
- package/dist/mcp/tools/resolve-attention.js +58 -158
- package/dist/mcp/tools/resolve-attention.js.map +1 -1
- package/dist/mcp/tools/search-candidates.d.ts +1 -1
- package/dist/mcp/tools/search-candidates.js +4 -4
- package/dist/mcp/tools/search-candidates.js.map +1 -1
- package/dist/mcp/tools/search.js +5 -4
- package/dist/mcp/tools/search.js.map +1 -1
- package/dist/mcp/tools/supersedes-chain.js +2 -2
- package/dist/mcp/tools/supersedes-chain.js.map +1 -1
- package/dist/mcp/tools/task-create.d.ts +1 -0
- package/dist/mcp/tools/task-create.js +2 -0
- package/dist/mcp/tools/task-create.js.map +1 -1
- package/dist/mcp/tools/timeline.js +1 -1
- package/dist/mcp/tools/timeline.js.map +1 -1
- package/dist/mcp/tools/types.d.ts +1 -0
- package/dist/mcp/tools/types.js +9 -1
- package/dist/mcp/tools/types.js.map +1 -1
- package/dist/sensors/attestation.d.ts +1 -1
- package/dist/sensors/attestation.js +2 -2
- package/dist/sensors/attestation.js.map +1 -1
- package/dist/sensors/catalog.d.ts +26 -28
- package/dist/sensors/catalog.js +79 -81
- package/dist/sensors/catalog.js.map +1 -1
- package/dist/sensors/decisions.d.ts +1 -1
- package/dist/sensors/decisions.js +15 -14
- package/dist/sensors/decisions.js.map +1 -1
- package/dist/sensors/diff.js +46 -22
- package/dist/sensors/diff.js.map +1 -1
- package/dist/sensors/runner.d.ts +2 -2
- package/dist/sensors/runner.js +3 -3
- package/dist/sensors/shell.d.ts +4 -0
- package/dist/sensors/shell.js +16 -0
- package/dist/sensors/shell.js.map +1 -0
- package/dist/sensors/structural.d.ts +3 -2
- package/dist/sensors/structural.js +3 -11
- package/dist/sensors/structural.js.map +1 -1
- package/dist/sensors/stub-catalog.d.ts +2 -1
- package/dist/sensors/stub-catalog.js +2 -9
- package/dist/sensors/stub-catalog.js.map +1 -1
- package/dist/sensors/types.d.ts +3 -4
- package/dist/sensors/types.js +1 -2
- package/dist/sensors/types.js.map +1 -1
- package/dist/session-start/build.js +1 -1
- package/dist/session-start/build.js.map +1 -1
- package/dist/status-line/event-queue.js +1 -1
- package/dist/status-line/index.d.ts +1 -1
- package/package.json +3 -2
- package/templates/.cairn/config/sensors.yaml +8 -8
- package/templates/attention-ui/app.js +61 -36
- package/dist/fs.d.ts +0 -5
- package/dist/fs.js +0 -11
- package/dist/fs.js.map +0 -1
- package/dist/ground/alignment-pending.d.ts +0 -28
- package/dist/ground/alignment-pending.js +0 -83
- package/dist/ground/alignment-pending.js.map +0 -1
- package/dist/ground/anchor-map.d.ts +0 -14
- package/dist/ground/anchor-map.js +0 -56
- package/dist/ground/anchor-map.js.map +0 -1
- package/dist/ground/drift.d.ts +0 -8
- package/dist/ground/drift.js +0 -23
- package/dist/ground/drift.js.map +0 -1
- package/dist/ground/file-candidates-map.d.ts +0 -23
- package/dist/ground/file-candidates-map.js +0 -76
- package/dist/ground/file-candidates-map.js.map +0 -1
- package/dist/ground/frontmatter.d.ts +0 -32
- package/dist/ground/frontmatter.js +0 -77
- package/dist/ground/frontmatter.js.map +0 -1
- package/dist/ground/glob.d.ts +0 -10
- package/dist/ground/glob.js +0 -46
- package/dist/ground/glob.js.map +0 -1
- package/dist/ground/index.d.ts +0 -25
- package/dist/ground/index.js +0 -19
- package/dist/ground/index.js.map +0 -1
- package/dist/ground/ledgers.d.ts +0 -14
- package/dist/ground/ledgers.js +0 -105
- package/dist/ground/ledgers.js.map +0 -1
- package/dist/ground/manifest.d.ts +0 -10
- package/dist/ground/manifest.js +0 -84
- package/dist/ground/manifest.js.map +0 -1
- package/dist/ground/paths.d.ts +0 -43
- package/dist/ground/paths.js +0 -109
- package/dist/ground/paths.js.map +0 -1
- package/dist/ground/quality-grades.d.ts +0 -11
- package/dist/ground/quality-grades.js +0 -100
- package/dist/ground/quality-grades.js.map +0 -1
- package/dist/ground/rejected.d.ts +0 -42
- package/dist/ground/rejected.js +0 -100
- package/dist/ground/rejected.js.map +0 -1
- package/dist/ground/schemas.d.ts +0 -582
- package/dist/ground/schemas.js +0 -372
- package/dist/ground/schemas.js.map +0 -1
- package/dist/ground/scope-index.d.ts +0 -96
- package/dist/ground/scope-index.js +0 -290
- package/dist/ground/scope-index.js.map +0 -1
- package/dist/ground/slug.d.ts +0 -60
- package/dist/ground/slug.js +0 -103
- package/dist/ground/slug.js.map +0 -1
- package/dist/ground/sot-bindings.d.ts +0 -14
- package/dist/ground/sot-bindings.js +0 -79
- package/dist/ground/sot-bindings.js.map +0 -1
- package/dist/ground/sot-cache.d.ts +0 -18
- package/dist/ground/sot-cache.js +0 -62
- package/dist/ground/sot-cache.js.map +0 -1
- package/dist/ground/topic-index.d.ts +0 -27
- package/dist/ground/topic-index.js +0 -82
- package/dist/ground/topic-index.js.map +0 -1
- package/dist/ground/walk.d.ts +0 -7
- package/dist/ground/walk.js +0 -53
- package/dist/ground/walk.js.map +0 -1
- package/dist/hooks/post-tool-use/ledger-cache.d.ts +0 -53
- package/dist/hooks/post-tool-use/ledger-cache.js +0 -338
- package/dist/hooks/post-tool-use/ledger-cache.js.map +0 -1
- package/dist/init/phases/10-strip.d.ts +0 -11
- package/dist/init/phases/10-strip.js.map +0 -1
- package/dist/init/phases/3b-seed.js.map +0 -1
- package/dist/init/phases/5-brand.js.map +0 -1
- package/dist/init/phases/5b-topic-index.js.map +0 -1
- package/dist/init/phases/6-docs-ingest.d.ts +0 -15
- package/dist/init/phases/6-docs-ingest.js.map +0 -1
- package/dist/init/phases/7b-source-comments.d.ts +0 -15
- package/dist/init/phases/7b-source-comments.js.map +0 -1
- package/dist/init/phases/7c-rules-merge.js.map +0 -1
- package/dist/init/phases/8-baseline.d.ts +0 -10
- package/dist/init/phases/8-baseline.js.map +0 -1
- package/dist/init/phases/parallel-678.js.map +0 -1
- package/dist/mcp/tools/decisions-in-scope.d.ts +0 -7
- package/dist/mcp/tools/decisions-in-scope.js +0 -66
- package/dist/mcp/tools/decisions-in-scope.js.map +0 -1
- package/dist/mcp/tools/invariants-in-scope.d.ts +0 -7
- package/dist/mcp/tools/invariants-in-scope.js +0 -81
- package/dist/mcp/tools/invariants-in-scope.js.map +0 -1
- package/dist/mcp/tools/propose-decision.d.ts +0 -34
- package/dist/mcp/tools/propose-decision.js +0 -200
- package/dist/mcp/tools/propose-decision.js.map +0 -1
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Alignment-pending queue writer — used by Layer A (PostToolUse hook,
|
|
3
|
-
* pass-2-still-ambiguous + tier3-ambiguous paths) and Layer C
|
|
4
|
-
* (SessionStart drain, Haiku-judge-ambiguous path).
|
|
5
|
-
*
|
|
6
|
-
* The cairn-attention skill renders the file with side-by-side prose
|
|
7
|
-
* and an AskUserQuestion four-option pick. The filename is a content
|
|
8
|
-
* fingerprint slug so re-running with the same prose is idempotent.
|
|
9
|
-
*/
|
|
10
|
-
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
11
|
-
import { join } from "node:path";
|
|
12
|
-
import { stringify as stringifyYaml } from "yaml";
|
|
13
|
-
import { alignmentPendingDir } from "./paths.js";
|
|
14
|
-
import { topicSlug } from "./slug.js";
|
|
15
|
-
export function writeAlignmentPending(args) {
|
|
16
|
-
const { repoRoot, block, kind } = args;
|
|
17
|
-
const detector = args.detector ?? "layer-a-pass2-ambiguous";
|
|
18
|
-
const dir = alignmentPendingDir(repoRoot);
|
|
19
|
-
mkdirSync(dir, { recursive: true });
|
|
20
|
-
const slug = topicSlug(block.prose);
|
|
21
|
-
const filename = `${slug}.md`;
|
|
22
|
-
const abs = join(dir, filename);
|
|
23
|
-
if (existsSync(abs))
|
|
24
|
-
return `.cairn/ground/alignment-pending/${filename}`;
|
|
25
|
-
const now = new Date().toISOString();
|
|
26
|
-
const fm = {
|
|
27
|
-
slug,
|
|
28
|
-
kind,
|
|
29
|
-
source_file: block.file,
|
|
30
|
-
source_range: `${block.startLine}-${block.endLine}`,
|
|
31
|
-
start_line: block.startLine,
|
|
32
|
-
end_line: block.endLine,
|
|
33
|
-
start_offset: block.startOffset,
|
|
34
|
-
end_offset: block.endOffset,
|
|
35
|
-
lang: block.lang,
|
|
36
|
-
raw: block.raw,
|
|
37
|
-
detected_at: now,
|
|
38
|
-
detector,
|
|
39
|
-
severity: "soft",
|
|
40
|
-
};
|
|
41
|
-
if (args.existingId !== undefined)
|
|
42
|
-
fm["existing_id"] = args.existingId;
|
|
43
|
-
const lines = [];
|
|
44
|
-
lines.push("---");
|
|
45
|
-
lines.push(stringifyYaml(fm).trimEnd());
|
|
46
|
-
lines.push("---");
|
|
47
|
-
lines.push("");
|
|
48
|
-
lines.push(`# Alignment pending — ${slug} (${kind})`);
|
|
49
|
-
lines.push("");
|
|
50
|
-
lines.push(`## Block (just written at \`${block.file}:${block.startLine}-${block.endLine}\`)`);
|
|
51
|
-
lines.push("");
|
|
52
|
-
lines.push("```");
|
|
53
|
-
lines.push(block.prose.trim());
|
|
54
|
-
lines.push("```");
|
|
55
|
-
lines.push("");
|
|
56
|
-
if (args.existingId !== undefined && args.existingBody !== undefined) {
|
|
57
|
-
lines.push(`## Existing ${args.existingId}`);
|
|
58
|
-
lines.push("");
|
|
59
|
-
lines.push("```");
|
|
60
|
-
lines.push(args.existingBody.trim());
|
|
61
|
-
lines.push("```");
|
|
62
|
-
lines.push("");
|
|
63
|
-
}
|
|
64
|
-
lines.push("## How to resolve");
|
|
65
|
-
lines.push("");
|
|
66
|
-
if (kind === "tier2-ambiguous") {
|
|
67
|
-
lines.push("Pass 2 dedup judge returned ambiguous. cairn-attention will surface");
|
|
68
|
-
lines.push("a side-by-side render with `[a] same` / `[b] different` /");
|
|
69
|
-
lines.push("`[c] augments` / `[d] leave for later` choices via");
|
|
70
|
-
lines.push("`cairn_resolve_attention({ kind: \"alignment_pending\", ... })`.");
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
lines.push("Pass 2 creation judge could not classify the block as");
|
|
74
|
-
lines.push("decision / constraint / descriptive. cairn-attention will");
|
|
75
|
-
lines.push("surface `[a] decision` / `[b] constraint` / `[c] descriptive` /");
|
|
76
|
-
lines.push("`[d] leave for later` via");
|
|
77
|
-
lines.push("`cairn_resolve_attention({ kind: \"alignment_pending\", ... })`.");
|
|
78
|
-
}
|
|
79
|
-
lines.push("");
|
|
80
|
-
writeFileSync(abs, lines.join("\n"), "utf8");
|
|
81
|
-
return `.cairn/ground/alignment-pending/${filename}`;
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=alignment-pending.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alignment-pending.js","sourceRoot":"","sources":["../../src/ground/alignment-pending.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAqBtC,MAAM,UAAU,qBAAqB,CAAC,IAA+B;IACnE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,yBAAyB,CAAC;IAC5D,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,mCAAmC,QAAQ,EAAE,CAAC;IAC1E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,EAAE,GAA4B;QAClC,IAAI;QACJ,IAAI;QACJ,WAAW,EAAE,KAAK,CAAC,IAAI;QACvB,YAAY,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE;QACnD,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,WAAW,EAAE,GAAG;QAChB,QAAQ;QACR,QAAQ,EAAE,MAAM;KACjB,CAAC;IACF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,EAAE,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;IACvE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,yBAAyB,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;IAC/F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IACjF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,mCAAmC,QAAQ,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { AnchorMap, type AnchorMapEntry } from "./schemas.js";
|
|
2
|
-
/**
|
|
3
|
-
* Anchor-map is the external slug → location index for sot_kind=path
|
|
4
|
-
* DECs. Operator's docs stay pristine: no `<!-- cairn-anchor: … -->`
|
|
5
|
-
* comments are injected. When the operator renames a heading or moves a
|
|
6
|
-
* paragraph, the anchor-map updates and §DEC-<hash> tokens stay valid
|
|
7
|
-
* because they resolve through this map, not the literal heading slug.
|
|
8
|
-
*/
|
|
9
|
-
export declare function emptyAnchorMap(): AnchorMap;
|
|
10
|
-
export declare function readAnchorMap(repoRoot: string): AnchorMap;
|
|
11
|
-
export declare function writeAnchorMap(repoRoot: string, map: AnchorMap): string;
|
|
12
|
-
export declare function setAnchor(map: AnchorMap, slug: string, entry: AnchorMapEntry): AnchorMap;
|
|
13
|
-
export declare function getAnchor(map: AnchorMap, slug: string): AnchorMapEntry | null;
|
|
14
|
-
export declare function deleteAnchor(map: AnchorMap, slug: string): AnchorMap;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
-
import { writeFileSafe } from "../fs.js";
|
|
3
|
-
import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
|
|
4
|
-
import { logger } from "../logger.js";
|
|
5
|
-
import { anchorMapPath } from "./paths.js";
|
|
6
|
-
import { AnchorMap } from "./schemas.js";
|
|
7
|
-
const log = logger("ground.anchor-map");
|
|
8
|
-
/**
|
|
9
|
-
* Anchor-map is the external slug → location index for sot_kind=path
|
|
10
|
-
* DECs. Operator's docs stay pristine: no `<!-- cairn-anchor: … -->`
|
|
11
|
-
* comments are injected. When the operator renames a heading or moves a
|
|
12
|
-
* paragraph, the anchor-map updates and §DEC-<hash> tokens stay valid
|
|
13
|
-
* because they resolve through this map, not the literal heading slug.
|
|
14
|
-
*/
|
|
15
|
-
export function emptyAnchorMap() {
|
|
16
|
-
return { version: 1, generated: new Date().toISOString(), anchors: {} };
|
|
17
|
-
}
|
|
18
|
-
export function readAnchorMap(repoRoot) {
|
|
19
|
-
const path = anchorMapPath(repoRoot);
|
|
20
|
-
if (!existsSync(path))
|
|
21
|
-
return emptyAnchorMap();
|
|
22
|
-
try {
|
|
23
|
-
const raw = readFileSync(path, "utf8");
|
|
24
|
-
const parsed = AnchorMap.safeParse(parseYaml(raw));
|
|
25
|
-
if (!parsed.success) {
|
|
26
|
-
log.warn({ path, error: parsed.error.message }, "anchor-map invalid; treating as empty");
|
|
27
|
-
return emptyAnchorMap();
|
|
28
|
-
}
|
|
29
|
-
return parsed.data;
|
|
30
|
-
}
|
|
31
|
-
catch (err) {
|
|
32
|
-
log.warn({ path, err }, "anchor-map read failed; treating as empty");
|
|
33
|
-
return emptyAnchorMap();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
export function writeAnchorMap(repoRoot, map) {
|
|
37
|
-
const path = anchorMapPath(repoRoot);
|
|
38
|
-
const next = { ...map, generated: new Date().toISOString() };
|
|
39
|
-
writeFileSafe(path, stringifyYaml(next));
|
|
40
|
-
log.debug({ path, anchors: Object.keys(next.anchors).length }, "wrote anchor-map");
|
|
41
|
-
return path;
|
|
42
|
-
}
|
|
43
|
-
export function setAnchor(map, slug, entry) {
|
|
44
|
-
return { ...map, anchors: { ...map.anchors, [slug]: entry } };
|
|
45
|
-
}
|
|
46
|
-
export function getAnchor(map, slug) {
|
|
47
|
-
return map.anchors[slug] ?? null;
|
|
48
|
-
}
|
|
49
|
-
export function deleteAnchor(map, slug) {
|
|
50
|
-
if (map.anchors[slug] === undefined)
|
|
51
|
-
return map;
|
|
52
|
-
const anchors = { ...map.anchors };
|
|
53
|
-
delete anchors[slug];
|
|
54
|
-
return { ...map, anchors };
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=anchor-map.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-map.js","sourceRoot":"","sources":["../../src/ground/anchor-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAC;AAE9D,MAAM,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAExC;;;;;;GAMG;AAEH,MAAM,UAAU,cAAc;IAC5B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,cAAc,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,uCAAuC,CAAC,CAAC;YACzF,OAAO,cAAc,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,2CAA2C,CAAC,CAAC;QACrE,OAAO,cAAc,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,GAAc;IAC7D,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,IAAI,GAAc,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IACxE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAc,EAAE,IAAY,EAAE,KAAqB;IAC3E,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAc,EAAE,IAAY;IACpD,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAc,EAAE,IAAY;IACvD,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAChD,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IACnC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
|
package/dist/ground/drift.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DriftEvent } from "./schemas.js";
|
|
2
|
-
export interface DriftSnapshot {
|
|
3
|
-
generated: string;
|
|
4
|
-
/** Open drift events at the time of the snapshot. */
|
|
5
|
-
events: DriftEvent[];
|
|
6
|
-
}
|
|
7
|
-
export declare function recordDriftEvent(repoRoot: string, event: DriftEvent): void;
|
|
8
|
-
export declare function writeDriftSnapshot(repoRoot: string, events: DriftEvent[]): string;
|
package/dist/ground/drift.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { appendFileSync, mkdirSync, writeFileSync } from "node:fs";
|
|
2
|
-
import { logger } from "../logger.js";
|
|
3
|
-
import { stalenessCurrentPath, stalenessDir, stalenessLogPath } from "./paths.js";
|
|
4
|
-
import { DriftEvent } from "./schemas.js";
|
|
5
|
-
const log = logger("ground.drift");
|
|
6
|
-
export function recordDriftEvent(repoRoot, event) {
|
|
7
|
-
const validated = DriftEvent.parse(event);
|
|
8
|
-
mkdirSync(stalenessDir(repoRoot), { recursive: true });
|
|
9
|
-
const line = `${JSON.stringify(validated)}\n`;
|
|
10
|
-
appendFileSync(stalenessLogPath(repoRoot), line, "utf8");
|
|
11
|
-
log.info({ kind: validated.kind, path: validated.path, severity: validated.severity }, "drift");
|
|
12
|
-
}
|
|
13
|
-
export function writeDriftSnapshot(repoRoot, events) {
|
|
14
|
-
mkdirSync(stalenessDir(repoRoot), { recursive: true });
|
|
15
|
-
const snapshot = {
|
|
16
|
-
generated: new Date().toISOString(),
|
|
17
|
-
events,
|
|
18
|
-
};
|
|
19
|
-
const path = stalenessCurrentPath(repoRoot);
|
|
20
|
-
writeFileSync(path, JSON.stringify(snapshot, null, 2), "utf8");
|
|
21
|
-
return path;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=drift.js.map
|
package/dist/ground/drift.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/ground/drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAQnC,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,KAAiB;IAClE,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1C,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;IAC9C,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,MAAoB;IACvE,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAkB;QAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM;KACP,CAAC;IACF,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `.cairn/ground/file-candidates-map.yaml` — per-file count of
|
|
3
|
-
* topic-index entries with `dec_id IS NULL`.
|
|
4
|
-
*
|
|
5
|
-
* Built (and rebuilt) anywhere `topic-index.yaml` is written. The
|
|
6
|
-
* read-enrich PostToolUse hook on `Read` consults this map per file
|
|
7
|
-
* touched by the agent — `O(1)` lookup avoids re-walking the topic
|
|
8
|
-
* index on every read. When an entry has its `dec_id` stamped
|
|
9
|
-
* (phase 6 emit, PR 2 `cairn_propose_decision`), the index writer is
|
|
10
|
-
* responsible for refreshing this file too — that's why the helper is
|
|
11
|
-
* a pure pair of `(topicIndex) → FileCandidatesMap` plus a writer.
|
|
12
|
-
*/
|
|
13
|
-
import { FileCandidatesMap, type TopicIndex } from "./schemas.js";
|
|
14
|
-
export declare function emptyFileCandidatesMap(): FileCandidatesMap;
|
|
15
|
-
/**
|
|
16
|
-
* Compute the per-file candidate count by walking the topic-index.
|
|
17
|
-
* Each entry without a `dec_id` contributes 1 to its `sot_source`
|
|
18
|
-
* bucket. Files with zero unpromoted candidates are omitted from the
|
|
19
|
-
* map (so `Map.has(file)` is the gate, not a zero-check).
|
|
20
|
-
*/
|
|
21
|
-
export declare function buildFileCandidatesMap(topicIndex: TopicIndex): FileCandidatesMap;
|
|
22
|
-
export declare function readFileCandidatesMap(repoRoot: string): FileCandidatesMap;
|
|
23
|
-
export declare function writeFileCandidatesMap(repoRoot: string, topicIndex: TopicIndex): string;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `.cairn/ground/file-candidates-map.yaml` — per-file count of
|
|
3
|
-
* topic-index entries with `dec_id IS NULL`.
|
|
4
|
-
*
|
|
5
|
-
* Built (and rebuilt) anywhere `topic-index.yaml` is written. The
|
|
6
|
-
* read-enrich PostToolUse hook on `Read` consults this map per file
|
|
7
|
-
* touched by the agent — `O(1)` lookup avoids re-walking the topic
|
|
8
|
-
* index on every read. When an entry has its `dec_id` stamped
|
|
9
|
-
* (phase 6 emit, PR 2 `cairn_propose_decision`), the index writer is
|
|
10
|
-
* responsible for refreshing this file too — that's why the helper is
|
|
11
|
-
* a pure pair of `(topicIndex) → FileCandidatesMap` plus a writer.
|
|
12
|
-
*/
|
|
13
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
14
|
-
import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
|
|
15
|
-
import { writeFileSafe } from "../fs.js";
|
|
16
|
-
import { logger } from "../logger.js";
|
|
17
|
-
import { fileCandidatesMapPath } from "./paths.js";
|
|
18
|
-
import { FileCandidatesMap, } from "./schemas.js";
|
|
19
|
-
const log = logger("ground.file-candidates-map");
|
|
20
|
-
export function emptyFileCandidatesMap() {
|
|
21
|
-
return {
|
|
22
|
-
version: 1,
|
|
23
|
-
generated: new Date().toISOString(),
|
|
24
|
-
file_candidates: {},
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Compute the per-file candidate count by walking the topic-index.
|
|
29
|
-
* Each entry without a `dec_id` contributes 1 to its `sot_source`
|
|
30
|
-
* bucket. Files with zero unpromoted candidates are omitted from the
|
|
31
|
-
* map (so `Map.has(file)` is the gate, not a zero-check).
|
|
32
|
-
*/
|
|
33
|
-
export function buildFileCandidatesMap(topicIndex) {
|
|
34
|
-
const counts = new Map();
|
|
35
|
-
for (const entry of Object.values(topicIndex.topics)) {
|
|
36
|
-
if (entry.dec_id !== undefined)
|
|
37
|
-
continue;
|
|
38
|
-
const cur = counts.get(entry.sot_source) ?? 0;
|
|
39
|
-
counts.set(entry.sot_source, cur + 1);
|
|
40
|
-
}
|
|
41
|
-
const file_candidates = {};
|
|
42
|
-
const sortedFiles = [...counts.keys()].sort();
|
|
43
|
-
for (const f of sortedFiles)
|
|
44
|
-
file_candidates[f] = counts.get(f);
|
|
45
|
-
return {
|
|
46
|
-
version: 1,
|
|
47
|
-
generated: new Date().toISOString(),
|
|
48
|
-
file_candidates,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
export function readFileCandidatesMap(repoRoot) {
|
|
52
|
-
const path = fileCandidatesMapPath(repoRoot);
|
|
53
|
-
if (!existsSync(path))
|
|
54
|
-
return emptyFileCandidatesMap();
|
|
55
|
-
try {
|
|
56
|
-
const raw = readFileSync(path, "utf8");
|
|
57
|
-
const parsed = FileCandidatesMap.safeParse(parseYaml(raw));
|
|
58
|
-
if (!parsed.success) {
|
|
59
|
-
log.warn({ path, error: parsed.error.message }, "file-candidates-map invalid; treating as empty");
|
|
60
|
-
return emptyFileCandidatesMap();
|
|
61
|
-
}
|
|
62
|
-
return parsed.data;
|
|
63
|
-
}
|
|
64
|
-
catch (err) {
|
|
65
|
-
log.warn({ path, err }, "file-candidates-map read failed; treating as empty");
|
|
66
|
-
return emptyFileCandidatesMap();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
export function writeFileCandidatesMap(repoRoot, topicIndex) {
|
|
70
|
-
const path = fileCandidatesMapPath(repoRoot);
|
|
71
|
-
const map = buildFileCandidatesMap(topicIndex);
|
|
72
|
-
writeFileSafe(path, stringifyYaml(map));
|
|
73
|
-
log.debug({ path, files: Object.keys(map.file_candidates).length }, "wrote file-candidates-map");
|
|
74
|
-
return path;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=file-candidates-map.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-candidates-map.js","sourceRoot":"","sources":["../../src/ground/file-candidates-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { type ProvenanceFrontmatter as ProvenanceType } from "./schemas.js";
|
|
2
|
-
export interface ParsedDocument {
|
|
3
|
-
frontmatter: ProvenanceType | null;
|
|
4
|
-
body: string;
|
|
5
|
-
/** Raw YAML block before parsing (empty if no frontmatter present). */
|
|
6
|
-
raw: string;
|
|
7
|
-
/** Number of lines the frontmatter (incl. fences) occupies. */
|
|
8
|
-
fenceLineCount: number;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Extract frontmatter from `source` and return it as an unvalidated
|
|
12
|
-
* `Record<string, unknown>` alongside the remaining body. Returns
|
|
13
|
-
* `{ fm: {}, body: source }` on any parse failure or absent frontmatter.
|
|
14
|
-
*
|
|
15
|
-
* Use this instead of an inline `.match(/^---…/)` when callers need
|
|
16
|
-
* arbitrary field access without a Zod schema.
|
|
17
|
-
*/
|
|
18
|
-
export declare function parseFrontmatterRecord(source: string): {
|
|
19
|
-
fm: Record<string, unknown>;
|
|
20
|
-
body: string;
|
|
21
|
-
};
|
|
22
|
-
export declare function parseFrontmatter(source: string): ParsedDocument;
|
|
23
|
-
export declare function readFrontmatter(absPath: string): ParsedDocument;
|
|
24
|
-
export interface FreshnessVerdict {
|
|
25
|
-
/** ISO timestamp from frontmatter, or null if missing/unparseable. */
|
|
26
|
-
verifiedAt: string | null;
|
|
27
|
-
/** Days since verifiedAt; null if verifiedAt is missing. */
|
|
28
|
-
ageDays: number | null;
|
|
29
|
-
/** "fresh" | "warn" | "block" | "unknown" — matches FILESYSTEM_LAYOUT §3. */
|
|
30
|
-
status: "fresh" | "warn" | "block" | "unknown";
|
|
31
|
-
}
|
|
32
|
-
export declare function evaluateFreshness(fm: ProvenanceType | null, warnDays?: number, blockDays?: number, now?: Date): FreshnessVerdict;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from "node:fs";
|
|
2
|
-
import { parse as parseYaml } from "yaml";
|
|
3
|
-
import { ProvenanceFrontmatter } from "./schemas.js";
|
|
4
|
-
const FENCE_RE = /^---\s*\r?\n([\s\S]*?)\r?\n---\s*\r?\n?/;
|
|
5
|
-
/**
|
|
6
|
-
* Extract frontmatter from `source` and return it as an unvalidated
|
|
7
|
-
* `Record<string, unknown>` alongside the remaining body. Returns
|
|
8
|
-
* `{ fm: {}, body: source }` on any parse failure or absent frontmatter.
|
|
9
|
-
*
|
|
10
|
-
* Use this instead of an inline `.match(/^---…/)` when callers need
|
|
11
|
-
* arbitrary field access without a Zod schema.
|
|
12
|
-
*/
|
|
13
|
-
export function parseFrontmatterRecord(source) {
|
|
14
|
-
const match = source.match(FENCE_RE);
|
|
15
|
-
if (match === null || match.index !== 0) {
|
|
16
|
-
return { fm: {}, body: source };
|
|
17
|
-
}
|
|
18
|
-
const raw = match[1] ?? "";
|
|
19
|
-
const body = source.slice(match[0].length);
|
|
20
|
-
if (raw.trim().length === 0)
|
|
21
|
-
return { fm: {}, body };
|
|
22
|
-
try {
|
|
23
|
-
const parsed = parseYaml(raw);
|
|
24
|
-
if (typeof parsed === "object" && parsed !== null) {
|
|
25
|
-
return { fm: parsed, body };
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
/* ignore — malformed YAML */
|
|
30
|
-
}
|
|
31
|
-
return { fm: {}, body };
|
|
32
|
-
}
|
|
33
|
-
export function parseFrontmatter(source) {
|
|
34
|
-
const match = source.match(FENCE_RE);
|
|
35
|
-
if (!match || match.index !== 0) {
|
|
36
|
-
return { frontmatter: null, body: source, raw: "", fenceLineCount: 0 };
|
|
37
|
-
}
|
|
38
|
-
const raw = match[1] ?? "";
|
|
39
|
-
const fence = match[0];
|
|
40
|
-
const body = source.slice(fence.length);
|
|
41
|
-
const fenceLineCount = fence.split(/\r?\n/).length - 1;
|
|
42
|
-
if (raw.trim().length === 0) {
|
|
43
|
-
return { frontmatter: null, body, raw, fenceLineCount };
|
|
44
|
-
}
|
|
45
|
-
let parsed;
|
|
46
|
-
try {
|
|
47
|
-
parsed = parseYaml(raw);
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
return { frontmatter: null, body, raw, fenceLineCount };
|
|
51
|
-
}
|
|
52
|
-
const result = ProvenanceFrontmatter.safeParse(parsed);
|
|
53
|
-
return {
|
|
54
|
-
frontmatter: result.success ? result.data : null,
|
|
55
|
-
body,
|
|
56
|
-
raw,
|
|
57
|
-
fenceLineCount,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
export function readFrontmatter(absPath) {
|
|
61
|
-
const source = readFileSync(absPath, "utf8");
|
|
62
|
-
return parseFrontmatter(source);
|
|
63
|
-
}
|
|
64
|
-
export function evaluateFreshness(fm, warnDays = 30, blockDays = 60, now = new Date()) {
|
|
65
|
-
if (!fm || !fm["verified-at"]) {
|
|
66
|
-
return { verifiedAt: null, ageDays: null, status: "unknown" };
|
|
67
|
-
}
|
|
68
|
-
const ts = Date.parse(fm["verified-at"]);
|
|
69
|
-
if (Number.isNaN(ts)) {
|
|
70
|
-
return { verifiedAt: fm["verified-at"], ageDays: null, status: "unknown" };
|
|
71
|
-
}
|
|
72
|
-
const ageMs = now.getTime() - ts;
|
|
73
|
-
const ageDays = Math.floor(ageMs / 86_400_000);
|
|
74
|
-
const status = ageDays >= blockDays ? "block" : ageDays >= warnDays ? "warn" : "fresh";
|
|
75
|
-
return { verifiedAt: fm["verified-at"], ageDays, status };
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=frontmatter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/ground/frontmatter.ts"],"names":[],"mappings":"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"}
|
package/dist/ground/glob.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Minimal glob matcher (no external dep). Supports `**`, `*`, `?`, and literal
|
|
3
|
-
* segments. Patterns are POSIX-style; segments separator is forward slash.
|
|
4
|
-
*
|
|
5
|
-
* Single home for glob matching across the package — walker, GC sweep,
|
|
6
|
-
* sensors, mirror dirty-overlap, and MCP tools all import from here.
|
|
7
|
-
*/
|
|
8
|
-
export declare function matchGlob(path: string, glob: string): boolean;
|
|
9
|
-
export declare function matchAnyGlob(path: string, globs: readonly string[]): boolean;
|
|
10
|
-
export declare function compileGlob(glob: string): RegExp;
|
package/dist/ground/glob.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Minimal glob matcher (no external dep). Supports `**`, `*`, `?`, and literal
|
|
3
|
-
* segments. Patterns are POSIX-style; segments separator is forward slash.
|
|
4
|
-
*
|
|
5
|
-
* Single home for glob matching across the package — walker, GC sweep,
|
|
6
|
-
* sensors, mirror dirty-overlap, and MCP tools all import from here.
|
|
7
|
-
*/
|
|
8
|
-
export function matchGlob(path, glob) {
|
|
9
|
-
return compileGlob(glob).test(path);
|
|
10
|
-
}
|
|
11
|
-
export function matchAnyGlob(path, globs) {
|
|
12
|
-
return globs.some((g) => matchGlob(path, g));
|
|
13
|
-
}
|
|
14
|
-
export function compileGlob(glob) {
|
|
15
|
-
let re = "^";
|
|
16
|
-
for (let i = 0; i < glob.length; i++) {
|
|
17
|
-
const c = glob[i];
|
|
18
|
-
if (c === "*") {
|
|
19
|
-
if (glob[i + 1] === "*") {
|
|
20
|
-
i += 1;
|
|
21
|
-
if (glob[i + 1] === "/") {
|
|
22
|
-
i += 1;
|
|
23
|
-
re += "(?:.*/)?";
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
re += ".*";
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
re += "[^/]*";
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else if (c === "?") {
|
|
34
|
-
re += "[^/]";
|
|
35
|
-
}
|
|
36
|
-
else if (c !== undefined && /[.+^${}()|[\]\\]/.test(c)) {
|
|
37
|
-
re += `\\${c}`;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
re += c ?? "";
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
re += "$";
|
|
44
|
-
return new RegExp(re);
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=glob.js.map
|
package/dist/ground/glob.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/ground/glob.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY;IAClD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAwB;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,EAAE,GAAG,GAAG,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,CAAC,IAAI,CAAC,CAAC;gBACP,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACxB,CAAC,IAAI,CAAC,CAAC;oBACP,EAAE,IAAI,UAAU,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,EAAE,IAAI,IAAI,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,EAAE,IAAI,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,EAAE,IAAI,MAAM,CAAC;QACf,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IACD,EAAE,IAAI,GAAG,CAAC;IACV,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC"}
|
package/dist/ground/index.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export { CANONICAL_GLOBS, CANONICAL_EXCLUDES, alignmentPendingDir, anchorMapPath, archivedConflictsDir, conflictsDir, decisionsDir, decisionsLedgerPath, fileCandidatesMapPath, groundDir, haikuCacheDir, invariantsDir, invariantsLedgerPath, manifestPath, qualityGradesPath, rejectedYamlPath, runsTerminalDir, sotBindingsPath, sotCachePath, sotRenderedCacheDir, layerADeferredLogPath, preCommitDeferredLogPath, stalenessCurrentPath, stalenessDir, stalenessLogPath, topicIndexPath, } from "./paths.js";
|
|
2
|
-
export { matchGlob, matchAnyGlob, compileGlob } from "./glob.js";
|
|
3
|
-
export { walkCanonical } from "./walk.js";
|
|
4
|
-
export { parseFrontmatter, parseFrontmatterRecord, readFrontmatter, evaluateFreshness } from "./frontmatter.js";
|
|
5
|
-
export type { ParsedDocument, FreshnessVerdict } from "./frontmatter.js";
|
|
6
|
-
export { buildManifest, writeManifest } from "./manifest.js";
|
|
7
|
-
export type { BuildManifestOptions } from "./manifest.js";
|
|
8
|
-
export { buildDecisionsLedger, buildInvariantsLedger, writeDecisionsLedger, writeInvariantsLedger, } from "./ledgers.js";
|
|
9
|
-
export type { LedgerOptions } from "./ledgers.js";
|
|
10
|
-
export { recordDriftEvent, writeDriftSnapshot } from "./drift.js";
|
|
11
|
-
export type { DriftSnapshot } from "./drift.js";
|
|
12
|
-
export { writeAlignmentPending } from "./alignment-pending.js";
|
|
13
|
-
export type { AlignmentPendingKind, WriteAlignmentPendingArgs, } from "./alignment-pending.js";
|
|
14
|
-
export { buildQualityGrades, writeQualityGrades } from "./quality-grades.js";
|
|
15
|
-
export type { QualityGradesOptions } from "./quality-grades.js";
|
|
16
|
-
export { coerceDecisionIds, coerceInvariantIds, lookupScope, readScopeIndex, rebuildScopeIndex, rescanScopeIndex, scopeIndexPath, writeScopeIndex, } from "./scope-index.js";
|
|
17
|
-
export type { RebuildScopeIndexOptions, RebuildScopeIndexResult, RescanScopeIndexResult, ScopeIndex, ScopeIndexEntry, } from "./scope-index.js";
|
|
18
|
-
export { AnchorMap, AnchorMapEntry, Audience, ProvenanceFrontmatter, ManifestEntry, Manifest, DecisionAssertion, DecisionFrontmatter, InvariantFrontmatter, DecisionLedgerEntry, InvariantLedgerEntry, FileCandidatesMap, QualityGrade, QualityGrades, DriftEvent, PreCommitDriftCandidate, PreCommitDriftLogEntry, RejectedEntry, RejectedYaml, SotBindings, SotCache, SotCacheEntry, SotKind, TopicIndex, TopicIndexEntry, } from "./schemas.js";
|
|
19
|
-
export { bindDec, decsForPath, emptySotBindings, pathForDec, readSotBindings, unbindDec, writeSotBindings, } from "./sot-bindings.js";
|
|
20
|
-
export { clearDecFromTopicIndex, emptyTopicIndex, getTopic, readTopicIndex, setTopic, writeTopicIndex, } from "./topic-index.js";
|
|
21
|
-
export { deleteEntry as deleteSotCacheEntry, emptySotCache, entries as sotCacheEntries, getEntry as getSotCacheEntry, readSotCache, setEntry as setSotCacheEntry, writeSotCache, } from "./sot-cache.js";
|
|
22
|
-
export { deleteAnchor, emptyAnchorMap, getAnchor, readAnchorMap, setAnchor, writeAnchorMap, } from "./anchor-map.js";
|
|
23
|
-
export { appendRejected, emptyRejectedYaml, gcRejectedYaml, readRejectedYaml, writeRejectedYaml, } from "./rejected.js";
|
|
24
|
-
export { buildFileCandidatesMap, emptyFileCandidatesMap, readFileCandidatesMap, writeFileCandidatesMap, } from "./file-candidates-map.js";
|
|
25
|
-
export { bodyContentHash, deriveDecId, deriveInvId, deriveLedgerDecId, deriveLedgerInvId, normalizeBlock, topicSlug, } from "./slug.js";
|
package/dist/ground/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export { CANONICAL_GLOBS, CANONICAL_EXCLUDES, alignmentPendingDir, anchorMapPath, archivedConflictsDir, conflictsDir, decisionsDir, decisionsLedgerPath, fileCandidatesMapPath, groundDir, haikuCacheDir, invariantsDir, invariantsLedgerPath, manifestPath, qualityGradesPath, rejectedYamlPath, runsTerminalDir, sotBindingsPath, sotCachePath, sotRenderedCacheDir, layerADeferredLogPath, preCommitDeferredLogPath, stalenessCurrentPath, stalenessDir, stalenessLogPath, topicIndexPath, } from "./paths.js";
|
|
2
|
-
export { matchGlob, matchAnyGlob, compileGlob } from "./glob.js";
|
|
3
|
-
export { walkCanonical } from "./walk.js";
|
|
4
|
-
export { parseFrontmatter, parseFrontmatterRecord, readFrontmatter, evaluateFreshness } from "./frontmatter.js";
|
|
5
|
-
export { buildManifest, writeManifest } from "./manifest.js";
|
|
6
|
-
export { buildDecisionsLedger, buildInvariantsLedger, writeDecisionsLedger, writeInvariantsLedger, } from "./ledgers.js";
|
|
7
|
-
export { recordDriftEvent, writeDriftSnapshot } from "./drift.js";
|
|
8
|
-
export { writeAlignmentPending } from "./alignment-pending.js";
|
|
9
|
-
export { buildQualityGrades, writeQualityGrades } from "./quality-grades.js";
|
|
10
|
-
export { coerceDecisionIds, coerceInvariantIds, lookupScope, readScopeIndex, rebuildScopeIndex, rescanScopeIndex, scopeIndexPath, writeScopeIndex, } from "./scope-index.js";
|
|
11
|
-
export { AnchorMap, AnchorMapEntry, Audience, ProvenanceFrontmatter, ManifestEntry, Manifest, DecisionAssertion, DecisionFrontmatter, InvariantFrontmatter, DecisionLedgerEntry, InvariantLedgerEntry, FileCandidatesMap, QualityGrade, QualityGrades, DriftEvent, PreCommitDriftCandidate, PreCommitDriftLogEntry, RejectedEntry, RejectedYaml, SotBindings, SotCache, SotCacheEntry, SotKind, TopicIndex, TopicIndexEntry, } from "./schemas.js";
|
|
12
|
-
export { bindDec, decsForPath, emptySotBindings, pathForDec, readSotBindings, unbindDec, writeSotBindings, } from "./sot-bindings.js";
|
|
13
|
-
export { clearDecFromTopicIndex, emptyTopicIndex, getTopic, readTopicIndex, setTopic, writeTopicIndex, } from "./topic-index.js";
|
|
14
|
-
export { deleteEntry as deleteSotCacheEntry, emptySotCache, entries as sotCacheEntries, getEntry as getSotCacheEntry, readSotCache, setEntry as setSotCacheEntry, writeSotCache, } from "./sot-cache.js";
|
|
15
|
-
export { deleteAnchor, emptyAnchorMap, getAnchor, readAnchorMap, setAnchor, writeAnchorMap, } from "./anchor-map.js";
|
|
16
|
-
export { appendRejected, emptyRejectedYaml, gcRejectedYaml, readRejectedYaml, writeRejectedYaml, } from "./rejected.js";
|
|
17
|
-
export { buildFileCandidatesMap, emptyFileCandidatesMap, readFileCandidatesMap, writeFileCandidatesMap, } from "./file-candidates-map.js";
|
|
18
|
-
export { bodyContentHash, deriveDecId, deriveInvId, deriveLedgerDecId, deriveLedgerInvId, normalizeBlock, topicSlug, } from "./slug.js";
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
package/dist/ground/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ground/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEhH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,SAAS,EACT,cAAc,EACd,QAAQ,EACR,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,aAAa,EACb,OAAO,EACP,UAAU,EACV,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,SAAS,EACT,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,IAAI,mBAAmB,EAClC,aAAa,EACb,OAAO,IAAI,eAAe,EAC1B,QAAQ,IAAI,gBAAgB,EAC5B,YAAY,EACZ,QAAQ,IAAI,gBAAgB,EAC5B,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,SAAS,EACT,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,eAAe,EACf,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,SAAS,GACV,MAAM,WAAW,CAAC"}
|
package/dist/ground/ledgers.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type DecisionLedgerEntry, type InvariantLedgerEntry } from "./schemas.js";
|
|
2
|
-
export interface LedgerOptions {
|
|
3
|
-
repoRoot: string;
|
|
4
|
-
}
|
|
5
|
-
export declare function buildDecisionsLedger(opts: LedgerOptions): DecisionLedgerEntry[];
|
|
6
|
-
export declare function writeDecisionsLedger(opts: LedgerOptions): {
|
|
7
|
-
entries: DecisionLedgerEntry[];
|
|
8
|
-
path: string;
|
|
9
|
-
};
|
|
10
|
-
export declare function buildInvariantsLedger(opts: LedgerOptions): InvariantLedgerEntry[];
|
|
11
|
-
export declare function writeInvariantsLedger(opts: LedgerOptions): {
|
|
12
|
-
entries: InvariantLedgerEntry[];
|
|
13
|
-
path: string;
|
|
14
|
-
};
|