@tangle-network/agent-runtime 6.0.8 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/README.md +23 -12
  3. package/dist/{activation-Cwy3_Qn_.js → activation-Ce4zUcu8.js} +4 -4
  4. package/dist/{activation-Cwy3_Qn_.js.map → activation-Ce4zUcu8.js.map} +1 -1
  5. package/dist/{activation-CWx7I1PU.d.ts → activation-xxvLF1-1.d.ts} +2 -2
  6. package/dist/agent.d.ts +1 -1
  7. package/dist/agent.js +3 -3
  8. package/dist/{bundle-Cy5igJdv.js → bundle-CcpL2lfr.js} +2 -2
  9. package/dist/{bundle-Cy5igJdv.js.map → bundle-CcpL2lfr.js.map} +1 -1
  10. package/dist/candidate-execution/index.js +4 -4
  11. package/dist/continuation-CIyKnS1Q.js +451 -0
  12. package/dist/continuation-CIyKnS1Q.js.map +1 -0
  13. package/dist/{coordination-manager-D9z7To7p.js → coordination-manager-sa_PkISw.js} +247 -149
  14. package/dist/coordination-manager-sa_PkISw.js.map +1 -0
  15. package/dist/{coordination-map-routing-CKRNZSaV.js → coordination-map-routing-XZXTlCmn.js} +2 -4
  16. package/dist/coordination-map-routing-XZXTlCmn.js.map +1 -0
  17. package/dist/{delegate-ws-KBA2H.js → delegate-DhTkJIta.js} +3 -3
  18. package/dist/{delegate-ws-KBA2H.js.map → delegate-DhTkJIta.js.map} +1 -1
  19. package/dist/durable.d.ts +71 -4
  20. package/dist/durable.js +162 -13
  21. package/dist/durable.js.map +1 -1
  22. package/dist/{errors-AzSuGI23.js → errors-DG8yufqX.js} +8 -1
  23. package/dist/errors-DG8yufqX.js.map +1 -0
  24. package/dist/{failure-cause-BzjUUsRz.js → failure-cause-CVB-YE88.js} +17 -16
  25. package/dist/failure-cause-CVB-YE88.js.map +1 -0
  26. package/dist/{graph-registry-7X2nrreR.js → graph-registry-czAwYwNj.js} +133 -9
  27. package/dist/graph-registry-czAwYwNj.js.map +1 -0
  28. package/dist/{graph-registry-gYbq4L5Z.js → graph-registry-uTIyyy7A.js} +1 -1
  29. package/dist/graph-tSIT_eWK.js +1793 -0
  30. package/dist/graph-tSIT_eWK.js.map +1 -0
  31. package/dist/{improve-BxfqTsZy.js → improve-H08hiIw9.js} +19 -48
  32. package/dist/improve-H08hiIw9.js.map +1 -0
  33. package/dist/index.d.ts +3 -3
  34. package/dist/index.js +16 -16
  35. package/dist/intelligence.d.ts +2 -2
  36. package/dist/intelligence.js +8 -8
  37. package/dist/intelligence.js.map +1 -1
  38. package/dist/kernel.d.ts +2 -2
  39. package/dist/kernel.js +16 -15
  40. package/dist/{loop-runner-CUMypgRw.d.ts → loop-runner-BGwhcn1p.d.ts} +2 -2
  41. package/dist/{loop-runner-BmGZ4y1W.js → loop-runner-ChqK8kSz.js} +3 -3
  42. package/dist/{loop-runner-BmGZ4y1W.js.map → loop-runner-ChqK8kSz.js.map} +1 -1
  43. package/dist/loop-runner-bin.d.ts +1 -1
  44. package/dist/loop-runner-bin.js +1 -1
  45. package/dist/mcp/bin.js +7 -5
  46. package/dist/mcp/bin.js.map +1 -1
  47. package/dist/mcp/index.d.ts +1 -1
  48. package/dist/mcp/index.js +9 -9
  49. package/dist/mcp/memory-bin.js +2 -2
  50. package/dist/{model-policy-JOcg3NRs.js → model-policy-yxOrDTTj.js} +9 -9
  51. package/dist/model-policy-yxOrDTTj.js.map +1 -0
  52. package/dist/{prepare-Dtfk_Wi_.js → prepare-BnF8nGIg.js} +4 -4
  53. package/dist/{prepare-Dtfk_Wi_.js.map → prepare-BnF8nGIg.js.map} +1 -1
  54. package/dist/{profile-CNSQjOes.js → profile-CD25rTJF.js} +4 -4
  55. package/dist/{profile-CNSQjOes.js.map → profile-CD25rTJF.js.map} +1 -1
  56. package/dist/profiles.d.ts +1 -1
  57. package/dist/profiles.js +2 -2
  58. package/dist/{provision-supervisor-CeQTPHRr.js → provision-supervisor-Dx4TXTMM.js} +8 -8
  59. package/dist/{provision-supervisor-CeQTPHRr.js.map → provision-supervisor-Dx4TXTMM.js.map} +1 -1
  60. package/dist/{run-cancellation-D_4vJ522.js → run-cancellation-DYszFJtQ.js} +4 -4
  61. package/dist/{run-cancellation-D_4vJ522.js.map → run-cancellation-DYszFJtQ.js.map} +1 -1
  62. package/dist/{run-state-CTZVngI_.js → run-state-DHBoJjaF.js} +6 -6
  63. package/dist/{run-state-CTZVngI_.js.map → run-state-DHBoJjaF.js.map} +1 -1
  64. package/dist/{runtime-COm9uBBx.js → runtime-CaM5Gbbv.js} +76 -987
  65. package/dist/runtime-CaM5Gbbv.js.map +1 -0
  66. package/dist/{sandbox-profile-compat-oFGWESLn.js → sandbox-profile-compat-l-SLQnGb.js} +2 -2
  67. package/dist/{sandbox-profile-compat-oFGWESLn.js.map → sandbox-profile-compat-l-SLQnGb.js.map} +1 -1
  68. package/dist/{search-executor-DTEIl58w.js → search-executor-B9L8W_1O.js} +17 -46
  69. package/dist/search-executor-B9L8W_1O.js.map +1 -0
  70. package/dist/{server-zO9Nz9Nk.js → server-BlDV8sj_.js} +32 -8
  71. package/dist/{server-zO9Nz9Nk.js.map → server-BlDV8sj_.js.map} +1 -1
  72. package/dist/{settle-record-U7fkQEZa.js → settle-record-WWQasnDq.js} +12 -4
  73. package/dist/settle-record-WWQasnDq.js.map +1 -0
  74. package/dist/{snapshot-Cgj2Wzi6.js → snapshot-BKI_w3JD.js} +19 -5
  75. package/dist/snapshot-BKI_w3JD.js.map +1 -0
  76. package/dist/{structural-rollout-BwTwTUXF.js → structural-rollout-C1xxoWcN.js} +39 -57
  77. package/dist/structural-rollout-C1xxoWcN.js.map +1 -0
  78. package/dist/{supervise-tmqDU6YT.js → supervise-DWiSgPLB.js} +103 -111
  79. package/dist/supervise-DWiSgPLB.js.map +1 -0
  80. package/dist/{supervision-discovery-CGbXayGv.js → supervision-discovery-C9kfBLKy.js} +4 -4
  81. package/dist/{supervision-discovery-CGbXayGv.js.map → supervision-discovery-C9kfBLKy.js.map} +1 -1
  82. package/dist/{supervisor-1A27fE6k.js → supervisor-Dpeu7rnZ.js} +209 -999
  83. package/dist/supervisor-Dpeu7rnZ.js.map +1 -0
  84. package/dist/{scope-gIYQ5ZiL.js → supervisor-accounting-Bw4MJk-b.js} +755 -458
  85. package/dist/supervisor-accounting-Bw4MJk-b.js.map +1 -0
  86. package/dist/testing.d.ts +1 -1
  87. package/dist/testing.js +13 -13
  88. package/dist/{tool-server-B9q2dtnW.js → tool-server-DYwRbi0I.js} +3 -3
  89. package/dist/{tool-server-B9q2dtnW.js.map → tool-server-DYwRbi0I.js.map} +1 -1
  90. package/dist/{top-web-CS4PD4ck.js → top-web-B3HOAtrZ.js} +9 -7
  91. package/dist/{top-web-CS4PD4ck.js.map → top-web-B3HOAtrZ.js.map} +1 -1
  92. package/dist/tui/bin.js +6 -6
  93. package/dist/tui/bin.js.map +1 -1
  94. package/dist/tui/index.d.ts +1 -1
  95. package/dist/tui/index.js +2 -2
  96. package/dist/{types-w3Oo1uRJ.d.ts → types-C_qbnw9N.d.ts} +1263 -1497
  97. package/dist/{util-C_cdPNC4.js → util-fcckrkKp.js} +39 -113
  98. package/dist/util-fcckrkKp.js.map +1 -0
  99. package/dist/{workspace-streams-B7yNMahl.js → workspace-streams-DA9R3j-p.js} +2 -2
  100. package/dist/{workspace-streams-B7yNMahl.js.map → workspace-streams-DA9R3j-p.js.map} +1 -1
  101. package/package.json +1 -1
  102. package/dist/coordination-manager-D9z7To7p.js.map +0 -1
  103. package/dist/coordination-map-routing-CKRNZSaV.js.map +0 -1
  104. package/dist/errors-AzSuGI23.js.map +0 -1
  105. package/dist/failure-cause-BzjUUsRz.js.map +0 -1
  106. package/dist/graph-2_nX4ib4.js +0 -579
  107. package/dist/graph-2_nX4ib4.js.map +0 -1
  108. package/dist/graph-registry-7X2nrreR.js.map +0 -1
  109. package/dist/improve-BxfqTsZy.js.map +0 -1
  110. package/dist/model-policy-JOcg3NRs.js.map +0 -1
  111. package/dist/runtime-COm9uBBx.js.map +0 -1
  112. package/dist/scope-gIYQ5ZiL.js.map +0 -1
  113. package/dist/search-executor-DTEIl58w.js.map +0 -1
  114. package/dist/settle-record-U7fkQEZa.js.map +0 -1
  115. package/dist/snapshot-Cgj2Wzi6.js.map +0 -1
  116. package/dist/structural-rollout-BwTwTUXF.js.map +0 -1
  117. package/dist/supervise-tmqDU6YT.js.map +0 -1
  118. package/dist/supervisor-1A27fE6k.js.map +0 -1
  119. package/dist/util-C_cdPNC4.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,89 @@
1
+ ## 8.0.0
2
+
3
+ `ProfileMaterializationReceipt` now requires `resources` when `status` is `known`. Consumers that construct these receipts must provide `MaterializedResources`: the observed resource values and their provenance, or `{ status: 'unknown', reason: '...' }` when no resource observation is available.
4
+
5
+ ## 7.0.5
6
+
7
+ A control poll reads only new steer, cancel, and spawn-journal bytes. A quiet poll no longer rereads every worker and the whole journal.
8
+
9
+ Preserve SearchSpec flow admission when its compiler supplies continuation options, including the original gate and root-driver refusals.
10
+
11
+ ## 7.0.4
12
+
13
+ Authored and stored graphs retain an explicit portable continuation policy for harness-driven roots, including checked replay and content identity.
14
+
15
+ ## 7.0.3
16
+
17
+ 7.0.1 failed its Publish typecheck (#2475) and 7.0.2 failed the qualify suite: the `graph-check-nodes` assertion lacked the `secrets` that #2469 declared. The runtime code of 7.0.2 ships unchanged.
18
+
19
+ ## 7.0.2
20
+
21
+ Graph check nodes in boxes run in the run owner's account: `RunGraphOptions.checkPlacement` is a `GraphCheckPlacement` whose `builderAccounts` is optional, the cross-account refusal stays with declared-check judges, secrets resolve only from the placement `env` (a record, or an async resolver called before each box run), and a check node's optional `resources` size a box with a durable home. Every resolved secret value in a check node's output becomes `[redacted:NAME]` before it reaches the receipt, the run's output or downstream `$GRAPH_EVIDENCE`.
22
+
23
+ - `agent-runtime-mcp` serves a run directory's committed root stream through the `events_*` tools when `MCP_ENABLE_EVENTS=1` and `AGENT_RUNTIME_EVENTS_ROOT_STREAM=<runDir>`: the sequence is the line's own `seq`, which continues across drive attempts and processes, each record carries its `attempt`, a torn tail is never served, and the digest chain lets an observer detect rewritten history at its cursor. Removes the internal `submitAgentImprovementProposal` body left behind when its export was removed.
24
+
25
+ ## 7.0.1
26
+
27
+ An unjudged check tells a barren root to end its turn. Own long work still waits inside the turn.
28
+
29
+ A subscription seat with no receipt stays unpriced. No catalog estimate is written onto it.
30
+
31
+ A provider root woken into a new harness session in its retained environment keeps its coordination tools. The environment is reloaded by id, and that handle holds none of the create input that carried the runtime MCP attachments, so a turn into a continued environment now restates the create-time `runtimeAttachments.mcp`.
32
+
33
+ Materialization receipts now record the applied box sizes (`resources`) the created environment reported through its observation — with provenance (`origin`, `observedAt`) — or an explicit unknown naming why, never the create request. Bridge spawn admission reads the host executor's capacity gate from `GET /health` when the bridge reports it, so a spawn that would wait on the host semaphore and die as capacity is refused up front with the counters in the signal. Spawn admission settles exactly once, and provider `environmentReader` documents sidecar handling.
34
+
35
+ A cancelled run stops starting checkpoint deletes, lookups, and capture-fork cleanup when its signal aborts.
36
+
37
+ A retained run whose harness was SIGKILLed releases that execution before the next dispatch, so the replacement is admitted.
38
+
39
+ Flow graphs gain check nodes (`{ id, check: { command, timeoutMs?, environment?, egress?, secrets? } }`): Runtime runs the command instead of an agent and settles `{ pass, exitCode, output, json }`, with evidence at `$GRAPH_EVIDENCE/<nodeId>.json`, journaled receipts, and box placement through `RunGraphOptions.checkPlacement`. Graph files and stored graphs gain `workspace: cwd | fresh`, resolved by `graphWorkspace`.
40
+
41
+ Retained native inventory digests written as bare hex are admitted (runs no longer skip every file as unverifiable), and a root stream receipt now carries `subagentSessionIds`, the subagent sessions the harness's own `task` tool results named (#1264).
42
+
43
+ A retained owner keeps its box when the final native session copy is incomplete (`nativeStore` not complete, or an `over_bound:` / `store_file_` reason) and journals `environment-teardown` with `destroyed: false` and that reason. Process I/O or event-log gaps alone still allow release to destroy the box.
44
+
45
+ A retained run that stays at intent past the materialization bound fails with that stage instead of retrying the create with no environment.
46
+
47
+ - `spawn_worker` accepts an optional `resources` request (`cpu`, `memoryMb`, `diskMb`, `gpu`) that sizes a provider worker's create over `defaults.resources`; the provider backend's `maxWorkerResources` is the ceiling, and a request above it (or with no ceiling) is refused before any create, naming the ceiling (#1277).
48
+ - `fileEscalateQuestion(runDir, runId)` writes each `ask_parent` question to `questions/<id>.json` under the run, so an out-of-process observer can read it and answer with a root `writeWorkerSteer` (#1165).
49
+
50
+ - `spawn_worker` admits `successorOf` for a worker that is still live, so a director that revises a stalled worker keeps the lineage on the `spawned` event; `successor-live` is no longer a refusal (#1588).
51
+ - An AgentGraph `delegates` edge may start at any node that holds the spawn tool: the nested supervisor spawns only its own edges' targets, and the ledger row records the real `from` (#1774).
52
+ - A buffered Router completion whose usage reports no cost takes the exact `x-tangle-cost-usd` charge, so router workers settle with known USD; a router-tools graph worker may declare the caller tools its backend supplies (`AgentProfile.tools`) (#1587).
53
+ - A graph analyst node on a backend is no longer graded by the worker's deliverable check or the backend `validator`: an analyst that attacks the worker's output settles ungraded (#1775).
54
+ - A manager whose profile declares coordination tools the run does not serve is refused with every unserved name, and the served list, in one error before its harness runs a turn (#1219).
55
+
56
+ A settled record's `tree` and `spendGaps` read the whole spawn forest, so a nested driver's grandchildren appear in `tree.nodes` and stay nameable in `spendGaps` (`#1189`).
57
+
58
+ - `scope.spawn` refuses a not-yet-executable profile with every missing field named in one rejection (`harness`, `model.default`, `model.provider`) instead of one field per call, and the `spawn_worker` tool description states the required execution fields (#1329).
59
+ - A retained-run read that receives a gateway HTML error page (a Cloudflare 502) is classified as a transport failure carrying the HTTP status and a bounded excerpt, not a provider contract violation (#1203).
60
+ - Driver-attempt records carry the deepest cause's redacted, frame-bounded stack, so a failure the messages alone cannot place still names its throw site; redaction runs per line, so a credential on the message line cannot erase the frames (#2347).
61
+ - An unconfirmed checkpoint cleanup journals and settles with its reason — the provider's acknowledgement status or the delete's error text (#1594).
62
+
63
+ A broken stream keeps the tokens its live events carried and the remainder that arrived only on the exact result. The iteration count stays the provider invocation and is marked unknown when that remainder is non-zero.
64
+
65
+ The live graph viewer keeps serving when the host has no inotify watches left (ENOSPC) instead of ending the run it views; it falls back to its reconcile interval.
66
+
67
+ A retained worker whose provider returns a different session settles down and keeps its environment, so the same key can be replaced with spawn_worker.
68
+
69
+ ## 7.0.0
70
+
71
+ `reconcileUnconfirmedTeardowns` reads a settled run's unconfirmed environments by id and deletes only the ones the provider still holds. It returns confirmed, deleted, and unknown sets, and it refuses a live directory lock or a run with no settle record.
72
+
73
+ Record usable token lower bounds with explicit unknown-attempt counts, requested models and observed provider models. The settle reader can project usage from preserved journals without rewriting the sealed result.
74
+
75
+ CoordinationEvent includes the tool-timing event. Consumers with exhaustive coordination event switches must handle this variant. SupervisedResult retains its established union arms and adds optional measured usage; requested models and token lower bounds are available without guessing missing receipts.
76
+
77
+ Keep conservative budget reservations out of terminal measured usage and validate settlement receipts and totals before publication. Missing usage and provider identity remain explicitly unknown.
78
+
79
+ `agent-runtime-top` tells an empty workspace how to open a supervise run directory: `--web --root` on the directory that holds `observer.jsonl` or `spawn-journal.jsonl`.
80
+
81
+ ## Unreleased
82
+
83
+ `profileChatClient` and `profileOptimizerModelCall` forward optional caller request headers on every Router turn. Runtime's content-type, authorization, idempotency-key, and x-correlation-id keep precedence.
84
+
85
+ Every coordination tool call records server receive time, handler duration, and response size as a record-only `tool-timing` row in the coordination log.
86
+
1
87
  ## 6.0.8
2
88
 
3
89
  Preserve identity discovery from historical partial events while validating full event identities atomically in the public journal reader.
package/README.md CHANGED
@@ -27,9 +27,21 @@ pnpm add @tangle-network/agent-runtime @tangle-network/agent-eval @tangle-networ
27
27
 
28
28
  Runtime keeps compact integration fixtures. Research questions and preregistrations belong in Discovery; reproducibility campaigns and long-horizon value evidence belong in Discovery Lab.
29
29
 
30
- ## Quickstart: one exact offline run
30
+ ## Start here
31
31
 
32
- This is [`examples/quickstart/minimal.ts`](./examples/quickstart/minimal.ts). It runs without credentials.
32
+ First adoption is one exact run with a result and an identity, then the coordinator you already have.
33
+
34
+ The scripted quickstart below is that run: a scripted model, no credentials, and a printed decision. A real model is [`examples/delegate`](./examples/delegate), which exits until a router key is set. Durable storage is [`examples/runtime-run`](./examples/runtime-run) through the store adapter you pass; the checked example's adapter is in-process. Provider-owned durability is [`examples/retained-run`](./examples/retained-run). A workflow graph, a fleet topology, and the Intelligence adapter stay optional.
35
+
36
+ This package runs the declared profile and records the attempt. `@tangle-network/agent-interface` is the profile contract. `@tangle-network/agent-eval` scores and compares. `@tangle-network/sandbox` owns the isolated box, and the Sandbox orchestrator owns session durability for that box. `@tangle-network/agent-knowledge` owns the source-backed knowledge base. `@tangle-network/agent-app` is the product shell for chat, billing, and the tool side channel, and it calls these exports. Discovery owns research campaigns and result archives. Who durably owns each record is [`docs/durability.md`](./docs/durability.md).
37
+
38
+ The words profile, task, attempt, environment, and completion are the table below. A resumed task brings its settled record, artifacts, and identity. Harness continuation stays with the native session. A result lasts in the store configured for that run. An external effect the record leaves unconfirmed is reconciled at that effect's boundary.
39
+
40
+ Discovery's runner is one consumer that keeps its own coordinator and imports the published `/kernel` and `/durable` subpaths. Agent App declares the runtime majors its chat shell accepts; a major outside that range is a change in Agent App.
41
+
42
+ ## Quickstart: scripted, no credentials
43
+
44
+ [`examples/quickstart/minimal.ts`](./examples/quickstart/minimal.ts) is the scripted class named above. It runs without credentials.
33
45
 
34
46
  ```ts
35
47
  import type { AgentProfile } from '@tangle-network/agent-interface'
@@ -88,14 +100,20 @@ Runtime uses the same primitive for round batches and concurrent sandbox lineage
88
100
  | Word | Meaning |
89
101
  |---|---|
90
102
  | **profile** | The complete behavioral declaration: harness, provider/model, prompt, tools, MCP, permissions, resources, hooks, and subagents. |
103
+ | **task** | The caller's unit of work, passed to `runAgentRounds` or returned by `runTaskQueue`'s `take`. |
104
+ | **attempt** | One execution of that work: one driver attempt, or one fresh worker inside a round. |
105
+ | **environment** | The provider box for an attempt, named by provider and environment id. No id means nothing was named. |
91
106
  | **worker** | An agent that performs one assigned unit of work. |
92
107
  | **driver / supervisor** | An agent or deterministic policy that observes work and decides what happens next. |
93
108
  | **verdict** | An independently produced validity/score record. |
94
109
  | **harness** | What drives the profile. `cli-base` is direct model execution; `claude-code`, `codex`, `opencode`, and `prime` run agent harnesses. The complete vocabulary is `HarnessType` in `@tangle-network/agent-interface`. |
95
- | **delivery** | A settled result that passed the caller's completion check. Settlement alone is not delivery. |
110
+ | **completion** | The caller's check on the settled result. |
111
+ | **delivery** | A settlement that passed that check. |
96
112
 
97
113
  ## Choose a front door
98
114
 
115
+ The scripted quickstart is the first run. Open another row when its shape is the one you already have.
116
+
99
117
  | Front door | Use it for | Runnable example |
100
118
  |---|---|---|
101
119
  | `runAgentTaskStream` | one agent turn and a normalized event stream | [`stream-a-turn`](./examples/stream-a-turn) |
@@ -113,7 +131,7 @@ Five mechanisms continue interrupted work; choose by what died:
113
131
  - HTTP connection: reconnect with the same execution identity.
114
132
  - Same live box, next turn: continue the sandbox session.
115
133
  - Coordinator process: `supervise({ runDir })`.
116
- - User conversation: the conversation journal adapters exported at root.
134
+ - User conversation: Agent App's turn store. `runConversation`, exported at the package root, runs in-process.
117
135
  - Initiating process: a retained run owned by the provider.
118
136
 
119
137
  ## Truthfulness before value
@@ -126,19 +144,12 @@ The provider's account owner binds that turn's credential; Runtime keeps the ori
126
144
  Exact replay retains the admitted request, including older admissions that relied on the creation-time profile.
127
145
 
128
146
 
129
- Those are **integration proofs**, not benchmark-value proofs.
130
-
131
- `pnpm verify:official-optimizers` verifies the official GEPA/Optimize Anything bridge, recipe identities, resume behavior, accounting, and package provenance on a controlled fixture. It does not claim to reproduce GEPA, Omni, AutoResearch, or Meta-Harness benchmark lift. Full benchmark reproduction belongs in Discovery Lab, using the benchmark's own evaluator, matched budgets, frozen partitions, and immutable receipts.
132
-
133
- The same boundary applies to trace analysts, Prime Agent RLM, and DSPy RLM: Runtime may expose the execution seam, but analyst quality and benchmark lift must be established outside this repository.
147
+ Those gates are integration proofs. Benchmark reproduction, including the official optimizer bridge, is [`bench/HARNESS.md`](./bench/HARNESS.md). Analyst quality belongs outside this repository.
134
148
 
135
149
  ### The conformance manifest
136
150
 
137
151
  Each release candidate carries one manifest beside its packed archive: `agent-runtime-conformance-manifest.json`, uploaded with the `.tgz` by `publish.yml`.
138
152
  The same artifact retains the raw `cohort-report.json` used to verify that manifest.
139
- The release workflow validates the tag once, then checks the archive, official optimizers, and Bench concurrently against that commit.
140
- Publication requires all three checks and verifies the uploaded archive digest before publishing.
141
-
142
153
 
143
154
  `release/cohort.json` is the single source for the exact Interface, Eval, and Knowledge source releases used by CI and publication.
144
155
  Update each version and full source commit together when the dependency cohort changes.
@@ -1,6 +1,6 @@
1
- import { a as defaultStructuralRolloutPolicy } from "./structural-rollout-BwTwTUXF.js";
2
- import { B as verifyCanonicalCandidateDocument, L as immutableCandidateValue, N as canonicalCandidateDigest$1, P as canonicalCandidateDocument, R as omitTopLevelDigest } from "./workspace-streams-B7yNMahl.js";
3
- import { a as applyExactAgentProfileDiff, g as omitUndefinedObjectFields, i as agentCandidateProfileAsAgentProfile, v as parseExactAgentProfile } from "./profile-CNSQjOes.js";
1
+ import { a as defaultStructuralRolloutPolicy } from "./structural-rollout-C1xxoWcN.js";
2
+ import { B as verifyCanonicalCandidateDocument, L as immutableCandidateValue, N as canonicalCandidateDigest$1, P as canonicalCandidateDocument, R as omitTopLevelDigest } from "./workspace-streams-DA9R3j-p.js";
3
+ import { a as applyExactAgentProfileDiff, g as omitUndefinedObjectFields, i as agentCandidateProfileAsAgentProfile, v as parseExactAgentProfile } from "./profile-CD25rTJF.js";
4
4
  import { agentImprovementActivationResultSchema, agentImprovementActivationSchema, agentImprovementProposalSchema, agentImprovementReviewSchema, agentProfileDiffSchema, agentProfileImprovementExecutionRefSchema, agentProfileImprovementExperimentSchema, agentProfileModelHintsSchema, agentProfileSchema, canonicalAgentProfileDigest, changedProfileImprovementSurfaces, defineAgentProfileDiff, diffAgentProfiles } from "@tangle-network/agent-interface";
5
5
  import { assertProposalFindings } from "@tangle-network/agent-eval/analyst";
6
6
  import { campaignSplitDigestFromIdentities } from "@tangle-network/agent-eval/campaign";
@@ -871,4 +871,4 @@ function sameOrderedValues(left, right) {
871
871
  }
872
872
  export { serializeRolloutPolicy as C, normalizeRolloutPolicy as S, agentImprovementTargetProfileDiffs as _, reviewAgentImprovementProposal as a, isAgentProfileMeasuredSurface as b, verifyAgentImprovementProposal as c, attachOptimizationActivationReceipt as d, createOptimizationActivationReceipt as f, agentImprovementProfileSurfaceInput as g, agentImprovementProfileSurfaceDigest as h, executeAgentImprovementActivation as i, verifyAgentImprovementReview as l, agentImprovementProfileDiffs as m, createAgentImprovementActivationResult as n, verifyAgentImprovementActivation as o, optimizationActivationReceiptFromMetadata as p, createAgentImprovementProposal as r, verifyAgentImprovementActivationResult as s, createAgentImprovementActivation as t, assertNoCallerOptimizationReceipt as u, assertProfileImprovementTargetsShareIdentity as v, structuralRolloutPolicyFromProfile as w, applyRolloutPolicyToProfile as x, isAgentImprovementProfileSurface as y };
873
873
 
874
- //# sourceMappingURL=activation-Cwy3_Qn_.js.map
874
+ //# sourceMappingURL=activation-Ce4zUcu8.js.map