Skip to content

0.1.8 Beta4: Verify the complete generic Collaboration V2 lifecycle #283

Closed

Description

@NOirBRight

Parent

#252 (part of #248)

Outcome

Verify the complete generic, client-owned Collaboration V2 lifecycle through the real Codex CLI, a candidate-bound Codex App request-shape smoke, and a protocol-controlled upstream fixture.

Acceptance criteria

  • A real CLI case covers spawn, returned canonical task identity/status, send message, follow-up, wait/result, list, interrupt where applicable, child result delivery, parent completion, and cleanup.
  • Native and adapted Responses variants exercise the same canonical V2 lifecycle.
  • A bounded Codex App request-shape/same-Home smoke exercises the V2 boundary that previously differed from CLI behavior.
  • Same-Home restart/readback preserves task identity and user-owned agent configuration.
  • Cross-Home, incompatible paginated state, mixed V1/V2 state, ambiguous task identity, malformed agent_message, and missing/duplicate IDs fail before mutation.
  • V1 repair/scheduler behavior is absent from every V2 case.
  • Gateway never creates agents, schedules V2 work, or fabricates completion.
  • No model fallback or cross-Provider execution occurs.
  • Existing task files are not cleaned or rewritten.
  • Evidence is bounded, sanitized, and candidate/CLI/Desktop/protocol bound.

Blocked by

Activity

  1. added
    enhancementNew feature or request
    ready-for-agentFully specified, ready for an AFK agent
    wayfinder:taskWayfinder implementation task
    tier:heavyOrchestrator provider tier: heavy
    P1Priority 1: current iteration goal
    on Jul 31, 2026
  2. changed the title [-]0.1.8 Beta3: Extend Collaboration V2 to K2.7 Code[/-] [+]0.1.8 Beta4: Extend Collaboration V2 to K2.7 Code[/+] on Aug 1, 2026
  3. changed the title [-]0.1.8 Beta4: Extend Collaboration V2 to K2.7 Code[/-] [+]0.1.8 Beta5: Complete the K2.7 Code Collaboration V2 lifecycle regression[/+] on Aug 4, 2026
  4. changed the title [-]0.1.8 Beta5: Complete the K2.7 Code Collaboration V2 lifecycle regression[/-] [+]0.1.8 Beta4: Verify the complete generic Collaboration V2 lifecycle[/+] on Aug 4, 2026
  5. NOirBRight commented on Aug 10, 2026

    @NOirBRight
    OwnerAuthor

    Verified and closed on the Beta4 candidate lineage. Evidence: PR #415 (protocol fixture, merged as 9e87a8e) and PR #416 (real-client lifecycle + request-shape smoke + void-result contract fix, merged as b73ff43); sanitized artifacts under docs/evidence/issue-283/.

    Acceptance criteria mapping:

    • Real CLI full lifecycle: PASS — real Codex CLI 0.146.1 exercised spawn_agent, send_message, followup_task, wait_agent, interrupt_agent, list_agents, child result delivery, parent completion (cli-native/summary.json, qualification_status: passed, turn.completed, no errors).
    • Native + adapted Responses variants: PASS — protocol fixture C1/C2 (18 cases) prove identical canonical lifecycle with reversible aliasing.
    • Codex App request-shape/same-Home smoke: PASS — app-server stdio capture shows collaboration namespace + six direct tools, no multi_agent_v1, no fork_context, model unrewritten.
    • Same-Home restart/readback: PASS — config.toml SHA256 unchanged, task identity consistent, no task files deleted/rewritten.
    • Negative cases fail before mutation: PASS — fixture C4 (mixed V1/V2, missing/duplicate IDs, malformed agent_message, cross-Home, incompatible paginated state) all fail closed with expected classifications.
    • V1 repair/scheduler absent from V2: PASS — static invariants (include_spawn_agent=False, subagent_state=None in V2 branches) + event-log assertions.
    • Gateway never owns/schedules/forges: PASS — fixture asserts no fabricated function_call_output/completion, cross_provider_requests=0, fallback_count=0.
    • No model fallback / cross-Provider execution: PASS.
    • Existing task files untouched: PASS.
    • Evidence bounded/sanitized/candidate-bound (candidate_sha 5bb5ce5 lineage): PASS.

    Note: one additional contract bug was found and fixed during verification — the real CLI serializes void-result tools (send_message/followup_task) as empty string, while the contract demanded JSON null; empty string is now reversibly normalized to null at the boundary (src-python/collaboration_runtime_contract.py:433, regression tests in tests/test_issue_282_collaboration_v2.py).

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

    P1Priority 1: current iteration goalcampaign:0.1.8-beta40.1.8 Beta4 generic Collaboration V2 campaignenhancementNew feature or requestready-for-agentFully specified, ready for an AFK agenttier:heavyOrchestrator provider tier: heavywayfinder:taskWayfinder implementation task

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions