Skip to content

feat(browser): iris browser check <url> — render-verify a page from the command line - #72

Merged
mayoalexander merged 1 commit into
mainfrom
feat/iris-browser-command
Sep 19, 2026
Merged

mayoalexander merged 1 commit into
mainfrom
feat/iris-browser-command

Conversation

@mayoalexander

Copy link
Copy Markdown

The render check shipped as a skill + script, so an agent could run it and a person could not. This adds the same capability with no model in the loop:

iris browser check https://heyiris.io/p/fleet-layer --viewports tablet:768x900
iris browser check <url> --json
iris browser doctor

One implementation. It execs render-check.sh from the IRIS bridge — the same file the V6 hiveBrowserUse tool runs on a Hive node and the browser-use skill runs by hand. A copy here would be a third behaviour to keep in agreement.

Three exit codes, not two: 0 clean · 1 findings (listed) · 2 could not measure. All three verified, plus --json, plus a machine with the script missing (exit 2 naming the missing piece, never a false pass).

Verified by running it, not by reading it:

case result
check https://heyiris.io exit 0, "no findings — 2 screenshots"
check /p/fleet-layer --viewports tablet:768x900 exit 1, "button is cut off at the right edge by 23px (Get Started)"
check http://127.0.0.1:1/x exit 2, "could not measure"
doctor with the script absent exit 2, names the missing piece
browser --help purpose, subcommands, playbook and keywords render

Note for the next product command: build-capabilities.ts indexes name/aliases/describe/options and never reads productCommand's keywords, which the helper documents as the leverage for discoverability. Search terms are in the purpose line here so iris find screenshot reaches it; filing the generator gap separately.

🤖 Generated with Claude Code

https://claude.ai/code/session_018EozxzAioSnD4afkYcw8Zm

… the command line

The render check shipped as a skill plus a script, so an agent could run it and a person could
not. This is the same capability with no model in the loop — what CI, a pre-publish gate, or
someone on a terminal actually reaches for:

    iris browser check https://heyiris.io/p/fleet-layer --viewports tablet:768x900
    iris browser check <url> --json          # the raw result
    iris browser doctor                      # can this machine drive a browser at all

ONE IMPLEMENTATION. It execs render-check.sh from the IRIS bridge — the same file the V6
`hiveBrowserUse` tool runs on a Hive node and the browser-use skill runs by hand. A copy here
would be a third behaviour to keep in agreement.

THE EXIT CODE IS THE PRODUCT, and there are three, not two: 0 clean · 1 findings (listed) ·
2 COULD NOT MEASURE. Verified all three, plus --json, plus a machine with the script absent
(exit 2 naming the missing piece, never a false pass).

Note for whoever adds the next product: build-capabilities.ts indexes name, aliases, describe
and options — it does NOT read productCommand's `keywords`, which are documented as the leverage
that makes new recipes findable. So the words people search for are in the purpose line here,
and `iris find screenshot` reaches this command. Filed separately.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018EozxzAioSnD4afkYcw8Zm
mayoalexander added a commit that referenced this pull request Sep 19, 2026
…+ iris browser check (PRs #80, #72)

Brings in `iris reachr scrape` (public pages, Instagram, LinkedIn; --write adds leads),
`iris reachr inbox` (+ --log-comms), `iris reachr audit-replies`, reachr-core with 57 tests,
and its base branch feat/iris-browser-command (`iris browser check <url>`).

Verified on the merged tree before pushing:
  - typecheck (tsgo --noEmit): 0 errors
  - reachr-core.test.ts: 57/57
  - full suite: 3268 pass / 231 fail — the same 231 as the PR's CI run. Grouped by file, every
    failing file is outside this branch (provider, snapshot, config, agent, …). The three that
    still fail in isolation (platform-commands 13, bug-regressions 7, provider 9) fail
    IDENTICALLY on main 51c3cb9 — pre-existing, whole-suite leak tracked in #185847.
  - only conflict: capabilities.json (generated) — regenerated from the merged source.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0121oCnNCeZBewSyiQSQ8bin
@mayoalexander
mayoalexander merged commit 8953866 into main Sep 19, 2026
1 of 3 checks passed
@mayoalexander
mayoalexander deleted the feat/iris-browser-command branch September 19, 2026 20:03
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.

1 participant