Aumos

Undervalued Now

aumos0.2.3Published 2026-08-21
NASDAQCapability 0Tasks 3needs Aumos >=0.2.6

Undervalued Now

<sub><a href="README.ko.md">한국어</a></sub>

Find one listed equity that is undervalued right now, and propose the position you would take in it.

In one paragraph

That sentence above is the entire methodology. There is no data-gathering stage, no risk-budget step, no panel of analyst personas and no list of permissions. Every other package in this catalogue exists to measure a methodology; this one exists to measure the model — put the same one-line question in front of four different models, score what each one bought, and the comparison is the benchmark. It is the "draw a pelican riding a bicycle" of investing.

Because it asks Aumos for nothing, it also gives up everything asking Aumos for something buys. That trade is the subject of most of this page, and you should read it before installing this rather than one of the others.

The methodology

There isn't one, and that is deliberate. The prompt is the question; the forward return is the answer.

Words this page uses, in plain terms:

Shadow modethe manager runs against a copy of your book, and nothing it proposes can reach an order
Evidencea record Aumos keeps of what a manager actually fetched — the source, the moment asked about, what came back
**asOf**the instant a judgement is pinned to. It is what makes "what could it have known?" answerable later
Armed watcha condition the manager sets on its own answer that wakes the next run
Cadencethe interval Aumos re-runs a manager on, confirmed by you at install
promptone paragraph, plus the output contract every package carries
capabilitiesnone. It asks Aumos for nothing
toolswhatever the coding CLI ships — the web, a shell, files. There is no manifest field, and Aumos withholds none of them
modeSHADOW, and structurally unable to be anything else useful
cadenceevery 24 hours, stated in the package rather than chosen — twice over: an armed watch on every answer, and a cadence request in the manifest

That prompt became an image-model benchmark not because anyone specified how to draw a pelican, but because everybody could run the same sentence against a different model and compare what came back. How each one got there is its own business: when the manager does its own reading, the data pipeline is part of the manager, so a model that found better sources and made more money is the better system rather than a confounded measurement of one.

The one thing it is told to answer. Every other package proposes its own next review condition, because for an investor's manager that is part of the judgement. This one is told: one timed watch, exactly 24 hours after the instant it judged, on every answer whatever the action. It is the difference between a manager and an instrument. Without it the row stops — an armed watch is the only thing that wakes the next run, and the asset this package exists to accumulate is elapsed time. With a chosen interval the axis is confounded — letting the thing being measured decide how often it is measured makes two rows incomparable in the one dimension the run record cannot capture.

How a run works

One run, one proposal. Nothing below places an order — and in this package's case, nothing below can.

flowchart TB
    classDef reads fill:#1e2a44,stroke:#6f9bf0,color:#cfe0ff
    classDef judges fill:#2f2f38,stroke:#9aa0b4,color:#e8eaf2
    classDef proposes fill:#1b4332,stroke:#40916c,color:#d8f3dc
    classDef person fill:#5c4813,stroke:#f6a609,color:#ffe8b0

    WAKE["Aumos wakes it —<br/>its own 24-hour watch, or the<br/>cadence net under it"]:::reads

    ASK["The question, unchanged:<br/>find one undervalued listed equity"]:::reads

    subgraph JUDGE["What the model does, its own way"]
        direction TB
        OWN["Reads whatever it likes<br/>through its CLI's own tools"]:::judges
        NOTE["⚠️ None of it is recorded as Evidence<br/>and none of it is pinned to asOf"]:::judges
        PICK["Picks one equity and a position size"]:::judges
    end

    OUT["One proposal, in the same output<br/>contract every package carries"]:::proposes
    ARM["Arms a 24-hour timed watch —<br/>required, on every answer"]:::proposes

    subgraph HUMAN["Where a person decides"]
        direction TB
        SHADOW["SHADOW: it lands in a copy of your book"]:::person
        SCORE["The forward return is scored<br/>against other models asked the same thing"]:::person
    end

    WAKE --> ASK --> OWN --> NOTE --> PICK --> OUT --> ARM --> SHADOW --> SCORE

