Skip to content

docs(validation): §4.5 adversarial network-fault campaign on the shipped 0.16.8-sqd.1 build#150

Merged
dzhelezov merged 1 commit into
mainfrom
docs/validation-4.5-fault-proxy
Jul 11, 2026
Merged

docs(validation): §4.5 adversarial network-fault campaign on the shipped 0.16.8-sqd.1 build#150
dzhelezov merged 1 commit into
mainfrom
docs/validation-4.5-fault-proxy

Conversation

@dzhelezov

Copy link
Copy Markdown
Collaborator

What

Adds VALIDATION.md §4.5 documenting the fault-injection proxy campaign (the harness/chaos/proxy.mjs + fault-proxy-campaign.sh tooling merged in #149) re-run on the published @subsquid/ponder@0.16.8-sqd.1 package. Unlike the §4.1–§4.4 kill-loop tiers (which fault the process), this campaign faults the network between the app and the public Portal and proves the backfill still completes byte-identical to a clean baseline.

Evidence recorded (all re-verified from on-disk verdicts)

  • 8/8 body/transport faults byte-identical: 429-burst, 5xx-storm, retry-after, tcp-reset-mid-ndjson, 90s-stall, truncated-gzip, malformed-ndjson, spurious-204 — each fault non-vacuously fired (proxy counter ≥ 1), each store digest == baseline 360af51…, intervals tile [20529207, 20579208] exactly, verifyExit:0, missedReset:0/missedNdjson:0.
  • head-freeze: frozen finalized head below endBlock stalls without corruption; clean resume completes byte-identical.
  • head-regression-100k / head-flap: recorded not-applicable (head stays ≥ endBlock, never intersects the fixed range) — a stream-mode property, not counted as a head-tolerance pass.
  • Honest AIMD labels (the test(chaos): fault-proxy campaign — byte-identical backfill under injected Portal faults #149 fix): recovery observed only where enough gate transitions were sampled; sparse — insufficient samples otherwise — recovery is not overclaimed.

Also flips §2's shipped-build anchor #2 from planneddone and adds a §4-intro forward reference to §4.5.

Gate

  • Docs-only; numbers independently re-verified from aggregate.json / per-scenario verdict.json / proxy-stats.json / verify.log.
  • Adversarial overclaim review passed (faithful to evidence; recovery claims correctly withheld for sparse scenarios; head-* correctly scoped N/A).
  • No secrets / infra internals; biome clean (0 errors).

🤖 Generated with Claude Code

…ped 0.16.8-sqd.1 build

Records the fault-proxy campaign (merged #149, `5a2fe88`) re-run on the published
subsquid-ponder@0.16.8-sqd.1 package as a new Layer-C §4.5: 8/8 body/transport faults
(429/5xx/retry-after/reset/stall/gzip/ndjson/204) + head-freeze complete byte-identical to
a clean baseline (digest 360af51…, intervals tile exactly), every fault non-vacuously fired;
head-regression-100k / head-flap correctly recorded not-applicable (stream-mode property, not
a pass). Honest AIMD labels (sparse vs recovery observed) per the #149 fix. Lands §2 shipped-
build anchor #2 (planned → done) and adds a §4-intro forward reference. Numbers independently
re-verified from on-disk verdicts; overclaim-reviewed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dzhelezov dzhelezov merged commit 310b21f into main Jul 11, 2026
14 checks passed
@dzhelezov dzhelezov deleted the docs/validation-4.5-fault-proxy branch July 11, 2026 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant