Implement improvement items 1–17 - #5
Merged
Merged
Conversation
- Bundle starters/templates in loop-init for npm; resolve paths from package root - Extend loop-audit for dependency-sweeper and changelog-drafter signals - Harden CI: JSON schema + starter path validation, loop-init sync/e2e tests, L1 starter gates - Add changelog-drafter dogfood workflow, CODEOWNERS, RELEASE playbook, security contact - Sync docs (6 patterns everywhere), examples parity matrix, post-merge story - Enable Discussions; showcase og:image; dependabot for loop-init; release tests
cobusgreyling
enabled auto-merge (squash)
June 9, 2026 11:38
Contributor
Loop Readiness AuditScore: 100/100 (L3) Strong loop readiness — good candidate for L3 with explicit gates. No suggestions — looking good. Posted by |
12 tasks
50thycal
pushed a commit
to 50thycal/loop-engineering
that referenced
this pull request
Jun 28, 2026
…ifier) Adds --vol-target: size the position by target_vol/realized_vol so risk is roughly constant (hold less in violent regimes, more in calm ones), capped at --max-leverage (1.0 = spot, no borrow). Threaded through every mode via a merged base_params, and generate_signals now accepts periods_per_year for correct annualization of the vol target. No look-ahead: realized vol at bar t uses returns ending at t. On real BTC daily walk-forward this is a structural win: consistency 2/5 -> 5/5, pooled OOS Sharpe 1.91 -> 2.34, pooled drawdown 65% -> 28%, per-fold drawdowns 65/52/24/36/20% -> 28/24/14/13/12%. Lower risk targeting generalizes to any future data, so it is not curve-fit. But it is kept HONEST: at the a-priori 0.40 default it is still REJECTED, missing the aggregate drawdown cap by 3 points (28% vs 25%). A lower target passes, but sweeping target_vol by hand and reporting the value that clears the gate is uncounted multiple testing — the enforced counter tracks the grid, not the researcher's own experimentation. Documented as the trap it is; the real verdict can only come from forward data (cobusgreyling#5). Tests 20/20, repo validate gates pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UcE4n3gQdVXJtD2z3mBrZX
50thycal
pushed a commit
to 50thycal/loop-engineering
that referenced
this pull request
Jun 28, 2026
… + forward quarantine (cobusgreyling#5) cobusgreyling#4 --trial-budget N: the loop halts searching once cumulative trials reach N. An autonomous loop that searches forever turns the whole dataset into in-sample data; the budget is the alpha-spending cap that forces a stop. Checked before each run (a run may overshoot); once spent, further searches halt and point to forward-testing or new data. engine/ledger.py budget_exhausted(). cobusgreyling#5 --forward-test: carve the newest slice into a quarantine window the search, walk-forward, and lockbox never touch. Research on the earlier window, then forward-test the survivor on the held-out tail. Forward performance gates capital, not the backtest. engine/quarantine.py. Approval requires research AND forward to pass. Each forward window is spent after --max-forward-evals tests (the lockbox lesson, applied to forward data: testing 100 strategies on one tail just relocates the multiple-testing problem). Real BTC demonstration (vol-targeted breakout, 0.40 default): research REJECTs (aggregate drawdown), but the forward out-of-time window actually PASSes cleanly (Sharpe 1.38, +94%, 18% DD on unseen data) — yet the strategy is NOT approved, because approval needs both gates. No single lucky result is sufficient. All five hardening steps (#1-cobusgreyling#5) now implemented. Tests 23/23, repo gates pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UcE4n3gQdVXJtD2z3mBrZX
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.
Summary
Delivers all 17 improvement items from the repo assessment:
npm publish (manual follow-up)
Add
NPM_TOKENsecret, then: