Retire a confirmed row after its sixth session on the list (MAX_LISTED_DAYS, #115) - #122
Merged
Merged
Conversation
…_LISTED_DAYS) Adopted on the eleven-year late-entry replay (#115): a row on its second day was as good as new, from the third the same signals paid about 0.1 R less than on day 1 in 10 of 11 years, and from day 7 (a Wolfe from day 6) nothing was left for a late buyer. carry_listing carries first_listed across nights (keyed on ticker, pattern and stop, like the replay), counts listed_day from the bars, retires a confirmed row past the limit once as RETIRED in the close-out list and remembers it in the file's `retired` list while the detector still produces the structure, so it neither returns as new nor sits on the watchlist. The report gains a Day column and the footer explains it; legacy profile: no limit. The page reads the scanner's count. Tests (154), wiki 01, 03 (constant, ledger, adoption) and 04, README, changelog. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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
The listing rule from #115: a confirmed row is retired after its sixth session on the list, a Wolfe after its fifth. Evidence: the eleven-year late-entry replay (runs 34323013559 to 34323039560), where a row on its second day was as good as new, from the third day the same signals paid about 0.1 R less than on day 1 in 10 of 11 years, and from day 7 (a Wolfe from day 6) nothing was left for a late buyer.
How it works
MAX_LISTED_DAYS(6, Wolfe 5;legacyprofile: none).carry_listingcarries each structure'sfirst_listedsession across nights through the previoussignals.json, keyed on ticker, pattern and stop like the replay and the evaluator, so a pull-back to the watchlist does not restart the count;listed_dayis counted from the bars (weekend re-runs of the same bar do not advance it); a previous row that predates the field counts from the previous report's session.RETIREDin the close-out list with the detail "listed 7 sessions since 2026-09-02, limit 6", and remembered in the file's newretiredlist for as long as the detector still produces the structure, in any status. Without that memory a retired structure would come back the next night as "new today", since the age window can outlast the listing limit by two sessions. The memory is dropped when the structure is no longer produced.Daycolumn (listed_day / limit, also for a watchlist row that was confirmed before) and a header and footer sentence;meta.max_listed_days; the close-out order placesRETIREDafterEXPIRED.Tests (154):
carry_listing(first listing set, inherited, inherited by a watchlist row, counted from a previous file without the field, retirement at the limit per pattern, the remembered structure kept silent and forgotten once no longer produced,legacywithout the limit),close_outskipping today's retirements, the report's new column and sentences, a second run carrying the count to day 4, and a third run that retires a row and then keeps it silent and remembered.Docs: wiki 01 (fields, column,
RETIRED, theretiredlist), wiki 03 (the constant's row, the ledger of adopted values, the adoption paragraph under "Late entry, tested"), wiki 04, README, changelog.Closes #115.
Test plan
ruff --select E,F,W --line-length 120clean, 154 tests pass locallytestsworkflow on this PRfirst_listed,listed_day,retiredand theDaycolumn; today's report has no confirmed row, so the first retirement can only follow a new breakout's seventh session🤖 Generated with Claude Code