Legend — 🟦 what it is given · ⬜ what the model does unobserved · 🟩 what it hands back · 🟧 where a person decides.

Cadence. The manifest carries "cadence": { "days": 1 }. That is a request, not a guarantee: it pre-fills a box on the install screen and what governs is what the investor confirms there. The armed 24-hour watch is still the primary thing — it is what makes the interval a property of the judgement — and the cadence is the net under it for when a run fails and arms nothing. A failed run then costs a day rather than the rest of the row.

What it needs

MarketsUS-listed equities and ETFs (XNAS, XNYS)
Data sourcesnone. It asks Aumos for nothing and there is nothing to install
Settingsnone
ModeSHADOW. It is structurally unable to be anything else useful
A live broker loginis a blocker, not a requirement. A machine that runs managers under your own account refuses to run this at all while it holds one

⚠️ It runs no broker credential, and the reason is not distrust of the model. This manager has a shell, a shell can read a keychain, and the person approving an order would not recognise an API key in the middle of a paragraph of rationale. A page it reads can tell it what to do.

What it is bad at

Everything a package that reads through Aumos gets. ⚠️ Since #258 the first two are given up by every package rather than by this one — Aumos withholds no tool from any session — and they are still listed here because this is the package that gave them up first and on purpose, by asking Aumos for nothing at all.

  • No Evidence. A request made through Aumos is recorded — the source, the moment it was asked about, what came back. This package asks Aumos for nothing, so its Decision cites a paragraph the model wrote instead. Models invent sources wholesale, so when the position loses money there is no way to tell a bad source from a bad reading of a good one.
  • Nothing pinned to a moment. A request through Aumos carries the instant it asked about, and a request without one is refused — which is what makes what did it ask, and about when answerable afterwards. Nothing here answers it. The package is worthless for replaying history and for asking a new manager about last quarter, and the reproduction that costs was never really on offer (a model answers differently on Tuesday).
  • No broker credential in the run. ⚠️ Its portfolio is allowed a broker account since #258 — the refusal that stopped that read a manifest field which no longer exists.

Do not install this expecting it to manage money. It is an instrument for comparing models, and its own page says so.

Notes

What it does not give up.

  • The approval gate. Nothing this proposes reaches an order without a person.
  • No way to trade. There is no broker-write capability in the protocol to ask for, and no tool in the session that could place an order.
  • The output contract. The freedom is in the method, not the protocol — Aumos can only seal and score one shape of answer, so this package's output section is the same contract every package carries.
  • Its own row. Every run records the conditions it was made under, so runs of the same package made under different ones can never average into one line of the track record. ⚠️ It used to record the lane too, and #258 took that term out of the fingerprint along with the lane itself.

✅ Since 0.1.3 the chain is no longer the only thing holding it up. The paragraph that stood here said the chain is one link at a time — a run that fails before sealing arms nothing, and that row's clock stops until somebody starts it by hand — and named the fix it was not getting: a cadence the mandate owns, which would survive a failed run … is not being built for a benchmark's sake. It was built, for a general reason rather than for this one (#257), so this package can simply ask for it. It was a cadence.json file until #286, when the manifest schema stopped refusing unknown keys.

⚠️ The cadence was also a ceiling until #355. The period that governed was max(this, the book's minReviewIntervalDays), so this package could ask to be looked at less often than its book required and never more. #355 removed the mandate's interval — a schedule is a property of a methodology rather than of money — so this number, confirmed at install, is the whole answer. #356 is where that division of labour is written down for every package, and AMP_MANAGER_INSTRUCTIONS §Schedule is what every manager reads about it. The leaderboard still demotes itself and names the row when nothing is armed.

Aumos shows no returns for this package until it has earned some. A forward track record takes calendar time rather than compute, and nothing on this page is one.