Thinking
Expandable traces — steps, reasoning, search, coding.
© 2026 constantin.studio — resourcesPrimitives for AI-native interfaces
Expandable traces — steps, reasoning, search, coding.
Provenance at three depths: chip, count, full list.
Contributor attribution is the archive's largest gap: 38% of the 1974 series has no named photographer, and licence terms are missing on half of those. Source: archive-index.example.orgTwo partner catalogues publish the same series with fuller records.
Follow-ups
Human in the loop. One question at a time.
Pending work, with the time it has taken.
Reading 6 collections. This runs in the background, so you can leave the page.
Three emptinesses, and they are not the same thing.
Point the indexer at a source and its assets will appear here as they are read.
What happened, what to do, detail underneath.
The source returned an unexpected response. Nothing was written to the index.
GET /collections/rijksmuseum/assets → 502 Bad Gateway (request 8f21c4, 14:22:07)
Five run states, each carrying its own glyph.
A condition that persists, dismissed on purpose.
Three connectors are dormant
Rijksmuseum, Smithsonian and Harvard are written but waiting on API keys.
It already happened, and here is how to take it back.
A query, a scope, and an honest count.
8 records in All fields
A label that stays, and one line for hint or error.
Use lower case letters, numbers and hyphens only.
Ends, neighbours, and the range in words.
121–140 of 1,204 assets
Enter sends. While working, send becomes stop.
Enter to send, Shift+Enter for a new line.
Who is speaking, told three ways at once.
Which collections have unresolved licence terms?
Provenance as its own primitive.
Contributor attribution is the archive’s largest gap: 38% of the 1974 series has no named photographer.Source: archive-index.example.org
Arguments in, result out, both on demand.
{
"collection": "rijksmuseum",
"query": "derivative rights",
"limit": 20
}{
"matched": 61,
"returned": 20,
"unresolved_licence": 61,
"sample": ["RM-1974-0112", "RM-1974-0118"]
}What the agent wants to change, before it changes it.
Applies the stricter of the two conflicting terms to the whole series, so nothing publishes under a licence the contributor agreement does not permit.
How sure, and — the useful half — on what basis.
The 1974 series should publish under CC BY-NC.
The next question, offered rather than waited for.
Copy is the component. Wrapping is the reader's choice.
curl https://archive-index.example.org/v1/collections \ -H "Authorization: Bearer $ARCHIVE_TOKEN" \ -d '{ "series": "1974", "resolved": false }'A number, what it counts, which way it is going.
Two forms, one dataset. No charting library.
Sortable, selectable, tri-state header.
| Status | |||
|---|---|---|---|
| Cleveland Museum | 1,204 | Indexed | |
| Selected. Art Institute | 980 | Running | |
| Harvard Art | 342 | Blocked | |
| Rijksmuseum | 61 | Failed | |
| Smithsonian | 0 | Queued |
1 of 5 selected
Detail beside the list. Both stay live; Esc closes.
Presets first, because nobody wants a calendar.
Showing 30 Jul – 06 Aug · 7 runs
What it cost, what is left, and when that resets.
8% left before runs queue.resets in 6 days
Licence on the face, actions on hover and focus.
Grouped filters, each with a count, and what they hide.
What is on, and how to turn it off.
Query by image. A button as well as a target.
The box every layout is made of. Header, body, floor.
Rail, main, aside. A product's chrome, not this site's.
Grouped rows, one of them current. Not a facet.
What you picked, and the verb for it. Floats, so the grid holds still.
Where folded chrome comes back. Nothing folds without a way home.
The actions a surface has but does not show.