Skip to content

feat(tournament): independent out-of-band re-execution watcher gating real slashing#26

Merged
anombyte93 merged 3 commits into
mainfrom
feat/marketplace-watcher
Jun 17, 2026
Merged

feat(tournament): independent out-of-band re-execution watcher gating real slashing#26
anombyte93 merged 3 commits into
mainfrom
feat/marketplace-watcher

Conversation

@anombyte93

Copy link
Copy Markdown
Owner

Builds the independent out-of-band re-execution watcher — the precondition for ever enabling real (`--enforce-slash`) forfeiture (roadmap slice from the handoff PRD).

Stacked on #25 (docs). Review/merge #25 first; this PR's base auto-retargets to `main` afterward. The diff here is watcher-only.

What it does

  • `prd_taskmaster/tournament/watcher.py` — re-adjudicates settled submissions from primary evidence: re-runs the oracle gate, independently re-derives `sha256(diff base..HEAD)` to catch diff-copy tamper, and accumulates a concordance ledger over real slash decisions.
  • Fail-closed gate `permit_enforce_slash`: real slashing is permitted only when every to-be-slashed submission is independently confirmed, there is no discrepancy or abstain anywhere in the job, and historical concordance clears a threshold over enough prior decisions. Inability to verify ABSTAINS — never a false confirm.
  • Engine-enforced: `run_tournament` consults the watcher before any real settle and downgrades to shadow unless permitted (fail-closed on any watcher error). The shadow-default path is unchanged.
  • CLI: `watcher-run` / `watcher-status`.

Invariants preserved

Shadow-slash by default; AtlasCoin never burned without an independent positive confirmation; read-only (uses the pure non-card-writing sweep; writes only its own ledger); stdlib-only; reachability-WIRED.

Tests / review

  • 36 new tests (TDD red→green): classification truth table, ABSTAIN-never-confirm, whole-job veto, in-flight-excluded decision concordance, the run_tournament shadow-until-permitted gate.
  • Full offline suite 883 passed, 5 skipped.
  • Two adversarial-review passes (multi-agent): all 5 confirmed findings closed + 3 hardenings (abstained-winner veto, malformed-ledger guard, repo_root resolution).

🤖 Generated with Claude Code

claude and others added 3 commits June 17, 2026 12:46
…ionship

CLAUDE.md predated 5.3.0's unfakable-done work. Adds:
- the two-axis "done" (Gate 5 re-execution oracle + Gate 6 reachability) as
  the trust backbone, incl. binding skel/ship-check.py vs non-binding shipcheck.py
- the prd_taskmaster/tournament/ package (commit-reveal, anti-sybil, goose racer)
  and its enforced invariants (shadow-slash only, refund losers, AtlasCoin conserved)
- the atlas-protocol spine relationship + ATLAS_ORACLE_CMD / tsx for the e2e gates
- gate/tournament/e2e commands in the Commands block (corrected to the real
  skipif-gated e2e invocation, not a non-existent -m e2e marker)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… real slashing

The precondition for real (--enforce-slash) forfeiture. An independent watcher
re-adjudicates settled submissions from PRIMARY EVIDENCE (re-runs the oracle,
re-derives sha256(diff base..HEAD) to catch diff-copy), ABSTAINS when it cannot
verify (inability is never counted as grounds to slash), and engine-gates real
slashing: run_tournament downgrades --enforce-slash to shadow unless the
fail-closed permit_enforce_slash confirms the WHOLE job (no discrepancy/abstain
anywhere) behind a concordance track record over real slash decisions.

- watcher.py: re_adjudicate_{submission,job}, permit_enforce_slash, concordance_summary
- CLI: watcher-run / watcher-status; run_tournament Step 5b shadow-until-permitted gate
- 36 tests (TDD red->green); read-only (pure non-card-writing sweep), stdlib-only, reachability-WIRED
- Two adversarial-review passes; all 5 confirmed findings closed + 3 hardenings

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@anombyte93 anombyte93 changed the base branch from chore/post-530-cleanup to main June 17, 2026 07:05
@anombyte93 anombyte93 merged commit f344b23 into main Jun 17, 2026
7 checks passed
@anombyte93 anombyte93 deleted the feat/marketplace-watcher branch June 17, 2026 07:05
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.

2 participants