Skip to content

Commit 0002d7d

Browse files
authored
Merge pull request #22 from freshtechbro/codex/generalfixes
chore: prepare 0.0.19 release cut
2 parents d45d2e5 + 8f3b0c8 commit 0002d7d

31 files changed

Lines changed: 711 additions & 49 deletions

.github/workflows/release-public.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,15 @@ jobs:
166166
fi
167167
npm publish --access public
168168
169+
- name: Registry consumer smoke
170+
if: steps.meta.outputs.publish_npm == 'true'
171+
run: |
172+
mkdir -p "artifacts/release/v${{ steps.meta.outputs.release_version }}"
173+
node scripts/registry-consumer-smoke.mjs \
174+
--version "${{ steps.meta.outputs.release_version }}" \
175+
--output "artifacts/release/v${{ steps.meta.outputs.release_version }}/registry-consumer-smoke.json"
176+
cat "artifacts/release/v${{ steps.meta.outputs.release_version }}/registry-consumer-smoke.json"
177+
169178
- name: Publish GitHub release
170179
if: steps.meta.outputs.publish_release == 'true'
171180
uses: softprops/action-gh-release@v2

CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.0.19] - 2026-04-13
11+
12+
### Added
13+
- Post-publish registry-consumer smoke validation via `scripts/registry-consumer-smoke.mjs`, including fresh-install help/version checks and captured consumer dependency-graph evidence.
14+
- A concrete browser-scoped computer-use entry command in generated help, onboarding metadata, and release-facing docs.
15+
16+
### Changed
17+
- Clarified the boundary between local source-tarball validation and published npm proof across README, CLI docs, onboarding, release runbooks, and distribution docs.
18+
- Clarified the `0.0.18` npm parity investigation chronology so it distinguishes the release-aligned parity snapshot from later local worktree drift.
19+
20+
### Fixed
21+
- Browser screencast recording no longer schedules a later frame when stop is requested during the first in-flight capture.
22+
1023
## [0.0.18] - 2026-04-12
1124

1225
### Added
@@ -173,7 +186,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
173186
- Core browser management
174187
- Basic snapshot pipeline
175188

176-
[Unreleased]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.18...HEAD
189+
[Unreleased]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.19...HEAD
190+
[0.0.19]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.18...v0.0.19
177191
[0.0.18]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.17...v0.0.18
178192
[0.0.17]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.16...v0.0.17
179193
[0.0.16]: https://github.com/freshtechbro/opendevbrowser/compare/v0.0.15...v0.0.16

