Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a13690-1c84-77a2-aeee-7f517ec60f5d
4.4 KiB
Browser discovery review — 2026-10-13
REUSE-WP-0024 resolves the registry-owned portion of REUSE-IN-0001 on the
existing capability.infotech.headless-browser record. Provider implementation
and managed lifecycle remain with rapp-playwright and railiance-platform;
CONTENT-WP-0000-T04 remains the consumer's acceptance task.
Published provider evidence
Fetched the raw client, consumer contract, independent-consumer report and
release manifest at provider commit
8831a05aeba5ce588f3b395ade676dde2a151c5d. All four matched git show at that
revision byte for byte. The single-file Python client SHA-256 is
9967a0831ed04e27fde419098af707722d5c81c993e4c294b3677ffb75729c12.
Pinned public links are retained in the
capability card.
The published image is
forgejo.coulomb.social/coulomb/rapp-playwright@sha256:8d6fd5a8172cf906bb503642ed620761945c5138b86f6396c36f65cbe6def441
for linux/amd64. Provider publication evidence includes immutable registry
verification and railiance01 pull. This review did not redeploy the provider.
Fresh client-only local trial
Executed the downloaded client, without installing Playwright or Chromium:
python3 /tmp/reuse-browser-review/rapp_playwright.py --url http://127.0.0.1:18083 preflight
python3 /tmp/reuse-browser-review/rapp_playwright.py --url http://127.0.0.1:18083 trial --out /tmp/reuse-browser-review/trial-01
Both exited 0. Run 6c710b36-319b-45b8-b062-ac2065f5e81b completed at
18:42:58 UTC with 14 passed steps: visibility, counter checks, Tab,
focused-button assertion, Enter and screenshot in two viewports. The provider
reported service 0.1.0, Playwright 1.64.0, Chromium 156.0.8078.4,
workstation-release-check, and the published digest above. Preflight permitted
no external origins; only the synthetic fixture was exercised.
Independently parsed all four PNG headers and recomputed hashes against the client receipt. Desktop screenshots are 1280×800 and narrow screenshots are 390×844. This validates dimensions and integrity, not visual-baseline quality.
Private run handles are excluded. The endpoint is ephemeral and was available on this workstation at trial time; it is not a managed service or a promise of future availability. The source examples remain a fallback when a provider is unavailable. No consumer app, remote target or managed browser was tested.
Assessment and matching
Promoted availability A2 → A5 under the standard's deployable-container
definition. A6 managed platform capability remains pending. D3/C2/R2 stay
conservative; fixture execution does not prove broader target compatibility or
platform operation. Decision recorded in State Hub as
b8ef28c1-9164-4678-8a61-1652e0f07407.
Before this fix, plan-check --intent "headless browser" --no-llm returned
new, with an unrelated context engine first at 0.0476 and the browser third.
After scoring names independently from summaries/tags, the same query returns
reuse, with the browser first at 0.6667 and unrelated matches at 0.2 or
less. Long command/evidence summaries no longer dilute direct name matches.
The output includes the standalone client link, preflight/trial commands,
ephemeral endpoint warning, managed-admission condition and availability-gap
fallback. Reuse advice now describes relevance rather than asserting readiness.
Regressions cover short-name relevance despite long summaries and higher-maturity unrelated services, summary-only matching, equal-relevance maturity ties, and hosted CLI output carrying conditional provider instructions. Stats tests now use a fixed temporary registry rather than assuming the live repo always has two capabilities.
Validation
.venv/bin/python -m pytest -q: 212 passed. One existing Starlette TestClient/httpx deprecation warning remains.validate --relations --fail-on-warnings: 3 entries valid.catalog,graph --check, andfederation compose: generated successfully; 66 federated capabilities, preserving one browser capability.git diff --check: clean.