Skip to content

[Tests] Add deterministic local browser search scenario - #63

Merged
hsliuustc0106 merged 4 commits into
mainfrom
codex/issue13-browser-fixture
Oct 24, 2026
Merged

hsliuustc0106 merged 4 commits into
mainfrom
codex/issue13-browser-fixture

Conversation

@Birfy

@Birfy Birfy commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

Related to #13; this is one repeatable fixture slice and does not complete the issue.

Adds an opt-in local browser scenario that submits a fixed search form through the existing Playwright MCP harness. The browser decision model and final answer are scripted, so no live model or paid API is called. The verifier checks the recorded query and the actual result text in the terminal page snapshot. Fast unit checks reject missing result text and ensure the temporary server/thread is cleaned up when Runner startup or shutdown fails.

Local verification on the Mac, for head ca88c17:

  • Ruff check and format check passed.
  • Default collection: 3 passed, 1 browser test skipped.
  • Opt-in browser run: 1 passed through Node 24, Playwright MCP 0.0.78 and installed Chrome 154.
  • Full suite: 788 passed, 47 skipped, 3 warnings, 154 subtests passed.
  • ty check, scripts/smoke.sh, and uv build passed.

CI diagnosis (read-only, 2026-10-09):

  • GET /repos/ThinkFlowLab/system1-agents/actions/permissions returned HTTP 200: {"enabled":false,"sha_pinning_required":false}. This is the repository Actions setting, not an organization-wide finding.
  • GET /repos/ThinkFlowLab/system1-agents/actions/runs?head_sha=ca88c17d3e5bcc6651d4128adbb3d6eecfe8edcd returned HTTP 200 with total_count: 0.
  • The exact-head commit status and check-runs endpoints each returned zero records. PR [Tests] Add deterministic local browser search scenario #63 uses a same-repository branch, and its author is a collaborator; no action-required run exists for this PR. The repository run history has an action-required run for PR [Feat] Add bounded recovery for stalled browser and desktop tasks #31, showing that approval-required runs are represented separately.
  • The PR timeline records Birfy marking PR [Tests] Add deterministic local browser search scenario #63 ready for review at 2026-10-09 23:38:51 UTC. I did not change the PR readiness state.

The evidence indicates that Actions are currently disabled at the repository level, rather than this head awaiting an approval. No repository settings or credentials were changed. CI remains unverified until Actions are enabled through the repository's normal process and checks run on this head.

This is test coverage only, not a live-model baseline or a completion claim for #13 or #54.

Cloud validation (2026-10-10)

Independent run on exact head ca88c17d3e5bcc6651d4128adbb3d6eecfe8edcd on the assistant's cloud computer (Linux, CPython 3.12.14), using the frozen core + dev install:

  • Full default suite (pytest -q -rs): 788 passed, 47 skipped, 4 warnings, 154 subtests passed.
  • Repository-wide ruff format --check ., ruff check ., ty check, uv lock --check, and git diff --check: passed.
  • scripts/smoke.sh: passed (smoke: ok), with no Jev key and no live model call.
  • uv build: passed for source distribution and wheel.

The 47 skips include optional game/report extras and intentionally unsupported backend contract cases; this is the full default suite on the core install, not all optional configurations. Writable cloud caches and socksio==1.0.0 were used only in the isolated test environment so HTTPX could honor the existing cloud SOCKS proxy. No source change was needed.

The opt-in browser fixture was also attempted on this exact head using Node 24.19.0, Playwright MCP 0.0.78 and installed Chromium 154.0.8037.57. MCP startup succeeded after passing the existing cloud CA/cache configuration through the harness's supported options. Chromium then aborted before the local fixture received any page request: socket() failed: Operation not permitted at chrome/browser/process_singleton_posix.cc:297. A supported elevated-execution review allowed a retry, but the same runtime restriction remained. The cloud browser check is blocked, not passed; the earlier Mac browser pass above is separate evidence. No TLS verification, proxy settings or browser sandbox flags were weakened.

These results do not establish GitHub Actions success or a live-model baseline. No Actions settings, credentials, PR readiness/state, merges or releases were changed.

@Birfy
Birfy force-pushed the codex/issue13-browser-fixture branch from b272336 to b09c784 Compare October 9, 2026 23:20
@Birfy
Birfy marked this pull request as ready for review October 9, 2026 23:38
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T23:41:21.662094Z ca88c17 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Birfy Birfy left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Self-review (Birfy) — merge readiness

Status: ready-for-review · MERGEABLE · CI green on default jobs; the browser job is skipped in Actions (opt-in local fixture).

What looks solid

  • Deterministic local search fixture with scripted decisions and an independent verifier on the result page — good #13 slice with no live model/API.
  • Unit tests cover missing result text and Runner startup/shutdown cleanup.

Non-blocking

  • Repository Actions has historically skipped the browser job; local opt-in remains the proof path — fine if documented in the PR (already noted).
  • Does not complete #13; keep stacked with #64.

Not approving (own PR). Merge-ready pending human approval.

@hsliuustc0106 hsliuustc0106 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review (hsliuustc0106) — approve

Light-impact pass on head 4b072fa7851c766254686e1261ce134a49c7f81a.

Impact

  • changed: tests/search_task_fixture.py, tests/system/test_search_task_fixture.py, tests/test_browser_search_fixture_units.py
  • callers/dependents: none outside the new opt-in harness (uses existing browse + flights.SPEC)
  • related tests: unit verifier + Runner start/stop cleanup; system test gated on S1A_BROWSER_TESTS
  • not expanded: production browser agents beyond the fixture reuse of browse

Risk: low (test-only; scripted decisions; no live model/API). Missing tests: none obvious.

Readiness

  • CI green on exact head (core + full); browser job skipped in Actions (expected — opt-in local fixture)
  • MERGEABLE; independent verifier checks submitted query and page text, not just the scripted final answer

Approving this #13 fixture slice. Does not complete the broader issue.

@hsliuustc0106
hsliuustc0106 merged commit 4d4ee05 into main Oct 24, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants