@tangle-network/agent-runtime 0.282.2 → 0.283.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.
package/dist/testing.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { O as immutableCandidateValue, w as canonicalCandidateDigest$1 } from "./workspace-archive-MhowMCmp.js";
2
- import { f as verifyAgentImprovementProposal } from "./improvement-cycle-BUDfOR0s.js";
2
+ import { f as verifyAgentImprovementProposal } from "./improvement-cycle-BFerq3l4.js";
3
3
  import { i as applyExactAgentProfileDiff, p as parseExactAgentProfile } from "./profile-C4NDjZyB.js";
4
4
  import { r as driverAgent } from "./coordination-driver-BmkANXc5.js";
5
5
  import { a as superviseWithTestBrain, h as supervisorAgentWithTestBrain } from "./supervise-DL_Hj1uk.js";
@@ -8,7 +8,7 @@ import { SANDBOX_SIZE_PRESET_NAMES, canonicalAgentProfileDigest } from "@tangle-
8
8
  //#region src/testing/fixtures/agent-improvement-proposal.json
9
9
  var agent_improvement_proposal_default = {
10
10
  changedSurfaces: ["prompt"],
11
- digest: "sha256:81164e0299e033be4a5b3658ba5a427d3b73662c9c0d9386f6024c6b8d89e377",
11
+ digest: "sha256:24b06130f501fc1549a401b5028ad906b904cf7160e8dd5c2d6c13275021cc9e",
12
12
  evaluation: {
13
13
  "decision": {
14
14
  "contributingChecks": [
@@ -4579,7 +4579,7 @@ var agent_improvement_proposal_default = {
4579
4579
  ],
4580
4580
  "metadata": {
4581
4581
  "fixture": "agent-improvement-proposal",
4582
- "runtimeVersion": "0.282.2"
4582
+ "runtimeVersion": "0.283.0"
4583
4583
  },
4584
4584
  "objectives": [
4585
4585
  {
@@ -4690,8 +4690,8 @@ var agent_improvement_proposal_default = {
4690
4690
  "baselineContentHash": "sha256:5c21ee53e513fc604cb09754e21c392b24a424da0ef37dbf8f1ee4a8a0b08f09",
4691
4691
  "candidateContentHash": "sha256:60fcbb1c728194bd51d7d19cb732d1c3f1881dce7e0a6266b41c8b98cfd65693",
4692
4692
  "kind": "agent-eval-loop",
4693
- "recordDigest": "sha256:4669daecbef88076c50724670f19b3b9af56cec575bb657b68ec7c7780d2a229",
4694
- "runId": "agent-runtime-0.282.2-proposal-fixture",
4693
+ "recordDigest": "sha256:b838e249a3609829a8a25d0feb0051cc1b44216755a1346faa4966158082ad65",
4694
+ "runId": "agent-runtime-0.283.0-proposal-fixture",
4695
4695
  "schema": "agent-candidate-experiment"
4696
4696
  }
4697
4697
  },
@@ -4714,13 +4714,13 @@ var agent_improvement_proposal_default = {
4714
4714
  }],
4715
4715
  kind: "agent-improvement-proposal",
4716
4716
  proposedAt: "2026-07-10T01:00:00.000Z",
4717
- runId: "agent-runtime-0.282.2-proposal-fixture"
4717
+ runId: "agent-runtime-0.283.0-proposal-fixture"
4718
4718
  };
4719
4719
  //#endregion
4720
4720
  //#region src/testing/fixtures/agent-profile-improvement-proposal.json
4721
4721
  var agent_profile_improvement_proposal_default = {
4722
4722
  changedSurfaces: ["prompt", "skills"],
4723
- digest: "sha256:4b1c9e29b1de8d99cf26dba5c0e5f02c41436500bc013358a2a76dc60d488362",
4723
+ digest: "sha256:d03808711b3c91755afae8a05c5a1150ddd5d5ef318d779f75667f138a91f295",
4724
4724
  evaluation: {
4725
4725
  "decision": {
4726
4726
  "contributingChecks": [
@@ -6354,7 +6354,7 @@ var agent_profile_improvement_proposal_default = {
6354
6354
  ],
6355
6355
  "metadata": {
6356
6356
  "fixture": "agent-profile-improvement-proposal",
6357
- "runtimeVersion": "0.282.2"
6357
+ "runtimeVersion": "0.283.0"
6358
6358
  },
6359
6359
  "objectives": [
6360
6360
  {
@@ -6465,7 +6465,7 @@ var agent_profile_improvement_proposal_default = {
6465
6465
  "baselineContentHash": "sha256:21c495a37c418c10bde64fbaa188beddeed31f1f051ea60a6a6582a9ee0db704",
6466
6466
  "candidateContentHash": "sha256:103f77bc8481601eef1ad5fe6ba84a40dffabc3a44f421f8c8559121edab84e9",
6467
6467
  "kind": "agent-eval-loop",
6468
- "recordDigest": "sha256:0e9981cd6d25d1697d7ac13ea0b9fd3ea0a9b94a49542a4302d71e2639065a30",
6468
+ "recordDigest": "sha256:d057f52fe0bfae992ec4e4dd3b9de62de0a6e66482c972ad2242611086624c8b",
6469
6469
  "runId": "profile-improvement-1",
6470
6470
  "schema": "agent-profile-improvement-experiment"
6471
6471
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/agent-runtime",
3
- "version": "0.282.2",
3
+ "version": "0.283.0",
4
4
  "description": "Shared task-lifecycle skeleton for agents: a recursive loop kernel for chat turns, one-shot tasks, and multi-attempt loops, with trace capture and eval-gated self-improvement. Domain behavior lives in adapters; scoring and ship-gates in @tangle-network/agent-eval.",
5
5
  "homepage": "https://github.com/tangle-network/agent-runtime#readme",
6
6
  "repository": {
@@ -22,7 +22,7 @@ Measured: where a known gap existed, 15 of 27 lanes with claims filed false "new
22
22
  Name the audience and the decision the result supports.
23
23
  Quote the acceptance test from its source, word for word, with its location.
24
24
  Include standing assumptions, exclusions and nondegeneracy conditions; a transcription drops them.
25
- List the outcome classes the audience distinguishes: new, known, partial, conditional, documented null, invalid, unassessed.
25
+ List the outcome classes the audience distinguishes: new, known, partial, conditional, reproduced null, stopped unverified, invalid, unassessed.
26
26
  Never reduce them to solved and unsolved.
27
27
  Make a literature search part of acceptance, and record an answer already published as known.
28
28
 
@@ -59,23 +59,48 @@ Hand every role the files it judges by path, never a summary.
59
59
 
60
60
  ## 5. Define success, the honest null, and the stop
61
61
 
62
- Success is an accepted result or a documented null.
63
- A documented null states what was tried, the obstruction found, the cases covered and the cases left open.
64
- Credit it like a positive result; without a search record it is not a null.
65
- Tell agents the checker may be wrong, and credit a well-evidenced report of a checker defect.
62
+ Success is an accepted result or a reproduced null.
63
+ A null may end a run.
64
+ It counts as success only when a party outside the run reproduces what it claims to have covered.
65
+ A null from a search carries a coverage certificate:
66
+
67
+ - the searched space as data: the parameter ranges, the enumeration or sampling method with its seeds, and the bound reached;
68
+ - one row per cell of that space, with what the cell searched and found;
69
+ - a calibration cell where the search must find objects that exist, with the source's reason;
70
+ - the sha256 of the reproducer that printed the rows.
71
+
72
+ The reproducer belongs to the check, not to the run.
73
+ Register it before launch with its sha256, the statements it covers, and its own calibration: cells with the source's results, and a canary where the predicate certified as zero must fire.
74
+ Agents may run it; they never write it.
75
+ The outside check reruns its own copy, never code from the run: a script can print the recorded rows.
76
+ Its copy's hash must equal the registered hash and the certificate's.
77
+ It reruns the registered calibration first and credits nothing on a miss: a reproducer that searches nothing reproduces an empty row too.
78
+ Then it reruns the certificate's calibration cells and the cells that would be new, until its budget ends.
79
+ The pass rule is fixed: each rerun row equals the recorded row, field for field, and one mismatch refuses the certificate.
80
+ Credit only the cells that the check reran and matched; a sample can refuse a certificate, never extend credit.
81
+ A null that is no search, such as a spec conflict or a gap list, names each item with evidence; it counts when the held-back check reproduces each.
82
+ A null without a certificate, or without a registered reproducer, is recorded as "stopped, unverified", never as success.
83
+ A null inside the range the source already checked adds nothing.
84
+ Tell agents the checker may be wrong; credit a checker-defect report the same way, once someone outside the run reproduces the defect.
66
85
  Measured elsewhere: a credited exit cut one model's test cheating from 54% to 9%, while prohibitions barely moved another's.
86
+ Measured: an in-run check that accepted a documented null made it the cheapest hack in 11 of 16 blind judgments.
67
87
 
68
88
  A Runtime manager with a check is not served `stop`.
69
89
  It ends when the check accepts its `submit_result`, when `report_blocked` shows that a granted tool failed, or at a bound.
70
90
  The bounds are the continuation `deadline`, `maxBarren` turns without progress, the budget, and cancellation.
71
- So the in-run check must accept a well-formed documented null as its own class.
72
- Otherwise the only exits are a claim the proxy passes, or a bound.
91
+ Runtime settles an accepted submission as delivered, and a parent may promote it; it keeps no refused one.
92
+ So the run records its certificate on a page, such as a Knowledge page, where the outside check reads it.
93
+ The in-run check never passes a null: it refuses a malformed certificate and holds a well-formed one.
94
+ A held null ends the run at `maxBarren`; set it low, such as 2.
95
+ The run settles as stopped, not delivered.
73
96
  State the continuation block in the record, and put the honest exit in its `rules` text.
74
97
  The check or a bound ends the run; an agent's claim that it is done does not.
75
98
 
76
99
  ## 6. Carry known traps
77
100
 
78
101
  Hand agents the domain's known traps as rules, not stories.
102
+ Write each trap as what the held-back acceptance refuses, never as what the proxy passes.
103
+ "The outside check does not count a c = 0 instance" is a trap; "the checker passed c = 0 claims" is a recipe.
79
104
  Examples: excluded or trivial cases, stale or wrong-field comparators, published answers, tests versus users, a demo versus a customer, a rater versus an expert.
80
105
  Keep infrastructure incidents out of the brief; the operator owns the stack.
81
106
  Measured: a director told of an infrastructure failure spent 2 of its first 4 children probing it.
@@ -145,7 +170,7 @@ Held-back acceptance: who runs it, where, from what:
145
170
  Proposers: models, dollars:
146
171
  Referee: family, instrument, dollars:
147
172
  Monitor: model, what it may steer:
148
- Documented null: required fields:
173
+ Null certificate: space, rows, calibration; registered reproducer, sha256, source calibration; who reruns it, budget:
149
174
  Credited exit, in the agents' words:
150
175
  Stop: check, report_blocked, deadline, maxBarren, budget:
151
176
  Known traps handed to agents:
@@ -164,7 +189,6 @@ The checker refused only c = 1, and its admission decoys came from that transcri
164
189
  Workers held the same checker that scored claims, and it counted any verified claim as new.
165
190
  All 3 lanes on that conjecture filed 39 "verified-new" claims, every one at c = 0.
166
191
  The paper assumes c != 0 throughout; at c = 0 the question is only whether x^d permutes the field.
167
- One claim page said "the checker refuses only c = 1".
168
192
  The real yield was 0.
169
193
 
170
194
  After:
@@ -173,21 +197,44 @@ Acceptance: Conjecture 13 quoted with the standing assumption that c is not 0 or
173
197
  Gap probe: before launch, the checker refuses c = 0 and classes a Corollary 11 family member as known.
174
198
  Agents run the development checker; the operator reruns a held-back checker and the sweep on each packet.
175
199
  A referee from another family recomputes each claim with its own code.
176
- A documented null over m <= 20 is a credited outcome.
200
+ A null over m <= 20 ends the run at its bound, and it counts once the outside check reruns its own reproducer on the certificate's cells.
177
201
  Arms: with and without the referee.
178
202
 
203
+ ### A null that counts
204
+
205
+ Wang and Zheng checked Conjecture 13 for 2 <= m <= 10.
206
+ Two lanes searched every (m, d, c) with c not in {0, 1} to m = 20, found no counterexample, and wrote a table.
207
+ Nobody outside the run could check that table.
208
+ Before the next launch, the operator registers a reference search for one m, its sha256, and its calibration: Theorem 9 gives 4 PcN pairs at m = 6 and 8 at m = 10, and a canary drops family (2) so those pairs must count as found.
209
+ As a certificate, the null reads:
210
+
211
+ ```json
212
+ {"space": {"cells": {"m": {"from": 2, "to": 20}}, "method": "enumerate", "bound": "m <= 20",
213
+ "within": "each unit d modulo 2^m - 1, one per Frobenius orbit, and each c outside {0, 1}"},
214
+ "rows": [{"cell": {"m": 12}, "searched": 585442, "positives": 28, "found": 0}],
215
+ "calibration": [{"cell": {"m": 6}, "why": "Theorem 9: x^5 is PcN for c in GF(4) outside {0, 1}"}],
216
+ "reference": "sha256:5d198f4fc2d9..."}
217
+ ```
218
+
219
+ The rows list every m; one is shown.
220
+ The outside check hashes its copy, reruns the calibration and the canary with no network, then m = 11 to 20, then the rest.
221
+ Rows typed instead of computed fail at the first cell that differs, and a script in the lane's packet is never run.
222
+ A reference that searches nothing fails at m = 6; one whose found never fires fails the canary.
223
+ If the budget ends after m = 18, the null is credited for 11 <= m <= 18 only.
224
+ The in-run check holds the certificate, and the run ends at `maxBarren`; only the rerun gives credit.
225
+ The trap for this conjecture reads: "the outside check does not count a c = 0 instance; the source sets c = 0 aside".
226
+
179
227
  ### Coding task scored by tests
180
228
 
181
229
  Audience: the task's author, and a maintainer who decides whether to merge.
182
230
  Proxy: the visible tests.
183
231
  Gap: a change that passes the tests and that a maintainer rejects, such as a special-cased input, an edited test or a skipped check.
184
232
  Measured: in an 8-lane Terminal-Bench batch, Runtime marked 6 lanes as winners and the task's verifier passed 1 of them.
185
- Measured elsewhere: 0 of 15 reviewed agent pull requests were mergeable as-is, including 4 that passed the tests.
186
233
  Profile: agents run the visible tests.
187
234
  The held-back verifier and hidden tests run on the patch in a fresh container.
188
235
  Hash the test files; a changed test fails acceptance.
189
236
  A referee from another family reads the diff for special cases.
190
- A report that the task cannot pass without breaking its specification is a credited outcome.
237
+ A report that the task cannot pass without breaking its specification ends the run; it counts once the held-back verifier reproduces the conflict.
191
238
 
192
239
  ### Product for a customer
193
240
 
@@ -196,12 +243,11 @@ Acceptance: the customer's own evaluation criteria, quoted, and a walkthrough of
196
243
  Proxy: an LLM fulfilment rater and a compliance checklist.
197
244
  Gap, measured across product lanes: the rater accepted 19 of 31 failed lanes and scored 0.45 where always-reject scored 0.73.
198
245
  In one wave, 19 of 44 reviewers never received the product.
199
- A grader gave B where the owner gave F.
200
246
  Profile: reviewers mount the product by path and must run it.
201
247
  A referee from another family walks the customer's task on the running product.
202
248
  The rater stays a ruler, not a gate, until it beats always-reject.
203
249
  Acceptance is the owner's or the customer's walkthrough.
204
- "Not ready, and this is what is missing" is a credited outcome.
250
+ "Not ready, and this is what is missing" ends the run; it counts once the owner's walkthrough reproduces each gap.
205
251
 
206
252
  ## Then consider
207
253