Automattic / Automattic/wp-codebox
Prevent checkpoint snapshots from recursively capturing artifact directories
- Vorherrschende Sprache
- TypeScript
- Sterne
- 17
- Forks
- 4
- Ø Merge
- 59 Min.
- Gemergte PRs (30 T.)
- 131
Beschreibung
## Problem
A recipe runtime whose `artifactsDirectory` is inside the working tree creates checkpoint snapshot artifacts under that directory. Restoring those checkpoints materializes the configured artifact tree into the runtime snapshot payload; later artifact collection emits a nested `artifacts/...` tree containing sibling runs, manifests, request-worker files, and snapshots. Parent bundle verification then reports those files as orphaned.
## Evidence
Confirmed while completing #2017 with one immutable checkpoint baseline per campaign. The final finding bundle's manifest correctly lists all six adversarial nested bundles, but `artifacts verify --bundle ` reports the recursively captured `artifacts/wordpress-adversarial-vulnerable/...` tree and checkpoint snapshots as orphaned. The standalone artifact verifier smoke passes.
## Expected
Checkpoint snapshot capture/restore must exclude host artifact storage by construction. Do not solve this with post-hoc deletion; preserve snapshot restore semantics and manifest integrity.
Refs #2017
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, die Erfassung und Wiederherstellung von Checkpoint-Snapshots nachzuverfolgen, wenn sich artifactsDirectory innerhalb des Arbeitsbaums befindet, und verfolge anschließend, wie die Artefaktsammlung das endgültige Bundle erstellt. Reproduziere das Szenario aus dem Issue und führe `artifacts verify --bundle ` aus; erfolgreich ist es, wenn der Artefaktspeicher des Hosts ohne nachträgliche Löschung ausgeschlossen wird, während die Semantik der Snapshot-Wiederherstellung und die Integrität des Manifests erhalten bleiben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- backend, devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 55/100