README.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ npm install -g opendevbrowser
8989
opendevbrowser --version
9090
```
9191

92-
### Pre-release Local Package (No npm publish required)
92+
### Local Package Validation
9393

94-
Use this flow to validate first-run local package onboarding before npm publish.
94+
Use this flow to validate first-run onboarding from a source tarball without relying on the published registry package.
9595

9696
```bash
9797
cd <public-repo-root>
@@ -100,11 +100,13 @@ npm pack
100100
WORKDIR=$(mktemp -d /tmp/opendevbrowser-first-run-XXXXXX)
101101
cd "$WORKDIR"
102102
npm init -y
103-
npm install <public-repo-root>/opendevbrowser-0.0.18.tgz
103+
npm install <public-repo-root>/opendevbrowser-0.0.19.tgz
104104
npx --no-install opendevbrowser --help
105105
npx --no-install opendevbrowser help
106106
```
107107

108+
Published npm consumer proof is tracked separately in [docs/RELEASE_RUNBOOK.md](docs/RELEASE_RUNBOOK.md) through `scripts/registry-consumer-smoke.mjs`.
109+
108110
See [docs/FIRST_RUN_ONBOARDING.md](docs/FIRST_RUN_ONBOARDING.md) for the full onboarding checklist, [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md) for runtime inventory, and [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the live CLI and tool surface.
109111

110112
Successful installs reconcile daemon auto-start on supported platforms so the relay is available on login. If the current CLI entrypoint lives under a transient temp-root path such as a first-run `/tmp` or `/private/tmp` workspace, OpenDevBrowser refuses to persist that path as auto-start. Rerun `opendevbrowser daemon install`, or `npx --no-install opendevbrowser daemon install` from a persistent local package install, from a stable install location if you want login auto-start; remove it later with `opendevbrowser daemon uninstall`.
@@ -244,7 +246,7 @@ Start every surface check from generated help when you need the current public l
244246

245247
- `screencast / browser replay`: `screencast-start`, `screencast-stop`
246248
- `desktop observation`: `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot`
247-
- `computer use / browser-scoped computer use`: `--challenge-automation-mode off|browser|browser_with_helper` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`; `review` and `session-inspector` remain the quickest proof surfaces, and the optional helper stays browser-scoped rather than becoming a desktop agent
249+
- `computer use / browser-scoped computer use`: `--challenge-automation-mode off|browser|browser_with_helper` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`; start with `npx opendevbrowser research run --topic "account recovery flow" --source-selection auto --challenge-automation-mode browser --mode json --output-format json` when you need the first entry point, and use `review` plus `session-inspector` as the quickest proof surfaces while the optional helper stays browser-scoped rather than becoming a desktop agent
248250

249251
## Challenge Handling Boundary
250252

@@ -262,14 +264,13 @@ Start every surface check from generated help when you need the current public l
262264

263265
## Recent Features
264266

265-
### v0.0.18 (Latest)
267+
### v0.0.19 (Current release prep)
266268

267-
- **Canvas and workflow surfaces are materially stronger after `v0.0.17`**: adapter-plugin validation, starter or inventory lanes, framework-adapter code sync, review/session-inspector flows, and direct-run release probes all landed on `main`.
268-
- **Generated public-surface manifests and onboarding metadata now drive help, docs parity, release evidence, and mirrored website inputs** instead of leaving those surfaces hand-maintained.
269-
- **Challenge automation and browser-scoped computer-use controls are tighter** with explicit `challengeAutomationMode` precedence and a clearer browser-only helper boundary.
270-
- **Browser replay screencasts and public desktop observation now ship on the active public surface** with manager-owned replay artifacts, dedicated desktop permission or audit coverage, and no desktop agent claim.
271-
- **Public read-only desktop observation now ships as a sibling runtime** with dedicated permission and audit coverage while staying outside the public relay or `/ops` plane.
272-
- **Release and distribution operations were refreshed for `v0.0.18`** across GitHub release assets, npm packaging, Chrome Web Store prep, regenerated live store assets, and private website sync inputs.
269+
- npm latest remains `0.0.18` until the next tag is pushed and published.
270+
- **Registry-consumer release proof is now first-class** with a post-publish smoke lane that installs the published package in a fresh temp workspace, verifies help/version, and captures the resolved consumer dependency graph.
271+
- **Browser-scoped computer use is easier to discover** because help, onboarding, and release-facing docs now expose a concrete workflow entry command instead of relying only on `--challenge-automation-mode` as a hidden modifier.
272+
- **Browser replay screencast shutdown is safer under load** because stop requests during the first in-flight capture no longer allow a later scheduled frame to sneak through.
273+
- **The `0.0.18` npm parity investigation is now explicit about chronology**: the published package matched the release-aligned source, while later local worktree drift and semver-based consumer dependency drift explain the mismatch reports.
273274

274275
### v0.0.16
275276

docs/AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ When release-gate automation changes:
6464
- `docs/RELEASE_RUNBOOK.md`
6565
- `docs/EXTENSION_RELEASE_RUNBOOK.md`
6666
- `docs/DISTRIBUTION_PLAN.md`
67-
- the current version-scoped release evidence doc (for this release: `docs/RELEASE_0.0.18_EVIDENCE.md`)
67+
- the current version-scoped release evidence doc (for this release: `docs/RELEASE_0.0.19_EVIDENCE.md`)
6868
- older ledgers stay historical-only and should receive explicit status clarifications only
6969
- automation scripts:
7070
- `scripts/audit-zombie-files.mjs`

docs/ARCHITECTURE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ When hub mode is enabled, the hub daemon is the **sole relay owner** and enforce
457457
- **Parity gate** via `tests/parity-matrix.test.ts` (contract coverage for CLI/tool/runtime surface checks + mode coverage).
458458
- **Provider performance gate** via `tests/providers-performance-gate.test.ts` (deterministic fixture SLO checks).
459459
- **Strict live release gates** via `node scripts/provider-direct-runs.mjs --release-gate` and `node scripts/live-regression-direct.mjs --release-gate` (active live release proof layer).
460-
- **Release checklist** in `docs/RELEASE_RUNBOOK.md` with evidence tracking in the current version-scoped release ledger (for this cycle: `docs/RELEASE_0.0.18_EVIDENCE.md`).
460+
- **Release checklist** in `docs/RELEASE_RUNBOOK.md` with evidence tracking in the current version-scoped release ledger (for this cycle: `docs/RELEASE_0.0.19_EVIDENCE.md`).
461461
- **Benchmark fixture manifest** in `docs/benchmarks/provider-fixtures.md`.
462462
- **First-run onboarding checklist** in `docs/FIRST_RUN_ONBOARDING.md`.
463463

docs/CLI.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
Command-line interface for installing and managing the OpenDevBrowser plugin, plus automation commands for agents.
44
Status: active
5-
Last updated: 2026-04-12
5+
Last updated: 2026-04-13
66

77
OpenDevBrowser exposes 65 `opendevbrowser_*` tools; see `README.md` and `docs/SURFACE_REFERENCE.md` for the full inventories.
88
Generated help is the primary first-contact inventory and onboarding surface. Agent runs should start with `opendevbrowser_prompting_guide` or `opendevbrowser_skill_load opendevbrowser-best-practices "quick start"` before low-level browser commands, then load `opendevbrowser_skill_load opendevbrowser-best-practices "validated capability lanes"` when they need the currently proven transcript, research, and shopping workflows. Load `opendevbrowser-design-agent` immediately after that baseline for frontend, screenshot-to-code, or `/canvas` design work. Use continuity guidance only for long-running handoff or compaction.
9-
That generated help surface now leads with a `Find It Fast` block that uses the exact lookup terms `screencast / browser replay`, `desktop observation`, and `computer use / browser-scoped computer use`. It maps replay to `screencast-start` / `screencast-stop`, desktop observation to the public read-only `desktop-*` family, and browser-scoped computer use to `--challenge-automation-mode` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`.
9+
That generated help surface now leads with a `Find It Fast` block that uses the exact lookup terms `screencast / browser replay`, `desktop observation`, and `computer use / browser-scoped computer use`. It maps replay to `screencast-start` / `screencast-stop`, desktop observation to the public read-only `desktop-*` family, and browser-scoped computer use to `--challenge-automation-mode` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`, with `research run --topic ... --challenge-automation-mode browser` as the first entry command.
1010
Tool-only commands `opendevbrowser_prompting_guide`, `opendevbrowser_skill_list`, and `opendevbrowser_skill_load` run locally via the skill loader. They are onboarding helpers, not browser-runtime commands, and they do not require relay or daemon bootstrap.
1111
CLI-only power command `rpc` intentionally has no tool equivalent; it is an internal daemon escape hatch behind an explicit safety flag and should be used with extreme caution.
1212
Public-surface metadata now flows from `src/public-surface/source.ts` through `scripts/generate-public-surface-manifest.mjs` into `src/public-surface/generated-manifest.ts` and `src/public-surface/generated-manifest.json`, which are consumed by `src/cli/help.ts`, `src/cli/args.ts`, inventory scripts, mirrored website inputs, and re-export paths in `src/tools/index.ts`. Onboarding literals still live in `src/cli/onboarding-metadata.json`, and runtime execution authority remains `src/cli/args.ts` plus `src/tools/index.ts`.
1313
The generated first-contact inventory mirrored into downstream website and release flows is tracked in `docs/ASSET_INVENTORY.md`.
1414

1515
Dependency inventory: `docs/DEPENDENCIES.md`
16-
First-run pre-release onboarding: `docs/FIRST_RUN_ONBOARDING.md`
16+
First-run local-artifact onboarding: `docs/FIRST_RUN_ONBOARDING.md`
1717

1818
Parity and skill-pack gates:
1919

@@ -45,7 +45,7 @@ npm install -g opendevbrowser
4545
opendevbrowser --version
4646
```
4747

48-
### Pre-release local package onboarding (no npm publish)
48+
### Local package onboarding from a source tarball
4949

5050
```bash
5151
cd <public-repo-root>
@@ -54,7 +54,7 @@ npm pack
5454
WORKDIR=$(mktemp -d /tmp/opendevbrowser-first-run-XXXXXX)
5555
cd "$WORKDIR"
5656
npm init -y
57-
npm install <public-repo-root>/opendevbrowser-0.0.18.tgz
57+
npm install <public-repo-root>/opendevbrowser-0.0.19.tgz
5858
npx --no-install opendevbrowser --help
5959
npx --no-install opendevbrowser help
6060
```
@@ -78,6 +78,12 @@ Installer inventory:
7878

7979
`OPENCODE_CONFIG_DIR` changes config lookup, but the extracted unpacked-extension copy created by `--full` still lives at `~/.config/opencode/opendevbrowser/extension`.
8080

81+
Published npm consumer proof is a separate release gate:
82+
83+
```bash
84+
node scripts/registry-consumer-smoke.mjs --version X.Y.Z --output artifacts/release/vX.Y.Z/registry-consumer-smoke.json
85+
```
86+
8187
### Skill discovery order
8288

8389
The skill loader discovers skills in this order (first match wins):
@@ -256,7 +262,7 @@ npx opendevbrowser -v
256262

