{ "observed_at": "2026-10-13T19:41:22.769643+00:00", "cluster": [ { "kind": "Deployment", "name": "playwright", "ready_replicas": 1, "desired_replicas": 1, "images": [ "forgejo.coulomb.social/coulomb/rapp-playwright@sha256:8d6fd5a8172cf906bb503642ed620761945c5138b86f6396c36f65cbe6def441" ] }, { "kind": "PersistentVolumeClaim", "name": "playwright-artifacts", "phase": "Bound", "capacity": { "storage": "2Gi" } }, { "kind": "RoleBinding", "name": "playwright-consumers", "role_ref": { "apiGroup": "rbac.authorization.k8s.io", "kind": "Role", "name": "playwright-consumer" }, "subjects": [ { "apiGroup": "rbac.authorization.k8s.io", "kind": "Group", "name": "playwright-consumers" } ] } ], "discovery": { "url": "https://reuse.coulomb.social/v1/federated", "composed_at": "2026-10-13T18:49:02+00:00", "matches": [ { "id": "capability.infotech.headless-browser", "name": "Headless Browser Automation", "summary": "Headless browser automation, screenshots and keyboard trials through rapp-playwright 0.1.0 (Playwright 1.64.0, Chromium 156.0.8078.4). Published A5 local container; managed Railiance admission is pending. Download the Python 3.10+ standalone client from https://forgejo.coulomb.social/coulomb/rapp-playwright/raw/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/client/rapp_playwright.py and run `python3 rapp_playwright.py --url http://127.0.0.1:18083 preflight`, then `python3 rapp_playwright.py --url http://127.0.0.1:18083 trial --out trial-01` with a fresh output directory. This endpoint was verified locally on 2026-10-13 and is ephemeral; it installs no browser for the caller. If unreachable, follow the local container setup in the capability card or adapt its A2 source examples; this is an availability gap on the existing capability. Contract: https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/docs/consumer-contract.md.", "vector": "D3 / A5 / C2 / R2", "domain": "infotech", "status": "reviewed", "owner": "reuse-surface", "path": "registry/capabilities/capability.infotech.headless-browser.md", "tags": [ "headless", "browser", "automation", "playwright", "chromium", "testing", "screenshots", "extraction", "firefox", "webkit", "selenium", "puppeteer" ], "consumption_modes": [ "informational", "source adaptation", "JavaScript library", "Python library", "cli", "service API", "container" ], "source_repo": "reuse-surface", "source_url": "https://forgejo.coulomb.social/coulomb/reuse-surface/raw/branch/main/registry/indexes/capabilities.yaml", "source_index": "/data/cache/reuse-surface.yaml" } ] }, "railiance-platform_commit": "d303c99e3be993ffa989bc9ba3d7b471903858ce", "reuse-surface_commit": "a6da9f2c5c0cb8a69ddf4ea2386e79699a90c2e1", "runtime.json": { "observed_at": "2026-10-13T18:52:58.325239+00:00", "image": "forgejo.coulomb.social/coulomb/rapp-playwright@sha256:8d6fd5a8172cf906bb503642ed620761945c5138b86f6396c36f65cbe6def441", "replica_ready": true, "pvc_phase": "Bound", "pvc_uid": "da36929a-1d69-457a-ad99-7580ef86ab18", "pvc_size": "2Gi", "initial_pod_uid": "3475ad46-d9d8-4b97-99b7-54b4d984d2f2", "restarted_pod_uid": "a22030a4-c12d-4e97-be8d-98a8d80808c2", "same_image_restart_completed_artifacts_verified": true, "preflight_after_restart": { "available": true, "error": null, "checked_at": "2026-10-13T18:51:59.595Z", "browser_version": "156.0.8078.4", "api_version": "1", "service_version": "0.1.0", "playwright_version": "1.64.0", "execution_location": "railiance01/playwright", "release": "forgejo.coulomb.social/coulomb/rapp-playwright@sha256:8d6fd5a8172cf906bb503642ed620761945c5138b86f6396c36f65cbe6def441", "allowed_origins": [ "https://onco.cc" ], "fixture": true, "active": 0, "queued": 0, "limits": { "concurrency": 1, "max_queue": 4, "max_timeout_ms": 120000, "retention_ms": 3600000, "max_runs": 64 } }, "access_path": "Existing authenticated operator SSH; administrator impersonation of playwright-consumers; loopback-only port-forward", "actual_consumer_authentication_proven": false, "cross_version_rollback_proven": false, "abrupt_interruption_recovery_proven": false, "source_workload_sha256": "d5d3f3d816dd4320059b4fcdc8409fb84d6075aeb1f409f4d112263d7e14191d" }, "negative-checks.json": { "wrong_token": true, "wrong_artifact_token": true, "ui_failure_distinguished": true, "bounded_cancellation": true, "private_target_refused": true, "preflight_healthy": true }, "receipt.json": { "id": "6a51e164-cec5-46ed-89b1-92b93dd16d23", "api_version": "1", "status": "passed", "error": null, "label": "independent-browser-trial", "target": "fixture", "viewports": [ { "name": "desktop", "width": 1280, "height": 800 }, { "name": "narrow", "width": 390, "height": 844 } ], "timeout_ms": 60000, "created_at": "2026-10-13T18:50:40.554Z", "expires_at": "2026-10-13T19:50:40.554Z", "service_version": "0.1.0", "playwright_version": "1.64.0", "release": "forgejo.coulomb.social/coulomb/rapp-playwright@sha256:8d6fd5a8172cf906bb503642ed620761945c5138b86f6396c36f65cbe6def441", "execution_location": "railiance01/playwright", "browser_version": "156.0.8078.4", "completed_steps": 14, "steps": [ { "viewport": "desktop", "index": 0, "action": "visible", "status": "passed", "at": "2026-10-13T18:50:42.655Z", "selector": "h1" }, { "viewport": "desktop", "index": 1, "action": "text", "status": "passed", "at": "2026-10-13T18:50:42.815Z", "selector": "#count" }, { "viewport": "desktop", "index": 2, "action": "press", "status": "passed", "at": "2026-10-13T18:50:42.851Z", "key": "Tab" }, { "viewport": "desktop", "index": 3, "action": "focused", "status": "passed", "at": "2026-10-13T18:50:42.911Z", "selector": "#increment" }, { "viewport": "desktop", "index": 4, "action": "press", "status": "passed", "at": "2026-10-13T18:50:42.924Z", "key": "Enter" }, { "viewport": "desktop", "index": 5, "action": "text", "status": "passed", "at": "2026-10-13T18:50:42.937Z", "selector": "#count" }, { "viewport": "desktop", "index": 6, "action": "screenshot", "status": "passed", "at": "2026-10-13T18:50:42.949Z" }, { "viewport": "narrow", "index": 0, "action": "visible", "status": "passed", "at": "2026-10-13T18:50:43.919Z", "selector": "h1" }, { "viewport": "narrow", "index": 1, "action": "text", "status": "passed", "at": "2026-10-13T18:50:44.063Z", "selector": "#count" }, { "viewport": "narrow", "index": 2, "action": "press", "status": "passed", "at": "2026-10-13T18:50:44.180Z", "key": "Tab" }, { "viewport": "narrow", "index": 3, "action": "focused", "status": "passed", "at": "2026-10-13T18:50:44.228Z", "selector": "#increment" }, { "viewport": "narrow", "index": 4, "action": "press", "status": "passed", "at": "2026-10-13T18:50:44.260Z", "key": "Enter" }, { "viewport": "narrow", "index": 5, "action": "text", "status": "passed", "at": "2026-10-13T18:50:44.275Z", "selector": "#count" }, { "viewport": "narrow", "index": 6, "action": "screenshot", "status": "passed", "at": "2026-10-13T18:50:44.314Z" } ], "artifacts": [ { "name": "desktop-6-keyboard-result.png", "bytes": 26622 }, { "name": "desktop-final.png", "bytes": 26622 }, { "name": "narrow-6-keyboard-result.png", "bytes": 24280 }, { "name": "narrow-final.png", "bytes": 24280 } ], "started_at": "2026-10-13T18:50:40.557Z", "blocked_requests": 12, "finished_at": "2026-10-13T18:50:44.840Z", "downloads": [ { "name": "desktop-6-keyboard-result.png", "bytes": 26622, "sha256": "b15998824256b86c74f2bbb75f061061be65db0b4f3bb5444529ac69a723cdad" }, { "name": "desktop-final.png", "bytes": 26622, "sha256": "b15998824256b86c74f2bbb75f061061be65db0b4f3bb5444529ac69a723cdad" }, { "name": "narrow-6-keyboard-result.png", "bytes": 24280, "sha256": "49d27cb169b8e180ce93969c6d2b8619a7684cf035bb9dcae9cd91d8bd9952e8" }, { "name": "narrow-final.png", "bytes": 24280, "sha256": "49d27cb169b8e180ce93969c6d2b8619a7684cf035bb9dcae9cd91d8bd9952e8" } ] }, "after-restart-receipt.json": { "id": "b11fd28b-58fe-4b20-a15e-32b18ea76f2b", "api_version": "1", "status": "passed", "error": null, "label": "independent-browser-trial", "target": "fixture", "viewports": [ { "name": "desktop", "width": 1280, "height": 800 }, { "name": "narrow", "width": 390, "height": 844 } ], "timeout_ms": 60000, "created_at": "2026-10-13T18:52:59.076Z", "expires_at": "2026-10-13T19:52:59.076Z", "service_version": "0.1.0", "playwright_version": "1.64.0", "release": "forgejo.coulomb.social/coulomb/rapp-playwright@sha256:8d6fd5a8172cf906bb503642ed620761945c5138b86f6396c36f65cbe6def441", "execution_location": "railiance01/playwright", "browser_version": "156.0.8078.4", "completed_steps": 14, "steps": [ { "viewport": "desktop", "index": 0, "action": "visible", "status": "passed", "at": "2026-10-13T18:53:01.091Z", "selector": "h1" }, { "viewport": "desktop", "index": 1, "action": "text", "status": "passed", "at": "2026-10-13T18:53:01.214Z", "selector": "#count" }, { "viewport": "desktop", "index": 2, "action": "press", "status": "passed", "at": "2026-10-13T18:53:01.323Z", "key": "Tab" }, { "viewport": "desktop", "index": 3, "action": "focused", "status": "passed", "at": "2026-10-13T18:53:01.360Z", "selector": "#increment" }, { "viewport": "desktop", "index": 4, "action": "press", "status": "passed", "at": "2026-10-13T18:53:01.393Z", "key": "Enter" }, { "viewport": "desktop", "index": 5, "action": "text", "status": "passed", "at": "2026-10-13T18:53:01.407Z", "selector": "#count" }, { "viewport": "desktop", "index": 6, "action": "screenshot", "status": "passed", "at": "2026-10-13T18:53:01.454Z" }, { "viewport": "narrow", "index": 0, "action": "visible", "status": "passed", "at": "2026-10-13T18:53:02.526Z", "selector": "h1" }, { "viewport": "narrow", "index": 1, "action": "text", "status": "passed", "at": "2026-10-13T18:53:02.786Z", "selector": "#count" }, { "viewport": "narrow", "index": 2, "action": "press", "status": "passed", "at": "2026-10-13T18:53:02.877Z", "key": "Tab" }, { "viewport": "narrow", "index": 3, "action": "focused", "status": "passed", "at": "2026-10-13T18:53:02.891Z", "selector": "#increment" }, { "viewport": "narrow", "index": 4, "action": "press", "status": "passed", "at": "2026-10-13T18:53:02.896Z", "key": "Enter" }, { "viewport": "narrow", "index": 5, "action": "text", "status": "passed", "at": "2026-10-13T18:53:02.905Z", "selector": "#count" }, { "viewport": "narrow", "index": 6, "action": "screenshot", "status": "passed", "at": "2026-10-13T18:53:02.915Z" } ], "artifacts": [ { "name": "desktop-6-keyboard-result.png", "bytes": 26622 }, { "name": "desktop-final.png", "bytes": 26622 }, { "name": "narrow-6-keyboard-result.png", "bytes": 24280 }, { "name": "narrow-final.png", "bytes": 24280 } ], "started_at": "2026-10-13T18:52:59.078Z", "blocked_requests": 12, "finished_at": "2026-10-13T18:53:03.351Z", "downloads": [ { "name": "desktop-6-keyboard-result.png", "bytes": 26622, "sha256": "b15998824256b86c74f2bbb75f061061be65db0b4f3bb5444529ac69a723cdad" }, { "name": "desktop-final.png", "bytes": 26622, "sha256": "b15998824256b86c74f2bbb75f061061be65db0b4f3bb5444529ac69a723cdad" }, { "name": "narrow-6-keyboard-result.png", "bytes": 24280, "sha256": "49d27cb169b8e180ce93969c6d2b8619a7684cf035bb9dcae9cd91d8bd9952e8" }, { "name": "narrow-final.png", "bytes": 24280, "sha256": "49d27cb169b8e180ce93969c6d2b8619a7684cf035bb9dcae9cd91d8bd9952e8" } ] }, "artifact_checks": [ { "name": "desktop-6-keyboard-result.png", "sha256": "b15998824256b86c74f2bbb75f061061be65db0b4f3bb5444529ac69a723cdad", "recorded_sha256": "b15998824256b86c74f2bbb75f061061be65db0b4f3bb5444529ac69a723cdad", "size": 26622, "matches_receipt": true, "matches_after_restart": true }, { "name": "desktop-final.png", "sha256": "b15998824256b86c74f2bbb75f061061be65db0b4f3bb5444529ac69a723cdad", "recorded_sha256": "b15998824256b86c74f2bbb75f061061be65db0b4f3bb5444529ac69a723cdad", "size": 26622, "matches_receipt": true, "matches_after_restart": true }, { "name": "narrow-6-keyboard-result.png", "sha256": "49d27cb169b8e180ce93969c6d2b8619a7684cf035bb9dcae9cd91d8bd9952e8", "recorded_sha256": "49d27cb169b8e180ce93969c6d2b8619a7684cf035bb9dcae9cd91d8bd9952e8", "size": 24280, "matches_receipt": true, "matches_after_restart": true }, { "name": "narrow-final.png", "sha256": "49d27cb169b8e180ce93969c6d2b8619a7684cf035bb9dcae9cd91d8bd9952e8", "recorded_sha256": "49d27cb169b8e180ce93969c6d2b8619a7684cf035bb9dcae9cd91d8bd9952e8", "size": 24280, "matches_receipt": true, "matches_after_restart": true } ] }