swarm evidence bundle

task
gates
session
20260902T203913-548222
exported
2026-09-02T20:39:13.714Z
records
19
chain head
sha256:248be3def756b18f28e72aee247a798bf826a0daf535b7abca935d7cc2aee6ff
claims verified
1 of 1
coverage of changed lines
100.0%

Green is computed by the harness: it means a machine-checkable predicate was evaluated against the cited record and held. Model prose is never green. The signing key is held in the OS keychain of the machine that produced this bundle. A signature proves the bundle was not altered after it left that machine; it does not prove the machine was honest while producing it.

Gates

A gate with nothing to run reports that it had nothing to run. It does not report a pass. A pass is bonded: the harness hands the gate a change it has to refuse, and a pass that survives its bond is vacuous rather than green.

statusgatedetailbond
not-applicabletypecheckpackage.json declares no typecheck scriptnot bonded: the gate did not pass
not-applicablelintpackage.json declares no lint scriptnot bonded: the gate did not pass
not-applicableformatpackage.json declares no check-only format script, and running a writing formatter as a gate would edit the tree it is judgingnot bonded: the gate did not pass
passedtests3 collected, 3 passed, 0 failed, 0 skipped (exit 0)held: the gate refused the bond (adds a test file that must fail)
failedfile-set1 file(s) changed but no file set was declared before editing. Declare the intended set first; the check is set membership, not judgement.not bonded: the gate did not pass
passedplaceholderno placeholder marker was introduced by this changeheld: the gate refused the bond (adds a file whose only line carries a TODO marker)
passedsecret-scanno known credential pattern appears in the added linesheld: the gate refused the bond (adds a file assigning a credential-shaped token to a credential-bearing name)
passedbehaviour-probe1 changed function(s) still answer to their inputs.not bonded: no bond is defined for this gate, so its pass has not been shown capable of failing
passeddiff-budget advisorywithin budget: 1 file(s) and 2 added line(s)held: the gate refused the bond (adds a file of 601 lines, one over the added-line budget)

Claims

VERIFIED

attemptsUsed == 0 && cap == 0

cites record 12, escalation, asserted against escalation

the harness evaluated the predicate against the cited escalation record and it held

unverified proseAuto-resolve stopped at the file-set gate: 1 file(s) changed but no file set was declared before editing. Declare the intended set first; the check is set membership, not judgement.

Evidence

18 record(s), by type:

turn 1 18 record(s)

0session-startedharness2026-09-02T20:39:13.099Z

task: gates

provenance: user

payload

sha256:a64336672a2a6294714964483d9b6217ae378b05dcce88e5a55b33eb31118a7e

{
  "baseRef": "24675997b04def65fb8603f75857022853480500",
  "task": "gates",
  "workspace": "/private/tmp/claude-501/-Users-brad-projects-swarm-orchestrator/91fc225c-491a-4cef-bf95-62613cee09b8/scratchpad/proof-workspace"
}

1gate-set-sealedharness2026-09-02T20:39:13.144Z

gate-set-sealed

provenance: user

payload

sha256:73be1882d9f00ff4a54adf3e78ce14c96a0c76f9b4ef73a3a224157eb1004fb3

{
  "attemptCap": 0,
  "budgets": {
    "maxAddedLines": 600,
    "maxChangedFiles": 12
  },
  "detectedTypes": [
    "node"
  ],
  "gates": [
    {
      "command": null,
      "id": "typecheck",
      "parser": "exit-code",
      "severity": "blocking",
      "source": "inspection",
      "title": "typecheck (node)"
    },
    {
      "command": null,
      "id": "lint",
      "parser": "exit-code",
      "severity": "blocking",
      "source": "inspection",
      "title": "lint (node)"
    },
    {
      "command": null,
      "id": "format",
      "parser": "exit-code",
      "severity": "blocking",
      "source": "inspection",
      "title": "format (node)"
    },
    {
      "command": "node --test --experimental-test-coverage --test-isolation=process --test-reporter=tap --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=stderr",
      "id": "tests",
      "parser": "test-output",
      "severity": "blocking",
      "source": "command",
      "title": "tests (node --test --experimental-test-coverage --test-isolation=process --test-reporter=tap --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=stderr)"
    },
    {
      "command": null,
      "id": "file-set",
      "parser": "inspection",
      "severity": "blocking",
      "source": "inspection",
      "title": "changes stay inside the declared file set"
    },
    {
      "command": null,
      "id": "placeholder",
      "parser": "inspection",
      "severity": "blocking",
      "source": "inspection",
      "title": "no placeholder markers introduced"
    },
    {
      "command": null,
      "id": "secret-scan",
      "parser": "inspection",
      "severity": "blocking",
      "source": "inspection",
      "title": "no credential material in the change"
    },
    {
      "command": null,
      "id": "behaviour-probe",
      "parser": "inspection",
      "severity": "blocking",
      "source": "inspection",
      "title": "a changed function still answers to its inputs"
    },
    {
      "command": null,
      "id": "diff-budget",
      "parser": "inspection",
      "severity": "advisory",
      "source": "inspection",
      "title": "change stays inside its size budget"
    }
  ],
  "ratchetArms": [
    "gate-regressed",
    "testsDeclared",
    "assertions",
    "skipMarkers",
    "testsCollected",
    "changedLineCoverage"
  ]
}

2gate-runharness2026-09-02T20:39:13.213Z

gate typecheck: not-applicable (package.json declares no typecheck script)

provenance: tool-output

payload

sha256:2937696362f6458fe282589c221bc4c8fee1e95f3a2fcdf7bdda33a9c257023a

{
  "argv": null,
  "attempt": 0,
  "blocking": true,
  "command": null,
  "detail": "package.json declares no typecheck script",
  "durationMs": 0,
  "exitCode": 0,
  "gateId": "typecheck",
  "measures": {},
  "outputTruncated": false,
  "parser": "exit-code",
  "severity": "blocking",
  "status": "not-applicable",
  "stderr": "",
  "stdout": "",
  "title": "typecheck (node)",
  "unavailable": "package.json declares no typecheck script"
}

3gate-runharness2026-09-02T20:39:13.213Z

gate lint: not-applicable (package.json declares no lint script)

provenance: tool-output

payload

sha256:80f9d94a737526e9c5c413a32d943f4febe0196f251ff0d5ebdfb62b7df46ec0

{
  "argv": null,
  "attempt": 0,
  "blocking": true,
  "command": null,
  "detail": "package.json declares no lint script",
  "durationMs": 0,
  "exitCode": 0,
  "gateId": "lint",
  "measures": {},
  "outputTruncated": false,
  "parser": "exit-code",
  "severity": "blocking",
  "status": "not-applicable",
  "stderr": "",
  "stdout": "",
  "title": "lint (node)",
  "unavailable": "package.json declares no lint script"
}

4gate-runharness2026-09-02T20:39:13.213Z

gate format: not-applicable (package.json declares no check-only format script, and running a writing formatter as a gate would edit the tree it is judging)

provenance: tool-output

payload

sha256:9b21ee9385ec49965029e8ae457e7fa57f61ec2cc75ef84219ddfa2809af47cb

{
  "argv": null,
  "attempt": 0,
  "blocking": true,
  "command": null,
  "detail": "package.json declares no check-only format script, and running a writing formatter as a gate would edit the tree it is judging",
  "durationMs": 0,
  "exitCode": 0,
  "gateId": "format",
  "measures": {},
  "outputTruncated": false,
  "parser": "exit-code",
  "severity": "blocking",
  "status": "not-applicable",
  "stderr": "",
  "stdout": "",
  "title": "format (node)",
  "unavailable": "package.json declares no check-only format script, and running a writing formatter as a gate would edit the tree it is judging"
}

5gate-runharness2026-09-02T20:39:13.278Z

gate tests: passed (3 collected, 3 passed, 0 failed, 0 skipped (exit 0))

provenance: tool-output

payload

