@dzhechkov/harness-core 0.3.142 → 0.3.144

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/.dz-manifest.json CHANGED
@@ -9,7 +9,7 @@
9
9
  },
10
10
  {
11
11
  "path": "README.md",
12
- "sha256": "68be78c9e65964e48cf4a9334c069f079b572f37367bc84404400eb6a5bc013a"
12
+ "sha256": "1b9db50b623f5737dd95a3b949d9ea85293387a010a09f4204e6a476f5127d57"
13
13
  },
14
14
  {
15
15
  "path": "coverage/coverage-final.json",
@@ -85,19 +85,19 @@
85
85
  },
86
86
  {
87
87
  "path": "dist/backlog.d.ts",
88
- "sha256": "0e6b229ff5dfe8026018173f8bbc13398fe2a88411d9cedc0c4c679d6a1c2fc8"
88
+ "sha256": "3f3fbdb7a59c0152d0750291092b6453b0ae1ff6f6f910e99cb5facfd93b6e53"
89
89
  },
90
90
  {
91
91
  "path": "dist/backlog.d.ts.map",
92
- "sha256": "99520bcd3dc3045df2e678a2be16f925b7f0f858f88ca4cc60526290c8e7c1aa"
92
+ "sha256": "0c96dddbd4aebe4bf085b641fcfaaa0ad149b5572471449f984364c94f78c7b3"
93
93
  },
94
94
  {
95
95
  "path": "dist/backlog.js",
96
- "sha256": "f6c541c38343a7d7ac6e07e5bca60bb0910d83d1fe3c22089b2dae9ba41eadc9"
96
+ "sha256": "9208cce6400957bed310d8c0405a15128315fba59b447962e06e48fca11f6fe6"
97
97
  },
98
98
  {
99
99
  "path": "dist/backlog.js.map",
100
- "sha256": "d211992f2a33bd28a164b19f3e2a9da798ccf679c29e92748742de14d8f009ff"
100
+ "sha256": "1dfc72d3ba2c896a43504425d4fdeb6b34dccb7d7867bc2f9a792981a57a5c48"
101
101
  },
102
102
  {
103
103
  "path": "dist/benchmark.d.ts",
@@ -245,19 +245,19 @@
245
245
  },
246
246
  {
247
247
  "path": "dist/compounding.d.ts",
248
- "sha256": "ec191d943989b0c7d96acb31ab31eefc16a539751cd1c94e3af20105a152beff"
248
+ "sha256": "34eb7f1754a631ebe5f390dee53f1ea276a85e6cabd25806c384aeef23f64d3c"
249
249
  },
250
250
  {
251
251
  "path": "dist/compounding.d.ts.map",
252
- "sha256": "7c78039462fbb3b4990907d8bcc7821b8d46b4962bc6b79397605eb195127f6b"
252
+ "sha256": "22cddbd67b5a6204cccc2bf100735c33e138f7400769ad073dc694df4fb0f2b2"
253
253
  },
254
254
  {
255
255
  "path": "dist/compounding.js",
256
- "sha256": "c0500edbd72a22e8850a231078849147a445956d3e9c5894c06d257a4dad5197"
256
+ "sha256": "dc8d3d48e8387391828175bff981016dfa449b19aa1a55e6420adbd688a112fb"
257
257
  },
258
258
  {
259
259
  "path": "dist/compounding.js.map",
260
- "sha256": "dfbf44a32606c8ad92fbd21a88ca615f9944802ff3d2d12de8fccbb1036dfad0"
260
+ "sha256": "afc564287b7a548b15051e64151c05687b8a45b66df7c964e7168591bb93414c"
261
261
  },
262
262
  {
263
263
  "path": "dist/cost-scoring.d.ts",
@@ -355,6 +355,22 @@
355
355
  "path": "dist/embedding-config.js.map",
356
356
  "sha256": "f42d468fc33e3c2f6e164e2aee397118cfabc7b2e39e11307f4b1fdb69e0d19a"
357
357
  },
