Skip to content

πŸ›πŸ§‘β€πŸ’» - Pre branch SDD missing trusted catalog is hidden behind generic workflow.failed and retry guidanceΒ #808

Closed

Description

@efraespada

Is there an existing issue for this?

Which actions are affected?

Issue

Which platforms are affected?

Linux

Description

The pre-branch SDD gate correctly withholds a branch when its configured catalog is absent from the trusted base, but the user-facing card loses the actionable missing-catalog cause and reports only workflow.failed with generic retry guidance. Retrying the same base cannot create the missing catalog.

Please preserve fail-closed behavior and retained state while surfacing a bounded typed missing-catalog diagnostic, the immutable trusted revision, and appropriate prerequisite/recovery guidance. This report does not ask Copilot to bypass SDD preparation, create an unmanaged branch, silently initialize a replacement catalog, or accept unreviewed drafts.

In this consumer the complete catalog is being reviewed in a separate documentation PR; it has not been merged into develop. Its absence in the trusted base is real. The diagnostic should explain that prerequisite rather than imply a transient agent/provider failure or an interoperability error in a catalog that was never loaded.

Reproducing the issue

  1. Consumer: https://github.com/vypdev/geckocv/issues/49 . The issue was admitted using the installed bug form, then marked contract-change and in-progress. Pre-branch SDD is enabled.
  2. Trusted develop: f6c43676e05a694b627571172356f8e26f8d7efc. It does not contain specs/catalog.json. The proposed catalog remains under review in https://github.com/vypdev/geckocv/pull/32 .
  3. Run: https://github.com/vypdev/geckocv/actions/runs/41070204902 .
  4. The log shows the exact git show failure for that missing trusted file, before specification preparation/publication. No new branch or specification is published.
  5. The resulting card https://github.com/vypdev/geckocv/issues/49#issuecomment-6525007413 exposes workflow.failed, reference d1437310-6854-4c07-bfc7-0dd2a022b233 and generic retry instructions. It says specific table facts are unavailable, but does not identify the absent trusted-catalog prerequisite.
  6. The issue remains in-progress/SDD/contract-change/state:blocked/state:awaiting-maintainer. No unmanaged branch or same-state retry was attempted.

copilot Version

The actual setup log resolves vypdev/copilot@v3 to f5e5a4c, 3.10.6. This is an observation of that published runtime, not a regression claim against unexecuted develop fixes or a newer release.

Relevant Log Output

Pre-branch SDD gate failed: Command failed: git show f6c43676e05a694b627571172356f8e26f8d7efc:specs/catalog.json
fatal: path 'specs/catalog.json' does not exist in 'f6c43676e05a694b627571172356f8e26f8d7efc'
Publishing result: 6 result(s), 4 step(s), 1 error(s).
Error code: workflow.failed
Reference: d1437310-6854-4c07-bfc7-0dd2a022b233

Additional context and comments

Suggested controls: missing catalog versus missing Git object/provider failure; configured existing regular catalog; partial/malformed pair; a missing file in a pinned trusted base despite candidate copies; typed actionable card before model calls; zero branch/spec publication; retry guidance that distinguishes missing prerequisites from transient failures. Preserve safe handling of path/command/credential data and all specification/branch gates.

Please handle the diagnostic fix through the Copilot team's normal workflow. This reporter has not started upstream implementation, reduced product/SDD scope, disabled pre-branch SDD, created a replacement branch, changed runtime selection or deployed/released anything. The consumer's catalog review remains a separate required prerequisite.

Activity

  1. added
    bugSomething isn't working
    bugfixSomething isn't working
    priority: highCritical issue, needs immediate attention.
    on Oct 30, 2026
  2. added theissue type on Oct 30, 2026
  3. moved this to Todo in vypdevon Oct 30, 2026
  4. changed the title [-]Pre-branch SDD missing trusted catalog is hidden behind generic workflow.failed and retry guidance[/-] [+]πŸ› - Pre branch SDD missing trusted catalog is hidden behind generic workflow.failed and retry guidance[/+] on Oct 30, 2026
  5. vypbot commented on Oct 30, 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. moved this from Todo to In Progress in vypdevon Oct 30, 2026
  7. added
    branchedIndicates that a branch has been created for this issue.
    on Oct 30, 2026
  8. changed the title [-]πŸ› - Pre branch SDD missing trusted catalog is hidden behind generic workflow.failed and retry guidance[/-] [+]πŸ›πŸ§‘β€πŸ’» - Pre branch SDD missing trusted catalog is hidden behind generic workflow.failed and retry guidance[/+] on Oct 30, 2026
  9. 1 remaining item

  10. vypbot commented on Oct 30, 2026

    @vypbot
    Contributor

    Implementation plan

    Current status: Ready to start. No action is required from maintainers before implementation.

    1. Define a bounded missing-catalog error
      • Distinguish a confirmed absent specs/catalog.json at the pinned base SHA from Git object, provider, and other read failures.
      • Carry the immutable base revision without exposing raw command output, paths beyond the configured catalog, or credentials.
    2. Classify the pre-branch gate failure
      • Update the pre-branch SDD gate and workspace adapter to emit the typed diagnostic only when absence is confirmed.
      • Keep the gate fail-closed and preserve retained state; do not publish a branch or specification.
    3. Present prerequisite recovery guidance
      • Add localized user-facing guidance explaining that the catalog must be added to the trusted base and merged before retrying.
      • Keep transient retry guidance for other failures and avoid implying that an unloaded catalog failed interoperability checks.
    4. Add focused regression coverage
      • Cover missing catalog at the pinned base despite candidate copies, existing regular catalog, partial or malformed catalog data, and missing Git objects.
      • Verify the typed card includes the trusted revision, remains bounded, and produces no branch or specification publication.
    5. Update SDD documentation
      • Document the missing trusted-catalog prerequisite and recovery path in docs/issues/pre-branch-sdds.mdx.

    Acceptance: With specs/catalog.json absent from the pinned trusted base, the gate publishes a bounded typed missing-catalog diagnostic that identifies the base revision and instructs the user to merge the prerequisite before retrying; it retains blocked state and publishes no branch or specification, while unrelated Git read failures keep their existing failure classification.

    Need something else? Mention the bot with a question or use /copilot help.

  11. added
    size: XXLIndicates an extremely large task or issue that requires significant time and effort to complete.
    on Oct 30, 2026
  12. vypbot commented on Oct 30, 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: [R1] The pre-branch SDD gate correctly withholds a branch when its configured catalog is absent from the trusted base, but the user-facing card loses the actionable missing-catalog cause and reports only workflow.failed with generic retry guidance. Retrying the same base cannot create the missing catalog. β€” The adapter adds a typed failure for confirmed catalog absence, and the gate maps it to a distinct user-facing recovery card with the trusted source revision.
    [R2] Please preserve fail-closed behavior and retained state while surfacing a bounded typed missing-catalog diagnostic, the immutable trusted revision, and appropriate prerequisite/recovery guidance. This report does not ask Copilot to bypass SDD preparation, create an unmanaged branch, silently initialize a replacement catalog, or accept unreviewed drafts. β€” The changes preserve blocked handling and retained-state messaging, and do not introduce a bypass, catalog initialization, unmanaged branch, or draft acceptance path.
    [R3] In this consumer the complete catalog is being reviewed in a separate documentation PR; it has not been merged into develop. Its absence in the trusted base is real. The diagnostic should explain that prerequisite rather than imply a transient agent/provider failure or an interoperability error in a catalog that was never loaded. β€” The new guidance identifies the absent trusted catalog as a prerequisite and distinguishes it from provider failures and catalog comp
    [untrusted content truncated]

    Next: [R11] "Cover missing catalog at the pinned base despite candidate copies, existing regular catalog, partial or malformed catalog data, and missing Git objects.", β€” Independent execution evidence for the required adapter regression cases is unavailable.
    [R12] "Verify the typed card includes the trusted revision, remains bounded, and produces no branch or specification publication." β€” Independent execution evidence for the card bounds, trusted revision, and no-publication checks is unavailable.

  13. added a commit that references this issue on Oct 30, 2026
  14. vypbot commented on Oct 30, 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.

  15. moved this from In Progress to Done in vypdevon Oct 30, 2026
  16. 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 30, 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: XXLIndicates an extremely large task or issue that requires significant time and effort to complete.

Type

Projects

  • Status
    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions