Bristlenose · mockup

Codebook Library — stages, states & text

Review artefact for the Library → Add → Apply → enable/disable lifecycle. Every stage, every state, real strings, real tokens. Plan: docs/design-codebook-library.md. Switches below are live — click them to feel the fold.

Palette Dark mode follows your OS

1 · Codebook Library

The catalogue (install axis). Add ↔ Remove — one toggling button sharing a fixed footprint so the column never shifts. Add is free; Remove uninstalls (re-add later is free, retained). No enable/apply here — that's the codebook page.

States shown: not added (Add) · added (Remove, muted — same footprint as Add, so the right edge holds) · coming soon (greyed) · create new. Remove takes it out of your codebook entirely (back to Add here); the on/off + apply live on the codebook page. Decide later: dim an added tile to ~80% since it's no longer "addable"? Open Q2: "Your codebooks" apart from the frameworks shelf?

2 · Your codebook

The workbench. Trailing control morphs Apply → switch on → switch off (fold). Title flush left; state on the right.

Landing: clicking Add in the Library closes the modal immediately and drops you here, anchor-scrolled to the codebook you just added, its Apply to N quotes button sitting at the top of your eyeline.

Click the switches ↓ — watch the groups fold into the line and the rows below slide up
Added · not yet applied (this is your eyeline on landing)
Command-Line UX
214 quotes · not yet applied
Applied · enabled ⇄ disabled (live — click the switch)
Emotional & Cognitive Signals
7 tag groups · 142 tags7 tag groups · off · kept
Sentiment
frustration confusion delight
Pain points
friction dead end
Command-Line UX
6 tag groups · 88 tags6 tag groups · off · kept
Ergonomics
flag-short-vs-long verb-noun-mismatch
Mental model
--help-reliance exit-code-unaware

secB starts folded to show the disabled resting state: one line, "off · kept", switch ready to bring it back — free, no re-spend. No Remove on this page — the slider is disable (Hide/fold), not removal. Remove lives in the Library (uninstall) — a different axis.

Apply progress is out of scope this session. "Auto-coding 214 quotes…" is the existing floating activity indicator (already engineered to stay visible across every lens) — it is not an inline spinner in the codebook. Where it ultimately lives (project-status line / titlebar pill) is a separate session.

3 · Sidebar status

Status only — never a control. Lone dot, blue = on / grey = off, echoing the switch. Aligned to the first line like a bullet, so it holds its place when a long name wraps.

Your codebook
Emotional & Cognitive Signals
Command-Line UX & Developer Ergonomics Framework
Bristlenose UXR Codebook
Codebook Library →

The second row wraps to two lines — the dot stays pinned to the first line (bullet alignment via flex-start + optical margin-top), not floating in the vertical centre of the wrapped block.

Toggle Edo above to check the blue holds in the warm palette.