---
created: 2026-05-06
gap: G11
order: 6
severity: P1
category: dx
estimate: M
issue: "https://github.com/lidge-jun/agbrowse/issues/62"
depends_on: ['G02', 'G03']
---

# G11 — Local replay/observability timeline (vs Browserbase observability, Stagehand logging)

> Severity **P1** · Category `dx` · Estimate **M** ·
> Tracking issue [#62](https://github.com/lidge-jun/agbrowse/issues/62) · Depends on **G02, G03**

## GPT Pro evidence

Evidence (competitor side): URL: https://docs.browserbase.com/platform/browser/observability/observability — quote: “Replay every session as a video recording.” Browserbase also surfaces events, network logs, console logs, and Stagehand-call details in session inspection. 
Browserbase Documentation

Evidence (agbrowse side): The truth table marks trace evidence ready, so the gap is not “no trace.” The gap is competitor-style local replay/timeline correlation across browser actions, observations, screenshots, console, and network; current README exposes those commands separately at README.md:446-454. 
GitHub

Why this matters: Debugging agent failures needs one timeline, not scattered command outputs. A local replay artifact also supports benchmark/eval review without claiming Browserbase-style cloud observability.
Proposed scope, respecting forbidden list:

web-ai/trace/action-timeline.mjs — record command, target, policy result, timestamp, URL, and outcome.

web-ai/trace/browser-snapshot-writer.mjs — attach redacted observation bundles and screenshots to trace IDs.

skills/browser/browser.mjs — add --trace-id support to observe and mutate commands.

web-ai/trace/render-html.mjs — render local HTML report with screenshots, console, network summaries, and redactions.

structure/trace_evidence.md — document local replay artifacts and retention rules.

structure/release_gates.md — add gate:trace-browser-actions.
Test surface: test/unit + test/integration.
cli-jaw mirror impact: none; cli-jaw does not mirror trace.
Acceptance gate: keep trace redaction gates; add gate:trace-browser-actions.
Estimate: M, 2–3 days.

## Diff-level work breakdown

> Fill in concrete diffs (NEW / MODIFY / DELETE with file:line) once this gap
> reaches the active sprint. Until then, the bullets in **Proposed scope**
> above are the agreed shape; do not implement before the depending gaps
> (G02, G03) ship and `gate:all` stays green.

### NEW files
- _to be filled before implementation_

### MODIFY
- _to be filled before implementation_

### DELETE
- _to be filled before implementation_

## Tests
- `test/unit/...` — _list test files once written_

## Truth-table update
- `structure/CAPABILITY_TRUTH_TABLE.md` — add row or update status when this
  gap reaches `ready` in agbrowse.
- `cli-jaw/structure/CAPABILITY_TRUTH_TABLE.md` — mirror entry per the
  `cli-jaw mirror impact` line above.

## Release gates touched
- Existing: `gate:typecheck`, `gate:tests`, `gate:truth-table-fresh`,
  `gate:mcp-scope-frozen`, `gate:no-experimental-in-readme-ready-section`.
- Added by this gap: see **Acceptance gate** in the GPT Pro evidence block.
