Skip to content

feat(adaptive): TSX single-session study + frozen pre/post eval#19

Merged
ethancjackson merged 3 commits into
mainfrom
tsx-adaptive
Jul 16, 2026
Merged

feat(adaptive): TSX single-session study + frozen pre/post eval#19
ethancjackson merged 3 commits into
mainfrom
tsx-adaptive

Conversation

@ethancjackson

Copy link
Copy Markdown
Collaborator

Summary

The bootcamp-style adaptive demonstration wired for the TSX (retrospective addendum, per plan): ws-study --domain tsx --run performs one RESEED + one bounded (50-turn) self-directed study session distilling a strategy into tsx-strategy-trained via the gated mutation tools; ws-adaptive-eval --domain tsx --run evaluates untrained-vs-trained, frozen, over tsx_ws_eval_2026_weekly with arm-distinct, cache-separated predictor ids. Deliberately excludes the twins/continual-learning machinery (that's the live phase); the TSX meta-learning skill drops the live-gating section accordingly.

  • Reused: shared adaptive builders, study scheduling/accounting, resumable runner, existing eval spec.
  • New: TSX_ADAPTIVE_DOMAIN, committed tsx-strategy seed (byte-exact SKILL.md round-trip), skills_tsx/ pipeline variants (sp500 dirs untouched), 24 new tests.
  • Both commands dry-run verified; no LLM calls made building or testing.

Verification (orchestrator-run)

pre-commit --all-files clean; 701 passed, 7 skipped.

🤖 Generated with Claude Code

ethancjackson and others added 3 commits July 16, 2026 13:51
…skills

Wire the S&P/TSX Composite into the bootcamp pre/post adaptive shape, mirroring
how SP500_ADAPTIVE_DOMAIN was built from SP500_DOMAIN:

- `TSX_ADAPTIVE_DOMAIN` = `TSX_DOMAIN.model_copy` with the four adaptive
  skill-dir fields, plus `TsxStrategyState` (branded "S&P/TSX Composite
  Forecasting Strategy") and tsx-distinct config/predictor factories.
- Committed `tsx-strategy` seed skill (StrategyState, domain priors only) and
  TSX variants of the equity pipeline skills under `skills_tsx/`: fetch-yfinance
  (^GSPTSE), vol-regime (TSX realised-vol bands 10/15/22/30 from TSX_DOMAIN),
  trend-projection, meta-learning. The sp500 `skills/` dirs are untouched.
- `reseed_strategy` takes a `state_type` so the trained SKILL.md re-renders with
  the right branding; `reseed_tsx_strategy` pins the tsx seed/trained dirs.
  Trained variants are gitignored (RESEED artifacts, seed is never mutated).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- `ws-study --domain tsx` (no subcommand) runs the whole bootcamp demonstration
  study: ONE self-directed session over the full pre-2026 history AND a review of
  the 2025 period, distilled into `tsx-strategy` via the gated mutation tools
  (default 50 turns, distill checkpoints every 10). Reuses the Phase-A driver
  machinery — `run_study_hall` now takes a `StudyHallPrompts` override, and the
  CLI is domain-parameterised (seed/trained dirs, branded state, config factory,
  turn prompts). `--run` RESEEDs seed → trained first; the sp500 phase-a/phase-b
  paths are unchanged. Per-turn transcript + accounting persist as 2c built.
- `ws-adaptive-eval --domain tsx` runs the two frozen arms (untrained seed vs
  trained) over `tsx_ws_eval_2026_weekly` via the resumable runner, ADVANCED_MODEL
  by default (model is a parameter). Predictor ids are tsx- and arm-distinct so
  caches never collide; both commands report the standard RunAccounting.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Offline tests (no model calls):
- domain: TSX_ADAPTIVE_DOMAIN renders with the TSX persona and no S&P-500 /
  oil-persona bleed, the branded strategy title, seed skill loads + SKILL.md
  round-trips, and mutation-tool attach/strip with tsx-distinct agent names.
- reseed: RESEED for the tsx dirs branded correctly; the seed is never mutated.
- eval: the two-arm plan over tsx_ws_eval_2026_weekly, distinct arm dirs, and
  arm expansion with distinct predictor ids (fake predictor).
- CLIs: `ws-study --domain tsx` single-session dry-run (+ phase-a alias, sp500
  default unchanged), `ws-adaptive-eval --domain tsx` dry-run + --arm override,
  and the TSX study prompts threading through the driver.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ethancjackson ethancjackson merged commit d5d769c into main Jul 16, 2026
2 checks passed
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