Repository navigation
Skill Eval: preserve safe GitHub API failure diagnostics for PR publication #161
Description
Goal
Make Skill Eval publication failures diagnosable without exposing credentials or weakening the trusted publisher. Refs #101; this is a bounded corrective slice, not a replacement for its existing owner or addition/update acceptance work.
Observed evidence
Inspected trusted implementation/base: 0c78a7e257dfaa3573b77581a39539e8a3a5da4c.
- skill: add fixed-workload claim audit procedure #159 head
03d8a513a7cdc4a921b38dd8d5442555f887a0f7: automatic preparation 40309418676 succeeded; authorization/execution were skipped. Publisher job failed on POST/issues/159/commentswith HTTP 403. - skill: clarify fixed-workload report aggregation #160 also has a publisher POST 403.
- The job already declares
issues: writeand uses trustedgithub.workflow_sha. A missing permission or repository-policy cause has not been established. GitHub.requestintools/skill_eval_pr.pyletsurllib.error.HTTPErrorescape without safe response diagnostics. The retained logs only showHTTP Error 403: Forbidden, so authorization, primary/secondary rate limiting and other refusals cannot be reliably distinguished.- Existing publication failure/retry tests simulate the API but do not cover this urllib error boundary. The separate historical declaration-admission rate-limit failure and recovery do not prove this publisher's cause.
Bounded implementation
- Inspect existing safe HTTP diagnostics in the repository for reuse before adding another formatter. At the publisher request boundary, retain bounded, sanitized HTTP status, method/safe endpoint, supported failure category and allowlisted request/rate-limit/retry metadata. Unknown stays unknown; do not infer permissions from status 403 alone.
- Treat responses as untrusted. Do not print raw bodies, arbitrary headers, request/comment payloads, authorization/cookie data, signed URLs or private paths. Handle malformed/non-JSON, oversized, missing and unreadable response data safely.
- Preserve failed-publication/nonzero behavior and useful exception context. Add no blind POST retries or new model execution. Preserve existing uncertain-write reconciliation and single-summary behavior.
- Add offline mocked transport/error tests: permission-style 403, rate-limit-style 403/429, missing metadata, malformed responses, size bounds and credential/URL sanitization. Verify that diagnostics themselves cannot hide the original failure.
- If new evidence establishes an additional in-scope code correction, document and test it. Otherwise return the precise external blocker; this diagnostic repair alone must not be described as resolving the live 403.
Acceptance
- Representative HTTP failures produce useful, bounded diagnostics with tested unknown/fail-closed cases and no secret/request-payload leakage.
- Existing trusted checkout, execution/publication credential separation, stale-head checks, retained-results retry, duplicate execution rejection and expiry protection remain unchanged.
- Existing publication retry tests still prevent duplicate summaries and repeat model schedules; focused/full applicable software checks pass at the published head.
- The PR states exact revisions, commands/results and verification limits. Offline success is distinguished from observed live automatic publication recovery.
- Delivery uses
Refslinks. Skill Eval: automate PR evaluation planning and feedback #101/Skill Eval v1.1: automated evaluation for skill additions and updates #88 stay open for their separate authorized real end-to-end acceptance.
Ownership and boundaries
The owner requested a corrective issue and delegation to a local Codex issue owner. Coordinate with the existing #101 workstream before overlapping edits; use an isolated worktree/index/scratch and independent review.
No model/GPU experiment, evaluation dispatch, workflow rerun, runner/credential/security/repository-setting change, permission expansion, required efficacy gate, manual report substitution, merge or issue closure is authorized by this issue. Do not fold unrelated admission-sweep changes into this repair. Actions requiring new authority must be returned to the owner explicitly.
Activity
fix: retain safe Skill Eval publisher HTTP diagnostics (#163)
Dong1017 commentedon Oct 26, 2026
Accepted and completed — bounded safe HTTP diagnostic delivery (2026-10-26).
PR #163 was independently reviewed at head
521b34db606981c1343e2cf07a3ef1da2670b80bagainst base0c78a7e257dfaa3573b77581a39539e8a3a5da4cand squash-merged as97f77a91373f3e2b61b03afcfd227e21edbffa2funder the owner's explicit integration/closure authorization.Acceptance evidence:
Limits retained: this accepts safe diagnostic behavior, NOT the cause or recovery of the live publisher HTTP403. The earlier failed publisher job executed trusted old base
0c78a7e, not the new repair. No model/GPU/paid experiment, workflow dispatch/rerun, permission expansion or manual report substitution was performed. #101 and #88 remain open for their independent real end-to-end acceptance. This issue can close without claiming all repository CI or live publication has recovered.