Skip to content

Build and test: the supervisor's asks never show in the chat as questions with options #881

Description

@brianjfox

At Build and test the Build supervisor's status asks the person for things under "What I need from a human", but the chat never shows those asks as a question with options the way every other stage does. The person sees two short status lines in the chat, a numbered list buried in the document pane, and no control to answer with.

Seen on the Workout Log project (tnt_85eac686524237ff1f730eaa1a558ab6), 2026-10-11: the opening status listed four numbered items under "What I need from a human" (fix the target, seed material, Anthropic key, start the attempt); the interim status two. The chat showed only each status's first paragraph. The worker then stopped on its own (exit 0, 9 turns) asking "Which approved target should govern: iPhone, withdrawing the desktop target, or desktop with an amended PRD and plan?", and that question reached the person only inside the worker's final text and QUESTIONS.md.

Why

Two things, both needed:

  1. The chat cuts the status at its first heading and offers nothing to tap. StageConversation (apps/web/src/pages/workspace/thread.tsx) shows a specialist turn as conversationLead(body): the paragraph before the first ##. The questions a headed turn asks are after its headings, so they are gone before anything looks for them. And build.tsx passes no onAnswer, so even the last turn is rendered through MessageBody, never SpecialistTurn. Document stages pass the full body with a draft ref (lead in the chat, questions with options under it, headings in the pane); stage 5 passes onAnswer (Concept approval opens by asking who must approve, then writes each approver's package #722). Stage 8 passes neither.

  2. The supervisor is never told how to ask. packages/specialist-build-supervisor/src/index.ts asks for a "## What I need from a human" heading and nothing about its form. The interview rules (INTERVIEW in specialist-shared) that every other asking stage carries, one plain question ending in "?" with two or three - Option: lines, are not in its prompt. So it writes numbered tasks ("1. Resolve the target now. …"), which segmentsIn (choices.ts) rightly does not read as a question: no "?", no offered list. With (1) fixed alone, the chat would still show nothing to tap.

Expected

  • The latest supervisor status shows in the chat as its lead, then each question it asks with its options as buttons, as a document stage's draft does. Tapping sends the answer to the supervisor, as typing it would. The status's headings stay in the pane.
  • The supervisor asks under "What I need from a human" in the kit's form: each a question ending in "?", with - Option: lines. Things only a button does (start, continue, record) are said as such, not asked.
  • When an attempt has ended with questions in its final text or QUESTIONS.md, the supervisor's status puts them to the person as questions with options, so the worker's "which target?" is answerable from the chat.

Fix

  • thread.tsx: for the answerable turn, hand SpecialistTurn the full body and let a headed turn without a draft ref render as lead plus questions (no text segments), so the pane stays the one place the document shows.
  • build.tsx: pass onAnswer that sends the tapped answer as stage mail to the supervisor, like stage 5.
  • specialist-build-supervisor: add the interview form to "What I need from a human", and have the record brief (composeSupervisorBrief) carry the worker's QUESTIONS.md so the status can ask them.
  • Tests for segmentsIn on a supervisor-shaped status, for the chat rendering, and for the brief.

Related: the frozen target itself was wrong for this project (separate issue).

Activity

  1. brianjfox commented on Oct 11, 2026

    @brianjfox
    ContributorAuthor

    The frozen target that stopped this build is #882.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions