Repository navigation
Shadow idea-generation sidecar (first milestone of #43) - #44
Merged
Merged
Conversation
Non-learning sidecar that logs a typed, versioned observation/action/reward schema while replaying a heuristic or seeded random policy. Fixture tests cover chronological visibility, canonical action space, matched budgets, replay, the quality gate and the final-holdout guard.
OnePunchMonk
marked this pull request as ready for review
October 7, 2026 18:42
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.
First milestone of #43: a non-learning shadow sidecar. No RL, no new dependency, off by default (
AGENTQUANT_IDEA_SIDECAR=1to enable). The zero-key demo never imports it.It replays a fixed heuristic policy or a seeded random policy over the canonical momentum grid and logs a versioned observation / action / reward trajectory, including propensities and every rejected candidate.
What is in
src/agent/idea_sidecar.py:Observation,Action,Budget,RewardSpec,RewardComponents(components reported separately, composite isNonewhen the holdout outcome is missing).dev_end. Unparseable timestamps are dropped.ActionOutOfSpace. The sidecar never emits code.final_holdout=Truegoes throughFinalHoldoutGuard.fixture,measured_historical,unverified; defaultunverified), a sidecar hash, and a replay check.Tests (
tests/test_idea_sidecar.py, 10 fixture tests) cover the five items from the issue: no future memory or holdout in observations, actions inside the canonical space, equal budget for random vs heuristic, replay reproducing logged decisions, and no bypass of the quality gate or holdout guard. Full suite passes locally (240).Not in this PR, on purpose:
RunManifest/ research memo. Records are standalone JSON for now.All results here are fixture-tier on synthetic data. Nothing claims trading performance.