358
+ {
359
+ "path": "dist/epoch-replay.d.ts",
360
+ "sha256": "7b45f33f2948d102e09204dec03bdff93c70571d79c9466faf014126139cd0b9"
361
+ },
362
+ {
363
+ "path": "dist/epoch-replay.d.ts.map",
364
+ "sha256": "155f1584c236ef7d805522377e20d651c01bd07ad96a6dcc17847d9f6b3885e2"
365
+ },
366
+ {
367
+ "path": "dist/epoch-replay.js",
368
+ "sha256": "fbed667f04a07975915a35ed78d582c05a6669e744d457b3ac38a0cbb35d4539"
369
+ },
370
+ {
371
+ "path": "dist/epoch-replay.js.map",
372
+ "sha256": "f0c5eb87cdc3727e7eb857e5d07f8fd376902c66c48a23af61998677ea48acda"
373
+ },
358
374
  {
359
375
  "path": "dist/feature-adr-claim-gate.d.ts",
360
376
  "sha256": "abce2849ac6aa7b31292fb4d5e80b500b3a33a77533d3a3a8b3da6fe3ebaa7af"
@@ -405,19 +421,19 @@
405
421
  },
406
422
  {
407
423
  "path": "dist/guard.d.ts",
408
- "sha256": "de51710fa4c97f71bd835b77740634708ef1fb6791e946c0c1124f3800c93bd6"
424
+ "sha256": "7a1df1aa511a5d96669e660b99d29ba633393e1a20dc346e1dedfa9aec221260"
409
425
  },
410
426
  {
411
427
  "path": "dist/guard.d.ts.map",
412
- "sha256": "65bc9e2e658380ecfb061377d88640569f5be259093ff619c99e5d9cc8db8869"
428
+ "sha256": "be03334a1746d3261afe69252f119c82f3718e0608957eebf5de311acf9d8a04"
413
429
  },
414
430
  {
415
431
  "path": "dist/guard.js",
416
- "sha256": "012b8841fa90e6f6b03059d3ef1ae201ba22c0c2f20cfd828ae636ba2057db7a"
432
+ "sha256": "dc20d0ea9ff7e1299b52ed3ce03dbd2f8bb13b1b86ee2799a49837f33ec33883"
417
433
  },
418
434
  {
419
435
  "path": "dist/guard.js.map",
420
- "sha256": "46a8ef893bfba84586883fbcabdf031e151cf59d3cb4947958549a5d451bc5b8"
436
+ "sha256": "1696212693b8cd400ff6d2af843e2901ad0e79679ddd09ea9831306aa75e342a"
421
437
  },
422
438
  {
423
439
  "path": "dist/import-ecc.d.ts",
@@ -437,19 +453,19 @@
437
453
  },
438
454
  {
439
455
  "path": "dist/index.d.ts",
440
- "sha256": "13e762f63d29519f51214c202498f25171781daaaa5e872bf93504590da14102"
456
+ "sha256": "88213a2320b2b99781919788883ab99da93c4043e7c235f14d7f97db034703e0"
441
457
  },
442
458
  {
443
459
  "path": "dist/index.d.ts.map",
444
- "sha256": "7145736e767324ee5cc10ad8ffe0b58bc80bd8c186e91fd4693c9bfb350ae4a0"
460
+ "sha256": "e568286b5e7123dbd73a623268134af1b55555e61e90ea0271a9d4938184b6a0"
445
461
  },
446
462
  {
447
463
  "path": "dist/index.js",
448
- "sha256": "875624dd956dd81671adc24d896798b5b162f7a1af468a58944e29f0f6ad8347"
464
+ "sha256": "a779d72721eb025257beee64dd6e29a8e54e1dde1f152a0887d94aa2f9c3f1be"
449
465
  },
