feat: harden session reliability and multi-source evidence - #46
Closed
alvarohulse wants to merge 21 commits into
Closed
alvarohulse wants to merge 21 commits into
alvarohulse wants to merge 21 commits into
Conversation
Use exact process-group ownership on macOS, retain session ownership on Linux, and add pull-request build/test coverage so the PR 45 baseline is verifiable across supported Unix hosts. Co-authored-by: cursoragent <cursoragent@cursor.com>
Persist the actual browser mode and viewport, and validate trimmed media before replacing the original so failed or empty FFmpeg output cannot destroy usable proof. Co-authored-by: cursoragent <cursoragent@cursor.com>
Build Git dependencies when development tooling is present and ship a verified prebuilt fallback so global installs still expose the CLI when npm omits dev dependencies. Co-authored-by: cursoragent <cursoragent@cursor.com>
Persist browser and server identities before fallible waits, recover delayed agent-browser PID records after timeouts, and keep a global retryable inventory whenever cleanup cannot be proven complete. Co-authored-by: cursoragent <cursoragent@cursor.com>
Add exact tmux, direct-process, and file-source ownership with per-source canonical evidence, history/live boundaries, PTY semantics, bounded capture, readiness cleanup, and shared-server safety. Co-authored-by: cursoragent <cursoragent@cursor.com>
Finalize one canonical browser/environment evidence bundle, derive grouped incidents and structured verdicts, preserve authoritative timelines across short media, and surface source-level integrity in the viewer. Co-authored-by: cursoragent <cursoragent@cursor.com>
Finalize hashed per-session manifests and make PR publication select one commit-compatible session, reject drift and tampering, and withhold comments after partial uploads. Co-authored-by: cursoragent <cursoragent@cursor.com>
Document multi-source environment configuration, canonical viewer/verdict semantics, exact recovery, and explicit provenance-safe PR publication. Co-authored-by: cursoragent <cursoragent@cursor.com>
Track pipe attachment ownership before fallible capture steps so failed startup never detaches a pre-existing consumer, while tightening public state types and the documented title precedence. Co-authored-by: cursoragent <cursoragent@cursor.com>
Prefer agent-browser's account cache before system Chrome and allow tmux startup output to race correctly between history and live capture while preserving the explicit boundary assertion. Co-authored-by: cursoragent <cursoragent@cursor.com>
Use the browser version installed for agent-browser before system Chrome so headless devbox sessions do not inherit incompatible system defaults. Co-authored-by: cursoragent <cursoragent@cursor.com>
Continue only when a timed-out navigation demonstrably reached the requested URL, preserving valid slow devbox pages without masking unrelated launch failures. Co-authored-by: cursoragent <cursoragent@cursor.com>
Track when recording actually begins and rebase actions and retained log events so startup latency does not falsely classify complete media as truncated. Co-authored-by: cursoragent <cursoragent@cursor.com>
Preserve data URLs and other valid targets containing shell metacharacters while preventing them from being interpreted by the command shell. Co-authored-by: cursoragent <cursoragent@cursor.com>
Retain recovery state for corrupt or mismatched ownership and keep global cleanup bound to the original control record. Co-authored-by: cursoragent <cursoragent@cursor.com>
Close the final review gaps so malformed configuration, interrupted capture, unsafe artifacts, and publication drift fail closed while exact owned resources remain recoverable. Co-authored-by: cursoragent <cursoragent@cursor.com>
Support ordered multi-session publication, require the browser runtime, and gate the release path with real FFmpeg and package smoke coverage. Co-authored-by: cursoragent <cursoragent@cursor.com>
Re-encode recordings with zero-based timestamps and separate physical trimming from the canonical timeline offset so compressed idle frames cannot truncate recorded actions. Co-authored-by: cursoragent <cursoragent@cursor.com>
Use the provenance-validated target repository for artifact uploads so fork PRs never attempt to write their evidence branch to the upstream parent. Co-authored-by: cursoragent <cursoragent@cursor.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
Test plan
Build / Unit / Integration / E2E
npm run buildnpm test— 26 files, 106 testsnpm run test:ffmpeg— generated, trimmed, and decoded a real WebMnpm pack --dry-run— verified published package contents and built CLIPASSUser Testing
Revert risk
High: this intentionally changes core start/stop ownership, evidence finalization, and PR publication behavior. Commits are organized so the reliability extension can be reverted independently of #45 if needed.