pm-context 2026.10.23 → 2026.10.25

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026.10.25 - 2026-10-25
4
+
5
+ ### Added
6
+
7
+ - Pack criterion evidence with exact budget coverage receipts ([pm-context-coverage-pack](https://github.com/unbraind/pm-context/blob/main/.agents/pm/features/pm-context-coverage-pack.toon))
8
+ - Return smallest cited witnesses for contradictory context claims ([pm-context-kzoe](https://github.com/unbraind/pm-context/blob/main/.agents/pm/features/pm-context-kzoe.toon))
9
+ - Resumable since delta packs with substantive messages and claims ([pm-context-8bbh](https://github.com/unbraind/pm-context/blob/main/.agents/pm/features/pm-context-8bbh.toon))
10
+ - Validate only context assumptions invalidated on resume ([pm-context-vusp](https://github.com/unbraind/pm-context/blob/main/.agents/pm/features/pm-context-vusp.toon))
11
+
12
+ ### Fixed
13
+
14
+ - Preserve highest-overlap focus during capped packing ([pm-context-gb70](https://github.com/unbraind/pm-context/blob/main/.agents/pm/issues/pm-context-gb70.toon))
15
+ - Preserve repository roots ending in whitespace for file focus ([pm-context-gyq1](https://github.com/unbraind/pm-context/blob/main/.agents/pm/issues/pm-context-gyq1.toon))
16
+
17
+ ### Other
18
+
19
+ - Certify complete context corpora and recover abandoned receipt locks ([pm-context-pbcw](https://github.com/unbraind/pm-context/blob/main/.agents/pm/tasks/pm-context-pbcw.toon))
20
+ - Correct tracker reconciliation review evidence for PR 163 ([pm-context-r163](https://github.com/unbraind/pm-context/blob/main/.agents/pm/chores/pm-context-r163.toon))
21
+
3
22
  ## 2026.10.23 - 2026-10-23
4
23
 
5
24
  ### Added
package/README.md CHANGED
@@ -66,6 +66,7 @@ tracker root (including custom roots) are excluded from `--changed`.
66
66
  Use repeated `--files <path>` for an explicit working set, including paths that
67
67
  do not exist yet. Paths are relative to the repository root (native absolute
68
68
  paths inside that root are also accepted), and backslashes are normalized.
69
+ One trailing LF or CRLF from an edited file list is removed; other whitespace is preserved.
69
70
  `--files` and `--changed` combine their unique paths. Linked directories match
70
71
  contained files with path boundaries, so `src` matches `src/parser.ts` but
71
72
  `sr` does not. File selection intersects any id/status/type/tag filters.
@@ -266,6 +267,13 @@ carry no session or fact ids and are never automatically credited to a receipt.
266
267
  Receipts live exclusively in the tracker's ignored
267
268
  `runtime/context-receipts/` directory. Each atomic JSON snapshot stores ids,
268
269
  associations, token estimates and deduplicated evidence, **no context text**.
270
+ Receipt writers use a native SDK lock with an explicit owner, a 60-second lifetime,
271
+ a 500 ms total contention ceiling and token-owned release. A verifiably dead writer
272
+ is recovered by the SDK before the lifetime expires; a live owner causes bounded
273
+ refusal. Existing ownerless `runtime/context-receipts/.lock` directories are
274
+ preserved and require explicit recovery after stopping all receipt writers.
275
+ Serving still discloses unavailable measurement when persistence fails.
276
+
269
277
  Rotation keeps the current receipt and the most recently written siblings, at
270
278
  most 200 snapshots of 256 KiB each (50 MiB maximum retained receipt data).
271
279
  Older receipts are deleted; their
@@ -408,8 +416,57 @@ pm context-freshness resume --packet packet.json --manifest manifest.json --json
408
416
  No new snapshot store or event delta stream is created. See the
409
417
  [packet example, typed SDK and refusal contracts](docs/freshness.md).
410
418
 
419
+ ## Smallest contradictory claim witnesses
420
+
421
+ `pm context-witnesses --packet claims.json` checks an explicitly selected packet
422
+ of cited, co-current assertions and returns its smallest conflicting pair.
423
+ Use `--format json` (or global `--json`) for JSON; default TOON and JSON both
424
+ retain complete citations within `--byte-budget 4000`. Oversized results refuse
425
+ with a typed code and remedy rather than dropping witness evidence.
426
+
427
+ Rules compare exact subject/field/scope coordinates: unequal single-valued state,
428
+ required/forbidden policy, and explicit supersession of another selected claim.
429
+ `NO_DECLARED_CONFLICT` says only that these rules found no conflict; prose and
430
+ model proposals remain unchecked. The command performs no edits or model calls.
431
+ The SDK exports `checkContextWitnesses`, packet parsing and encoding, and typed
432
+ `WitnessError` refusals. See the [packet example and SDK contract](docs/witnesses.md).
433
+
411
434
  ## Without git
412
435
 
413
- Item-selected packs, handoffs, usage reports, `context-pack since` and freshness record/resume work in a
414
- plain initialized tracker without invoking Git. Changed-file focus (`--changed`)
436
+ Next-evidence acquisition plans, criterion evidence packs, item-selected packs, handoffs, usage reports, `context-pack since`, freshness record/resume and `context-witnesses` work in a
437
+ plain initialized tracker without invoking Git. Corpus reads use `listAllComplete`
438
+ with extension hooks disabled and re-certify its full-corpus receipt before packing,
439
+ including custom item types and terminal statuses. Receipt writes and usage updates
440
+ also work without Git. File focus (`--changed` or `--files`)
415
441
  requires a Git working repository and explains that requirement when unavailable.
442
+
443
+ ## Coverage-aware evidence packing
444
+
445
+ Pack explicit acceptance criteria and their tracker field citations with
446
+ `pm context-evidence --packet criteria.json --byte-budget 4000` (TOON by default;
447
+ `--format json` or `--json` for compact JSON). Each criterion reports `linked`,
448
+ `budget_omitted`, or `unlinked`. A budget cut retains the exact uncovered
449
+ criterion ID and text. Citations, coverage receipts and output syntax all count
450
+ against the byte ceiling. Whole evidence groups fit or are omitted together.
451
+
452
+ Coverage means all producer-declared bindings are present, not that acceptance
453
+ was semantically verified. Source fields are read for sizing; omitted evidence
454
+ is never described as reviewed. Linked artifacts are not opened and tests are
455
+ not run. The command and typed `packCriterionEvidence` SDK work without Git and
456
+ leave the tracker unchanged. [Packet, CLI and SDK examples, refusal remedies,
457
+ and limitations](docs/criterion-evidence.md).
458
+
459
+ ## Plan the next evidence reads
460
+
461
+ `pm context-next-evidence --packet acquisition.json` chooses the exact cheapest
462
+ cover of explicitly missing criteria from a caller-declared read catalog. It
463
+ executes **zero reads**. Cost combines estimated tokens and a caller-declared
464
+ per-tool-call token overhead; selected reads are ordered by marginal coverage
465
+ per cost. Uncoverable criteria remain explicit. JSON and TOON output contain
466
+ read IDs, costs and revision contracts, without source content.
467
+
468
+ Use `--format json > plan.json` to save a plan, then
469
+ `pm context-next-evidence --packet acquisition.json --check plan.json` to
470
+ revalidate it. Revised criterion/source contracts, coverage or estimates require
471
+ replanning. This command also works without Git and leaves tracker state intact.
472
+ See the [packet example, typed SDK, limits and remedies](docs/next-evidence.md).
@@ -99,15 +99,22 @@ export declare function normalizeReceiptFile(value: string): string;
99
99
  * manifest, and persist its receipt. Fact hashes exclude clocks and receipt ids.
100
100
  * Write failures propagate so callers disclose that measurement is unavailable.
101
101
  */
102
- export declare function serveContextReceipt(pmRoot: string, output: string, format: "json" | "text", associations: ReceiptAssociations, identity: ReceiptIdentity, outputPath?: string): {
102
+ export declare function serveContextReceipt(pmRoot: string, output: string, format: "json" | "text", associations: ReceiptAssociations, identity: ReceiptIdentity, outputPath?: string): Promise<{
103
103
  output: string;
104
104
  receipt: ContextReceipt;
105
+ }>;
106
+ /** Native namespace, lease lifetime and hard total contention budget for receipt writers. */
107
+ export declare const RECEIPT_LOCK: {
108
+ readonly id: "pm-context-receipts";
109
+ readonly owner: "pm-context:receipts";
110
+ readonly ttlSeconds: 60;
111
+ readonly waitMs: 500;
105
112
  };
106
113
  /**
107
114
  * Record explicit, receipt-scoped usage. Unknown ids reject the entire update;
108
115
  * repeat reports are idempotent. Item/file proxies match only facts in this receipt.
109
116
  */
110
- export declare function recordReceiptUsage(pmRoot: string, usage: ReceiptUsage): void;
117
+ export declare function recordReceiptUsage(pmRoot: string, usage: ReceiptUsage): Promise<void>;
111
118
  /** Read retained receipts, report skipped corruption, and aggregate before limiting detail. */
112
119
  export declare function reportContextReceipts(pmRoot: string, options: ReceiptReportOptions): ReceiptReport;
113
120
  /** Render the receipt denominator, usage proxies and unused estimated cost as a brief. */
@@ -1 +1 @@
1
- {"version":3,"file":"context-receipts.d.ts","sourceRoot":"","sources":["../context-receipts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-receipts.d.ts","sourceRoot":"","sources":["../context-receipts.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Receipt protocol for the final output of pm-context's serving commands.
3
3
  * The package owns only runtime/context-receipts, never the SDK usage ledger.
4
4
  */
5
+ import { acquireLock } from "@unbrained/pm-cli/sdk";
5
6
  import { createHash, randomUUID } from "node:crypto";
6
7
  import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
7
8
  import { basename, isAbsolute, join, posix } from "node:path";
@@ -23,7 +24,7 @@ export function normalizeReceiptFile(value) {
23
24
  * manifest, and persist its receipt. Fact hashes exclude clocks and receipt ids.
24
25
  * Write failures propagate so callers disclose that measurement is unavailable.
25
26
  */
26
- export function serveContextReceipt(pmRoot, output, format, associations, identity, outputPath) {
27
+ export async function serveContextReceipt(pmRoot, output, format, associations, identity, outputPath) {
27
28
  const receipt = {
28
29
  protocol: "pm-context-usage/v1", receipt_id: randomUUID(), session: "", author: identity.author,
29
30
  served_at: new Date().toISOString(), command: identity.command, sections: [], facts: [], protocol_tokens: 0, used: {},
@@ -100,7 +101,7 @@ export function serveContextReceipt(pmRoot, output, format, associations, identi
100
101
  rendered = `${lines.join("\n")}\n\nContext receipt: ${receipt.receipt_id}; session: ${receipt.session}; protocol: ${receipt.protocol}\n`;
101
102
  receipt.protocol_tokens = Math.ceil((rendered.length - output.length) / 4);
102
103
  }
103
- withReceiptStore(pmRoot, (directory) => {
104
+ await withReceiptStore(pmRoot, (directory) => {
104
105
  const path = join(directory, `${receipt.receipt_id}.json`);
105
106
  try {
106
107
  persistReceipt(path, receipt);
@@ -134,17 +135,21 @@ function persistReceipt(path, receipt) {
134
135
  rmSync(temporary, { force: true });
135
136
  }
136
137
  }
137
- /** Cooperating writers serialize rotation and evidence updates; contention asks for retry. */
138
- function withReceiptStore(pmRoot, operation) {
138
+ /** Native namespace, lease lifetime and hard total contention budget for receipt writers. */
139
+ export const RECEIPT_LOCK = { id: "pm-context-receipts", owner: "pm-context:receipts", ttlSeconds: 60, waitMs: 500 };
140
+ /** Serialize receipt commits under a token-owned native lock, retaining unverifiable legacy locks. */
141
+ async function withReceiptStore(pmRoot, operation) {
139
142
  const directory = join(pmRoot, RECEIPTS_RELATIVE_PATH);
140
143
  mkdirSync(directory, { recursive: true, mode: 0o700 });
141
- const lock = join(directory, ".lock");
142
- mkdirSync(lock);
144
+ const release = await acquireLock(pmRoot, RECEIPT_LOCK.id, RECEIPT_LOCK.ttlSeconds, RECEIPT_LOCK.owner, false, true, RECEIPT_LOCK.waitMs, { maxWaitMs: RECEIPT_LOCK.waitMs });
143
145
  try {
146
+ if (existsSync(join(directory, ".lock"))) {
147
+ throw new Error("Legacy context receipt .lock has no verifiable owner. Stop receipt writers and explicitly recover it before retrying.");
148
+ }
144
149
  return operation(directory);
145
150
  }
146
151
  finally {
147
- rmSync(lock, { recursive: true, force: true });
152
+ await release();
148
153
  }
149
154
  }
150
155
  /** Validate every field consumed by reports, skipping oversized or corrupt snapshots. */
@@ -203,10 +208,10 @@ function readReceipt(path) {
203
208
  * Record explicit, receipt-scoped usage. Unknown ids reject the entire update;
204
209
  * repeat reports are idempotent. Item/file proxies match only facts in this receipt.
205
210
  */
206
- export function recordReceiptUsage(pmRoot, usage) {
211
+ export async function recordReceiptUsage(pmRoot, usage) {
207
212
  if (!/^[\da-f-]{36}$/.test(usage.receipt_id))
208
213
  throw new Error("Invalid context receipt id");
209
- withReceiptStore(pmRoot, (directory) => {
214
+ await withReceiptStore(pmRoot, (directory) => {
210
215
  const path = join(directory, `${usage.receipt_id}.json`);
211
216
  const receipt = readReceipt(path);
212
217
  if (!receipt)
@@ -1 +1 @@
1
- {"version":3,"file":"context-receipts.js","sourceRoot":"","sources":["../context-receipts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-receipts.js","sourceRoot":"","sources":["../context-receipts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /** Criterion-level packing over explicit tracker bindings; no semantic search or review. */
2
+ import { PmCliError } from "@unbrained/pm-cli/sdk";
3
+ import type { FreshnessReader } from "./freshness.ts";
4
+ /** A top-level authoritative tracker field, including linked tests, docs or files. */
5
+ export interface EvidenceBinding {
6
+ item: string;
7
+ field: string;
8
+ }
9
+ /** All declared bindings must fit before a criterion has linked evidence coverage. */
10
+ export interface EvidenceCriterion {
11
+ id: string;
12
+ text: string;
13
+ evidence: EvidenceBinding[];
14
+ }
15
+ /** Explicit producer-owned acceptance criteria; empty bindings disclose missing evidence. */
16
+ export interface EvidencePacket {
17
+ criteria: EvidenceCriterion[];
18
+ }
19
+ /** Stable refusal categories with host-compatible recovery instructions. */
20
+ export declare class EvidencePackingError extends PmCliError {
21
+ /** Safe machine-readable failure category, independent of source contents. */
22
+ readonly code: "INVALID_PACKET" | "INVALID_ARGUMENT" | "INPUT_UNAVAILABLE" | "SOURCE_UNAVAILABLE" | "BUDGET_TOO_SMALL";
23
+ /** Concrete action that permits retrying without editing the source tracker. */
24
+ readonly remedy: string;
25
+ constructor(code: EvidencePackingError["code"], remedy: string);
26
+ }
27
+ /** Per-criterion omission receipt remains present even when no evidence fits. */
28
+ export interface CriterionCoverage {
29
+ id: string;
30
+ text: string;
31
+ state: "linked" | "budget_omitted" | "unlinked";
32
+ required: number;
33
+ packed: number;
34
+ }
35
+ /** Lossless field value encoded as JSON text so TOON and JSON share one compact schema. */
36
+ export interface PackedEvidence extends EvidenceBinding {
37
+ criterion: string;
38
+ value_json: string;
39
+ }
40
+ /** Complete response, including the conservative self-inclusive byte measurement. */
41
+ export interface EvidencePack {
42
+ protocol: "pm-context-evidence/v1";
43
+ basis: "all-declared-bindings;not-semantic-acceptance";
44
+ ranking: "sdk-value-per-byte;criterion-id-ties";
45
+ source_fields_read: number;
46
+ content_reviewed: false;
47
+ omitted_evidence: "read-for-sizing-only;artifacts-not-opened;tests-not-run";
48
+ criteria: CriterionCoverage[];
49
+ evidence: PackedEvidence[];
50
+ byte_budget: number;
51
+ /** Upper bound includes the newline and this field's own decimal digits. */
52
+ byte_upper_bound: number;
53
+ remedy: string;
54
+ }
55
+ /** Bound both input work and output transport; the ceiling measures UTF-8 bytes, not tokens. */
56
+ export interface EvidencePackOptions {
57
+ byteBudget?: number;
58
+ format?: "json" | "toon";
59
+ }
60
+ /** Validate and normalize declarations before any source read or budget selection. */
61
+ export declare function parseEvidencePacket(value: unknown): EvidencePacket;
62
+ /** Reuse bounded stable JSON input handling without exposing paths in refusals. */
63
+ export declare function readEvidencePacket(path: string): EvidencePacket;
64
+ /** Render exact compact JSON or TOON tables; nested source values stay lossless JSON strings. */
65
+ export declare function encodeEvidencePack(pack: EvidencePack, format: "json" | "toon"): string;
66
+ /** Pack complete criterion groups using SDK selection and exact serialized transport costs. */
67
+ export declare function packCriterionEvidence(input: EvidencePacket, read: FreshnessReader, options?: EvidencePackOptions): Promise<EvidencePack>;
68
+ //# sourceMappingURL=evidence-packing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-packing.d.ts","sourceRoot":"","sources":["../evidence-packing.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAChE,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE;AAC5F,6FAA6F;AAC7F,MAAM,WAAW,cAAc;IAAG,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAAE;AACjE,4EAA4E;AAC5E,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,8EAA8E;IAC9E,SAAiB,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;IAC/H,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,YAAY,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAG7D;CACF;AACD,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,GAAG,gBAAgB,GAAG,UAAU,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,2FAA2F;AAC3F,MAAM,WAAW,cAAe,SAAQ,eAAe;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AACjG,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,wBAAwB,CAAC;IACnC,KAAK,EAAE,+CAA+C,CAAC;IACvD,OAAO,EAAE,sCAAsC,CAAC;IAChD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,KAAK,CAAC;IACxB,gBAAgB,EAAE,yDAAyD,CAAC;IAC5E,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,gGAAgG;AAChG,MAAM,WAAW,mBAAmB;IAAG,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE;AAOtF,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAkBlE;AAGD,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAI/D;AACD,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAUtF;AACD,+FAA+F;AAC/F,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC,CAoDlJ"}
@@ -0,0 +1,146 @@
1
+ /** Criterion-level packing over explicit tracker bindings; no semantic search or review. */
2
+ import { PmCliError } from "@unbrained/pm-cli/sdk";
3
+ import { packContextCandidates } from "@unbrained/pm-cli/sdk/query";
4
+ import { readFreshnessJson } from "./freshness.js";
5
+ /** Stable refusal categories with host-compatible recovery instructions. */
6
+ export class EvidencePackingError extends PmCliError {
7
+ /** Concrete action that permits retrying without editing the source tracker. */
8
+ remedy;
9
+ constructor(code, remedy) {
10
+ super(`${code}: ${remedy}`, 2, { code, nextSteps: [remedy] });
11
+ this.remedy = remedy;
12
+ }
13
+ }
14
+ /** Treat records distinctly from arrays and null during untrusted JSON validation. */
15
+ function object(value) { return value !== null && typeof value === "object" && !Array.isArray(value); }
16
+ /** Coordinates are public identifiers rather than filesystem paths. */
17
+ function identifier(value) { return typeof value === "string" && /^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,127}$/.test(value); }
18
+ /** Refuse unknown qualifiers rather than silently changing the declared coverage contract. */
19
+ function keys(value, allowed) { return Object.keys(value).every((key) => allowed.includes(key)); }
20
+ /** Validate and normalize declarations before any source read or budget selection. */
21
+ export function parseEvidencePacket(value) {
22
+ const fail = () => new EvidencePackingError("INVALID_PACKET", "Supply 1-128 unique criteria with id, text (1-1024 characters), and evidence bindings {item,field}; use at most 512 distinct bindings in total. Remove unknown qualifiers and duplicate bindings.");
23
+ let size;
24
+ try {
25
+ size = Buffer.byteLength(JSON.stringify(value) ?? "");
26
+ }
27
+ catch {
28
+ throw fail();
29
+ }
30
+ if (size > 262144 || !object(value) || !keys(value, ["criteria"]) || !Array.isArray(value.criteria) || value.criteria.length < 1 || value.criteria.length > 128)
31
+ throw fail();
32
+ const ids = new Set();
33
+ let count = 0;
34
+ for (const row of value.criteria) {
35
+ if (!object(row) || !keys(row, ["id", "text", "evidence"]) || !identifier(row.id) || ids.has(row.id) || typeof row.text !== "string" || !row.text.trim() || row.text.length > 1024 || !Array.isArray(row.evidence))
36
+ throw fail();
37
+ ids.add(row.id);
38
+ const bindings = new Set();
39
+ for (const binding of row.evidence) {
40
+ if (!object(binding) || !keys(binding, ["item", "field"]) || !identifier(binding.item) || !identifier(binding.field) || bindings.has(JSON.stringify([binding.item, binding.field])))
41
+ throw fail();
42
+ bindings.add(JSON.stringify([binding.item, binding.field]));
43
+ if (++count > 512)
44
+ throw fail();
45
+ }
46
+ }
47
+ const packet = value;
48
+ return { criteria: packet.criteria.map((row) => ({ id: row.id, text: row.text, evidence: row.evidence.map((binding) => ({ item: binding.item, field: binding.field })).sort((a, b) => compare(JSON.stringify(a), JSON.stringify(b))) })).sort((a, b) => compare(a.id, b.id)) };
49
+ }
50
+ /** Code-unit ordering avoids locale-dependent ordering of producer declarations. */
51
+ function compare(a, b) { return Number(a > b) - Number(a < b); }
52
+ /** Reuse bounded stable JSON input handling without exposing paths in refusals. */
53
+ export function readEvidencePacket(path) {
54
+ let value;
55
+ try {
56
+ value = readFreshnessJson(path);
57
+ }
58
+ catch {
59
+ throw new EvidencePackingError("INPUT_UNAVAILABLE", "Provide a stable readable regular UTF-8 JSON packet no larger than 262144 bytes.");
60
+ }
61
+ return parseEvidencePacket(value);
62
+ }
63
+ /** Render exact compact JSON or TOON tables; nested source values stay lossless JSON strings. */
64
+ export function encodeEvidencePack(pack, format) {
65
+ if (format === "json")
66
+ return `${JSON.stringify(pack)}\n`;
67
+ if (format !== "toon")
68
+ throw new EvidencePackingError("INVALID_ARGUMENT", "Use --format json or toon.");
69
+ const { criteria, evidence, ...summary } = pack;
70
+ const lines = Object.entries(summary).map(([key, value]) => `${key}: ${JSON.stringify(value)}`);
71
+ for (const [name, rows, fields] of [["criteria", criteria, ["id", "text", "state", "required", "packed"]], ["evidence", evidence, ["criterion", "item", "field", "value_json"]]]) {
72
+ lines.push(`${name}[${rows.length}]{${fields.join(",")}}:`);
73
+ for (const row of rows)
74
+ lines.push(` ${fields.map((field) => JSON.stringify(row[field])).join(",")}`);
75
+ }
76
+ return `${lines.join("\n")}\n`;
77
+ }
78
+ /** Pack complete criterion groups using SDK selection and exact serialized transport costs. */
79
+ export async function packCriterionEvidence(input, read, options = {}) {
80
+ const packet = parseEvidencePacket(input);
81
+ const budget = options.byteBudget ?? 4000;
82
+ const format = options.format ?? "toon";
83
+ if (!Number.isSafeInteger(budget) || budget < 512 || budget > 262144 || !["json", "toon"].includes(format))
84
+ throw new EvidencePackingError("INVALID_ARGUMENT", "Use json or toon and an integer --byte-budget between 512 and 262144.");
85
+ const values = new Map();
86
+ let sourceBytes = 0;
87
+ const groups = [];
88
+ for (const criterion of packet.criteria) {
89
+ const rows = [];
90
+ for (const binding of criterion.evidence) {
91
+ const key = JSON.stringify(binding);
92
+ if (!values.has(key)) {
93
+ let encoded;
94
+ try {
95
+ const result = await read({ kind: "item", id: binding.item, fields: [binding.field] });
96
+ const field = object(result) ? result[binding.field] : undefined;
97
+ if (!object(field) || field.present !== true)
98
+ throw new Error();
99
+ encoded = JSON.stringify(field.value);
100
+ if (encoded === undefined)
101
+ throw new Error();
102
+ sourceBytes += Buffer.byteLength(encoded);
103
+ if (sourceBytes > 8388608)
104
+ throw new Error();
105
+ }
106
+ catch {
107
+ throw new EvidencePackingError("SOURCE_UNAVAILABLE", `Restore readable field ${binding.field} on item ${binding.item}, or narrow the explicit bindings to at most 8388608 source bytes. No coverage result was issued.`);
108
+ }
109
+ values.set(key, encoded);
110
+ }
111
+ rows.push({ criterion: criterion.id, ...binding, value_json: values.get(key) });
112
+ }
113
+ if (rows.length)
114
+ groups.push({ id: criterion.id, rows });
115
+ }
116
+ const pack = {
117
+ protocol: "pm-context-evidence/v1", basis: "all-declared-bindings;not-semantic-acceptance", ranking: "sdk-value-per-byte;criterion-id-ties",
118
+ source_fields_read: values.size, content_reviewed: false, omitted_evidence: "read-for-sizing-only;artifacts-not-opened;tests-not-run",
119
+ criteria: packet.criteria.map((row) => ({ id: row.id, text: row.text, state: row.evidence.length ? "budget_omitted" : "unlinked", required: row.evidence.length, packed: 0 })),
120
+ evidence: [], byte_budget: budget, byte_upper_bound: budget,
121
+ remedy: "Increase byte budget for budget_omitted criteria; declare evidence for unlinked criteria. Review packed evidence before judging acceptance.",
122
+ };
123
+ // The initial receipt uses the longest state and zero counts. Packed count
124
+ // digits and both table-length headers are reserved separately per candidate.
125
+ const overhead = Buffer.byteLength(encodeEvidencePack(pack, format));
126
+ if (overhead > budget)
127
+ throw new EvidencePackingError("BUDGET_TOO_SMALL", "Increase --byte-budget to retain every criterion and the complete coverage receipt.");
128
+ const candidates = groups.map((group, index) => {
129
+ const cost = group.rows.reduce((sum, row) => sum + Buffer.byteLength(format === "json" ? JSON.stringify(row) : ` ${[row.criterion, row.item, row.field, row.value_json].map((value) => JSON.stringify(value)).join(",")}\n`) + 1, 8);
130
+ return { id: group.id, item: group.rows, rank: index + 1, score: 1, token_costs: { identity: cost, summary: cost, full: cost } };
131
+ });
132
+ if (budget > overhead) {
133
+ const selected = packContextCandidates(candidates, { tokenBudget: budget - overhead, profile: "context" });
134
+ const included = new Set(selected.included.map((row) => row.id));
135
+ pack.evidence = selected.included.flatMap((row) => row.item);
136
+ for (const criterion of pack.criteria)
137
+ if (included.has(criterion.id)) {
138
+ criterion.state = "linked";
139
+ criterion.packed = criterion.required;
140
+ }
141
+ }
142
+ // Starting at the ceiling makes the self-inclusive digit count conservative.
143
+ pack.byte_upper_bound = Buffer.byteLength(encodeEvidencePack(pack, format));
144
+ return pack;
145
+ }
146
+ //# sourceMappingURL=evidence-packing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-packing.js","sourceRoot":"","sources":["../evidence-packing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-focus.d.ts","sourceRoot":"","sources":["../file-focus.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sEAAsE;AACtE,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,QAAQ,KAAK;IACtB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,cAAc,GAAG,YAAY,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;IACnH,YAAY,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAIhF;CACF;AASD,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAalF;AAOD,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOrF;AAED,4GAA4G;AAC5G,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,SAAS,GAAG,SAAS,CA0CtJ;AAED,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAQ5H;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAKvF;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,EAAE,CAItF;AAED,+GAA+G;AAC/G,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA4B1E"}
1
+ {"version":3,"file":"file-focus.d.ts","sourceRoot":"","sources":["../file-focus.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sEAAsE;AACtE,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,QAAQ,KAAK;IACtB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,cAAc,GAAG,YAAY,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;IACnH,YAAY,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAIhF;CACF;AASD,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAclF;AAOD,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOrF;AAED,4GAA4G;AAC5G,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,SAAS,GAAG,SAAS,CA0CtJ;AAED,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAQ5H;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAKvF;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,EAAE,CAItF;AAED,+GAA+G;AAC/G,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA4B1E"}
@@ -20,6 +20,7 @@ function git(cwd, args) {
20
20
  }
21
21
  /** Convert native or slash-separated links to safe paths relative to the repository root. */
22
22
  export function normalizeFocusPath(value, root) {
23
+ value = value.replace(/\r?\n$/, "");
23
24
  if (!value || /^[a-z][a-z\d+.-]*:\/\//i.test(value))
24
25
  return undefined;
25
26
  let path = value.replace(/\\/g, "/");
@@ -1 +1 @@
1
- {"version":3,"file":"file-focus.js","sourceRoot":"","sources":["../file-focus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-focus.js","sourceRoot":"","sources":["../file-focus.ts"],"names":[],"mappings":"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"}