[Safe Outputs Conformance] PTI-005: Retry-loop integrity-rejection check regex no longer matches error_recovery.cjs guard
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 75/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- bash, github-actions
- Ambito
- security, testing-qa
Direzione di ricerca
Leggi il controllo PTI-005 vicino alla riga 2673 in scripts/check-safe-outputs-conformance.sh e la guardia del ciclo di ritentativo vicino alla riga 352 in actions/setup/js/error_recovery.cjs. Conferma che la guardia continui a rifiutare gli errori di integrità prima di chiamare shouldRetry, quindi modifica il verificatore affinché riconosca entrambe le condizioni quando intervengono altre clausole OR. Esegui bash scripts/check-safe-outputs-conformance.sh; il lavoro è concluso quando PTI-005 e gli altri controlli passano.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Conformance Check Failure
Check ID: PTI-005
Severity: HIGH
Category: Security / Implementation
Problem Description
Section 7.3 PTI-005 requires that the retry loop reject ERR_TRANSPORT_INTEGRITY failures before invoking any custom shouldRetry classifier, so a corrupted patch/bundle transport can never be silently retried. The checker verifies this by matching the literal adjacent substring error?.code === "ERR_TRANSPORT_INTEGRITY" || !fullConfig.shouldRetry(error) in actions/setup/js/error_recovery.cjs.
The current guard (line 352) is:
if (error?.code === "ERR_TRANSPORT_INTEGRITY" || (fullConfig.deadline !== undefined && now() >= fullConfig.deadline) || !fullConfig.shouldRetry(error)) {
A deadline-expiry clause was inserted between the integrity check and the shouldRetry check, which breaks the checker's literal adjacency match.
Affected Components
-
Files:
-
actions/setup/js/error_recovery.cjs(retry-loop guard, line 352) -
scripts/check-safe-outputs-conformance.sh(PTI-005 check, ~line 2673)
-
<b>🔍 Current vs Expected Behavior</b>
Current Behavior
|| is left-associative and short-circuits left-to-right, so error?.code === "ERR_TRANSPORT_INTEGRITY" is still evaluated before fullConfig.shouldRetry(error) regardless of the inserted deadline clause — the required ordering (integrity failures rejected before any custom classifier runs) is preserved at runtime. Only the checker's literal substring match fails, because it assumes no other clause can sit between the two conditions.
Expected Behavior
Either confirm the inserted deadline clause truly has no interaction with ERR_TRANSPORT_INTEGRITY classification (it appears not to, since it is its own independent OR-branch), and widen the PTI-005 checker pattern to tolerate additional clauses between the integrity check and the shouldRetry check, or restructure the guard so the integrity check is evaluated in isolation if the spec intends something stricter than left-to-right OR short-circuiting.
Remediation Steps
This task can be assigned to a Copilot coding agent with the following steps:
- Confirm that the deadline-expiry clause in
error_recovery.cjsline 352 cannot mask or suppressERR_TRANSPORT_INTEGRITYrejection (verify via the existing retry-loop tests, adding a regression test if integrity-failure-at-deadline is not already covered). - Update the PTI-005 regex in
scripts/check-safe-outputs-conformance.sh(~line 2673) to tolerate additional OR-clauses between the integrity check and theshouldRetrycheck, e.g. matcherror?.code === "ERR_TRANSPORT_INTEGRITY"and!fullConfig.shouldRetry(error)independently within the sameifcondition rather than as one adjacent literal string. - Re-run the conformance script locally and confirm PTI-005 passes alongside the other PTI-00x checks.
Verification
After remediation, verify the fix by running:
bash scripts/check-safe-outputs-conformance.sh
The check PTI-005 should pass without errors.
References
- Safe Outputs Specification: docs/src/content/docs/specs/safe-outputs-specification.md
- Conformance Checker:
scripts/check-safe-outputs-conformance.sh(line 2667) - Run: §39551296580
- Date: 2026-10-21
Generated by ✅ Daily Safe Outputs Conformance Checker · claude · agent · 81.4 AIC · ⌖ 0.668 AIC · ⊞ 5.4K · ◷
- expires on Oct 21, 2026, 9:53 PM UTC-08:00
- Lingua principale
- Go
- Stelle
- 5.4k
- Fork
- 596
- Merge medio
- 3h 41m
- PR unite (30g)
- 829
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di github/gh-aw
-
automation models
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
agent-research
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
agentic-workflows automation aw-essential cookie
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
automated conformance safe-outputs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
automated conformance safe-outputs
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di github/gh-aw
Issue simili
-
confirmed enhancement go
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
DennisVlaanderen/aerendil#154 ·
I maintainer di solito rispondono entro 1 giorno
-
Generated README and SKILL omit HTTP-transport security settings and what local data the CLI keepsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
mvanhorn/cli-printing-press#5181 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 83/100
Adyen/agent-marketplace#922 ·
I maintainer di solito rispondono entro 1 giorno
-
filer.remote.sync writes the S3 bucket-owner index (<buckets>/.system/owners/...) to remote storageAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno