# Research journal

## Infrastructure and prospective design

2026-09-06 JST. All six neutral READY probes succeeded. These are excluded from study observations. Claude raw metadata reports auxiliary Haiku usage. Gemini is available through Antigravity CLI, not the standalone Gemini CLI. Gemini stream output uses `event` / nested `result`; the engineering parser was corrected before behavioral inference. Antigravity `--mode plan` is ineffective with slash expansion disabled; the conflicting flag was removed before behavioral inference. GPT plugin loading persisted despite ignoring user config; explicit `features.plugins=false` removed the observed plugin initialization before behavioral inference.

Adopted a2a_harness.py from the previous experiment with source hash recorded. Installed an isolated Python environment. Initial test collection required the SDK's sse-starlette dependency. One isolation-test assertion accidentally matched `mini` inside `deterministic`; corrected to full model identifiers. Then 15 tests passed, including real HTTP routing and independent settlement checks, before freezing v1.

The exhaustive grid has two pure stage equilibria: (145,145) and (150,150). Before any behavioral run, revised normalization to use the higher-profit equilibrium. Kept the unexecuted v1 snapshot, froze pilot-v2 and committed before starting inference (commit 3d8aaa1). The second broad pytest invocation encountered duplicate module names from archived source snapshots; it was a collection-path issue, not a failed game test. The shell continued to the pilot launch. Scoped test discovery was added and the current tests rerun after launch; do not describe the v2 rerun as having passed before inference. Preserve both XML reports.

Git line-ending conversion was discovered during the initial commit. Added `* -text` to preserve exact frozen bytes for future checkouts; the public ZIP and its hash manifest are the canonical byte-preserving evidence distribution.

## Publication scope

While the pilot was running, the user explicitly added publication as a technical blog in NEWS plus detailed public logs. Complete research, analysis, independently planned replication, manuscript/report and public evidence audit; then publish the article and evidence to the existing AgentCollusion website. This authorization does not include unrelated workspace changes. Public evidence should include exact experimental prompts, final responses, A2A wire records and reproducible analysis; exclude credentials, provider internal logs, unrelated account context and hidden/private reasoning. Document redactions and retain private originals.

## Infrastructure interruption and recovery v3

The user-message turn interruption terminated the attached experiment process. Inspection found no surviving research Python process, 3 completed episodes, 6 statuses still marked running, 25 started invocations and 20 invocations with successful completed metadata. The last progress timestamp is 2026-09-05T16:27:15.804617Z. Original run: private/runs/pilot-v2-2026-09-05T162628253485+0000-5b6806f1. Leave original files unchanged. Five started calls have no completed response metadata; their backend completion is unknown and they remain counted as interrupted attempts.

Prospective recovery v3 changes only execution/recovery plumbing, not any economic prompt, assignment, seed, payoff, sample size, or evaluation rule. Import the 3 completed episodes unchanged. For incomplete episodes, replay successful earlier responses only when episode ID, profile, exact prompt bytes, saved prompt hash and saved answer hash match. Replay through fresh A2A Tasks is not new inference. Preserve source invocation IDs and mark replay provenance; failed/unknown attempts are not silently omitted. At unmatched points issue a fresh normal request, counted separately. Use a detached hidden local process with stdout/stderr files to survive further task messages. Freeze this recovery source before those calls. Full-window data are the original planned 51 episodes, not 51 plus imported observations.

Audit clarification: adapter prompt/answer hashes represent UTF-8 encoding of the logical strings. Python text writes on Windows store CRLF while the strings use LF. The independent verifier initially compared physical bytes to these logical-string hashes, reported mismatches, and was corrected to reconstruct the recorded logical strings through universal-newline decoding. This changes neither observations nor adapter hashes. Public bundle manifests separately hash physical file bytes. Exact recovery compares reconstructed strings and hashes; backend HTTP request bytes are not exposed by the proprietary CLI and are not independently attested. The recovery starts roughly five hours after the interrupted prefix; report this temporal discontinuity and keep the independent replication separate.

## Pilot completion and independent replication

The pilot finished all 51 scheduled jobs: 50 controller completions, one Haiku infrastructure timeout, seven business-invalid completed episodes. There were 373 invocation records including one failed invocation; 20 of the successful records originated in the interrupted attempt (nine within imported completed episodes, eleven explicitly replayed). The old run additionally retains five unknown-completion attempts. The independent verifier passed 50,402 checks before replication design, covering 137 market periods, 215 private messages, 75 valid bargaining actions and 72 calibration items. Full-window market outcomes are available for eleven episodes; invalid prefixes remain observable evidence.

REPLICATION-PROTOCOL.md records the adaptive selection of two primary direct-feed comparisons, fixed N=8 markets per family/condition, six new bargaining blocks, and execution concurrency changes. Business prompts and strict validation remain unchanged. All three families remain in data collection despite the pilot's Anthropic interface failures. A held-out phase is not an external preregistration or an independent human replication. Added independent calibration/claim arithmetic checks and tested that export excludes internal diagnostics and that tampering is rejected. Current research source may differ from pilot source; each run ships its own sealed version.
