Repository navigation
fix: prove release recovery writer capability through GitHub - #788
Conversation
Part of #787. Replace role metadata with the non-persisting Contents-write permission proof before draft inventory and publication. Preserve all existing recovery admission and reconciliation controls.
Code coverage overviewLanguages: Go, C# Go / code-coverage/test
C# / code-coverage/dotnet
Go / code-coverage/go
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. Updated |
Validation at
The actual App-backed consumer rollout and both historical recoveries remain unverified and are still required by #787. This source fix alone does not complete them or establish the historical Git-ref rejection cause. |
@coderabbitai review |
✅ Action performed
|
|
No actionable comments were generated in the recent review.
|
Ready at User evaluation exercised the real publisher against the stateful HTTP service: valid installation-shaped writers proceed through one verified publication, read-only credentials stop before draft inventory or release creation, malformed/changed observations fail, the recovery receipt remains deterministic, and a later matching publication is a no-op. The full native CI run executes the recovery module and shipped offline/boundary controls. Local race tests, vet and both recovery suites pass. This evaluates the engine correction behind the existing default-off recovery workflow. Actual App-backed Platform adoption and historical publication are separate, still-open acceptance gates in #787 and #603. They are not claimed by these local/native offline controls; no activation or issue closure is included in this merge. |
Why
Release recovery stops before publication even after the existing GitHub App issues its scoped credential, leaving older releases missing.
What
Verify the credential’s actual authority before inspecting drafts or publishing, while preserving consent, one publication attempt and independent readback. Consumer rollout and the real recoveries remain required before closing the issue.
Part of #787