overengineeringstudio / overengineeringstudio/effect-utils
Stabilize Notion manual-demo recorder window targeting
Nobody has claimed this yet.
- 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.shfails 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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