← Corpus / augment-it / reminder

Pickup notes — 2026-06-01

Today's session pivoted from reactive demo-prep patching into spec work. The user named the pattern — affordances that hide, die, mismatch, or misname — and asked us to stop patching and develop a spec. We did. The whole-shell UX-coherence spec is now Draft with 8 locked decisions, 12 evidence items, 3 confirmed failure shapes + 1 emerging, 4 surfaces audited (Pack Runner, PTM, Record Collector, Shell), 3 open architectural questions, and a 'wish list' that already spawned four sibling context-v stubs (two specs, two blueprints). Nothing was implemented past the live demo-prep patches; everything else is held at the sign-off gate. The user explicitly said: don't start implementation before sign-off.

Path
reminders/Pickup-2026-06-01.md
Authors
Michael Staton
Augmented with
Claude Code on Claude Opus 4.7 (1M context)
Tags
Augment-It · Pickup · Next-Steps · UX-Coherence · Spec-Development · Mon Jun 01 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

Pickup notes — 2026-06-01

TL;DR for the next session

  1. Open [[../specs/Shell-and-Micro-Frontend-UX-Coherence]] first. It’s the spec we developed today. Status: Draft. 8 locked decisions, 12 evidence items, 3 open architectural questions, a wish-list section that already spawned four sibling stubs.
  2. Honor the sign-off gate. The user explicitly held implementation. Do not write code against the locked decisions until the user signs off on the spec (look for “approved”, “ship it”, “let’s build” or similar).
  3. Two memory deltas from today that the next agent should respect from the first turn — they’re in MEMORY.md but worth naming here: cluster-then-spec-not-patch and holistic-framing-preferred.

What got done today

Live demo-prep patches (the only code that shipped this session)

These were applied during the demo-prep walk-through, before the user named the systemic pattern. Recorded in the spec’s evidence log so they aren’t double-specced or rolled back accidentally:

  • apps/pack-runner/src/app.css — the .fire-card is now position: sticky; bottom: 0 so the Fire button can’t hide below the fold.
  • apps/pack-runner/src/App.svelte — added a “Response Reviewer →” button in the fire-card that dispatches augment-it:navigate { remoteId: 'responseReviewer' }. Available during firing so the user can hop over and watch results stream in instead of staring at “firing…”. Also added a while-firing hint explaining that the fan_out is server-side and Response Reviewer auto-refreshes on the response.created broadcast.
  • apps/enhanced-records-list/src/App.svelte — the “Do another round of enhancements →” button used to call dismissSuccess (banner-close only); it now dispatches augment-it:navigate { remoteId: 'promptTemplateManager' }. The shell’s nav handler comment had literally named this affordance, but the dispatch was never wired.

Caveat: items 2 and 3 above are un-shipped slices of [[../plans/Run-as-First-Class-Operation]] Part 4 — hand-implemented under demo pressure. Decision §3 in the new spec says: ship Part 4 properly (subscribe to run.updated, real per-outcome live progress) and replace these stand-ins.

Operational fix (no code, just docker compose)

  • The searxng container had never been created on this machine — the first pnpm stack up of the session got interrupted before the image pull completed, leaving 9 services up but searxng absent. I brought it up with docker compose up -d searxng. The container is healthy and its JSON API returns real results. Before resuming the demo, run docker compose ps and confirm all 10 services (searxng included). Without it, the SearXNG provider silently returns errors and records fall back to showing pre-existing Tavily candidates — the “populated with Tavily when I clicked SearXNG” symptom from this session.

Backups

  • .backups/2026-05-28_183657/ was created via bash scripts/backup-stores.sh — full snapshot of all four stores (response-store 631 KB, row-store 277 KB, prompt-store 650 B, workspace-service sessions 1 KB) with a MANIFEST.txt pinning to the git HEAD at that moment. .backups/ is gitignored.

New context-v files (the real product of today)

PathTypeStatusNotes
context-v/specs/Shell-and-Micro-Frontend-UX-Coherence.mdSpecDraftThe big one. Whole-shell UX audit, 8 locked decisions, 12 evidence items. Renamed mid-session from Run-Invocation-Surface-UX.md when scope broadened.
context-v/specs/API-First-In-App-Documentation.mdSpecDraftStub. Per-remote in-app docs reveal via CTA. Motivated by the dual identity.
context-v/specs/Initial-User-Experience.mdSpecDraftStub. Landing → small onboarding → first productive action.
context-v/blueprints/Augment-It-as-Working-App-and-Architecture-Demo.mdBlueprintDraftStub. Names the dual identity (working app + microservices/microfrontend/API-first demo) as project-level framing.
context-v/blueprints/Auth-Patterns-following-Astro-Knots-Patterns.mdBlueprintDraftStub. Translates Astro Knots auth conventions into the augment-it Rsbuild + Module-Federation + NATS architecture.

All four sibling stubs are frontmatter-only with H1 + HTML-placeholder comment

  • Related-section wikilinks. Bodies await dialog with the user, per the stub-first rhythm in ~/.claude/skills/context-vigilance/references/developing-a-spec.md.

The eight locked decisions (so future-you doesn’t re-litigate)

From [[../specs/Shell-and-Micro-Frontend-UX-Coherence]] § Decisions:

  1. Pack selection stays multi-select; add the missing none / “only this” helpers symmetric with the ROWS section. Not a model redesign.
  2. Defaults unchanged — the entity-name foot-gun and the all×all firehose are explicitly parked in Open questions. Not in scope for this spec.
  3. Ship [[../plans/Run-as-First-Class-Operation]] Part 4 properly — replace the hand-patched “Response Reviewer →” + while-firing hint with the real run.updated-subscribed live progress.
  4. “Augment This Set” set-level button in Record Collector. Label locked. Target: dispatch augment-it:navigate { remoteId: 'packRunner' }, which the shell’s nav handler turns into openPair( 'packRunner+promptTemplateManager') — the enrichment split. Set is pre-selected via the existing localStorage active-set keys (unify them).
  5. Enrichment-mode is exclusive UI. When the user picks a mode in the PTM ⇄ Pack Runner split, only that mode’s body renders; the other hides. The two big tabs collapse into small icon-with-tooltip switchers.
  6. Peek-deck position labels anchor to the pane’s left margin. Mechanic: .peek-overlay { justify-content: flex-start } in shell/src/App.svelte.
  7. Rename “Deck” → “Flow” across the shell. UI label, LayoutMode type literal peek-deck, plus comments in App.svelte / layout.svelte.ts / remotes.ts. Confirm no localStorage key persists 'peek-deck' (would need an old→new migration if so).
  8. Flow is the primary; Split/Full are layout sub-options. Three-tier widget: Flow parent label > bubble-numbered progress strip (one bubble per REMOTES step, tooltip = step name, click = navigate) > Split / Full small icon-with-tooltip toggles. Plus a top ↔ left-column position toggle, persisted.

The three open architectural questions (parked, awaiting decision)

  1. Enrichment-surface composition (from Decision §5): wrap PTM + Pack Runner inside a new enrichmentSurface parent remote, or keep them as separate paired remotes that share mode state via the existing augment-it:enrichment-mode window event?
  2. Flow widget default position (from Decision §8): top (horizontal, minimal change) or left-column (vertical, always-visible workflow rail)?
  3. One enrichment bubble or two in the Flow strip? Decision §5 unifies PTM ⇄ Pack Runner as one enrichment surface, but REMOTES currently lists them as separate rotation entries.

Plus the meta-question: do we fork per-surface child specs as the audit deepens, or keep one parent doc with the audit table?

Parked items (explicitly out of scope, don’t re-raise without permission)

These are real problems the user named today and deliberately deferred:

  • Entity-name column foot-gun. Setting it to url silently produces garbage; no warning. Spec is Draft; defaults stay as-is.
  • All-rows × all-packs default firehose. 672-cell run can exceed the 10-min workspace timeout. Default stays as-is.

What to verify before resuming

# In ai-labs/augment-it/

# 1. Stack is all 10 services (especially searxng)
docker compose ps
# Expect: ingest, nats, prompt-runner, prompt-store, response-store,
#         row-store, searxng (healthy), social-search, workspace-service,
#         xlsx-ingest

# If anything is missing:
pnpm stack down && pnpm stack up

# 2. Confirm the backup is still there
ls .backups/2026-05-28_183657/

# 3. Re-read the spec
$EDITOR context-v/specs/Shell-and-Micro-Frontend-UX-Coherence.md

Where to pick up — three legitimate paths

In rough order of “what the user would most likely want first”:

  1. Sign-off gate. Ask the user explicitly: is the spec ready to sign off? If yes, bump status: Signed-Off, bump semantic_version (likely 0.0.1.0 or 0.1.0.0), do the narrative pass on the spec, then pair with prompts. If no, continue developing.
  2. Continue the audit. The user suggested Response Reviewer as the natural next surface — to resolve the “run a pack” verb mismatch between PTM/Pack Runner and Response Reviewer’s by-record view. Other needs-audit surfaces: Request Reviewer, Chat, the rest of Prompt Templates and Record Collector and Shell.
  3. Ship the decision-locked small ones ahead of full sign-off if and only if the user asks for that — they offered to break out the demo- critical items earlier (pack none/solo helpers + “Augment This Set”) but did not authorize the break-out before pivoting to spec work. Default behavior: don’t.

Memory deltas from today

Both saved under ~/.claude/projects/-Users-mpstaton-code-lossless-monorepo-ai-labs-augment-it/memory/:

  • feedback_cluster_then_spec_not_patch.md — when ~2–3 related UX/ affordance fixes pile up in a session, name the pattern and offer a context-v spec; check existing plans/specs first because the design may already exist unshipped.
  • feedback_holistic_framing_preferred.md — even a single observation deserves the system-level reading first (pattern it instances, related decisions, whether it merits its own context-v doc) before slotting it as a discrete item.

The user named the second one directly: “you tend to be good with wholistic improvements rather than piecemeal instructions.” Read both before the first turn of the next session.

  • [[../specs/Shell-and-Micro-Frontend-UX-Coherence]] — the spec this session produced
  • [[../specs/API-First-In-App-Documentation]] — sibling stub
  • [[../specs/Initial-User-Experience]] — sibling stub
  • [[../blueprints/Augment-It-as-Working-App-and-Architecture-Demo]] — sibling stub
  • [[../blueprints/Auth-Patterns-following-Astro-Knots-Patterns]] — sibling stub
  • [[../plans/Run-as-First-Class-Operation]] — un-shipped Part 4 is referenced by Decision §3
  • [[Pickup-2026-05-27]] — the prior pickup; today’s session built on its “Where things stand” foundation