Metadata
| Status | done |
|---|---|
| Assigned | agent-940 |
| Model | pi:openai-codex:gpt-5.6-sol |
| Created | 2026-07-30T21:38:01.457433782+00:00 |
| Started | 2026-07-31T05:05:34.657303292+00:00 |
| Completed | 2026-07-31T05:23:38.067742490+00:00 |
| Tags | concierge, pi, chat, ux |
| Tokens | 18214897 in / 33090 out |
Description
WorksGood currently makes a user who only wants an attended Pi chat configure repository-wide strong/weak model routes, reasoning, profiles, and a supervised LLM service. This conflates two distinct products and produced the reported confusing flow: complex pi:provider:model setup, service identity/IPC failures, and route-less historical evaluator noise before the user could simply talk to Pi. The product decision is user-controlled simplicity.
Create a first-class simple attended-chat path: WorksGood verifies the Pi executable, ensures the compatible WG plugin, and launches/creates a bare attended Pi session with no WG --model override. Pi owns authentication, provider/model selection, and model switching through its own UI. This path must not require a named profile, worker/evaluator route, reasoning tier, running dispatcher, agency readiness, or repository-wide service identity. It must not silently select a model or mutate unattended automation routes. Opening a graph without AI remains available.
Move repository-wide automation configuration behind an explicit separate choice such as “Enable/configure unattended workers and evaluation (advanced).” Only that choice requires exact worker/chat and agency/eval routes plus effective reasoning and service reconciliation. Clearly explain that those settings govern unattended dispatch, not the model the human may choose in an attended Pi session. Preserve fail-closed route/reasoning invariants for daemon workers/evaluation and preserve explicit per-chat model pinning as an optional advanced action.
The default attended journey should be conceptually: worksgood → New Pi chat → Pi login/model picker. Avoid profile terminology, strong/weak labels, endpoints, or service startup unless the user explicitly chooses automation. Reuse the accepted TUI bare-Pi/IPC/input fix rather than creating another chat transport.
Validation
- Fresh graph with Pi installed and no profile/config/service can open a usable bare Pi chat; argv contains no model override and Pi receives keyboard input.
- Missing Pi gives one concise install/auth action without writing model/profile/service state.
- Attended chat model changes do not rewrite project worker/evaluator routes.
- Choosing unattended automation still requires exact routes and reasoning and starts only the authenticated paired service.
- Existing explicit
worksgood setup --modeland advanced two-model flows remain available but are not presented as prerequisites for chat. - Add credential-free PTY concierge/TUI smokes and run focused tests, cargo fmt --check, and cargo clippy.
Depends on
- (none)
Required by
- (none)
Log
- 2026-07-30T21:38:01.426246691+00:00 Task paused
- 2026-07-30T21:38:27.858005293+00:00 Task published
- 2026-07-30T22:00:06.535907651+00:00 Spawned by coordinator --executor pi --model openai-codex:gpt-5.6-sol --isolation required-worktree
- 2026-07-30T22:00:18.029840154+00:00 Starting implementation; inspecting prior WIP and current concierge/TUI Pi setup paths.
- 2026-07-30T22:13:09.437690362+00:00 Implemented bare attended path and fixed route-free explicit Pi chat creation; new real tmux/TUI smoke passes (bare Pi input, no model/service state, missing-Pi write-free, advanced automation dry-run).
- 2026-07-30T22:32:52.595677289+00:00 Focused validation passes: chat_cmd units (21), concierge units (17), new bare attended PTY smoke, existing advanced one-model setup smoke, and rebaselined automation lifecycle smoke.
- 2026-07-30T22:46:40.916548371+00:00 Validation: cargo build passes; cargo fmt --check passes; cargo clippy passes (repository baseline warnings only); focused chat/concierge tests pass; PTY smokes worksgood_attended_pi_simple, worksgood_one_model_setup, and worksgood_concierge pass. Full cargo test was attempted twice and remains red on unrelated pre-existing legacy route/fail/recover/TUI tests (focused changed suites are green). cargo install --path . --locked completed.
- 2026-07-30T22:47:17.507605814+00:00 Committed: 5ae40094 — pushed to remote
- 2026-07-31T05:05:30.822503595+00:00 Task reset for retry from in-progress (attempt #1) — reason: repair candidate wgcid:v1:blake3:25502867e2c3e8b8bf3995026839dec541716b6c17d151c73b3ba8081987af28 after merge.target_moved
- 2026-07-31T05:05:34.898773166+00:00 Spawned by coordinator --executor pi --model openai-codex:gpt-5.6-sol --isolation required-worktree
- 2026-07-31T05:05:45.921290326+00:00 Starting implementation; inspecting prior WIP and current attended Pi/TUI setup flow.
- 2026-07-31T05:17:37.972719461+00:00 Rebased onto moved main (including attended chat authority/plugin path), resolved manifest grow-only conflict, and adapted the PTY smoke to require the accepted explicit -e compatible plugin while still forbidding model/provider/thinking/RPC overrides. Focused unit and all three concierge smokes pass.
- 2026-07-31T05:22:00.495206348+00:00 Validated after target-move integration: cargo build; 17 concierge unit tests; 21 chat command unit tests; cargo fmt --check; cargo clippy (success, baseline warnings); worksgood_attended_pi_simple PTY smoke; worksgood_one_model_setup smoke; worksgood_concierge automation lifecycle smoke; cargo install --path . --locked. Commits: 40196456 + e94658b8; merge 22c3ea3a pushed without force.
- 2026-07-31T05:23:38.067742670+00:00 Task marked as done