Repository navigation
feat(replay): add stable-selector evidence replay contracts - #17
Merged
Merged
Conversation
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
…play cleanup Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-luna-low
…propagation Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-luna-low
…recording Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-terra-medium
Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-luna-low
…lures Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-terra-medium
Co-authored-by: Codex <noreply@openai.com>
…replay validation, and publication safety Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-luna-low
…verdicts Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-luna-low
Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-terra-medium
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
…zation, and recorder recovery Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-luna-low
…ing, and capture test mocking Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-luna-low
…mantics Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-terra-medium
Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-terra-medium
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
…t handling Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-luna-low
Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-terra-medium
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com> # Conflicts: # src/session/selection.ts
…covery, redaction, and replay Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-luna-low
Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-terra-medium
Track recording attempts before invoking the recorder and require verified finalization before failed-start cleanup can close the owned browser. Co-authored-by: Codex <noreply@openai.com>
Lock recovery ownership when finalization fails and require finalization to precede browser cleanup. Co-authored-by: Codex <noreply@openai.com>
Allow external launcher setup to retain immutable identity after a fast Linux child has exited without counting zombie processes as live. Co-authored-by: Codex <noreply@openai.com>
Prove zombie process records remain available for ownership capture while ordinary liveness parsing excludes them. Co-authored-by: Codex <noreply@openai.com>
Keep the action timeline aligned when physical trimming is clamped for compressed or dropped idle frames. Co-authored-by: Codex <noreply@openai.com>
A browser-open failure occurs before recording is attempted, so failed-start cleanup should close the browser without issuing recorder commands. Co-authored-by: Codex <noreply@openai.com>
…ecording cleanup, and redaction Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-luna-low
Co-authored-by: cursoragent <cursoragent@cursor.com> No-Mistakes-Model: gpt-5.6-terra-medium
Remove the final gate changes that broadened selector policy, weakened recording recovery, and changed evidence/timeline behavior beyond the approved issues. Co-authored-by: Codex <noreply@openai.com>
Keep screenshot identities stable, require real assertion outcomes, isolate recovery sessions, preserve non-dispositive media, and sanitize public reviewer text. Co-authored-by: Codex <noreply@openai.com>
Exercise screenshot flags, assertion truth, recovery isolation, missing duration, failed captures, and public redaction. Co-authored-by: Codex <noreply@openai.com>
Keep terminal punctuation while removing contextual credential values from generated human-testing instructions. Co-authored-by: Codex <noreply@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a production
proofshot replayworkflow for turning a stabilized browser flow into repeatable reviewer evidence. Versioned replay cases are validated before browser startup, use exact session routing, reject ephemeral@eNreferences, require an explicit behavioral assertion and screenshot, and succeed only when canonical evidence reportsPASS.This also hardens recording finalization, recovery ownership, evidence verdicts, public redaction, and PR artifact formatting so interrupted or incomplete sessions fail closed without weakening unrelated session isolation.
What Changed
agent-browsercommand execution, sanitized human-testing instructions, and fresh-session replay orchestration.FAIL; nonfatal console/network or evidence-trust problems areINCOMPLETE; clean asserted evidence isPASS.Risk Assessment
Moderate internal-tool risk. The change affects replay, session recovery, verdict generation, and evidence publication, but does not alter a target application's behavior. Lifecycle integration coverage, repeated environment-runtime executions, FFmpeg integration, and a fresh end-to-end replay exercise the changed contracts.
Testing
Static Testing
npm run build— passed.npm test— 36 files and 599 tests passed in 165.23 seconds.npm run test:ffmpeg— passed; finalized video was trimmed and converted to MP4.npm test -- src/environment/runtime.test.ts— 20/20 independent retry-disabled processes passed in 123 seconds.Reviewer Testing
proofshot replay <case-file>against a small local page.USER_TESTING.md, and finishes withPASS.@e1and confirm validation rejects the case before creating a session.Evidence
PASS.Related Work