450
466
  {
451
467
  "path": "dist/index.js.map",
452
- "sha256": "5a8b40115c9b4d9dd815a4b15d61d4fc5da502a1b8a71104743c3ed9e204ce2c"
468
+ "sha256": "7f3cd564e49f49d2fb6a736e98ce837f987994776730ff07f04cb71c7113c22e"
453
469
  },
454
470
  {
455
471
  "path": "dist/learning-backend.d.ts",
@@ -1029,7 +1045,7 @@
1029
1045
  },
1030
1046
  {
1031
1047
  "path": "package.json",
1032
- "sha256": "22f5f6bac0cc06e227e205b14388ae2ca8dd17a1a6a3abfa8458a21d104df772"
1048
+ "sha256": "2b12d89fc52919b1963d3bd655cf21312df2306e3b7b3ff09c6812675197c58c"
1033
1049
  },
1034
1050
  {
1035
1051
  "path": "src/__tests__/golden-baseline.test.ts",
@@ -1049,7 +1065,7 @@
1049
1065
  },
1050
1066
  {
1051
1067
  "path": "src/backlog.ts",
1052
- "sha256": "e5173f2eafa803a5aaf0be03e238b5bc567f876fcb3caed4bae2148173baa998"
1068
+ "sha256": "7418f3809477f66b524d69f3f438aaaea818451396b360fe509285f52db21767"
1053
1069
  },
1054
1070
  {
1055
1071
  "path": "src/benchmark.ts",
@@ -1089,7 +1105,7 @@
1089
1105
  },
1090
1106
  {
1091
1107
  "path": "src/compounding.ts",
1092
- "sha256": "2f051ebc8d86b6de4d359a5482c25b8cee59261a790599ced85c20162e0c87b1"
1108
+ "sha256": "7ccb87beb02047e78c192e544e5aa893eb4c95ab21542fc38fdd1e123e8fc2cd"
1093
1109
  },
1094
1110
  {
1095
1111
  "path": "src/cost-scoring.ts",
@@ -1115,6 +1131,10 @@
1115
1131
  "path": "src/embedding-config.ts",
1116
1132
  "sha256": "1323977cbf0a5e648e9c319c2584ff3fb71a15bc7c97e35c6a5154deb900ec56"
1117
1133
  },
1134
+ {
1135
+ "path": "src/epoch-replay.ts",
1136
+ "sha256": "031c838e16e30617e5149ff16af75d8b4058922525d1851682323ba0bc0bb85f"
1137
+ },
1118
1138
  {
1119
1139
  "path": "src/feature-adr-claim-gate.ts",
1120
1140
  "sha256": "0fd1c44e7f6aea1abfac1e6d3fac3e4bbe4dfd501d068803f310c1ec36716eb6"
@@ -1129,7 +1149,7 @@
1129
1149
  },
1130
1150
  {
1131
1151
  "path": "src/guard.ts",
1132
- "sha256": "c0c8e4a58aff130a35c60d5de694ab7de851ea518008b70ad0b14b76318ebefd"
1152
+ "sha256": "f56d5f5e59e9ddecae339b054b9f888b81b3410c56d3a09eedd7be3c11d3438c"
1133
1153
  },
1134
1154
  {
1135
1155
  "path": "src/import-ecc.ts",
@@ -1137,7 +1157,7 @@
1137
1157
  },
1138
1158
  {
1139
1159
  "path": "src/index.ts",
1140
- "sha256": "bf307ef27bca0ac2ad6dbb6e8c7301507b042469cacee3a9a183ef1be3e69df7"
1160
+ "sha256": "98f3820a8d7eafeb6405e2c80b05513ddce58dfccec57612f1136cfa6abdf40e"
1141
1161
  },
1142
1162
  {
1143
1163
  "path": "src/learning-backend.ts",
@@ -1305,7 +1325,7 @@
1305
1325
  },
1306
1326
  {
1307
1327
  "path": "test/backlog.test.ts",
1308
- "sha256": "551e107380c9be270770266ebb258495825d942150c12c305345970de7f666b5"
1328
+ "sha256": "9b6bf3726a14f774913440ee3053276e88a4dcaf1265ae48d8015bc4985489f1"
1309
1329
  },
1310
1330
  {
1311
1331
  "path": "test/benchmark-s15.test.ts",
@@ -1383,6 +1403,10 @@
1383
1403
  "path": "test/embedding-config.test.ts",
1384
1404
  "sha256": "0b62c30b7bc224e6cbe919a8b8aa067e03635e5242d21af15c3a50fcc23abd57"
1385
1405
  },
1406
+ {
1407
+ "path": "test/epoch-replay.test.ts",
1408
+ "sha256": "5f1f87608f41587f54f0b071b49ec19e1242ef94edc5c2a9be191534661f8ec9"
1409
+ },
1386
1410
  {
1387
1411
  "path": "test/feature-adr-abs-paths.test.ts",
1388
1412
  "sha256": "399f38bbb328ccb77f2bc4432eb6d3c91b886e59901dd9cd04ab3d17ccb22c87"
@@ -1425,7 +1449,7 @@
1425
1449
  },
1426
1450
  {
1427
1451
  "path": "test/guard.test.ts",
1428
- "sha256": "faf423970912978594624a70674aa152605819aa3407fdbae45770f3006bdc0b"
1452
+ "sha256": "49829d24440130cfe403a410b9068a76631c68e9baa2cfc978f5029df2d72f3a"
1429
1453
  },
1430
1454
  {
1431
1455
  "path": "test/harmonize.test.ts",
@@ -1609,5 +1633,5 @@
1609
1633
  }
1610
1634
  ]
1611
1635
  },
1612
- "signature": "jv05WfJ6g7MzLtIGL0VFAprgoBluIXiJCK2LmIHlimELGbeQSF9j483u0mG9VpGm6w/WVY4GBJTVedRsauZwBA=="
1636
+ "signature": "9x1Af1YN2KgiryY+uLM532g4McRyNgwN7PcuPboXSZXDIyGDh/bc/FTCx30Z5ZsqHnUBRupAB57gyI+g1VP8CA=="
1613
1637
  }
package/README.md CHANGED
@@ -11,7 +11,8 @@ and any other consumer.
11
11
  | `apply` | `applyEmitResult` | Write an adapter `EmitResult` to disk — **additively** |
12
12
  | `targets` | `TARGETS`, `TargetName`, `isTargetName` | `--target` name → platform adapter |
13
13
  | `sign` (walks) | `listPackFiles`, `listSignablePackFiles` | Shared node_modules/.git exclusions; verify sees MORE than sign (smuggled symlinks still fail) |
14
- | `guard` | `evaluateGuard`, `resolveRules`, `scanSecrets`, `DEFAULT_RULES` | Declarative HARD/SOFT constraint engine behind `dz guard` (publish/teach/consolidate pre-flight; fail-closed) |
14
+ | `guard` | `evaluateGuard`, `resolveRules`, `scanSecrets`, `DEFAULT_RULES`, `parsePnpmLockImporters` | Declarative HARD/SOFT constraint engine behind `dz guard` (publish/teach/consolidate pre-flight; fail-closed). The SOFT `lockfile-in-sync` rule compares each workspace package's `@dzhechkov/*` dep specs against the specifier `pnpm-lock.yaml` records for that importer — the `ERR_PNPM_OUTDATED_LOCKFILE` CI break, caught at publish. Its lockfile reader (`parsePnpmLockImporters`) is a pure RECOGNISE-OR-REFUSE parser (no YAML dependency): it reads only the `lockfileVersion: 9`+ importer layout and returns `undefined` for a legacy v5/v6 file, a truncated one, or any shape that leaves an importer with zero specifiers — because a half-parse reports every real dependency as "not recorded". The rule FAILS OPEN on that `undefined` (no violation) and is pinned SOFT-only via `SOFT_ONLY_RULES`, so no config can turn a parser that admits uncertainty into a publish blocker |
15
+ | `backlog` | `dedupIdea`, `classifyDedup`, `alignIdea`, `spinRoulette`, `readGoalMapDetailed`, `parseEffort`, `ensureBacklogGitignored`, `harmonizeBacklog` | The Smart Backlog engine behind `dz backlog`: content-addressed idea records in `.dz/backlog/ideas.jsonl`, semantic dedup over the REUSED agentdb vector namespace (`dz-backlog` — no second store), weighted-max GoalMap alignment, and a seeded weighted roulette. Every band/weight decision is a PURE function. `classifyDedup` also reports the top-1 match id alongside the cosine (the calibration surface for the 0.92 duplicate band — observational, it never moves the verdict); `readGoalMapDetailed` returns the entries the defensive reader DROPPED with a reason AND the fields it REPAIRED with their raw values (a weight clamped before validation made the validator's out-of-range branch dead code), so `goals --validate` can never report a vacuous "valid (0 goals)" nor hide a `weight: 7`; `parseEffort` returns a printable note for every clamp; `ensureBacklogGitignored` gitignores the store on first write (raw ideas are private prompt-class content) — atomically, preserving the file's dominant EOL, recognising every plain spelling of an existing rule (`/.dz/`, `.dz/**`, …) via `backlogIgnoreStatus`, and obeying a `!` negation as an explicit user opt-out instead of overriding it |
15
16
  | `feature-adr-setup` (P3) | `renderGuardsConfig`, `renderGuardsRunner` | Scaffolds deterministic guard tests into a TARGET project: `guards.config.json` + a zero-dependency `check.mjs` runner (loc-cap, secret-scan, frozen-file sha256 pins, waivers-with-reasons) — `dz feature-adr-setup --guards` |
16
17
  | `usage` | `computeUsage`, `TOKEN_WEIGHTS`, `readUsageLimits`, `deriveUsageCalibration` | Read-only Claude usage ESTIMATE behind `dz usage`. Tokens are COST-WEIGHTED input-equivalents (input 1x, cache-write 1.25x / 1h 2x, cache-read 0.1x, output 5x) — a flat sum is 89-99.7% cache-read (MEASURED) and tracks conversation length, not work. Scans subagent transcripts too (`<session>/subagents/*.jsonl`), follows no symlinks, reads only regular files (symlinked FILES and DIRECTORY components alike are skipped), and caps the walk BY RECENCY so a huge history cannot discard current usage. `pct` stays `null` while limits are unconfigured — an unconfigured estimate is never dressed up as a number |
17
18
  | `compounding` | `mulberry32`, `bootstrapDelta`, `decidePromotion`, `assembleCompoundingReport` | Pure learning-loop payoff engine behind `dz compounding`: seeded deterministic bootstrap (conservative nearest-rank lower-95), promotion that refuses non-finite/malformed input and anything under 5 samples per arm, and dz-native measurements (pool write-only ratio, guard trajectory by RATE, replay readiness over unique untruncated prompt events). A gate without data says INSUFFICIENT_DATA — never a verdict. Compaction keeps the newest query-bearing rows verbatim and aggregates ONLY the rest (read totals are invariant across compactions) |
package/dist/backlog.d.ts CHANGED
@@ -52,10 +52,33 @@ export interface DedupVerdict {
52
52
  /** Top-1 raw cosine (ADR-002 — never an RRF score). `-1` when there is nothing to compare against. */
53
53
  readonly cosine: number;
54
54
  readonly matchedId: string | undefined;
55
+ /**
56
+ * The id of the TOP-1 candidate whatever band it landed in — the ADR-002 CALIBRATION surface (idea
57
+ * ce914ac2). `matchedId` is only set for a DUPLICATE, so a RELATED verdict used to report a cosine with
58
+ * no way to see WHICH idea produced it; a user calibrating the 0.92 band needs the pair, not the number.
59
+ * Purely observational: it never changes the verdict.
60
+ */
61
+ readonly topMatchId: string | undefined;
55
62
  readonly relatedIds: readonly string[];
56
63
  /** True when the embedder was unavailable and dedup degraded to exact-text (ADR-002 §degrade). */
57
64
  readonly exactTextOnly: boolean;
58
65
  }
66
+ /** The result of interpreting a `--effort` argument, with the note the CLI must ECHO when it altered it. */
67
+ export interface EffortParse {
68
+ readonly effort: number;
69
+ /** True when the parsed value was altered (clamped, floored, or rejected) — the CLI prints `note`. */
70
+ readonly adjusted: boolean;
71
+ /** Human line, e.g. `effort 13 → clamped to 5 (scale 1-5)`. Present iff `adjusted`. */
72
+ readonly note?: string;
73
+ }
74
+ export declare const EFFORT_MIN = 1;
75
+ export declare const EFFORT_MAX = 5;
76
+ /**
77
+ * PURE `--effort` interpreter. `dz backlog add --effort 13` used to store 5 and say NOTHING, so the user
78
+ * kept a wrong mental model of the scale (idea 86096d6d). Every alteration now carries a printable note;
79
+ * an in-range integer is returned untouched with `adjusted:false` (no noise on the happy path).
80
+ */
81
+ export declare function parseEffort(raw: string | undefined, fallback: number): EffortParse;
59
82
  export declare const DEFAULT_DUPLICATE_THRESHOLD = 0.92;
60
83
  export declare const DEFAULT_RELATEDNESS_FLOOR = 0.35;
61
84
  export declare const DEFAULT_ROULETTE_ALPHA = 1.5;
@@ -96,6 +119,36 @@ export declare function isSafeId(id: unknown): id is string;
96
119
  export declare function readIdeas(projectRoot: string): IdeaRecord[];
97
120
  /** Atomic full rewrite (tmp + rename) so a crash mid-write never truncates the store. */
98
121
  export declare function writeIdeas(projectRoot: string, ideas: readonly IdeaRecord[]): void;
122
+ export type GitignoreAction = 'created' | 'appended' | 'already-covered' | 'user-opted-out' | 'skipped';
123
+ export interface GitignoreScaffold {
124
+ readonly action: GitignoreAction;
125
+ readonly path: string;
126
+ /** Set for `skipped` (the I/O reason) and `user-opted-out` (the negation line we obeyed). */
127
+ readonly reason?: string;
128
+ }
129
+ export type BacklogIgnoreStatus = 'covered' | 'negated' | 'uncovered';
130
+ /**
131
+ * PURE .gitignore verdict for the backlog store. Deliberately NOT a full gitignore engine — it
132
+ * recognises the plain-path spellings of the rule (`/.dz/`, `.dz/**`, `.dz/backlog`, …) and refuses to
133
+ * interpret anything else, because a wrong-but-clever matcher either double-appends or silently
134
+ * decides a store is private when it is not.
135
+ *
136
+ * `negated` wins over `covered`: a `!.dz/backlog/` line (anchored or not) is the user saying *"track
137
+ * this on purpose"*. We obey it — appending a rule that overrides the user's explicit opt-out would be
138
+ * this tool deciding it knows better.
139
+ */
140
+ export declare function backlogIgnoreStatus(gitignoreText: string): BacklogIgnoreStatus;
141
+ /** Back-compat shim: "is it ignored?" — a negation is NOT coverage (the store is tracked on purpose). */
142
+ export declare function backlogIgnoreCovered(gitignoreText: string): boolean;
143
+ /**
144
+ * Ensure the backlog store is gitignored, at the moment the feature FIRST creates it (idea ec4cd60d).
145
+ * Creates a `.gitignore` when there is none; appends the entry (+ its comment) when the project has one
146
+ * that does not cover the store; touches NOTHING when it is already covered OR when the user explicitly
147
+ * negated the rule. The write is ATOMIC and preserves the file's dominant EOL.
148
+ * Never throws — an unwritable .gitignore degrades to `skipped`, and the CALLER must say so out loud
149
+ * (a silently un-ignored store is exactly the privacy leak this function exists to prevent).
150
+ */
151
+ export declare function ensureBacklogGitignored(projectRoot: string): GitignoreScaffold;
99
152
  /** Pre-mutation snapshot (NFR-6) — mirrors `snapshotStore`. A failed snapshot returns `{error}` so
100
153
  * the caller ABORTS the mutation (no partial merge). */
101
154
  export interface SnapshotResult {
@@ -139,7 +192,50 @@ export interface DedupDeps {
139
192
  * blocking capture (NFR-2 / ADR-002 T-002e).
140
193
  */
141
194
  export declare function dedupIdea(projectRoot: string, text: string, cfg: BacklogConfig, deps?: DedupDeps): Promise<DedupVerdict>;
142
- /** Defensive GoalMap reader never throws; a missing/corrupt file empty compass. */
195
+ /** One goal entry the reader REFUSED, with the reason the anti-vacuous-valid evidence (idea 960c9f26). */
196
+ export interface DroppedGoal {
197
+ /** 0-based index of the entry in the file's `goals` array. */
198
+ readonly index: number;
199
+ /** Machine-stable reason, e.g. `missing "statement"`. */
200
+ readonly reason: string;
201
+ }
202
+ /**
203
+ * What the defensive read actually SAW. `readGoalMap` throws away the drops (correct for runtime paths —
204
+ * a corrupt compass must never break capture), but `goals --validate` needs them: a goals.json whose every
205
+ * entry was silently dropped previously reported *"valid (0 goal(s))"* — a vacuous pass that hid the user's
206
+ * typo (`text` instead of `statement`). This variant is the validate-facing reader.
207
+ */
208
+ export interface GoalMapRead {
209
+ readonly goalMap: GoalMap;
210
+ /** Entries present in the file's `goals` array (kept + dropped). */
211
+ readonly present: number;
212
+ readonly dropped: readonly DroppedGoal[];
213
+ /**
214
+ * Fields the reader REPAIRED to keep the runtime safe. The clamp happens BEFORE any validation could
215
+ * see the original, so a `weight: 7` becomes a legal 1 and the validator's out-of-range branch is
216
+ * unreachable — a silent repair reported as "valid". These carry the RAW value so `goals --validate`
217
+ * can warn about what the user actually wrote while the runtime keeps the clamped value.
218
+ */
219
+ readonly repaired: readonly RepairedGoalField[];
220
+ /** Set when the file exists but could not be parsed / has no `goals` array. */
221
+ readonly parseError?: string;
222
+ }
223
+ /** One field the defensive reader clamped/replaced, with both the raw and the used value. */
224
+ export interface RepairedGoalField {
225
+ readonly index: number;
226
+ readonly id: string;
227
+ readonly field: 'weight';
228
+ readonly raw: unknown;
229
+ readonly used: number;
230
+ /** Human reason, e.g. `weight 7 is out of (0,1]`. */
231
+ readonly reason: string;
232
+ }
233
+ /**
234
+ * Detailed GoalMap read — never throws, and REPORTS what it dropped (idea 960c9f26). `readGoalMap` is the
235
+ * lossy runtime view of this; both share one parser so they can never disagree about what a goal is.
236
+ */
237
+ export declare function readGoalMapDetailed(projectRoot: string): GoalMapRead;
238
+ /** Defensive GoalMap reader — never throws; a missing/corrupt file ⇒ empty compass (the runtime path). */
143
239
  export declare function readGoalMap(projectRoot: string): GoalMap;
144
240
  /** The text embedded for a goal: statement + keywords (same convention across cache + score). */
145
241
  export declare function goalEmbedText(goal: Goal): string;
@@ -1 +1 @@
1
- {"version":3,"file":"backlog.d.ts","sourceRoot":"","sources":["../src/backlog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backlog.d.ts","sourceRoot":"","sources":["../src/backlog.ts"],"names":[],"mappings":"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"}