Metadata
| Status | done |
|---|---|
| Assigned | agent-937 |
| Model | pi:openai-codex:gpt-5.6-sol |
| Created | 2026-07-30T21:30:50.681188751+00:00 |
| Started | 2026-07-30T21:33:36.973246686+00:00 |
| Completed | 2026-07-30T22:31:32.281375036+00:00 |
| Tags | chat, prompting, policy, regression |
| Tokens | 32251091 in / 52019 out |
Description
The bundled universal role contract in src/text/agent_guide.md intentionally imposes an obsolete thin-task-creator policy on attended chats: it says chat agents must only create/publish WG tasks, NEVER read/search/edit source or run commands/tests, and may read only WG state. A production Pi chat obeyed that prompt and refused a human request to read repository files. The product decision is now explicit: an attended chat is the human's interactive repository operator. It should carry out the human's explicit request with the normal handler tool surface—read/search/explain/edit/run/test or delegate to WG workers—rather than forcing every action through wg add. Delegation remains available and often useful but is not mandatory.
Replace the attended-chat contract everywhere it is injected or duplicated (universal guide, Pi/Claude/Codex addenda/first-turn prompts, generated docs/examples, prompt snapshots). State that explicit human direction authorizes ordinary repository inspection and mutation within actual OS/project/tool scope. Require confirmation for genuinely irreversible/external side effects and accurately report a real missing tool/policy denial; never fabricate a blanket “contract does not allow reading files.” Preserve the distinct dispatcher, worker completion/finalization, bounded evaluator, and deep-FLIP containment contracts exactly. Do not grant unattended agents chat authority or weaken isolation.
Audit chat task exec_mode/context/cwd and handler argv after the preceding TUI transport fix so Pi receives its normal built-in tools plus WG tools. A user request to read a known repository file must result in a real read and answer; a user request to make a harmless edit/test may do so; a request to create/delegate a WG task still works. Mere discussion must not trigger unsolicited mutation. Update migration/release notes because this intentionally changes long-standing behavior and existing tests currently assert the old STOP/NEVER prompt.
Validation
- Prompt/unit snapshots for Pi, native Codex, and Claude attended chats contain the human-directed operator contract and exclude the old blanket source/tool prohibitions.
- Worker, bounded evaluator, and deep-FLIP prompt/capability tests remain unchanged and fail closed.
- Credential-free behavioral chat smoke asks fake/model chat to read a known file and proves the tool request/path/result; separately exercise a harmless user-directed edit/command and WG task delegation.
- Assert no unsolicited write occurs for a read-only/conversational request and irreversible/external actions still require explicit confirmation.
- Run relevant chat prompt/tool smokes, focused Rust tests, cargo fmt --check, and cargo clippy.
Depends on
- (none)
Required by
- (none)
Log
- 2026-07-30T21:30:50.625018233+00:00 Task paused
- 2026-07-30T21:30:55.221481134+00:00 Task published
- 2026-07-30T21:33:37.251447096+00:00 Spawned by coordinator --executor pi --model openai-codex:gpt-5.6-sol --isolation required-worktree
- 2026-07-30T21:33:49.566745839+00:00 Starting implementation: auditing attended-chat contracts, handler setup, tests, smoke, and release notes.
- 2026-07-30T21:47:03.778824584+00:00 Prompt and runtime implementation drafted: new attended operator contract across universal/fallback/Codex/Pi/Claude, full chat metadata, Pi built-ins + WG extension argv, and credential-free TUI behavioral smoke. Running focused tests now.
- 2026-07-30T22:29:58.565634487+00:00 Implemented and pushed a904fa47 (origin/wg/agent-937/restore-attended-chat-user-authority). Validation: focused attended Pi/Claude/Codex prompt and coordinator-prompt tests PASS; attended_chat_user_authority real-daemon+tmux behavioral smoke PASS; cargo fmt --check PASS; cargo clippy PASS with pre-existing warnings; cargo install --path . --locked PASS. Serial cargo test --workspace --all-targets: library 3043/3043 PASS and smaller targets PASS; wg bin has 26 known unrelated baseline failures in add route-format, fail-attempt, recover legacy flags, and two TUI layout tests (none touch this change); 3820 bin tests PASS.
- 2026-07-30T22:31:32.281375276+00:00 Task marked as done