sha256:0847f1e9bcd50a4535dff94f871f1ee5fa48d89bbe5b94807c94e681b25151fb

{
  "argv": [
    "node",
    "--test",
    "--experimental-test-coverage",
    "--test-isolation=process",
    "--test-reporter=tap",
    "--test-reporter-destination=stdout",
    "--test-reporter=lcov",
    "--test-reporter-destination=stderr"
  ],
  "attempt": 0,
  "blocking": true,
  "command": "node --test --experimental-test-coverage --test-isolation=process --test-reporter=tap --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=stderr",
  "detail": "3 collected, 3 passed, 0 failed, 0 skipped (exit 0)",
  "durationMs": 63,
  "exitCode": 0,
  "gateId": "tests",
  "measures": {
    "testsCollected": 3,
    "testsFailed": 0,
    "testsPassed": 3,
    "testsSkipped": 0
  },
  "outputTruncated": false,
  "parser": "test-output",
  "severity": "blocking",
  "status": "passed",
  "stderr": "TN:\nSF:src/clamp.mjs\nFN:1,clamp\nFNDA:3,clamp\nFNF:1\nFNH:1\nBRDA:1,0,0,1\nBRDA:1,1,0,3\nBRDA:2,2,0,1\nBRDA:4,3,0,2\nBRDA:5,4,0,1\nBRF:5\nBRH:5\nDA:1,1\nDA:2,3\nDA:3,1\nDA:4,1\nDA:5,3\nDA:6,1\nDA:7,1\nDA:8,1\nDA:9,3\nLH:9\nLF:9\nend_of_record\n",
  "stdout": "TAP version 13\n# Subtest: a value below the range clamps to the lower bound\nok 1 - a value below the range clamps to the lower bound\n  ---\n  duration_ms: 0.313417\n  type: 'test'\n  ...\n# Subtest: a value above the range clamps to the upper bound\nok 2 - a value above the range clamps to the upper bound\n  ---\n  duration_ms: 0.036292\n  type: 'test'\n  ...\n# Subtest: a value inside the range is returned as it is\nok 3 - a value inside the range is returned as it is\n  ---\n  duration_ms: 0.364125\n  type: 'test'\n  ...\n1..3\n# tests 3\n# suites 0\n# pass 3\n# fail 0\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 39.277667\n# start of coverage report\n# -----------------------------------------------------------\n# file       | line % | branch % | funcs % | uncovered lines\n# -----------------------------------------------------------\n# src        |        |          |         | \n#  clamp.mjs | 100.00 |   100.00 |  100.00 | \n# -----------------------------------------------------------\n# all files  | 100.00 |   100.00 |  100.00 | \n# -----------------------------------------------------------\n# end of coverage report\n",
  "title": "tests (node --test --experimental-test-coverage --test-isolation=process --test-reporter=tap --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=stderr)",
  "unavailable": null
}

6gate-runharness2026-09-02T20:39:13.279Z

gate file-set: failed (1 file(s) changed but no file set was declared before editing. Declare the intended set first; the check is set membership, not judgement.)

provenance: tool-output

payload

sha256:7fc97f0f55f626b91740a4fc6a7b12cfb0a50ea7b4b3e42e9c1f8637cd5fae3f

{
  "argv": null,
  "attempt": 0,
  "blocking": true,
  "command": null,
  "detail": "1 file(s) changed but no file set was declared before editing. Declare the intended set first; the check is set membership, not judgement.",
  "durationMs": 0,
  "exitCode": 1,
  "gateId": "file-set",
  "measures": {
    "filesDeclared": 0,
    "filesOutsideDeclaredSet": 1
  },
  "outputTruncated": false,
  "parser": "inspection",
  "severity": "blocking",
  "status": "failed",
  "stderr": "",
  "stdout": "{\n  \"detail\": \"1 file(s) changed but no file set was declared before editing. Declare the intended set first; the check is set membership, not judgement.\",\n  \"outside\": [\n    \"src/clamp.mjs\"\n  ],\n  \"measures\": {\n    \"filesOutsideDeclaredSet\": 1,\n    \"filesDeclared\": 0\n  }\n}",
  "title": "changes stay inside the declared file set",
  "unavailable": null
}

7gate-runharness2026-09-02T20:39:13.280Z

gate placeholder: passed (no placeholder marker was introduced by this change)

provenance: tool-output

payload

sha256:04cbfbf05767e77d5767fb5772e9a7e62cec4ae74d421e013fe257c5eccb892c

{
  "argv": null,
  "attempt": 0,
  "blocking": true,
  "command": null,
  "detail": "no placeholder marker was introduced by this change",
  "durationMs": 0,
  "exitCode": 0,
  "gateId": "placeholder",
  "measures": {
    "placeholdersIntroduced": 0
  },
  "outputTruncated": false,
  "parser": "inspection",
  "severity": "blocking",
  "status": "passed",
  "stderr": "",
  "stdout": "{\n  \"detail\": \"no placeholder marker was introduced by this change\",\n  \"findings\": [],\n  \"measures\": {\n    \"placeholdersIntroduced\": 0\n  }\n}",
  "title": "no placeholder markers introduced",
  "unavailable": null
}

8gate-runharness2026-09-02T20:39:13.280Z

gate secret-scan: passed (no known credential pattern appears in the added lines)

provenance: tool-output

payload

sha256:1205c218e3298f2b2a033cfedf23b7ee3ea0c6b62794e4df970e745e5f7a0cb4

{
  "argv": null,
  "attempt": 0,
  "blocking": true,
  "command": null,
  "detail": "no known credential pattern appears in the added lines",
  "durationMs": 0,
  "exitCode": 0,
  "gateId": "secret-scan",
  "measures": {
    "secretMatches": 0
  },
  "outputTruncated": false,
  "parser": "inspection",
  "severity": "blocking",
  "status": "passed",
  "stderr": "",
  "stdout": "{\n  \"detail\": \"no known credential pattern appears in the added lines\",\n  \"hits\": [],\n  \"measures\": {\n    \"secretMatches\": 0\n  }\n}",
  "title": "no credential material in the change",
  "unavailable": null
}

9gate-runharness2026-09-02T20:39:13.336Z

gate behaviour-probe: passed (1 changed function(s) still answer to their inputs.)

provenance: tool-output

payload

sha256:88c786276f12e0a0a2d9742cb0e1f6a3e0872609a80297308d3d89a3307daa19

{
  "argv": null,
  "attempt": 0,
  "blocking": true,
  "command": null,
  "detail": "1 changed function(s) still answer to their inputs.",
  "durationMs": 0,
  "exitCode": 0,
  "gateId": "behaviour-probe",
  "measures": {
    "functionsFlattened": 0,
    "functionsProbed": 1,
    "functionsUnprobed": 0
  },
  "outputTruncated": false,
  "parser": "inspection",
  "severity": "blocking",
  "status": "passed",
  "stderr": "",
  "stdout": "{\n  \"detail\": \"1 changed function(s) still answer to their inputs.\",\n  \"flattened\": [],\n  \"unprobed\": [],\n  \"measures\": {\n    \"functionsFlattened\": 0,\n    \"functionsProbed\": 1,\n    \"functionsUnprobed\": 0\n  }\n}",
  "title": "a changed function still answers to its inputs",
  "unavailable": null
}

10gate-runharness2026-09-02T20:39:13.336Z

gate diff-budget: passed (within budget: 1 file(s) and 2 added line(s))

provenance: tool-output

payload

sha256:f1ccbdb51c6388e5a646f96f7633bb1f5b7b5e081709d0a6c42961abdc1323b8

{
  "argv": null,
  "attempt": 0,
  "blocking": false,
  "command": null,
  "detail": "within budget: 1 file(s) and 2 added line(s)",
  "durationMs": 0,
  "exitCode": 0,
  "gateId": "diff-budget",
  "measures": {
    "addedLines": 2,
    "changedFiles": 1,
    "maxAddedLines": 600,
    "maxChangedFiles": 12
  },
  "outputTruncated": false,
  "parser": "inspection",
  "severity": "advisory",
  "status": "passed",
  "stderr": "",
  "stdout": "{\n  \"detail\": \"within budget: 1 file(s) and 2 added line(s)\",\n  \"overBudget\": false,\n  \"justificationRequired\": false,\n  \"measures\": {\n    \"changedFiles\": 1,\n    \"addedLines\": 2,\n    \"maxChangedFiles\": 12,\n    \"maxAddedLines\": 600\n  }\n}",
  "title": "change stays inside its size budget",
  "unavailable": null
}

11ratchet-decisionharness2026-09-02T20:39:13.338Z

the final state against the base commit accepted: the ratchet accepted the attempt: no measure moved the wrong way (not compared: testsCollected, changedLineCoverage)

provenance: tool-output

payload

sha256:73a9b80c9ff89dec1ad88ecc65b7da8c606a45ebc345609a884333a5cc439841

{
  "abstentions": [
    {
      "measure": "testsCollected",
      "reason": "it was measured on only one side of the attempt, so there is nothing to compare"
    },
    {
      "measure": "changedLineCoverage",
      "reason": "it was measured on only one side of the attempt, so there is nothing to compare"
    }
  ],
  "accepted": true,
  "attempt": 0,
  "detail": "the ratchet accepted the attempt: no measure moved the wrong way (not compared: testsCollected, changedLineCoverage)",
  "gates": {
    "after": {
      "behaviour-probe": "passed",
      "diff-budget": "passed",
      "file-set": "failed",
      "format": "not-applicable",
      "lint": "not-applicable",
      "placeholder": "passed",
      "secret-scan": "passed",
      "tests": "passed",
      "typecheck": "not-applicable"
    },
    "before": {}
  },
  "measures": {
    "after": {
      "assertions": 0,
      "changedLineCoverage": 1,
      "skipMarkers": 0,
      "testsCollected": 3,
      "testsDeclared": 0
    },
    "before": {
      "assertions": 0,
      "changedLineCoverage": null,
      "skipMarkers": 0,
      "testsCollected": null,
      "testsDeclared": 0
    }
  },
  "newSpecifications": [],
  "respecification": [],
  "scope": "base",
  "violations": []
}

12escalationharness2026-09-02T20:39:13.338Z

escalated at gate file-set after 0 attempt(s)

provenance: tool-output

payload

sha256:451a3d8690e646a80b9607781a3e2c75fc558505be63095be612390cc69dd714

{
  "attemptsRejectedByRatchet": 0,
  "attemptsUsed": 0,
  "cap": 0,
  "gateId": "file-set",
  "history": [],
  "lastGateRecord": "sha256:7fc97f0f55f626b91740a4fc6a7b12cfb0a50ea7b4b3e42e9c1f8637cd5fae3f",
  "reason": "1 file(s) changed but no file set was declared before editing. Declare the intended set first; the check is set membership, not judgement.",
  "title": "changes stay inside the declared file set"
}

14gate-bondharness2026-09-02T20:39:13.470Z

gate-bond

provenance: tool-output

payload

sha256:fbb3be2d58b42cc6b4d6ae1b908b647cfc6e58c7a862941e073265fc77398197

{
  "bond": {
    "description": "adds a test file that must fail",
    "files": [
      "swarm-falsification-bond.test.js"
    ],
    "provable": false
  },
  "collectedBefore": 3,
  "detail": "the tests gate refused the bond: 4 collected, 3 passed, 1 failed, 0 skipped (exit 1)",
  "exitCode": 1,
  "expected": "failed",
  "gateId": "tests",
  "measures": {
    "testsCollected": 4,
    "testsFailed": 1,
    "testsPassed": 3,
    "testsSkipped": 0
  },
  "observed": "failed",
  "severity": "blocking",
  "stderr": "TN:\nSF:src/clamp.mjs\nFN:1,clamp\nFNDA:3,clamp\nFNF:1\nFNH:1\nBRDA:1,0,0,1\nBRDA:1,1,0,3\nBRDA:2,2,0,1\nBRDA:4,3,0,2\nBRDA:5,4,0,1\nBRF:5\nBRH:5\nDA:1,1\nDA:2,3\nDA:3,1\nDA:4,1\nDA:5,3\nDA:6,1\nDA:7,1\nDA:8,1\nDA:9,3\nLH:9\nLF:9\nend_of_record\n",
  "stdout": "TAP version 13\n# file:///private/tmp/claude-501/-Users-brad-projects-swarm-orchestrator/91fc225c-491a-4cef-bf95-62613cee09b8/scratchpad/proof-workspace/swarm-falsification-bond.test.js:1\n# throw new Error(\"swarm falsification bond: a test file that must fail\");\n#       ^\n# Error: swarm falsification bond: a test file that must fail\n#     at file:///private/tmp/claude-501/-Users-brad-projects-swarm-orchestrator/91fc225c-491a-4cef-bf95-62613cee09b8/scratchpad/proof-workspace/swarm-falsification-bond.test.js:1:7\n#     at ModuleJob.run (node:internal/modules/esm/module_job:437:25)\n#     at async node:internal/modules/esm/loader:639:26\n#     at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)\n# Node.js v24.15.0\n# Subtest: swarm-falsification-bond.test.js\nnot ok 1 - swarm-falsification-bond.test.js\n  ---\n  duration_ms: 26.704875\n  type: 'test'\n  location: '/private/tmp/claude-501/-Users-brad-projects-swarm-orchestrator/91fc225c-491a-4cef-bf95-62613cee09b8/scratchpad/proof-workspace/swarm-falsification-bond.test.js:1:1'\n  failureType: 'testCodeFailure'\n  exitCode: 1\n  signal: ~\n  error: 'test failed'\n  code: 'ERR_TEST_FAILURE'\n  ...\n# Subtest: a value below the range clamps to the lower bound\nok 2 - a value below the range clamps to the lower bound\n  ---\n  duration_ms: 0.302583\n  type: 'test'\n  ...\n# Subtest: a value above the range clamps to the upper bound\nok 3 - a value above the range clamps to the upper bound\n  ---\n  duration_ms: 0.036417\n  type: 'test'\n  ...\n# Subtest: a value inside the range is returned as it is\nok 4 - a value inside the range is returned as it is\n  ---\n  duration_ms: 0.356375\n  type: 'test'\n  ...\n1..4\n# tests 4\n# suites 0\n# pass 3\n# fail 1\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 42.070709\n# start of coverage report\n# -----------------------------------------------------------\n# file       | line % | branch % | funcs % | uncovered lines\n# -----------------------------------------------------------\n# src        |        |          |         | \n#  clamp.mjs | 100.00 |   100.00 |  100.00 | \n# -----------------------------------------------------------\n# all files  | 100.00 |   100.00 |  100.00 | \n# -----------------------------------------------------------\n# end of coverage report\n",
  "title": "tests (node --test --experimental-test-coverage --test-isolation=process --test-reporter=tap --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=stderr)",
  "verdict": "held"
}

15gate-bondharness2026-09-02T20:39:13.539Z

gate-bond

provenance: tool-output

payload

sha256:69d02765e77e9c44d7c443a1d9f2dc41c5d7523e83b3261fd3631b2a52a5c85b

{
  "bond": {
    "description": "adds a file whose only line carries a TODO marker",
    "files": [
      "swarm-falsification-bond.js"
    ],
    "provable": true
  },
  "collectedBefore": 3,
  "detail": "the placeholder gate refused the bond: 1 placeholder marker(s) introduced: swarm-falsification-bond.js:1 // TODO: swarm falsification bond",
  "exitCode": 1,
  "expected": "failed",
  "gateId": "placeholder",
  "measures": {
    "placeholdersIntroduced": 1
  },
  "observed": "failed",
  "severity": "blocking",
  "stderr": "",
  "stdout": "{\n  \"detail\": \"1 placeholder marker(s) introduced: swarm-falsification-bond.js:1 // TODO: swarm falsification bond\",\n  \"findings\": [\n    {\n      \"path\": \"swarm-falsification-bond.js\",\n      \"line\": 1,\n      \"marker\": \"\\\\bTODO\\\\b\",\n      \"text\": \"// TODO: swarm falsification bond\"\n    }\n  ],\n  \"measures\": {\n    \"placeholdersIntroduced\": 1\n  }\n}",
  "title": "no placeholder markers introduced",
  "verdict": "held"
}

