Skip to content

fix(module-ci): report raptor's real outcome per output type - #18

Merged
anujhydrabadi merged 1 commit into
masterfrom
fix/output-type-comment-fidelity
Sep 15, 2026
Merged

anujhydrabadi merged 1 commit into
masterfrom
fix/output-type-comment-fidelity

Conversation

@anujhydrabadi

Copy link
Copy Markdown
Contributor

Why

Found on a live run against a real modules repository (vibe-modules #5): four output type definitions, one genuinely created and three untouched, and the PR comment labelled all four identically:

Definition Result
outputs/citest/ci_probe.yaml created if absent
outputs/custom/gcp_folder.yaml created if absent
outputs/custom/gcp_org_account.yaml created if absent
outputs/custom/gcp_project.yaml created if absent

The step restated the flag instead of the result. That is precisely the question the comment exists to answer: which definitions does this pull request create, and which already exist and will therefore change when it merges? A per-file constant cannot answer it.

After

The step captures raptor's own output and takes the outcome from it, adds the resolved @namespace/name, and carries the compatibility findings into a Reported changes column — verified on the same repository:

Definition Type Result Reported changes
outputs/citest/ci_probe.yaml @citest/ci_probe skipped (already exists)
outputs/custom/gcp_folder.yaml @custom/gcp_folder skipped (already exists)
outputs/custom/gcp_org_account.yaml @custom/gcp_org_account skipped (already exists)
outputs/custom/gcp_project.yaml @custom/gcp_project skipped (already exists) attributes.enabled_apis: is now required — modules that produce this type must set it

A row that says skipped (already exists) with findings is the one a reviewer has to look at: those changes land on merge.

Findings have | escaped so a finding cannot split the table cell.

Testing

Verified end to end on Facets-cloud/vibe-modules against its real control plane, with the action pinned to this branch's commit. The control plane was checked afterwards and confirmed unchanged — no required key and no added field — so the reported change really was reported and not written.

bash -n and shellcheck --severity=warning clean.

Scope is inside the Apply output types step only, which is skipped entirely when a repository has no outputs/ tree.

🤖 Generated with Claude Code

The PR comment restated the flag rather than the result, so every row read
"created if absent" — including the rows that were skipped because the type
already exists. That is precisely the question the comment exists to answer:
which definitions does this pull request create, and which already exist and
will therefore change when it merges? A per-file constant cannot answer it.

Found on a live run against a real modules repository: four rows, one genuinely
created and three untouched, all four labelled identically.

The step now captures raptor's own output and takes the outcome from it, adds
the resolved @namespace/name, and carries the compatibility findings into a
"Reported changes" column. A row that says "skipped (already exists)" with
findings is the one a reviewer has to look at — those changes land on merge.

Findings have "|" escaped so a finding cannot split the table cell.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@anujhydrabadi
anujhydrabadi merged commit 6c6ae56 into master Sep 15, 2026
1 check passed
@anujhydrabadi
anujhydrabadi deleted the fix/output-type-comment-fidelity branch September 15, 2026 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant