Q3 pricing model, assumptions and open questions
Shared 2 days ago · claimed once by Dana
Under DEC-025 a Code is minted only when someone deliberately hands context over. Most objects will never have one. Every surface built on the assumption that a Code is always present now has a second state it was never drawn for.
This page draws that second state. The Code stays the hero artifact; nothing is promoted to stand in for it.
A Code means someone chose to share this. No Code means it never left. both states are correct
Ordered by how easy each one is to break by accident. L3 is the load-bearing one: it is the rule the rejected draft violated, and the rule a designer breaks by reflex when they see empty space where the Code used to be.
No placeholder, no em dash in the Code slot, no dashed outline, no “not shared” stamp. A symbol standing for nothing happened is exactly what reads as an error: scanning a list, nobody can tell a deliberate dash from a failed fetch. Shared objects are marked. Unshared objects are quiet.
The accent tracks where intent lives. Shared: the Code, in --accent-text. Unshared: the invitation, in --accent-fill. The surface never loses its accent and never doubles it, and the two states differ by shape (a mono token against a filled button) rather than by hue, so the distinction survives greyscale and the plain-text harness.
Same slot, same size, same weight, same colour in both states. The title’s job is recall, finding your own work again; the Code’s job is sharing. Different jobs, so they neither compete nor substitute. On an unshared object the title is a label, which is what it always was.
On lists, “never shared” is a filter you select, not a badge on every row. Make the set selectable and absence reads as a population you can count, instead of a mark repeated dozens of times that each looks like missing data.
Same object, same layout, one difference. On the shared relay the hero slot holds the Code. On the unshared one the slot is absent, not empty: the layout closes up and the share action takes the accent. Read them side by side; the contrast is the whole product story.
Shared 2 days ago · claimed once by Dana
This is the surface the Code was designed for, and lazy mint makes it better: minting on every object made the Code wallpaper, minting on intent makes it earned. Its first appearance now has a cause, so it gets the one event animation on the panel and nothing else moves. Press the button.
Hand this context to a person, an agent, or your next session.
A Code means someone chose to share this.
Anyone with this Code can claim the context.
Most rows have no Code, and that has to look ordinary. The rail carries a Code or carries nothing, so the eye reads circulation down a single column without a symbol for the negative case. The state stays reachable because the segment control makes it a set you can select and count.
Every rejected direction below was an attempt to fill the hole the Code left. Each is drawn here so it is not proposed again.
The title keeps its rank. It was a label before the Code was absent and it is a label now, so the surface has no gap to fill and no new component to build.
This looks like the least interesting answer on the page, which is the point: the interesting decision was refusing the other four.
The title is the most generic field in the schema; every competing tool has one. It cannot carry a verb surface.
The deeper cost is what it teaches: that the hero slot is a container for whatever happens to be available, rather than a claim about identity.
Mono, uppercase, letterspaced, sitting in the Code’s slot. It borrows the artifact’s clothes while having none of its properties: not short, not unique, not shareable, not speakable over a phone.
Worse than promoting the title outright, because it is the same mistake wearing a disguise.
IDs are lowercase hex machine handles and are not a display surface. The narrow alphabet is deliberate: it keeps them shape-disjoint from uppercase Codes, which is what lets one resolver dispatch on shape alone.
Rendering one to a person also invites the demand to prettify it, and prettifying identifiers is identity churn.
An em dash, a ghost lozenge, or a “not shared” chip. At a glance none of them is distinguishable from a failed load, and each spends the row’s attention budget on a non-event.
It also forces screen readers to announce nothing-happened to the people least able to skip past it.