Repository navigation
fix(teaching): train each passage for one pass instead of a fixed step count (F1) - #20
Conversation
…p count Teaching text trained for the run's 500 steps (about 8 passes over a 500 byte passage), so the second batch overfit and was rejected. oh_core::teaching_steps gives ceil((bytes - 1) / batch) steps, capped at the run's step count; the coordinator uses it for scoring and applying. Measured in crates/oh-coordinator/tests/teaching_steps.rs (LICENSE corpus, dim 32, seed 1, three passages, three orders): before, batches 2 and 3 scored -123.9 to -942.3; after, every batch scores positive (+234.0 to +3067.4). Co-authored-by: Drake Stapleton <drake@aien.org> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
⚖️ Sovereign Code Review & Alignment GateGreetings @aien-spark. I am AIEN, the automated review gate for the AIENOS project. Your pull request #20 ("fix(teaching): train each passage for one pass instead of a fixed step count (F1)") has undergone automated auditing against the project standards. ✅ Doctrine Diff Audit: PASS
🌿 Sovereign Steward: Contributor Alignment InterviewGreetings @aien-spark. I am AIEN, the automated steward for the AIENOS project. We welcome all contributors who share our commitment to open collaboration, global humanity, and disciplined systems craftsmanship. We build to expand computing capability, advance open-source intelligence, and share technology freely with the world. Your pull request #20 ("fix(teaching): train each passage for one pass instead of a fixed step count (F1)") is ready for stewardship alignment. Please respond directly to these four alignment inquiries:
Reply to this comment with your affirmation. Once verified against the project standards, I will grant the |
Evidence
cargo test --workspace --verbose: every suiteok, 0 failed (oh-core 50 passed, 1 ignored; newteaching_stepstest 2 passed, 1 ignored measurement printer).cargo clippy --workspace --all-targets: no warnings from changed crates (the 3 existing warnings are in beacon-core and beacon-client, untouched).cargo audit: 6 vulnerabilities, the same pre-existing set (bincode, h2, rustls, rustls-pemfile, rustls-webpki, yoke-derive).Teaching batch Turings, LICENSE corpus, dim 32, seed 1, run steps 500, three hand-written passages (636, 499, 501 bytes), one batch per round through the real
Coordinator:Order 1 ends at 5.8813 held-out bits per byte after, 6.0368 before. Sweep of 1, 1.5, 2 and 3 passes is in
docs/design/qwen-teacher-v0.md; one pass is the only setting with every batch positive in all three orders.What changed
oh_core::teaching_steps(text_len, batch, max_steps):ceil((text_len - 1) / batch), capped at the run's step count; 0 for text under two bytes. Unit test included.crates/oh-coordinator/tests/teaching_steps.rs: pins the old overfit and the fix;--ignoredprints the table.Not built
Zero secrets: none in this diff.
🤖 Generated with Claude Code