Skip to content

Show model and thinking level in run-once subagent output #116

Description

@rochecompaan

Status

This issue is the umbrella tracker for the run-once subagent metadata program. Implementation has been decomposed into independently planned and reviewed child issues. Do not implement #116 as one pull request.

Program outcome

Run-once should render at least one visible progress outcome per subagent child: one line for each distinct effective model/thinking tuple authoritatively reported for that child, or one safe agent-only fallback when no authoritative tuple arrives:

🤖 subagent (agent=reviewer, model=gpt-5.6-sol, thinking=xhigh)

Missing metadata or child identity must be omitted rather than inferred. Exact duplicate tuples are suppressed, changed authoritative tuples produce additional lines, and unresolved fallbacks are task-free, agent-only, and outside LLM context. Progress remains on stderr, final JSON remains on stdout, parent tool-call accounting remains unchanged, and failed or unresolved children remain visible.

Architecture and reference artifacts

The monolithic plan is retained as a searchable design inventory but must not be executed or approved as one plan. Each child issue's approved spec and plan supersedes the corresponding sections.

Delivery checklist

Dependencies

#121 package root ───────────────┐
                                ├──> #124 observer ──┐
upstream metadata -> #122 upgrade                    ├──> #125 correlation -> #126 rendering
#123 session streaming ──────────────────────────────┘

Issues #121, #122, and #123 may proceed independently. Issue #124 requires #121 and #122. Issue #125 requires #123 and #124. Issue #126 requires #125.

Current pi-subagents 0.37.2 is the candidate metadata-capable release. Issue #122 must validate all supported execution shapes and open a focused upstream blocker if any authoritative metadata gap remains.

Umbrella acceptance criteria

The program is complete when all child issues are integrated and combined verification shows that:

  • every requested child has at least one visible progress outcome;
  • exact duplicate tuples are suppressed while changed authoritative tuples produce additional lines;
  • available model/thinking values and stable child identity come from authoritative child runtime metadata;
  • failed and unresolved children remain independently visible;
  • custom progress data and synthetic fallbacks exclude tasks, outputs, prompts, credentials, and unrestricted result metadata;
  • unresolved fallbacks are task-free, agent-only, and outside LLM context;
  • direct, counted, parallel, and chain execution preserve stable child identity, ordering, and cardinality across partial and final results;
  • one parent invocation remains one toolCalls accounting unit;
  • implementation todo progression remains intact;
  • source, npm-packed, and Nix-installed layouts load the same observer;
  • progress stays on stderr and final JSON stays on stdout;
  • triage behavior remains unchanged.

Planning policy

#116 remains an automation-excluded umbrella. Its agent-unsuitable label blocks automated selection, and it receives no agent-ready, spec-approved, or plan-approved go-signal. Each child receives its own focused worktree, spec, plan, review, and approval decision.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-unsuitableNot suitable for automated implementation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions