Follow-up: Tasks/Goals/Workstreams on mobile, web, and non-macOS surfaces
Dependency
Blocked by #9352. Do not start UI work here until the epic's canonical backend contract (goals, workstreams, tasks, task candidates, feedback) is authoritative (read mode) for the whitelist cohort and the macOS experience has shipped to beta. The backend contract built in #9352 is the only contract these surfaces consume — no surface-local schemas, no parallel authorities.
Context
#9352 deliberately ships macOS-only UI to the canonical-memory whitelist cohort. Whitelist users get an intentionally incomplete mobile experience during that window. This issue closes the gap.
Scope
Mobile (Flutter)
- Read/write the same canonical goals, workstreams, task links, candidates, and feedback state — no local-preference goal links, no invented fields.
- Quiet Suggested lane with the same three-choice feedback (Do now / Later / Dismiss; three dismiss reason chips). Same noun budget: Goals and Tasks are the only user-facing nouns; the workstream renders as the thread behind a task / sections of a goal, never a third managed list.
- "What matters now" rendering (max three items, evidence-backed, no filler).
- Append user events (notes, feedback) to workstream journals so the next desktop agent continuation sees them (epic scenario 7: cross-device event).
- Desktop-only capabilities (local screen context, agent execution) degrade gracefully; mobile must never show invented execution state.
- Mobile provider/widget integration tests for universal state and feedback (moved here from the epic's test requirements).
Web / chat / other surfaces
Non-goals
- No mobile-local agent runtime or execution state.
- No mobile-side extraction pipeline changes.
- No new schema — if a field is missing, fix the canonical contract in the backend first.
Acceptance
- A task accepted on mobile appears with the same evidence/relationships on desktop.
- A mobile workstream event is available to the next desktop agent continuation.
- Old mobile clients keep working via the epic's compatibility projections until this ships.
- Surface capability gaps are explicit in UI; no fabricated agent state.
Follow-up: Tasks/Goals/Workstreams on mobile, web, and non-macOS surfaces
Dependency
Blocked by #9352. Do not start UI work here until the epic's canonical backend contract (goals, workstreams, tasks, task candidates, feedback) is authoritative (
readmode) for the whitelist cohort and the macOS experience has shipped to beta. The backend contract built in #9352 is the only contract these surfaces consume — no surface-local schemas, no parallel authorities.Context
#9352 deliberately ships macOS-only UI to the canonical-memory whitelist cohort. Whitelist users get an intentionally incomplete mobile experience during that window. This issue closes the gap.
Scope
Mobile (Flutter)
Web / chat / other surfaces
Non-goals
Acceptance