M54–M59: voices by lead over price; money after costs; every department daily; capital follows the record; methods judged by mechanisms; the path to real money - #1
Merged
Conversation
…rice A handle was followed because a token linked it or the operator typed it, and nobody measured whether it was worth reading. ADR-0052 left the curation seat as next. - A voice's record, in software: every X author, Telegram channel and Discord channel the company has read, each post priced as the instrument's 24h move after it less the median of its desk's peers, and the same over the 24h before. Counted by episode (ADR-0040), read from ten. - A move inside the bar a post was made in counts as before, never as a lead; a bar still open when fetched is not a close; a gap is unknown, not the last price; only what was recorded by the moment measured is read. - Leads or trails price by an exact sign test at 0.05 divided by the voices measured, because the agents are shown the best of many records. - Once a day under the news grant a market-intelligence agent follows voices ahead of their peers and drops followed ones that do not lead, from a closed set, with a reason; the record is on each row and the sitting cites the full record as an artifact. No call when nothing is eligible. - Episodes since a follow are counted apart: the only ones nobody chose on. - `aurelis social voices`, `aurelis social curate`, and the station's /voices. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vxtju5i7j2GwPr9hkbQaGT
A candidate scheme was chosen on calibration and traded on paper, and its P&L was "reported, never judged". A scheme can beat the drift and still lose to its fees and to the slippage of an order placed an hour after its trigger; it kept trading, and nothing told the operator whether the company would have made money. - mechanism/earnings.py: round trips closed at their horizon, after fees, grouped by the episodes of their predictions (ADR-0040), counted by an exact sign test so one tripled memecoin cannot carry a record; drawdown alongside; gathering below ten episodes. - Earning needs the bar for the family of schemes measured; losing is judged at 0.05 undivided, because a stop protects the book. - A scheme losing after costs is suspended by Risk, once, with the numbers: it opens nothing more, closes what it holds at the horizon, and its predictions are still scored. - The mandate gains a fourteenth condition, `earning`, right after `scheme`. - The mechanisms page, `aurelis mechanism trades`, the brain and the feed show each traded scheme's record after costs. - sign_test moves to core/stats.py, shared with the voices record. - test_world's service test stubs the book and trades feeds: it was reaching Coinbase for real, and failed wherever that call is refused. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vxtju5i7j2GwPr9hkbQaGT
… module CI runs bare `pytest`, which does not put the repository root on sys.path, so `from tests.test_schemes_trade import ...` failed at collection. The repository's tests do not import each other; this one now carries the edge market, the stated mechanism and the scoring it needs, as the M31 tests do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vxtju5i7j2GwPr9hkbQaGT
main took M53 and ADR-0054 for "a changed catalogue is a new question". This branch's milestones follow it: the voice curation is M54 (ADR-0055) and money judged after costs is M55 (ADR-0056), renumbered in the docs, the ADR files and the code comments that cite them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vxtju5i7j2GwPr9hkbQaGT
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vxtju5i7j2GwPr9hkbQaGT
Seven of the seventeen launch agents never acted in the service: the CEO, the research director, Operations, the auditor, governance, knowledge and infrastructure had no duty in a wake. And judging and discovery ran only while `calibrated` and `scheme` were unmet, so the forward record stopped growing at the first success and the hunt stopped once MEC-0001 became a candidate scheme. - judge and discover are standing duties (after source, so a changed catalogue is still asked about first); their no-repeat rules still hold. - autonomy/duties.py: a daily duty per idle department, run by its own agent and recorded as org.duty_done with that agent as actor: audit (ledger chain, round trips held late, agents mostly refused), integrity (mechanism and view seals, the day's recordings), health (wakes, longest gap, model calls, open alerts) -- software, with each problem an alert raised by the agent holding the scope; lessons (a Lesson row and a brain note from what the day closed) and memo (the research director's note every seat reads) -- one model call each, none on a day with nothing in it, withheld if they cite a figure the agent was not shown. - The wake runs them once a day before the brain is written; `aurelis duty list|run`; the feed has a line for each. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vxtju5i7j2GwPr9hkbQaGT
Every scheme was sized at equity x 5% from a constant; the allocation row trade_firings wrote was never read again and nothing ever withdrew one, so a scheme earning after costs and one indistinguishable from luck were the same size, and the Portfolio Manager decided nothing after the first day. - mechanism/sizing.py: a declared ladder from the after-costs record -- 5% gathering or luck, 10% earning, 0 losing -- with schemes together capped at half the book. - trade_firings sizes positions from the scheme's live allocation; a zero share opens nothing and says why. - Book.withdraw keeps the row with its reason (portfolio.allocation_withdrawn). - A daily Portfolio Manager duty re-reads each scheme's record and withdraws and re-allocates where the ladder says otherwise; a matching share is left alone. Risk still assesses every order. - The mechanisms page shows each scheme's share of the book. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vxtju5i7j2GwPr9hkbQaGT
A method is carried to every seat, but evolution judged it only by the agent's views (ADR-0049's open item): an agent whose every tested mechanism was retired kept its method while its views were no worse than chance. - DiscoveryFitness: mechanisms stated since the method was adopted that the company decided on -- candidate schemes or retired. Unproven below five decided; failing at five or more with none a scheme; thriving at half. - Evolution rewrites a method whose views or whose mechanisms fail. A colleague whose mechanisms thrive teaches a discovery failure, with the retired mechanisms and why they were retired in the material. - org.evolution_ran records every agent's discovery verdict. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vxtju5i7j2GwPr9hkbQaGT
The company's conditions for asking to trade real money were assessed every
autonomy cycle and shown only in the terminal.
- /mandate ("money" in the navigation): the latest stored assessment,
condition by condition with what the record says; every scheme's paper
record after costs by episode; the last twenty verdicts; and a plain
statement that no live adapter exists.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vxtju5i7j2GwPr9hkbQaGT
martex-dev
marked this pull request as ready for review
September 26, 2026 08:19
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.
Six milestones, numbered after
main's M53, which this branch has merged in. Each milestone is one commit.M54: the company chooses whom it follows (ADR-0055)
aurelis social voices|curate,/voices.M55: money is judged after costs, by episode (ADR-0056)
mechanism/earnings.py: paper round trips after fees, grouped by independent episode, with a sign test and the drawdown.earning.tests/test_world.pyno longer reaches Coinbase.M56: every department works, every day (ADR-0057)
judgeanddiscoverare standing duties, so research no longer stops at its first success.autonomy/duties.py: a daily duty per idle department, run by its own agent:aurelis duty list|run.M57: capital follows the record (ADR-0058)
mechanism/sizing.py: 5% gathering or luck, 10% earning after costs, 0 losing. Schemes are capped at half the book.trade_firingssizes positions from the live allocation, instead of a constant that ignored it.Book.withdraw. A daily Portfolio Manager duty withdraws and re-allocates where the record moved. Risk still assesses every order.M58: a method is judged by the mechanisms too (ADR-0059)
M59: the station shows the path to real money (ADR-0060)
/mandate("money") shows the latest assessment condition by condition, every scheme's paper record after costs, and the verdict history. It states plainly that no live adapter exists.Tests
test_voices.py,test_earnings.py(sizing and the money page),test_duties.pyandtest_evolution.py(discovery fitness).ruff check .andmypyare clean. The full suite passes: 1104 passed and 14 skipped, run with barepytestas CI does.🤖 Generated with Claude Code
https://claude.ai/code/session_01Vxtju5i7j2GwPr9hkbQaGT