Skip to content

Evaluate neutral training-continuation agents with optional observations - #169

Open
Essoz wants to merge 3 commits into
codex/agent-authored-normalizationfrom
codex/continuation-observation-pilot
Open

Essoz wants to merge 3 commits into
codex/agent-authored-normalizationfrom
codex/continuation-observation-pilot

Conversation

@Essoz

@Essoz Essoz commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

This adds a neutral training-continuation pilot: agents receive previous/current pipelines and real unscaled loss curves, then decide what to investigate or change. Neither prompt says to find a bug or supplies a target invariant. One fresh agent has ordinary development tools; the other additionally has optional TrainCheck observations and can write arbitrary Python checkers. The inference engine is outside the experiment.

Result: both agents independently chose the same one-line revision and tied on the held-out task. The treatment used TrainCheck to corroborate a diagnosis already reached by source inspection. This demonstrates a working observation workflow, not a TrainCheck quality, discovery, speed, or overhead advantage.

Approach

  • Add a typed, deterministic 5,504-parameter Transformer development task with fixed full batches before microbatch splitting, a mean-token validation objective, and a two-GPU runner.
  • Keep operator protocol/tests/private evaluator out of agent packets. Both arms initially share 11 byte-identical files; treatment receives only generic capability documentation and instrumenter source.
  • Freeze selected code before two held-out training seeds. Evaluate quality separately from the CPU arithmetic/state contract; compare all tensors, gradients at optimizer step, momentum, RNG, scalar structure, and microbatch bounds.
  • Preserve all calibration: the first 64-update qualification failed the screening criteria; the 24-update budget was selected from those curves before agent access, then requalified. This is a calibrated synthetic development pilot, not an official RSI result or preregistered first-attempt success.
  • The committed current.py deliberately remains the initial task fixture. Both selected solutions remove one extra accumulation divisor and retain learning rate 0.15; frozen solutions are in the evidence archive.

Measured results

Ring18, two NVIDIA A16 GPUs, PyTorch 2.2.2+cu121, FP32, SGD, 24 updates per scored run, accumulation 4:

Pipeline Mean held-out validation loss over two seeds
Reference 0.010010396858
Original current 1.164507426322
Control selection 0.010010397091
TrainCheck selection 0.010010397091

Both selected candidates pass 6 CPU scenarios × 82 tensor comparisons, plus scalar/structure and microbatch checks. The original fails accumulation 2/4 on both seeds. An additional complete GPU checkpoint audit passes 12 pairs / 672 tensor pairs; control/treatment tensor hashes match exactly. All eight held-out GPU phases completed with source hashes unchanged.

Control used 4/4 development requests, treatment 3/4. Treatment's tiny CPU probe produced 15 complete unique native call pairs before and 15 after; observed/unobserved diagnostic outputs match exactly. GPU training retained no tracing, so this does not measure instrumentation overhead. Queue/setup costs and advisory reasoning limits prevent an agent-efficiency claim.

Validation and evidence

  • 40 focused tests pass locally and 40 on Ring18. Negative cases include incorrect normalization, LR compensation, escaping microbatch limits, malformed interfaces, exceptions, source mutation, and reference isolation.
  • Pinned pre-commit and explicit strict mypy on eight Python modules pass; tests have explicit pinned lint/format checks. No remote CI success is claimed.
  • Three signed commits; clean worktree.
  • 442 evidence files verified after reopening the archive, with a second hash-matching copy on Ring18. Archive SHA-256: 9f72d6e42c78e5ceb9f12439dadfaac0b5c0a21e3185a5f8aad2c7c5d7cc5d79.
  • One paired synthetic case; two seeds are implementation checks, not independent agent trials. Instructional packet isolation is not an OS boundary. CPU contract checks do not certify arbitrary distributed communication or checkpoint resumption.

Full protocol, results, commands, provenance, costs, and limitations.

Stack dependency: targets #168 (codex/agent-authored-normalization), which depends on #167, #166, and #164. No merge is requested or performed.

This branch has not been deployed

No deployments
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