257263
`--help` and `help` print the same generated first-contact inventory:
258264
- A `Find It Fast` block that uses the exact lookup terms `screencast / browser replay`, `desktop observation`, and `computer use / browser-scoped computer use`.
259-
- That block maps replay to `screencast-start` / `screencast-stop`, desktop observation to the public `desktop-*` family, and browser-scoped computer use to `--challenge-automation-mode` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`.
265+
- That block maps replay to `screencast-start` / `screencast-stop`, desktop observation to the public `desktop-*` family, and browser-scoped computer use to `--challenge-automation-mode` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`, with a concrete `research run --topic ... --challenge-automation-mode browser` entry command.
260266
- An `Agent Quick Start` block that tells agents to start with `opendevbrowser_prompting_guide` or `opendevbrowser_skill_load opendevbrowser-best-practices "quick start"` before low-level browser commands.
261267
- A follow-up `validated_lanes` entry that points agents to `opendevbrowser_skill_load opendevbrowser-best-practices "validated capability lanes"` for the current reliable transcript, research, and shopping runbook.
262268
- A direct pointer to `opendevbrowser_skill_list` when an agent needs a different local skill lane.
@@ -267,7 +273,7 @@ npx opendevbrowser -v
267273
Quick lookup terms from generated help:
268274
- `screencast / browser replay`: `screencast-start`, `screencast-stop`
269275
- `desktop observation`: `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot`
270-
- `computer use / browser-scoped computer use`: `--challenge-automation-mode off|browser|browser_with_helper` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`
276+
- `computer use / browser-scoped computer use`: `--challenge-automation-mode off|browser|browser_with_helper` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`; entry command `npx opendevbrowser research run --topic "account recovery flow" --source-selection auto --challenge-automation-mode browser --mode json --output-format json`
271277

272278
These first-contact assets are also mirrored as release and website inputs through `src/cli/onboarding-metadata.json`, `src/public-surface/generated-manifest.ts`, and `src/public-surface/generated-manifest.json`.
273279

@@ -1645,7 +1651,7 @@ npm run test -- tests/providers-performance-gate.test.ts
16451651
16461652
These commands are release guards, not the live release-proof lane. Use the direct-run harness commands above for release evidence.
16471653
1648-
Release gate source of truth: `docs/RELEASE_RUNBOOK.md` and `docs/RELEASE_0.0.18_EVIDENCE.md`.
1654+
Release gate source of truth: `docs/RELEASE_RUNBOOK.md` and `docs/RELEASE_0.0.19_EVIDENCE.md`.
16491655
Benchmark fixture manifest: `docs/benchmarks/provider-fixtures.md`.
16501656
16511657
---

docs/DISTRIBUTION_PLAN.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ git push origin vX.Y.Z
9090

9191
5. `release-public.yml` publishes:
9292
- npm package (`npm publish --access public`)
93+
- registry-consumer smoke (`node scripts/registry-consumer-smoke.mjs --version X.Y.Z --output artifacts/release/vX.Y.Z/registry-consumer-smoke.json`)
9394
- GitHub release with:
9495
- `opendevbrowser-extension.zip`
9596
- `opendevbrowser-extension.zip.sha256`

docs/EXTENSION_RELEASE_RUNBOOK.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Extension Release Runbook
22

3-
Last updated: 2026-04-12
3+
Last updated: 2026-04-13
44

55
Operational runbook for publishing extension artifacts from the public repo.
66

@@ -47,8 +47,9 @@ Configure in public GitHub repo secrets:
4747
## Lane A execution
4848

4949
1. Run tag-driven public release flow (`docs/RELEASE_RUNBOOK.md`).
50-
2. Confirm GitHub release includes extension zip + checksum.
51-
3. Verify checksum locally if required:
50+
2. Confirm the release workflow completed the registry-consumer smoke lane for the published npm package before treating the extension artifact as fully released.
51+
3. Confirm GitHub release includes extension zip + checksum.
52+
4. Verify checksum locally if required:
5253

5354
```bash
5455
shasum -a 256 opendevbrowser-extension.zip
@@ -115,6 +116,7 @@ If a bad extension release is published:
115116
## Evidence to retain
116117

117118
- workflow run URL(s)
119+
- registry-consumer smoke JSON or run-log excerpt proving the published npm package passed fresh install validation for the same release
118120
- listing-copy snapshot or generated-asset review note confirming the release-facing browser replay, desktop observation, and browser-scoped computer-use boundary wording used for the release
119121
- upload/publish JSON output summary
120122
- store listing URL and visible version

docs/FIRST_RUN_ONBOARDING.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# First-Run Onboarding (Pre-Release)
1+
# First-Run Onboarding (Local Artifact Validation)
22

33
Status: active
4-
Last updated: 2026-04-12
4+
Last updated: 2026-04-13
55

6-
This guide is the shipping checklist for validating OpenDevBrowser as a new user **before npm distribution is live**.
6+
This guide is the shipping checklist for validating OpenDevBrowser as a new user from a local package artifact. Use `docs/RELEASE_RUNBOOK.md` for the separate published npm registry-consumer proof lane.
77

88
## What this validates
99

@@ -27,7 +27,7 @@ This guide is the shipping checklist for validating OpenDevBrowser as a new user
2727
```bash
2828
cd <public-repo-root>
2929
npm pack
30-
# -> opendevbrowser-0.0.18.tgz
30+
# -> opendevbrowser-0.0.19.tgz
3131
```
3232

3333
## 2) Simulate a brand-new user workspace
@@ -36,7 +36,7 @@ npm pack
3636
WORKDIR=$(mktemp -d /tmp/opendevbrowser-first-run-XXXXXX)
3737
cd "$WORKDIR"
3838
npm init -y
39-
npm install <public-repo-root>/opendevbrowser-0.0.18.tgz
39+
npm install <public-repo-root>/opendevbrowser-0.0.19.tgz
4040
npx --no-install opendevbrowser version --output-format json
4141
```
4242

@@ -58,6 +58,7 @@ Expected:
5858
- the block maps replay to `screencast-start` / `screencast-stop`
5959
- the block maps desktop observation to the public `desktop-*` family
6060
- the block maps browser-scoped computer use to `--challenge-automation-mode` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`
61+
- the block includes a concrete browser-scoped entry command such as `npx opendevbrowser research run --topic "account recovery flow" --source-selection auto --challenge-automation-mode browser --mode json --output-format json`
6162
- help then opens the `Agent Quick Start` block
6263
- the block explicitly points agents to `opendevbrowser_prompting_guide`
6364
- the block explicitly points agents to `opendevbrowser_skill_load opendevbrowser-best-practices "quick start"`

0 commit comments

Comments
 (0)