Skip to content

An unfetched Parent is carried; an unfetched document stops the review #46

Closed

Description

@Simon-AI-coding

Parent

#43

What to build

A Document Review whose Parent cannot be fetched still runs: each brief's Parent slot names the reference and the exact failure detail, the receipt records parentSource as not fetched: <ref> with parentFailure, and the reviewer is told to hold the documents to each other — the same discipline as an unfetched spec in a Code Review. A Document Review with a document that cannot be fetched does not run: preparation fails before any Lane opens, the failure names the reference and its detail, and the review-end Lifecycle Hook still fires — the documents are the object of the review, and without one there is nothing to hold to the Parent. A checkout with no tracked standards documents gives the design brief the existing none documented wording on its Standards sources: line.

Acceptance criteria

  • An unfetchable Parent (an issue gh cannot resolve, a path that does not exist) → both briefs carry the unfetched Parent slot with the failure detail, parentSource / parentFailure are set, parentFile is null, and the review completes on the Lane
  • An unfetchable document → no Lane opens, the Bridge exits non-zero naming the reference and the detail, no session record is left behind, and the review-end hook fires with the failed status
  • Several documents where one is unfetchable → the same failure, naming the one that failed
  • No tracked standards documents → the design brief's Standards sources: line reads as the Code Review Standards brief does today
  • Every case is asserted at the command seam — brief text, JSON receipt, exit status, hook environment — through the existing harness; no test reads the preparation's internals

Blocked by

Routing

Workflow: tdd
Executor: codex
Model: gpt-5.6-sol
Effort: xhigh
Review: claude claude-opus-5 medium
Reasons: Failure paths are new behaviour a test can pin → tdd; nothing downstream couples to them → non-core; straight-line logic inside one module → routine; executor and review set by the user at confirmation.

Activity

  1. Simon-AI-coding commented on Aug 31, 2026

    @Simon-AI-coding
    OwnerAuthor

    Carried from #45's Spec review (crew run crewtask/3, coordinator ruling)

    #45's Spec reviewer (Codex, session 7d6ee174-96dc-4035-af8b-bba6d3434c6b) raised two findings that are this ticket's scope by the wave table, so #45 deferred them here rather than absorbing them. They describe the state of bridge/review_bridge.py on branch worktree-45-45 at review time; line numbers will shift once #45 lands on the integration branch, but the sites are named.

    1. [high] An unfetched document still opens a Lane. The documents preparation (review_bridge.py ~line 1728 on worktree-45-45) never checks each document SpecSlot's failure / file, and the brief's document list (~line 1655) renders - None for it. Document Review: hold a spec or ticket set to its Parent and to the checkout, on the same Bridge #43/A Document Review runs end to end on the Bridge #45 require: "The Parent and each document reach the Lane as files the Bridge wrote or found". Expected here: fail in the preparation stage, before any Lane opens.

    2. [high] An unfetched Parent loses its reference and failure detail. The Parent slot (~line 1648) discards parent.text / source / failure and rebuilds the slot with an empty file; the observed brief line is None. Read it before reviewing. Document Review: hold a spec or ticket set to its Parent and to the checkout, on the same Bridge #43 requires the Parent to be "carried as an unfetched reference with its failure detail in the brief and the receipt" (parentSource, parentFailure).

    Note: #45's new tests do not cover these failure paths; the tests for both belong in this ticket, at the command seam with the fake Lane.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions