A smaller interaction grammar
From the Meridians Wiki · Public · Maintained · joint
The five-stage human loop is the product model, not five different interfaces the user must learn. Across activation, daily use, research, tutoring, and Positions, the UI should repeat three familiar behaviours:
- Say what you mean in the field already in front of you. The host surface supplies the context; the user types or taps the same trailing mic button to dictate. Voice fills editable text and never auto-sends, auto-commits, or becomes a separate Voice mode. Chat, Onboarding, Notes, prior contribution, and Position correction keep their existing write paths.
- Review one consequential thing. A result is a normal Story, or uses the same focused review grammar before it can become one: inspect the evidence, accept/confirm, correct, or defer. Onboarding's “What I heard,” a research finding, a Tutor proposal, and a re-priced Position read must not each invent a different approval experience.
- Continue from one clear place. Home presents exactly one primary continuation: begin, resume, review what moved, repair a blocker, or see that the user is caught up and when the expert runs next. The exchange and advanced studios remain available below it; they are not the first-run curriculum.
This is not a second human loop and these are not new domain nouns. It is an interface compression: the user can learn one composer, one review pattern, and one way to continue while the Program keeps its full Research → Opinion → Merge → Position semantics underneath.
Home as the continuation surface
The shipped Home is primarily an exchange and tool switcher. The next push should preserve those tools but place a derived continuation card above them. The card resolves from canonical state and never stores a parallel onboarding or “current task” flag. At most one row below is primary:
| Priority | Condition | Primary continuation |
|---|---|---|
| 1 | access is read/export-only, or a provider/runtime prerequisite blocks safe work | explain the consequence and offer the one repair or export action |
| 2 | an Onboarding document or other user-started guided flow is incomplete | resume at its last durable boundary |
| 3 | a Story or re-priced Position read awaits human judgment | review the most consequential pending item |
| 4 | completed background work is ready | open its normal Story or owning review surface |
| 5 | work is running | show its current phase and allow restoration; do not compete with it using another CTA |
| 6 | the user is caught up | show healthy/quiet status and the next cadence |
| 7 | no useful expert exists | begin the guided first-expert flow |
Within the same priority, consequence outranks recency; ties use recency. The resolver may compose the same pure activation, Story, job, schedule, and Position reads used by headless clients. Do not add an opaque UI-only lifecycle to make the card easier to render.
Implement this as a pure shared deriveHomeContinuation selector, not a React effect that makes product
decisions. useHomeState feeds it hydrated canonical projections; the planned read-activation query
uses the same selector during activation so UI, Pilot, and MCP agree. Its result is a small discriminated
value—blocked | resume | judgment | ready | running | caught-up | begin—with a title, summary, source
reference, timestamp, and one typed continuation/resource descriptor. HomeContinuationCard renders that
same value in HomeDesktopView and HomePhoneView; it does not own progress. This keeps policy in pure
core, navigation in the shell, and writes behind the owning action/operation.
Long work uses the shipped FloatingDock / DockPill family.
Onboarding grounding/builds, Graph/Reading construction, and Position construction minimise into that one
place with running, done, or error state and a plain-language phase. Clicking restores the owning
surface; completion opens the normal review/Story path. A new task centre is not required for the first
release.
Progressive disclosure by consequence
The first path asks for the user's goal and judgment, not Meridians' internal vocabulary. Terms such as paradigm, extraction, breadth, cycle, CRG, temporal vantage, and monitor mode remain available when a user inspects or configures them, but are not prerequisites for first value. The default Position answers “where is this heading, how confident, what are we watching, and why?” before it offers graph authoring. The default research handoff answers “what did it read, what changed, and why does it matter?” before it opens the research console.