sots-re/AGENTS.md

3.6 KiB

SOTS campaign instructions

This repository is the state authority for the SOTS reconstruction and its Windows lab. Start with campaign/README.md, your contract, its latest checkpoint, and open surprises. Current policy: guides/multi-agent-workflow.md. Engine architecture: sots-engine/docs/architecture.md. Historical findings are evidence, not current execution instructions or accepted status.

Authority and models

  • The normal lead/RE/implementation/verification/lab loop runs on GPT-5.6 Sol (openai/gpt-5.6-sol). Reserve GPT-6 Astra (openai/gpt-6-astra) for resolving falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope.
  • campaign/models.json is the role/model registry. Launch with tools/run_agent.py and an explicit role, contract, state root, and paired worktrees. Never silently downgrade or fall back.
  • Ordinary implementation/test failures inside the contract may be fixed by its worker. Falsified assumptions, conflicting evidence, unexpected instrument effects, or changed scope require a recorded surprise and an Astra resolution before affected work continues.
  • No worker subdelegation. The lead assigns parallelism; max two implementation slices after the pilot. Independent workload preparation is scheduled against explicit resource leases.

Durable state and context

Checkpoint in the canonical RE state root every 20 tool calls or 15 minutes, whichever is earlier, and before an experiment, compaction, handoff, or stop. Include model/session, exact source identities, evidence paths, decisions versus observations, tests, blockers, and ONE exact next action. Do not store state only in a chat summary or /tmp. The runner uses bounded 40-step quanta. After checkpointing, stop and restart from the repository; automatic compaction is a backstop, not proof that a checkpoint was written. On recovery read the contract/checkpoint, verify worktree and resource identities, then continue. Missing state means blocked, not permission to reconstruct progress from memory.

Ownership

Use distinct engine and RE worktrees per lane, baseline-pinned. Canonical runtime state is shared only through the campaign tools. One integrator writes current evidence pointers and projections. Never stage someone else's changes. No automatic commit, push, pull, or reset. Commands requiring these actions need explicit user authorization. Source edits use apply_patch. VM, shared build-host, and Ghidra mutation require leases. A stale lease is not automatically free. Record preconditions, side effects, cleanup and access verification for any lab operation. Rollout bootstrap file-ownership exception: campaign/rollout/architecture-decision.md only.

Evidence

No generic verified promotion. Separate understanding, implementation, original dependencies, and validation scope. A count is insufficient without distinct states, branch exposures, and positive execution evidence. Include all writes, container elements, allocations, IDs, events, RNG draws, and runtime-only inputs. Original-assisted execution is not independent replacement. Synthetic boundary tests and original-game differential tests are complementary. Missing required inputs, zero execution, incomplete coverage, unexpected skips, stale binaries or unbound source identity fail acceptance. One independent verifier must reproduce the package; integrated-tree evidence is required for acceptance. Reports are measurements until those gates pass.

Never commit owner-supplied binaries/assets or secrets. Engine facts cross only documented generated channels. Never paste disassembly/decompiler output into the engine repository.