Reconcile deployed pilot and published browser discovery progress
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a13590-a16f-7f60-be60-fd71627bc99d
This commit is contained in:
parent
70268154c0
commit
3a30ef159a
8 changed files with 661 additions and 28 deletions
532
docs/evidence/2026-10-13-owner-progress-readback.json
Normal file
532
docs/evidence/2026-10-13-owner-progress-readback.json
Normal file
|
|
@ -0,0 +1,532 @@
|
|||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,8 +1,10 @@
|
|||
# Managed admission review — release 0.1.0
|
||||
|
||||
Publication is complete. The remaining WP-0004-T01 decision is platform
|
||||
admission and a scoped consumer binding, owned by railiance-platform. This
|
||||
review packet does not claim approval or create a cluster workload.
|
||||
Update: platform admitted and deployed the pilot and installed the
|
||||
`playwright-consumers` binding under RPF-WP-0056. The review below is the original
|
||||
pre-admission packet. Its package/binding decisions are resolved; real consumer
|
||||
authentication and transport remain open. See [current scope](../SCOPE.md) and
|
||||
[owner evidence](evidence/2026-10-13-owner-progress-readback.json).
|
||||
|
||||
## Package to review
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue