Skip to content

fix: onset router — state-aware options instead of first-run menu for everyone #508

Description

@aarontrowbridge

Problem — The onset router offered a first-run option set (application entry cards, "start from a system") regardless of who was asking. A returning researcher with an active problem, a campaign ledger, and a fleet got the same menu as a fresh install — so the greeting defaulted to pulse-design framing instead of reflecting the studio's actual state.

Approach — Make the router state-aware by instruction: the options are composed from the live stack state (active problem, campaign ledger under the personal vault's sessions/, fleet line) — resume options appear ONLY when the state supports them; first-run entry cards appear only when no profile is recorded. A specific opening ask still skips the question entirely.

Acceptance Criteria

  • The router mandates the single question-tool ask ("What do you want to do today?") for openers without a specific request.
  • Resume-active-problem and resume-campaign options are marked ONLY-when-state-present.
  • First-run entry cards render only in the no-profile branch, replacing the resume/fleet options.
  • The never-a-dead-end and no-silent-heuristic rules survive the rewrite.

Source

Follow-up observed live while tuning the onset greeting (hand-applied to the canonical server's staged prompt first; this lands the same text in the repo).

Notes

Router text is pure (buildRouterSection(visible)); golden router-section.md regenerated. Verification: router tests updated and green, golden parity 5/5, extension suite 1209 passed / 5 skipped / 100 files, typecheck clean.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    hitlNeeds human decision or review

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions