overengineeringstudio / overengineeringstudio/effect-utils

Stabilize Notion manual-demo recorder window targeting

Open
#608 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

origin:agent type:bug
Dominant language
TypeScript
Stars
82
Forks
2
Avg merge
1d 8h
Merged PRs (30d)
121

Description

Problem

The new chaptered manual-demo workflow for @overeng/notion-react can now generate source states, sync them into the canonical Notion page, and validate the result through tmux proof plus direct Notion API reads.

The remaining gap is the visual recorder's window targeting:

  • Ghostty and Chrome window discovery is still heuristic
  • if the dedicated Chrome window's front tab drifts away from the manual demo page, browser-window screenshots and recordings can capture the wrong surface
  • the validator can still prove correctness through the API, but the resulting visual artifact no longer matches the intended storyline

Desired outcome

Make the visual recorder deterministic enough that the same script can always capture the intended Ghostty + dedicated Chrome manual-demo pair without relying on fragile title matching.

Candidate approaches

  • assign explicit stable identifiers to the dedicated demo windows and resolve them without title heuristics
  • keep the dedicated automation browser isolated to a single manual-demo tab/window
  • add a preflight assertion that the captured browser surface contains an expected chapter string before recording continues
  • consider a CDP-backed browser capture path so the browser proof does not depend on the front tab title at all

Acceptance criteria

  • scripts/manual-video/record-full-demo.sh fails fast when the browser target is wrong
  • validator/browser proof can distinguish the intended manual-demo window from unrelated Chrome tabs
  • full demo recording can be rerun repeatedly without manual window retargeting between takes

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with scripts/manual-video/record-full-demo.sh and inspect how Ghostty and Chrome targets are discovered. Run the recorder to reproduce the wrong-surface case, then verify that it fails fast for an incorrect browser target and can repeatedly capture the intended manual-demo window without retargeting.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell, typescript
Domain
testing, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.