16gate-bondharness2026-09-02T20:39:13.607Z

gate-bond

provenance: tool-output

payload

sha256:bd5511f79b05f905fd2e30a8c3d3742ab5793e38595d1b05ccf8d012b850633a

{
  "bond": {
    "description": "adds a file assigning a credential-shaped token to a credential-bearing name",
    "files": [
      "swarm-falsification-bond.env.example.js"
    ],
    "provable": true
  },
  "collectedBefore": 3,
  "detail": "the secret-scan gate refused the bond: 1 added line(s) match a known credential pattern: swarm-falsification-bond.env.example.js:1 (github-token)",
  "exitCode": 1,
  "expected": "failed",
  "gateId": "secret-scan",
  "measures": {
    "secretMatches": 1
  },
  "observed": "failed",
  "severity": "blocking",
  "stderr": "",
  "stdout": "{\n  \"detail\": \"1 added line(s) match a known credential pattern: swarm-falsification-bond.env.example.js:1 (github-token)\",\n  \"hits\": [\n    {\n      \"path\": \"swarm-falsification-bond.env.example.js\",\n      \"line\": 1,\n      \"labels\": [\n        \"github-token\"\n      ]\n    }\n  ],\n  \"measures\": {\n    \"secretMatches\": 1\n  }\n}",
  "title": "no credential material in the change",
  "verdict": "held"
}

17gate-bondharness2026-09-02T20:39:13.637Z

gate-bond

provenance: tool-output

payload

sha256:d64ef16185344eee07d8707c6c376a22434a2d28fb87ef4ad2d17450a6c1e7cc

{
  "bond": null,
  "collectedBefore": 3,
  "detail": "no bond is defined for this gate, so its pass has not been shown capable of failing",
  "exitCode": null,
  "expected": "failed",
  "gateId": "behaviour-probe",
  "measures": {},
  "observed": null,
  "severity": "blocking",
  "stderr": "",
  "stdout": "",
  "title": "a changed function still answers to its inputs",
  "verdict": "not-bonded"
}

18gate-bondharness2026-09-02T20:39:13.697Z

gate-bond

provenance: tool-output

payload

sha256:c773799e9ef465e542ff9b1c301df814d61016f4e016fbec8c011d8921f1bacb

{
  "bond": {
    "description": "adds a file of 601 lines, one over the added-line budget",
    "files": [
      "swarm-falsification-bond.txt"
    ],
    "provable": true
  },
  "collectedBefore": 3,
  "detail": "the diff-budget gate refused the bond: over budget: 2 file(s) against 12 and 603 added line(s) against 600. This does not block. It requires a justification claim citing this record.",
  "exitCode": 1,
  "expected": "failed",
  "gateId": "diff-budget",
  "measures": {
    "addedLines": 603,
    "changedFiles": 2,
    "maxAddedLines": 600,
    "maxChangedFiles": 12
  },
  "observed": "failed",
  "severity": "advisory",
  "stderr": "",
  "stdout": "{\n  \"detail\": \"over budget: 2 file(s) against 12 and 603 added line(s) against 600. This does not block. It requires a justification claim citing this record.\",\n  \"overBudget\": true,\n  \"justificationRequired\": true,\n  \"measures\": {\n    \"changedFiles\": 2,\n    \"addedLines\": 603,\n    \"maxChangedFiles\": 12,\n    \"maxAddedLines\": 600\n  }\n}",
  "title": "change stays inside its size budget",
  "verdict": "held"
}