Skip to content

πŸ›πŸ§‘β€πŸ’» - Pre branch SDD ownership analysis fails without an actionable issue diagnostic or clarification cardΒ #636

Closed

Description

@efraespada

Is there an existing issue for this?

Which actions are affected?

Issue

Which platforms are affected?

Linux

Description

Starting a feature issue with pre-branch SDD enabled fails after the ownership-analysis agent returns successfully. The local semantic validator rejects its proposed companion owner/path with A companion SDD requires an existing owner and a new path. The workflow then marks the issue blocked/awaiting-maintainer, but publishes no SDD work-status card, no question, no structured diagnostic describing which non-secret owner/path invariant failed, and no actionable recovery in the issue. No managed branch or SDD exists.

Failing closed is correct. The problem is that an agent-generated invalid ownership decision becomes a generic workflow failure with no usable clarification or bounded recovery. Do not relax owner/path validation or permit contributor-created replacement branches. The cause of the invalid model choice is not established because the selected fields were not safely exposed. Source inspection narrows the rejected condition to either a nonexistent catalog capability ID or a path already registered in a capability.

Reproducing the issue

  1. Use an admitted feature issue in a repository with a valid version-1 capability catalog and existing owners, issue-managed-branches: true, pre-branch-sdd: true, and development branch develop.
  2. The observed consumer is private vypdev/platform issue [#196] ✨ - Simplify projecturls logicΒ #197, β€œBuild a reproducible Supabase bootstrap and cloud development environment”. It requests an English prospective infrastructure SDD mapped to existing repository-delivery, persistence-data-lifecycle, identity-tenancy-access and production-verification capabilities.
  3. Add the installed in-progress label as an authorized maintainer.
  4. Inspect https://github.com/vypdev/platform/actions/runs/39566196420 (2026-10-21 08:03 UTC). The analysis agent completes successfully and parseSddPlan rejects a companion. The run fails before writeCard.
  5. Observe only the welcome comment, labels SDD, in-progress, state:blocked, state:awaiting-maintainer, and no branched. No clarification card exists. There are no run artifacts.

Expected: preserve fail-closed validation, original scope, immutable base and branch ownership. Surface a safe actionable diagnostic differentiating unknown owner from registered path and show how to retry the same issue. Consider a bounded structured-analysis repair or maintainer clarification for invalid generated owner/path decisions, with tests proving no files/branches are published until valid. Do not infer a repair policy or bypass existing limits without reviewing the contract.

Consumer recovery attempt: the same issue body now explicitly selects existing catalog capability repository-delivery, existing owner specs/repository-delivery.md, and NEW companion path specs/cloud-development-environment.md. The first failed run did not expose which fields actually failed. This report does not claim that the explicit hint or retry has recovered the issue.

copilot Version

3.9.3; vypdev/copilot@v3 resolved to f7f68e699a7f7cea46e0da62388ec1a643908ae9. Runner codex-cli 0.163.0; configured planner provider/model codex/openai/gpt-6-luna.

Relevant Log Output

2026-10-21T08:03:46.138Z Agent execution started.
2026-10-21T08:03:46.159Z Agent execution admitted (codex codex-cli 0.163.0).
2026-10-21T08:03:56.046Z Agent execution completed.
2026-10-21T08:03:56.048Z Pre-branch SDD gate failed: A companion SDD requires an existing owner and a new path.
2026-10-21T08:03:58.730Z Conversation publication omitted: no explicit semantic publication intent.
2026-10-21T08:04:00.988Z Error code: workflow.failed
Retryable: Yes
Reference: df2430a9-c068-4eeb-bb18-619e7f951f16

Additional context and comments

Relevant source at the exact Action SHA: src/domain/pre_branch_sdd.ts (parseSddPlan: companion rejects !ownerPaths || registered) and src/application/usecases/sdd/pre_branch_sdd_gate_use_case.ts (begin parses analysis before writing a card; catch emits generic workflow.failed). Native schema enforces JSON shape, but cannot alone enforce catalog ownership semantics.

The consumer uses Kotlin/Gradle and Astro/Svelte in nested backend/frontend roots. This run does not demonstrate a language/framework path rejection: it fails earlier on SDD ownership. Preserve portable catalog support; do not claim runtime compatibility from successful catalog inspection. Private consumer links may require maintainer access. This report intentionally excludes source contents, credentials and raw provider output.

Regression expectations: unknown companion owner, already-registered companion path, valid companion/update/new decisions, safe issue-visible diagnostics, bounded recovery policy, no provider-output leakage, immutable catalog/base and no premature branch/readiness publication.

Activity

  1. added
    bugSomething isn't working
    bugfixSomething isn't working
    priority: highCritical issue, needs immediate attention.
    on Oct 21, 2026
  2. added theissue type on Oct 21, 2026
  3. moved this to Todo in vypdevon Oct 21, 2026
  4. changed the title [-]Pre-branch SDD ownership analysis fails without an actionable issue diagnostic or clarification card[/-] [+]πŸ› - Pre branch SDD ownership analysis fails without an actionable issue diagnostic or clarification card[/+] on Oct 21, 2026
  5. vypbot commented on Oct 21, 2026

    @vypbot
    Contributor

    Hi! I’m @vypbot, the Copilot assistant for this repository.

    I can answer questions, explain the codebase, propose implementation and test plans, review issues and pull requests for potential bugs or security problems, and help authorized maintainers apply changes.

    Try /copilot help to see the available commands, or mention @vypbot with your question.

  6. efraespada commented on Oct 21, 2026

    @efraespada
    MemberAuthor

    Recovery observation: adding an explicit valid existing capability ID (repository-delivery) and a new companion path to the same consumer issue allowed a subsequent normal analysis to publish the clarification card. The managed branch is still pending answers/publication. This narrows the first failure to a rejected generated owner/path decision; it does not establish which field failed, and does not mean the missing safe diagnostic/recovery behavior is fixed. The consumer later changed its hosting scope; that is separate from the original ownership failure.

  7. moved this from Todo to In Progress in vypdevon Oct 21, 2026
  8. added
    branchedIndicates that a branch has been created for this issue.
    on Oct 21, 2026
  9. 7 remaining items

  10. vypbot commented on Oct 21, 2026

    @vypbot
    Contributor

    Issue closed β€” historical progress

    Current status: closed as completed.

    The last estimate is retained below as history. Closure does not certify a new percentage, tests, or branch alignment.

    Action required: none for this closed issue. If work continues, reopen the issue; a fresh assessment can update this same card.

    Last assessment before closure (historical)

    Progress: 85% β€” in progress

    > Current status: The source changes add closed ownership failure categories, block invalid plans before drafting or publication, publish a safe issue diagnostic with same-issue recovery guidance, and document the policy. Regression cases cover the five failure categories, leakage, retries, recovery, and publication boundaries. Generated build metadata does not verify builds or tests, and the supplied source patches do not establish that all specified quality and catalog gates passed.

    Next: Verify the full required test and quality gates, including valid update/companion/new decisions, architecture boundaries, and catalog checks; review both locale messages against the contract.

  11. vypbot commented on Oct 21, 2026

    @vypbot
    Contributor

    Issue closed: synchronization recommendation retired

    No branch synchronization is required for this closed issue.

    The previous recommendation is historical. Issue closure does not certify that the branches are synchronized.

  12. efraespada commented on Oct 21, 2026

    @efraespada
    MemberAuthor

    /copilot sync-branch --no-agent

  13. vypbot commented on Oct 21, 2026

    @vypbot
    Contributor

    Branch synchronized

    develop was merged into bugfix/636-pre-branch-sdd-ownership-analysis-fails-without-an-actionable-issue-diagnostic-or-clarification-card and pushed as 4d41ad103e5c220b7e26876fb3a9de3b8d8b3dbd.

    6 verification checks passed.

  14. moved this from In Progress to Done in vypdevon Oct 21, 2026
  15. added
    100%Progress: 100%
    and removed
    in-progressStart work on an admitted issue.
    state:workingWork can proceed on the verified branch or without a branch.
    on Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

100%Progress: 100%branchedIndicates that a branch has been created for this issue.bugSomething isn't workingbugfixSomething isn't workingpriority: highCritical issue, needs immediate attention.size: XLIndicates that the issue or task is extra large in scope and complexity.

Type

Projects

  • Status
    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions