pi-daddy 0.26.0 → 0.26.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/CHANGELOG.md CHANGED
@@ -12,6 +12,12 @@ the record of how the package got here and are worth keeping; they are not worth
12
12
  > the record of how the package arrived at what it does, and because the reasoning behind each one is
13
13
  > usually the clearest statement of why the current behaviour is what it is.
14
14
 
15
+ ## 0.26.1 — measured-order fractional usage repair (2026-09-14)
16
+
17
+ - Preserve fractional measured-order usage when serializing results, so bounded recovery and dependent review retain exact reported usage.
18
+ - Reviewed source fix evidence includes 1,258 prior full tests, 28 final focused tests and typecheck; a bounded three-call Terra-negative/recovery and dependent-Sol-review demo settled all calls.
19
+ - The demo is execution evidence only: it does not establish human-quality acceptance.
20
+
15
21
  ## 0.26.0 — usability follow-up (2026-09-13)
16
22
 
17
23
  - Fix Pi reload ownership: an owner-keyed global `WeakMap` survives extension path-cache reload, and delegation registers only after that owner's `session_start`; root settings and a separately inherited same-process SDK child remain distinct.
@@ -1 +1 @@
1
- {"version":3,"file":"measured-order.d.ts","sourceRoot":"","sources":["../src/measured-order.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgF,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC1K,OAAO,EAA6C,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAM7G,MAAM,MAAM,sBAAsB,GAAC;IAAC,OAAO,EAAC,0BAA0B,CAAC;IAAA,cAAc,EAAC,MAAM,CAAA;CAAC,GAAC;IAAC,OAAO,EAAC,oCAAoC,CAAC;IAAA,YAAY,EAAC,MAAM,EAAE,CAAC;IAAA,UAAU,EAAC,MAAM,EAAE,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,kBAAkB,EAAC,MAAM,EAAE,CAAC;IAAA,gBAAgB,EAAC,MAAM,EAAE,CAAC;IAAA,wBAAwB,EAAC,MAAM,CAAA;CAAC,CAAC;AAC/T,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,oBAAoB,EAAC,QAAQ,GAAC,SAAS,GAAC,QAAQ,CAAC;IAAC,SAAS,EAAC,MAAM,CAAC;IAAA,mBAAmB,EAAC,OAAO,CAAC;IAAA,aAAa,EAAC,sBAAsB,CAAA;CAAC;AACvL,MAAM,WAAW,iBAAiB;IAAE,MAAM,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,EAAE,CAAC;IAAA,QAAQ,EAAC,oBAAoB,EAAE,CAAA;CAAC;AACxG,MAAM,WAAW,aAAa;IAAE,OAAO,EAAC,mBAAmB,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,eAAe,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,iBAAiB,EAAE,CAAA;CAAC;AAChJ,MAAM,WAAW,oBAAoB;IAAE,OAAO,EAAC,2BAA2B,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,eAAe,EAAC,MAAM,CAAC;IAAA,cAAc,EAAC,MAAM,CAAC;IAAA,aAAa,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,qBAAqB,CAAC;IAAA,KAAK,EAAC,aAAa,CAAC;IAAA,MAAM,EAAC,MAAM,CAAA;CAAC;AACjP,MAAM,WAAW,sBAAsB;IAAE,eAAe,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,EAAE,CAAC;IAAA,sBAAsB,EAAC,MAAM,EAAE,CAAA;CAAC;AACtH,MAAM,WAAW,4BAA4B;IAAE,OAAO,EAAC,uBAAuB,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,aAAa,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,WAAW,EAAC,MAAM,CAAA;CAAC;AAK3K,MAAM,WAAW,qBAAqB;IAAE,MAAM,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,UAAU,GAAC,oBAAoB,GAAC,SAAS,GAAC,SAAS,GAAC,WAAW,GAAC,WAAW,CAAC;IAAA,MAAM,EAAC,UAAU,GAAC,MAAM,GAAC,aAAa,GAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,GAAC,IAAI,CAAC;IAAA,YAAY,EAAC,MAAM,GAAC,IAAI,CAAC;IAAA,YAAY,EAAC;QAAC,KAAK,EAAC,MAAM,CAAC;QAAA,MAAM,EAAC,MAAM,CAAA;KAAC,GAAC,IAAI,CAAA;CAAC;AAGpR,wBAAgB,qBAAqB,CAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,sBAAsB;;;;;;;;EAAksC;AAYlxC,eAAO,MAAM,mBAAmB,GAAE,OAAM,aAAa,WAAc,CAAC;AACpE,wBAAgB,kCAAkC,CAAC,KAAK,EAAC,4BAA4B,UAAia;AAGtf,wBAAsB,mBAAmB,CAAC,KAAK,EAAC;IAAC,SAAS,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,qBAAqB,CAAC;IAAA,KAAK,EAAC,aAAa,CAAA;CAAC,GAAE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAI3J;AASD,wBAAgB,iBAAiB,CAAC,KAAK,EAAC,oBAAoB,EAAC,aAAa,EAAC,sBAAsB,GAAC,IAAI,EAAC,IAAI,EAAC,mBAAmB;;;;;6BAhChF,MAAM;4BAAO,UAAU,GAAC,oBAAoB,GAAC,SAAS,GAAC,SAAS,GAAC,WAAW,GAAC,WAAW;6BAAQ,UAAU,GAAC,MAAM,GAAC,aAAa,GAAC,MAAM;gCAAW,MAAM,GAAC,IAAI;mCAAc,MAAM,GAAC,IAAI;;gCAAqB,MAAM;iCAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAA9N,MAAM;4BAAO,UAAU,GAAC,oBAAoB,GAAC,SAAS,GAAC,SAAS,GAAC,WAAW,GAAC,WAAW;6BAAQ,UAAU,GAAC,MAAM,GAAC,aAAa,GAAC,MAAM;gCAAW,MAAM,GAAC,IAAI;mCAAc,MAAM,GAAC,IAAI;;gCAAqB,MAAM;iCAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAyC1O,4BAA4B,aAAW,sBAAsB,GAAC,IAAI;;;;6BAzCtD,MAAM;4BAAO,UAAU,GAAC,oBAAoB,GAAC,SAAS,GAAC,SAAS,GAAC,WAAW,GAAC,WAAW;6BAAQ,UAAU,GAAC,MAAM,GAAC,aAAa,GAAC,MAAM;gCAAW,MAAM,GAAC,IAAI;mCAAc,MAAM,GAAC,IAAI;;gCAAqB,MAAM;iCAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0C5Q"}
1
+ {"version":3,"file":"measured-order.d.ts","sourceRoot":"","sources":["../src/measured-order.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgF,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC1K,OAAO,EAA6C,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAW7G,MAAM,MAAM,sBAAsB,GAAC;IAAC,OAAO,EAAC,0BAA0B,CAAC;IAAA,cAAc,EAAC,MAAM,CAAA;CAAC,GAAC;IAAC,OAAO,EAAC,oCAAoC,CAAC;IAAA,YAAY,EAAC,MAAM,EAAE,CAAC;IAAA,UAAU,EAAC,MAAM,EAAE,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,kBAAkB,EAAC,MAAM,EAAE,CAAC;IAAA,gBAAgB,EAAC,MAAM,EAAE,CAAC;IAAA,wBAAwB,EAAC,MAAM,CAAA;CAAC,CAAC;AAC/T,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,oBAAoB,EAAC,QAAQ,GAAC,SAAS,GAAC,QAAQ,CAAC;IAAC,SAAS,EAAC,MAAM,CAAC;IAAA,mBAAmB,EAAC,OAAO,CAAC;IAAA,aAAa,EAAC,sBAAsB,CAAA;CAAC;AACvL,MAAM,WAAW,iBAAiB;IAAE,MAAM,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,EAAE,CAAC;IAAA,QAAQ,EAAC,oBAAoB,EAAE,CAAA;CAAC;AACxG,MAAM,WAAW,aAAa;IAAE,OAAO,EAAC,mBAAmB,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,eAAe,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,iBAAiB,EAAE,CAAA;CAAC;AAChJ,MAAM,WAAW,oBAAoB;IAAE,OAAO,EAAC,2BAA2B,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,eAAe,EAAC,MAAM,CAAC;IAAA,cAAc,EAAC,MAAM,CAAC;IAAA,aAAa,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,qBAAqB,CAAC;IAAA,KAAK,EAAC,aAAa,CAAC;IAAA,MAAM,EAAC,MAAM,CAAA;CAAC;AACjP,MAAM,WAAW,sBAAsB;IAAE,eAAe,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,EAAE,CAAC;IAAA,sBAAsB,EAAC,MAAM,EAAE,CAAA;CAAC;AACtH,MAAM,WAAW,4BAA4B;IAAE,OAAO,EAAC,uBAAuB,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,aAAa,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,WAAW,EAAC,MAAM,CAAA;CAAC;AAK3K,MAAM,WAAW,qBAAqB;IAAE,MAAM,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,UAAU,GAAC,oBAAoB,GAAC,SAAS,GAAC,SAAS,GAAC,WAAW,GAAC,WAAW,CAAC;IAAA,MAAM,EAAC,UAAU,GAAC,MAAM,GAAC,aAAa,GAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,GAAC,IAAI,CAAC;IAAA,YAAY,EAAC,MAAM,GAAC,IAAI,CAAC;IAAA,YAAY,EAAC;QAAC,KAAK,EAAC,MAAM,CAAC;QAAA,MAAM,EAAC,MAAM,CAAA;KAAC,GAAC,IAAI,CAAA;CAAC;AAGpR,wBAAgB,qBAAqB,CAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,sBAAsB;;;;;;;;EAAksC;AAYlxC,eAAO,MAAM,mBAAmB,GAAE,OAAM,aAAa,WAAc,CAAC;AACpE,wBAAgB,kCAAkC,CAAC,KAAK,EAAC,4BAA4B,UAAia;AAGtf,wBAAsB,mBAAmB,CAAC,KAAK,EAAC;IAAC,SAAS,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,qBAAqB,CAAC;IAAA,KAAK,EAAC,aAAa,CAAA;CAAC,GAAE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAI3J;AASD,wBAAgB,iBAAiB,CAAC,KAAK,EAAC,oBAAoB,EAAC,aAAa,EAAC,sBAAsB,GAAC,IAAI,EAAC,IAAI,EAAC,mBAAmB;;;;;6BAhChF,MAAM;4BAAO,UAAU,GAAC,oBAAoB,GAAC,SAAS,GAAC,SAAS,GAAC,WAAW,GAAC,WAAW;6BAAQ,UAAU,GAAC,MAAM,GAAC,aAAa,GAAC,MAAM;gCAAW,MAAM,GAAC,IAAI;mCAAc,MAAM,GAAC,IAAI;;gCAAqB,MAAM;iCAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAA9N,MAAM;4BAAO,UAAU,GAAC,oBAAoB,GAAC,SAAS,GAAC,SAAS,GAAC,WAAW,GAAC,WAAW;6BAAQ,UAAU,GAAC,MAAM,GAAC,aAAa,GAAC,MAAM;gCAAW,MAAM,GAAC,IAAI;mCAAc,MAAM,GAAC,IAAI;;gCAAqB,MAAM;iCAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAyC1O,4BAA4B,aAAW,sBAAsB,GAAC,IAAI;;;;6BAzCtD,MAAM;4BAAO,UAAU,GAAC,oBAAoB,GAAC,SAAS,GAAC,SAAS,GAAC,WAAW,GAAC,WAAW;6BAAQ,UAAU,GAAC,MAAM,GAAC,aAAa,GAAC,MAAM;gCAAW,MAAM,GAAC,IAAI;mCAAc,MAAM,GAAC,IAAI;;gCAAqB,MAAM;iCAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0C5Q"}
@@ -10,6 +10,54 @@ import { freezeWork } from "./work-ledger-json.js";
10
10
  const ID = /^[a-zA-Z0-9:_-]{1,128}$/, HEX = /^[a-f0-9]{64}$/;
11
11
  const hash = (value) => createHash("sha256").update(typeof value === "string" ? value : intentKey(value)).digest("hex");
12
12
  const exact = (value, keys) => Object.keys(value).sort().join() === keys.sort().join();
13
+ class JournalSerializationError extends Error {
14
+ constructor() { super("invalid measured order journal value"); this.name = "JournalSerializationError"; }
15
+ }
16
+ /** Result evidence is not work/intent input: provider money is finite decimal Number data, not an integer schema field. */
17
+ function journalKey(value) { try {
18
+ const ancestors = new Set();
19
+ const copy = (v, depth) => { if (v === null || typeof v === "boolean" || typeof v === "string")
20
+ return v; if (typeof v === "number") {
21
+ if (Number.isFinite(v))
22
+ return v;
23
+ throw new JournalSerializationError();
24
+ } if (!v || typeof v !== "object" || depth > 16 || ancestors.has(v))
25
+ throw new JournalSerializationError(); ancestors.add(v); let result; if (Array.isArray(v)) {
26
+ if (Object.getPrototypeOf(v) !== Array.prototype || v.length > 256)
27
+ throw new JournalSerializationError();
28
+ const fields = Object.getOwnPropertyDescriptors(v);
29
+ if (Reflect.ownKeys(fields).length !== v.length + 1)
30
+ throw new JournalSerializationError();
31
+ result = [];
32
+ for (let i = 0; i < v.length; i++) {
33
+ const field = fields[String(i)];
34
+ if (!field || !Object.hasOwn(field, "value") || !field.enumerable)
35
+ throw new JournalSerializationError();
36
+ result.push(copy(field.value, depth + 1));
37
+ }
38
+ }
39
+ else {
40
+ if (Object.getPrototypeOf(v) !== Object.prototype && Object.getPrototypeOf(v) !== null)
41
+ throw new JournalSerializationError();
42
+ const fields = Object.getOwnPropertyDescriptors(v), object = Object.create(null);
43
+ for (const key of Reflect.ownKeys(fields)) {
44
+ if (typeof key !== "string")
45
+ throw new JournalSerializationError();
46
+ const field = fields[key];
47
+ if (!Object.hasOwn(field, "value") || !field.enumerable)
48
+ throw new JournalSerializationError();
49
+ Object.defineProperty(object, key, { value: copy(field.value, depth + 1), enumerable: true });
50
+ }
51
+ result = object;
52
+ } ancestors.delete(v); return result; }, emit = (v) => v === null || typeof v !== "object" ? JSON.stringify(v) : Array.isArray(v) ? `[${v.map(emit).join(",")}]` : `{${Object.keys(v).sort().map(key => `${JSON.stringify(key)}:${emit(v[key])}`).join(",")}}`;
53
+ return emit(copy(value, 1));
54
+ }
55
+ catch (error) {
56
+ if (error instanceof JournalSerializationError)
57
+ throw error;
58
+ throw new JournalSerializationError();
59
+ } }
60
+ const journalHash = (value) => createHash("sha256").update(journalKey(value)).digest("hex");
13
61
  function field(value) { return typeof value === "string" && /^[A-Za-z][A-Za-z0-9_-]{0,63}$/.test(value); }
14
62
  function checkedContract(input) { const c = JSON.parse(intentKey(input)); if (c.version === "measured-output-exact-v1") {
15
63
  if (!exact(c, ["version", "expectedSha256"]) || !HEX.test(c.expectedSha256))
@@ -101,18 +149,18 @@ catch (error) {
101
149
  async function linked(binding) { const st = await lstat(paths(binding.directory).journal, { bigint: true }); if (!st.isFile() || st.nlink !== 1n || String(st.dev) !== binding.journalDevice || String(st.ino) !== binding.journalInode || (await realpath(paths(binding.directory).journal)) !== paths(binding.directory).journal)
102
150
  throw Error("measured order binding changed"); }
103
151
  function parseJournal(text) { if (text && !text.endsWith("\n"))
104
- throw Error("incomplete measured order journal"); const rows = text ? text.trimEnd().split("\n").map(line => { const row = JSON.parse(line); if (intentKey(row) !== line)
152
+ throw Error("incomplete measured order journal"); const rows = text ? text.trimEnd().split("\n").map(line => { const row = JSON.parse(line); if (journalKey(row) !== line)
105
153
  throw Error("noncanonical measured order journal"); return row; }) : []; let prior = null; for (let i = 0; i < rows.length; i++) {
106
154
  const row = rows[i], copy = { ...row }, claimed = copy.digest;
107
155
  delete copy.digest;
108
- if (row.sequence !== i || row.previousDigest !== prior || claimed !== hash(copy))
156
+ if (row.sequence !== i || row.previousDigest !== prior || claimed !== journalHash(copy))
109
157
  throw Error("invalid measured order journal");
110
158
  prior = claimed;
111
159
  } return rows; }
112
160
  async function appendJournal(binding, event) { const path = paths(binding.directory).journal; return withFileLock(path, "measured order", async () => { const handle = await pinnedJournal(binding, true); try {
113
- const rows = parseJournal(await handle.readFile("utf8")), base = { ...event, sequence: rows.length, previousDigest: rows.at(-1)?.digest ?? null }, record = { ...base, digest: hash(base) };
161
+ const rows = parseJournal(await handle.readFile("utf8")), base = { ...event, sequence: rows.length, previousDigest: rows.at(-1)?.digest ?? null }, record = { ...base, digest: journalHash(base) };
114
162
  await linked(binding);
115
- await handle.writeFile(intentKey(record) + "\n");
163
+ await handle.writeFile(journalKey(record) + "\n");
116
164
  await handle.sync();
117
165
  return record;
118
166
  }
@@ -231,7 +279,17 @@ export function openMeasuredOrder(input, hostAuthority, host) {
231
279
  result = error instanceof MeasuredSessionFailure ? error.evidence : { errorType: error instanceof Error ? error.name : "unknown", errorCode: typeof error === "object" && error && "code" in error ? String(error.code) : null, message: error instanceof Error ? error.message : "unknown" };
232
280
  state = error instanceof MeasuredSessionUnknownError ? "unknown" : error instanceof MeasuredSessionFailure && error.evidence?.state === "cancelled" ? "cancelled" : "failed";
233
281
  }
234
- await appendJournal(binding, { type: "result", attemptId: selected.attemptId, owner: claim.owner, state, outputSha256, result });
282
+ let event = { type: "result", attemptId: selected.attemptId, owner: claim.owner, state, outputSha256, result };
283
+ try {
284
+ journalKey(event);
285
+ }
286
+ catch (error) {
287
+ if (!(error instanceof JournalSerializationError))
288
+ throw error;
289
+ event = { type: "result", attemptId: selected.attemptId, owner: claim.owner, state: "failed", outputSha256, result: { errorType: "JournalSerializationError", errorCode: "MEASURED_RESULT_SERIALIZATION_FAILED", message: "measured result could not be durably serialized" } };
290
+ journalKey(event);
291
+ }
292
+ await appendJournal(binding, event);
235
293
  return inspect();
236
294
  },
237
295
  async acknowledgeUnknown(request, authority) { const digest = measuredOrderAcknowledgementDigest(request); if (authority?.authorityDigest !== binding.order.authorityDigest || !authority.acknowledgementDigests.includes(digest) || request.bindingDigest !== binding.digest)
@@ -1 +1 @@
1
- {"version":3,"file":"measured-order.js","sourceRoot":"","sources":["../src/measured-order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"measured-order.js","sourceRoot":"","sources":["../src/measured-order.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-daddy",
3
- "version": "0.26.0",
3
+ "version": "0.26.1",
4
4
  "description": "Capability governance for pi sub-agents: spawn Agent Skills (SKILL.md) definitions whose allowed-tools becomes a grant that can only narrow going down a delegation tree, enforced by pi's own --tools allowlist, with an append-only ledger.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -11,6 +11,11 @@ import { freezeWork } from "./work-ledger-json.ts";
11
11
  const ID=/^[a-zA-Z0-9:_-]{1,128}$/,HEX=/^[a-f0-9]{64}$/;
12
12
  const hash=(value:unknown)=>createHash("sha256").update(typeof value==="string"?value:intentKey(value)).digest("hex");
13
13
  const exact=(value:object,keys:string[])=>Object.keys(value).sort().join()===keys.sort().join();
14
+ type JournalJson=null|boolean|number|string|JournalJson[]|{[key:string]:JournalJson};
15
+ class JournalSerializationError extends Error {constructor(){super("invalid measured order journal value");this.name="JournalSerializationError";}}
16
+ /** Result evidence is not work/intent input: provider money is finite decimal Number data, not an integer schema field. */
17
+ function journalKey(value:unknown):string{try{const ancestors=new Set<object>();const copy=(v:unknown,depth:number):JournalJson=>{if(v===null||typeof v==="boolean"||typeof v==="string")return v;if(typeof v==="number"){if(Number.isFinite(v))return v;throw new JournalSerializationError();}if(!v||typeof v!=="object"||depth>16||ancestors.has(v))throw new JournalSerializationError();ancestors.add(v);let result:JournalJson;if(Array.isArray(v)){if(Object.getPrototypeOf(v)!==Array.prototype||v.length>256)throw new JournalSerializationError();const fields=Object.getOwnPropertyDescriptors(v);if(Reflect.ownKeys(fields).length!==v.length+1)throw new JournalSerializationError();result=[];for(let i=0;i<v.length;i++){const field=fields[String(i)];if(!field||!Object.hasOwn(field,"value")||!field.enumerable)throw new JournalSerializationError();result.push(copy(field.value,depth+1));}}else{if(Object.getPrototypeOf(v)!==Object.prototype&&Object.getPrototypeOf(v)!==null)throw new JournalSerializationError();const fields=Object.getOwnPropertyDescriptors(v),object:Record<string,JournalJson>=Object.create(null);for(const key of Reflect.ownKeys(fields)){if(typeof key!=="string")throw new JournalSerializationError();const field=fields[key];if(!Object.hasOwn(field,"value")||!field.enumerable)throw new JournalSerializationError();Object.defineProperty(object,key,{value:copy(field.value,depth+1),enumerable:true});}result=object;}ancestors.delete(v);return result;},emit=(v:JournalJson):string=>v===null||typeof v!=="object"?JSON.stringify(v):Array.isArray(v)?`[${v.map(emit).join(",")}]`:`{${Object.keys(v).sort().map(key=>`${JSON.stringify(key)}:${emit(v[key])}`).join(",")}}`;return emit(copy(value,1));}catch(error){if(error instanceof JournalSerializationError)throw error;throw new JournalSerializationError();}}
18
+ const journalHash=(value:unknown)=>createHash("sha256").update(journalKey(value)).digest("hex");
14
19
  export type MeasuredOutputContract={version:"measured-output-exact-v1";expectedSha256:string}|{version:"measured-output-json-projection-v1";requiredKeys:string[];textFields:string[];arrayField:string;minItems:number;maxItems:number;itemRequiredFields:string[];projectionFields:string[];expectedProjectionSha256:string};
15
20
  export interface MeasuredOrderAttempt extends Omit<MeasuredSessionInput,"budget"|"attempt"|"signal">{attemptId:string;includeDependencies:boolean;qualification:MeasuredOutputContract}
16
21
  export interface MeasuredOrderNode {nodeId:string;dependencies:string[];attempts:MeasuredOrderAttempt[]}
@@ -49,8 +54,8 @@ export async function createMeasuredOrder(input:{directory:string;budget:Governe
49
54
  function checkedBinding(input:MeasuredOrderBinding):MeasuredOrderBinding{const b=JSON.parse(intentKey(input)) as MeasuredOrderBinding,identity={directory:b.directory,directoryDevice:b.directoryDevice,directoryInode:b.directoryInode,journalDevice:b.journalDevice,journalInode:b.journalInode};if(!exact(b,["version","directory","directoryDevice","directoryInode","journalDevice","journalInode","budget","order","digest"])||b.version!=="measured-order-binding-v1"||!isAbsolute(b.directory)||resolve(b.directory)!==b.directory||![b.directoryDevice,b.directoryInode,b.journalDevice,b.journalInode].every(x=>/^\d+$/.test(x))||b.digest!==hash({...identity,budgetDigest:resourceBindingDigest(b.budget),orderDigest:measuredOrderDigest(checkedOrder(b.order,b.budget))}))throw Error("invalid measured order binding");return b;}
50
55
  async function pinnedJournal(binding:MeasuredOrderBinding,writable=false){const path=paths(binding.directory).journal,handle=await open(path,(writable?constants.O_RDWR|constants.O_APPEND:constants.O_RDONLY)|constants.O_NOFOLLOW);try{const st=await handle.stat({bigint:true});if(!st.isFile()||st.nlink!==1n||(st.mode&0o077n)||String(st.dev)!==binding.journalDevice||String(st.ino)!==binding.journalInode)throw Error("measured order binding changed");return handle;}catch(error){await handle.close();throw error;}}
51
56
  async function linked(binding:MeasuredOrderBinding){const st=await lstat(paths(binding.directory).journal,{bigint:true});if(!st.isFile()||st.nlink!==1n||String(st.dev)!==binding.journalDevice||String(st.ino)!==binding.journalInode||(await realpath(paths(binding.directory).journal))!==paths(binding.directory).journal)throw Error("measured order binding changed");}
52
- function parseJournal(text:string):JournalEvent[]{if(text&&!text.endsWith("\n"))throw Error("incomplete measured order journal");const rows=text?text.trimEnd().split("\n").map(line=>{const row=JSON.parse(line) as JournalEvent;if(intentKey(row)!==line)throw Error("noncanonical measured order journal");return row;}):[];let prior:string|null=null;for(let i=0;i<rows.length;i++){const row=rows[i],copy={...row} as any,claimed=copy.digest;delete copy.digest;if(row.sequence!==i||row.previousDigest!==prior||claimed!==hash(copy))throw Error("invalid measured order journal");prior=claimed;}return rows;}
53
- async function appendJournal(binding:MeasuredOrderBinding,event:Omit<JournalEvent,"sequence"|"previousDigest"|"digest">){const path=paths(binding.directory).journal;return withFileLock(path,"measured order",async()=>{const handle=await pinnedJournal(binding,true);try{const rows=parseJournal(await handle.readFile("utf8")),base={...event,sequence:rows.length,previousDigest:rows.at(-1)?.digest??null} as any,record={...base,digest:hash(base)} as JournalEvent;await linked(binding);await handle.writeFile(intentKey(record)+"\n");await handle.sync();return record;}finally{await handle.close();}});}
57
+ function parseJournal(text:string):JournalEvent[]{if(text&&!text.endsWith("\n"))throw Error("incomplete measured order journal");const rows=text?text.trimEnd().split("\n").map(line=>{const row=JSON.parse(line) as JournalEvent;if(journalKey(row)!==line)throw Error("noncanonical measured order journal");return row;}):[];let prior:string|null=null;for(let i=0;i<rows.length;i++){const row=rows[i],copy={...row} as any,claimed=copy.digest;delete copy.digest;if(row.sequence!==i||row.previousDigest!==prior||claimed!==journalHash(copy))throw Error("invalid measured order journal");prior=claimed;}return rows;}
58
+ async function appendJournal(binding:MeasuredOrderBinding,event:Omit<JournalEvent,"sequence"|"previousDigest"|"digest">){const path=paths(binding.directory).journal;return withFileLock(path,"measured order",async()=>{const handle=await pinnedJournal(binding,true);try{const rows=parseJournal(await handle.readFile("utf8")),base={...event,sequence:rows.length,previousDigest:rows.at(-1)?.digest??null} as any,record={...base,digest:journalHash(base)} as JournalEvent;await linked(binding);await handle.writeFile(journalKey(record)+"\n");await handle.sync();return record;}finally{await handle.close();}});}
54
59
  function project(order:MeasuredOrder,events:JournalEvent[],currentOwner:string):MeasuredOrderNodeView[]{const rows=new Map<string,MeasuredOrderNodeView>();const evaluate=(node:MeasuredOrderNode):MeasuredOrderNodeView=>{const prior=rows.get(node.nodeId);if(prior)return prior;const row:MeasuredOrderNodeView={nodeId:node.nodeId,state:"exhausted",action:"none",attemptId:null,outputSha256:null,unknownClaim:null};if(node.dependencies.some(id=>evaluate(order.nodes.find(n=>n.nodeId===id)!).state!=="satisfied")){row.state="dependency-blocked";row.action="wait";rows.set(node.nodeId,row);return row;}
55
60
  for(const attempt of node.attempts){const claim=events.find(e=>e.type==="claim"&&e.attemptId===attempt.attemptId) as Extract<JournalEvent,{type:"claim"}>|undefined;if(!claim){row.state="eligible";row.action="dispatch";row.attemptId=attempt.attemptId;break;}const result=events.find(e=>e.type==="result"&&e.attemptId===attempt.attemptId) as Extract<JournalEvent,{type:"result"}>|undefined;const acknowledged=events.some(e=>e.type==="acknowledge-unknown"&&e.request.attemptId===attempt.attemptId&&e.request.claimDigest===claim.digest&&e.request.claimOwner===claim.owner);if(!result){if(claim.owner!==currentOwner){if(acknowledged)continue;row.state="unknown";row.action="acknowledge";row.unknownClaim={owner:claim.owner,digest:claim.digest};}else{row.state="running";row.action="wait";}row.attemptId=attempt.attemptId;break;}if(result.state==="unknown"){if(!acknowledged){row.state="unknown";row.action="acknowledge";row.attemptId=attempt.attemptId;row.unknownClaim={owner:claim.owner,digest:claim.digest};break;}continue;}if(result.state==="completed"){row.state="satisfied";row.outputSha256=result.outputSha256;row.attemptId=attempt.attemptId;break;}}
56
61
  rows.set(node.nodeId,row);return row;};return order.nodes.map(evaluate);}
@@ -62,6 +67,6 @@ export function openMeasuredOrder(input:MeasuredOrderBinding,hostAuthority:Measu
62
67
  if(!selected||!claim)return inspect();const node=binding.order.nodes.find(n=>n.attempts.some(a=>a.attemptId===selected!.attemptId))!,index=node.attempts.findIndex(a=>a.attemptId===selected!.attemptId),controller=new AbortController();let state:Extract<JournalEvent,{type:"result"}>["state"]="failed",result:unknown=null,outputSha256:string|null=null;
63
68
  try{const accounting=await openResourceBudget(binding.budget).inspect(),parent=[...node.attempts.slice(0,index)].reverse().find(a=>accounting.reservations.some(r=>r.attemptId===a.attemptId))??null,events=await read();let prompt=selected.prompt;if(selected.includeDependencies)for(const dependency of node.dependencies){const dependencyNode=binding.order.nodes.find(n=>n.nodeId===dependency)!,prior=dependencyNode.attempts.map(a=>events.find(e=>e.type==="result"&&e.attemptId===a.attemptId)).find((e):e is Extract<JournalEvent,{type:"result"}>=>e?.type==="result"&&e.state==="completed"),output=(prior?.result as {output?:unknown})?.output;if(!prior||typeof output!=="string"||hash(output)!==prior.outputSha256)throw Error("sealed dependency output unavailable");prompt+=`\n\n<sealed-dependency node=${JSON.stringify(dependency)} sha256=${JSON.stringify(prior.outputSha256)}>\n${output}\n</sealed-dependency>`;}
64
69
  result=await runMeasuredAgentSession({budget:binding.budget,attempt:{attemptId:selected.attemptId,orderId:binding.order.orderId,experimentId:`${binding.order.orderId}:${node.nodeId}`,kind:parent?"retry":"primary",parentAttemptId:parent?.attemptId??null},model:selected.model,thinkingLevel:selected.thinkingLevel,prompt,deadlineMs:selected.deadlineMs,terminationGraceMs:selected.terminationGraceMs,maxRetainedOutputBytes:selected.maxRetainedOutputBytes,maxOutputTokens:selected.maxOutputTokens,signal:controller.signal},host);const qualified=qualifyMeasuredOutput((result as {output:string}).output,selected.qualification);outputSha256=qualified.outputSha256;state=qualified.eligible?"completed":"mismatch";}catch(error){result=error instanceof MeasuredSessionFailure?error.evidence:{errorType:error instanceof Error?error.name:"unknown",errorCode:typeof error==="object"&&error&&"code" in error?String(error.code):null,message:error instanceof Error?error.message:"unknown"};state=error instanceof MeasuredSessionUnknownError?"unknown":error instanceof MeasuredSessionFailure&&(error.evidence as {state?:string})?.state==="cancelled"?"cancelled":"failed";}
65
- await appendJournal(binding,{type:"result",attemptId:selected.attemptId,owner:claim.owner,state,outputSha256,result} as Omit<JournalEvent,"sequence"|"previousDigest"|"digest">);return inspect();},
70
+ let event={type:"result" as const,attemptId:selected.attemptId,owner:claim.owner,state,outputSha256,result} as Omit<JournalEvent,"sequence"|"previousDigest"|"digest">;try{journalKey(event);}catch(error){if(!(error instanceof JournalSerializationError))throw error;event={type:"result",attemptId:selected.attemptId,owner:claim.owner,state:"failed",outputSha256,result:{errorType:"JournalSerializationError",errorCode:"MEASURED_RESULT_SERIALIZATION_FAILED",message:"measured result could not be durably serialized"}} as Omit<JournalEvent,"sequence"|"previousDigest"|"digest">;journalKey(event);}await appendJournal(binding,event);return inspect();},
66
71
  async acknowledgeUnknown(request:MeasuredOrderAcknowledgement,authority:MeasuredOrderAuthority|null){const digest=measuredOrderAcknowledgementDigest(request);if(authority?.authorityDigest!==binding.order.authorityDigest||!authority.acknowledgementDigests.includes(digest)||request.bindingDigest!==binding.digest)throw Error("independent exact acknowledgement authority required");await read();await withFileLock(p.journal,"measured order acknowledgement",async()=>{const handle=await pinnedJournal(binding,true);try{const events=parseJournal(await handle.readFile("utf8")),claim=events.find(e=>e.type==="claim"&&e.attemptId===request.attemptId) as Extract<JournalEvent,{type:"claim"}>|undefined,result=events.find(e=>e.type==="result"&&e.attemptId===request.attemptId) as Extract<JournalEvent,{type:"result"}>|undefined;if(!claim||claim.owner!==request.claimOwner||claim.digest!==request.claimDigest||!(result?.state==="unknown"||!result&&claim.owner!==owner)||events.some(e=>e.type==="acknowledge-unknown"&&e.request.attemptId===request.attemptId))throw Error("exact current unknown claim required");const base={type:"acknowledge-unknown",sequence:events.length,previousDigest:events.at(-1)!.digest,request} as const,record={...base,digest:hash(base)};await linked(binding);await handle.writeFile(intentKey(record)+"\n");await handle.sync();}finally{await handle.close();}});return inspect();}});
67
72
  }