Skip to content
C.W.K.
Stream
← C.W.K. Quests
🪨

Touchstone Quest

New: 2026-08-31Updated: 2026-08-31

A touchstone tells you what the metal is — it has no opinion about whether you should sell it

Touchstone is a market valuation engine that will show you a number, its whole history, and exactly where it sits inside that history — and will never once tell you what to do about it. This quest is about how that line survives contact with real market data across three countries. It is also, unusually, a tour of an architecture whose invariants were mostly written by bugs that shipped: a snapshot dated a day into the future that outlived its own fix, a paginated fetch that silently stopped at the letter C, a roster of 399 companies published as if it were 500, and a scoring model that lived in a browser where nothing else could read it.

8 tracks · 36 lessons · ~7.2h · difficulty: intermediate-to-advanced

Level 0Raw Ore
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
A touchstone is a piece of dark stone. You rub gold against it, you look at the streak it leaves, and you compare that streak to a set of reference needles of known purity. The stone does not know what the market pays for gold, and it does not care whether you are buying or selling. It tells you what the metal is. That is the whole design brief for this app, and the reason a quest about market data can be about restraint rather than about signals. You will start with the boundary: what the product is, the four things it deliberately is not, and where it sits among its siblings — a portfolio app upstream that owns the holdings, a workshop pattern it borrowed for heavy analysis, and a required Pippa surface it talks to. Then the ethic rendered as architecture, which is the interesting part: not a disclaimer at the bottom of a page, but a set of engineering choices where a function returns a characterization instead of a call, a sorted list is documented as an ordering rather than a ranking, and the thing that makes a raw number meaningful is percentile context rather than a threshold that shouts. The middle of the quest is five separate ways to be dishonest with a number, each one drawn from something that actually went wrong. A snapshot stamped with the machine's calendar instead of the market's, in an app whose daily job runs at an hour when three markets disagree about what day it is. A percentile printed without the window it was measured against, when the windows in question run from three years to a century and a half. A fetch that truncated in a way that reads exactly like success, until you notice the ten largest companies in America do not include the largest company in America. A standard held so high in one corner of the product that the feature stalled for a day, while the rest of the product had been shipping a stated approximation the whole time. And a model that computed the headline number in a browser, where no command line, no delegation brief and no assistant could ever read it, and where it left no trace of where the needle had been. It closes on the fix that ties those together — numbers get one home, words get another — and on the queue that runs the heavy work, where pipelines are database rows instead of a code registry so a new kind of analysis can be designed in conversation instead of in a deploy. Conceptual open-sourcing: the architecture is the deliverable, not a repository you clone.

Tracks

  1. 01🪨The Touchstone

    0/4 lessons

    What the tool is for, and the four things it deliberately is not

    A touchstone is a piece of dark stone you rub gold against, comparing the streak it leaves to reference needles of known purity. It tells you what the metal is. It has no opinion about the price, no view on whether you should sell, and no way to become urgent. That is the entire design brief for a market valuation engine that shows you CAPE, the Buffett gauge, index multiples and a yield gap across three countries — and never once tells you what to do about any of them. This track establishes the boundary before any code: the product, its four deliberate refusals, and where it sits among siblings that already own the pieces it is not allowed to duplicate.

    The Touchstone assay: a gauge reading 73.5 out of 100 on a cool-to-historic-rich arc, labelled a rich late-cycle pattern and captioned as the weighted mean of seven indicators, each scored as its percentile within its own published history — not a forecast but a position report — with the three weighted categories broken out beside it and the indicator cards below showing the Shiller CAPE, the Buffett Gauge and the S&P 500 P/E together with the provenance of each series.
    Seven indicators, each read against its own history — the number is a position, never a recommendation.
    Lesson list (4)Quiz · 4 questions
  2. 02🧘Descriptive, Always

    0/4 lessons

    The ethic rendered as functions, return types, and docstrings

    Refusing to advise is easy to say and hard to build, because the useful thing and the advisory thing are usually one small step apart. This track is about where that step gets taken and how the code stops it. Percentile context as the mechanism that makes a raw number meaningful without making it urgent. A classifier that returns a phrase rather than a score to act on. A change summary whose own docstring insists that ordering is not ranking. And the family pattern behind all of it: three apps in three domains, each overriding the same refusal in its own vocabulary.

    Lesson list (4)Quiz · 4 questions
  3. 03🕰️Valuation Is Slow

    0/4 lessons

    The native clock, and why one rejected feature is permanent

    Daily close is this product's native cadence — not a compromise, not a first version. That single decision removes an entire category of complexity: no sockets, no reconnection logic, no per-second state, no intraday refresh loops. It arrives here from two independent directions, which is what makes it stick: a low-trigger design lineage inherited from the portfolio sibling, and a hard resource constraint where that same sibling owns the one live connection the shared data plan allows. This track covers the clock, the single in-process loop that keeps it, why 'add live prices' is a rejected feature rather than a backlog item, and how staleness becomes a displayed value instead of a hidden failure.

    Lesson list (4)Quiz · 4 questions
  4. 04📅The Market Owns the Date

    0/5 lessons

    A snapshot belongs to the market it describes, not to the machine that fetched it

    This track is one bug, followed all the way down. A daily loop runs at a quiet hour in Seoul, which is the evening of the previous day in New York, and every US row it wrote carried tomorrow's date. That is an ordinary timezone mistake with an extraordinary property: a row dated into the future sorts as the newest reading, so it kept being served after the code that produced it was fixed. Getting out required a rule that sounds like a contradiction — an append-only store where a correction deletes. Along the way: how you ask a provider for the date instead of computing it, why two markets legitimately disagree about today at a single instant, and why a fix that lands in one module is not a fix in the codebase.

    Lesson list (5)Quiz · 5 questions
  5. 05📏A Percentile Travels With Its Window

    0/5 lessons

    The ruler is part of the measurement, and this app's rulers are wildly unequal

    Percentile context is what makes a raw ratio mean something. It is also the product's most dangerous surface, because two percentiles printed in identical type assert a comparability they usually do not have. One gauge here is measured against roughly three years of history — a data licence trims the series — while another carries close to a century and a half. This track is about carrying the ruler alongside the reading: why the window belongs on the row, what to do for a series too young to have earned a percentile at all, and how a composite built from legs of different ages declares its own weakest one instead of averaging the honesty away.

    Lesson list (5)Quiz · 5 questions
  6. 06🧮A Partial Result Is a Wrong Result

    0/5 lessons

    Truncation that reads exactly like success

    Two of this product's sharpest bugs share one shape: a set that was incomplete, published as if it were whole. A paginated fetch silently threw away its cursor and stopped at 1,083 tickers in alphabetical order, dropping every megacap past the letter C. A separate pass, live the same afternoon, ranked 399 of an intended 500 and published the figure. Between them they produced one roster of "the ten largest companies in America" that was missing the largest chip company on earth and carrying a machinery maker instead — and it looked entirely plausible. This track is about the class: why truncation is invisible from the inside, what a positive control does that a validity check cannot, why a partial pass needs a named state of its own, and how a measurement is made affordable by splitting its inputs by clock rather than by sampling them.

    Lesson list (5)Quiz · 5 questions
  7. 07⚖️Approximate Honestly, or Not at All

    0/5 lessons

    A standard the rest of the product does not meet is not a standard, it is a stall

    The previous track was about incompleteness you cannot see. This one is about incompleteness you can — the deliberate approximations every data product has to make, and the discipline of making them out loud and consistently. It opens on a feature that sat parked for a day because one corner of the product demanded licensed precision while every other corner had been shipping a stated approximation from the beginning. Then: naming a measure for what it actually is rather than for the famous thing it resembles, extending a source that froze years ago with its assumption riding every row, deferring two gauges where the data genuinely does not exist and saying so on the surface, and the rule that governs which new sources may enter at all.

    Lesson list (5)Quiz · 5 questions
  8. 08🗃️Where the Numbers Live

    0/4 lessons

    A model in a browser cannot be stored, served, or audited

    The dashboard's headline figure — the composite that compresses eight indicators into one number — was computed in the browser and recomputed on every page load. It worked. It rendered correctly. And no command line, no delegation brief and no assistant surface could read it, and it left no trace, so the one question a position report invites — where has this needle been? — had no answer at all. This closing track is about the fix and what it implies: numbers get one home and words get another, pipeline definitions live as editable rows rather than frozen code, the engine queues heavy analysis rather than performing it, and a cache keyed on a write counter rather than a timer.

    Lesson list (4)Quiz · 4 questions
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.