CLAUDE.md/docs/library.md updated to match the sell.py/parkcash.py/ scan.py changes in the preceding commits. docs/decisions.md gets the full reasoning trail: the Black-Scholes closed form marked superseded, the actual backtest entry (BHP/AL touch-probability table) that both sell.py and library.md already cited but was never written, the discretization-bias caveat on that backtest, the price-impact-cap and demolition-value decisions. docs/roadmap.md pruned back to open items only - finished work is discoverable from CLAUDE.md/library.md/ decisions.md instead of staying listed as a done backlog entry. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Roadmap
Open work only - what's already built/fixed is discoverable from CLAUDE.md's Tools list,
docs/library.md, docs/decisions.md, and module docstrings, not repeated here.
Todo
tools/arb.py: inter-CX arbitrage at real fill size (replacesprun_cxarb.py, which overstated profit 7-11x on 2/4 top hits).tools/haul.py: fuel cost / profit per trip (route.py has the jump graph).tools/portfolio.py: profit-maximizing set of 1-building opportunities under shared housing/capex/permits. Ties into backlog #2 (profit/permit ranking, needs this tool to mean anything - permits bind at the whole-base level, not per-recipe).- Docs to fill:
docs/apex.md,docs/fio.md,docs/playbook.md.
Backlog: review findings, still open (spot-checked against code)
scan.pypayback ignores working capital (input stock/output inventory/consumables) - can rival building capex for smelting-type recipes.buy.pyalready computes this number.- No profit/permit ranking (permits bind at the base level, not per-recipe) - needs
tools/portfolio.py's cross-recipe/whole-base view. scan.pydoesn't charge degradation (capex/180/day) likesimulate.pydoes - small but real inconsistency between tools ranking the same thing.- No input-side flow cap (buying a big share of an input's flow should price-impact like selling output does) - documented as absent, not modelled.
persistence.py --lag 3default is too low givendocs/mechanics.md's weekly workforce distribution - real lag is 3-10 days.- Possible forward-fill bias if any tool reindexes
daily_prices()onto a full calendar grid (it only emits trade days) - would understate volatility for sparse tickers. Not yet confirmed whetherpersistence.py/undervalued.pyactually do this. undervalued.py's backtest (+21.3%/3mo) has no control group - meaningless without the universe's unconditional return over the same window.persistence.pymeasures past margin variance of a market we were NOT in - can't see the dominant real risk (our own entry + the next player's compressing margin).undervalued.py::manufacturing_candidates()keeps the first recipe seen per output, not the cheapest (seen.setdefault).scan.pyhab cost ignores combined habs (HBB/HBC/HBM/HBL), which can be cheaper per head.scan.py --trip-coststill defaults to the flat 9250 placeholder despite the realpuga/shipping.pymodel existing and already used bywhatif.py.sell.py'ss0is the day's VWAP, not its high ---tierstouch probability is slightly pessimistic (same discretization conservatism asempirical_touch(), seedocs/decisions.md).empirical_touch()'s optionalhorizon(fixed-window right-censoring) exists but isn't wired into any tool's default call yet.
Open questions
- FIO REST and FIO API are separate services/keys (
.env). FIO_REST_KEY works on rest.fnar.net; FIO_API_KEY's host is unknown; PRUNplanner's Api-Key works.doc.fnar.net/api.jsonhas no securitySchemes.