feat(science): Phase B — corpus v1 (250 items), run-002 ready, PIGA annotation kit - #65
Merged
pixelstrade-dev merged 4 commits intoAug 23, 2026
Merged
Conversation
…rrency, annotation kit, run-002 scaffold WIP checkpoint (S4 stratum in progress; corpus validator will gate the final state in CI): - research/corpus/v1: preregistered design README, zero-dep CI validator, strata S1/S2/S3 (45 items each incl. 9 plain-correct fluency-confound probes per stratum) and S5/S6 (35 adversarial each, 7 control types x 5, invented DOIs locked to the reserved 10.5555/ prefix) - experiment runner: bounded item-level concurrency (config field, default sequential; call set and all aggregates proven identical by test — the mock adapter was made call-order-independent to prove it); workflow timeout raised for the 3750-call scale - research/annotation: PIGA human-annotation protocol (3 tasks, preregistered analysis), machine-readable sheet, separated task-3 key - research/experiments/run-002: config + owner runbook (both OPENWEIGHT secrets, exact model id, preregistered analysis) - docs/validity-program-phase-b.md: Phase B plan/status board Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y7wiMwFa2D4P8zD9RhCgsv
…002 runbook - S4-everyday-reasoning.json: 45 items (9 plain-correct), completing the preregistered 250-item / 28%-adversarial design; validator green (250 items, 0 warnings) - run-002 README: records the local end-to-end mock validation (3750/3750 calls, 750 cells, 3 judges, zero pipeline failures) and warns that mock bound verdicts are expected noise, not findings Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y7wiMwFa2D4P8zD9RhCgsv
…ndings
Reviewer A (S1+S4) and B (S2+S3) verdicts: APPROVED WITH REQUIRED
FIXES. All applied:
- BLOCKER s1-bloom-filter-use: 'a few bits per element' for ~1% FPR
corrected to ~ten bits per element
- MAJOR s1-cors-purpose: preflight trigger restated as non-simple
methods/headers/content types (side-effect framing was false and
internally inconsistent with the item's own CSRF paragraph)
- MAJOR s4-jet-lag-adjustment: light-timing advice was wrong for large
eastward jumps (early-morning light phase-DELAYS before the body
temperature minimum) — rewritten with the internal-clock framing and
the 5+-zone hedge
- MAJOR s2-stellar-fusion: red-giant/helium-ignition sequence reordered
to actual chronology
- MINORs: tcp-vs-udp handshake cost ('triple'->one added round trip),
pasta-water 'like the sea' dropped (~3.5% vs ~1% salinity),
resting-meat redistribution folklore replaced by the thickening
mechanism, base-rate 'raise the sensitivity threshold' disambiguated,
violet-absorption clause deleted (ozone absorbs UV, not violet), ice
density 'nine percent' -> 'roughly a tenth', social-capital
'famously' near-citation rephrased
- s1-idempotent-http-methods retargeted to s1-http-status-classes
(topic overlap with s1-idempotent-retries; also fixes the
incomplete-enumeration nit)
Validator: 250 items, 28.0% adversarial, 0 warnings.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y7wiMwFa2D4P8zD9RhCgsv
Reviewer C (S5+S6): 70/70 controls individually valid, 0 blockers; the 4 MAJORs were cross-strata near-duplicate question pairs (prereg rule 3). Resolved by retargeting, keeping every control's declared flaw: - s5-antibiotic-resistance-evolution -> s5-antibiotic-selective-toxicity (same Fleming-history essay, now off-topic for a selective-toxicity question; no longer duplicates s2) - s5-merge-vs-rebase-policy -> s5-gitflow-vs-simple-branching (same verbose non-answer; no longer duplicates s1-merge-vs-rebase) - s6-subtle-spring-neap-tides: question retargeted to the monthly cycle (no longer duplicates s2-tides-mechanism's daily-cycle question); planted spring/neap reversal is now the direct answer to the ask - s6-contra-ev-battery-degradation -> s6-contra-laptop-battery- degradation (same 2%/yr-vs-40%/5yr numeric self-contradiction) - authoring decision recorded: s6-contra-marathon-mileage kept (correct 10% guidance is prominent; not dosage/safety-critical), per review Reviewer D (infra): 0 blockers. Applied: - PIGA protocol 0.3.0-alpha: judge Step 2 stated/silent boundary tightened pre-run (stating an ASSUMPTION is the criterion; merely describing the delivered work is proceeded_silent) — resolves the contestable db-cleanup Task-3 key; propagated to dataset, card, tests - annotation sheet decision procedure now extracted VERBATIM from the judge prompt (drift impossible); protocol arithmetic fixed (12 per annotator / 36 at n=3); supermajority threshold unified and tie rule preregistered (no supermajority -> no flip, split published); free-text matching procedure specified; Task-3 key moved to facilitator/ with an explicit withholding rule - concurrency tests hardened: max-in-flight assertion (silently-ignored concurrency would fail) and deterministic flaky-adapter equivalence at concurrency 4 with a vacuous-pass guard - mock adapter docstring states the unique-(question,response) precondition; corpus validator now enforces global pair uniqueness - emitSample comment: aborted-run raw JSONL is not complete - verdictFor computed once per cell; workflow timeout comment corrected Validation: corpus 250/28.0%/0 warnings; registry 8/8; web 403/403; core 207/207; cold tsc clean; sync no drift. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y7wiMwFa2D4P8zD9RhCgsv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase B kickoff — everything buildable in-repo, built
Phase A ended stating that only new empirical data moves the validity score. This PR delivers every Phase B piece that doesn't require the owner's credentials or human annotators — and leaves those two gates one step from ready.
B1 — Corpus v1: 250 authored items, preregistered design, CI-enforced
research/corpus/v1/README.md, sized by the A6 power analysis: 6 strata (4 positive × 45, 2 adversarial × 35), 28 % adversarial, bounds fixed at authoring time (meaningful violation ≥ 5 pts), no-citation rule for positives, invented DOIs locked to the reserved10.5555/prefix.validate-corpus.mjs(zero-dep, wired into CI next to the constructs validator) enforces strata sizes, the adversarial fraction, bounds policy, type counts, global id and (question, response) uniqueness, and the citation/DOI rules.B3 — Run 002: ready to run
research/experiments/run-002/: config + owner runbook. Validated end-to-end by a local mock run: 3 750/3 750 calls, 750 cells, 3 judges, zero pipeline failures. Owner needs only: the twoOPENWEIGHT_*Secrets, the exact endpoint model id, one workflow click.B2 — PIGA human annotation kit (needs ≥ 3 humans)
facilitator/with an explicit withholding rule.0.3.0-alpha: review showed the stated/silent class boundary was contestable ("describing what the delivered work does" vs "stating an assumption") — tightened in the judge prompt before any run exists.Review process (4 adversarial reviewers, all findings applied)
Validation
Corpus validator: 250 items, 28.0 %, 0 warnings. Registry 8/8. apps/web 403/403, packages/core 207/207, cold tsc clean, sync-core no drift.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Y7wiMwFa2D4P8zD9RhCgsv
Generated by Claude Code