chore(skills): track keel-asset-scout in the repo, and record today's measurements in it - #263
Merged
Merged
Conversation
… measurements in it The scout skill lived only in ~/.claude/skills/, outside version control, with a single .bak as its entire history. Most of it is not procedure -- it is recorded reasoning about measurements that cost real compute to produce. An untracked file loses the argument along with the rule. Tracked via `git add -f` because `.gitignore:34` ignores `.claude/`. That is the same exception the two review-fix-merge-pr skills already use, so this follows existing precedent rather than inventing a location. Content added today, all additive -- all 13 original sections are intact, including the guardrails (Do NOT, Rationalizations, the citation-fabrication warning, Output 2's rejection history): - "Taker math controls the field": round-trip friction is ~2.5% of notional, levied on the SEARCH rather than the edge, and the viable intersection is vacant across all 24 assets. Liquidity and admissibility are entry conditions, not evidence. - "What has already been measured": points at the three experiment documents, and separates asset expansion as a refuted PERFORMANCE fix from its still-valid uses (statistical power, the compliance pipeline, future rules) -- which is why the skill is not retired. - Four new required citation fields: `cost_regime`, `sample_size`, `evaluation_window` and `not_already_covered`. Each is anchored to a specific way this project was misled -- a result measured at 5bp that does not transfer to 1.2%, rsi_meanrev's 1.1631 on n=38 collapsing to 0.8396 at the floor, ZEC compressing 92.7% of lifetime PnL into one regime, and entry_lookback=55 sitting inside an already-swept grid. - Fill-model framing: entries fill at the next bar's open as market orders (#258), so a technique assuming a resting limit or stop entry will not execute as described. - Four Rationalizations rows, including "this backtest looks clean, the numbers are all plausible" -- two defects produced plausible, internally consistent output for the life of the project while 2,712 tests passed. Two things deliberately NOT added, with the reasoning recorded so the next proposal to add them can see why: a check on the pending-lifespan invariant (it raises rather than logs, so a violation ends the run and is unobservable from a proposer), and a stationarity rejection threshold (ZEC under pullback_continuation is the only pair in the study with no losing complete year, at 0.875 gross -- any such gate passes that and rejects the one thing that made money gross). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
eaitbrahim
force-pushed
the
chore/track-asset-scout-skill
branch
from
August 13, 2026 05:51
f95963c to
44d806a
Compare
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.
Moves the scout skill to project scope and puts it under version control. It previously lived
only in
~/.claude/skills/, outside git, with a single.bakas its entire history.Project scope is the correct home: every path, gate and experiment the skill references is keel's,
so it means nothing in a session rooted elsewhere. There is now exactly one copy — the
user-level one has been retired (parked in
~/.claude/skill-backups/, not deleted). A second copyis a second source of truth, and the two drift silently.
Tracked via
git add -f, because.gitignore:34ignores.claude/. That is the same exceptionthe two
review-fix-merge-prskills already use — following existing precedent rather thaninventing a location.
Why version control matters more here than for a typical skill: most of this document is not
procedure — it is recorded reasoning about measurements that cost real compute to produce. Why
stationarity is never a filter, why a small-sample profit factor is a lottery ticket, why the
engine's own invariants are unobservable from a proposer. An untracked file loses the argument
along with the rule, and the next person re-derives both the hard way.
Content added today — all additive
All 13 original sections are intact, including every guardrail:
Do NOT,Rationalizations, thecitation-fabrication warning, and Output 2's rejection history (the only record of why an asset
was passed over, since keel deliberately has no rejection table).
turtle_breakoutnegative on all 24 — a 25th cannot fix it. Still valid for power, compliance, future rulescost_regimesample_sizersi_meanrev1.1631 on n=38 → 0.8396 across 82 cells atn≥100evaluation_windownot_already_coveredentry_lookback: 55, sits inside an already-swept gridTwo things deliberately NOT added
Both were proposed and declined, with the reasoning written into the file so the next person to
propose them can see why rather than relitigating:
A check on the pending-lifespan invariant. It's an
AssertionErrorinsidebacktest()— itraises rather than logs, so a violation ends the run and produces nothing to inspect.
Unobservable from a proposer that never runs a backtest.
A stationarity rejection threshold. ZEC under
pullback_continuationis the only asset-rulepair in the study with no losing complete year — at 0.875 gross. Any stationarity gate
passes that and rejects ZEC-
turtle, which at least made money gross. Stationarity is adiagnostic, never a filter.
Verification
that would otherwise make a future edit look uncommitted.
🤖 Generated with Claude Code