From 3a30ef159ae680da9e03179fcbe4dac9cdcc9cc3 Mon Sep 17 00:00:00 2001 From: tegwick Date: Tue, 13 Oct 2026 21:43:20 +0200 Subject: [PATCH] Reconcile deployed pilot and published browser discovery progress Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a13590-a16f-7f60-be60-fd71627bc99d --- README.md | 2 +- SCOPE.md | 54 +- declarations/rapp.yaml | 2 +- .../2026-10-13-owner-progress-readback.json | 532 ++++++++++++++++++ docs/platform-admission.md | 8 +- ...2026-10-13-2142-intent-scope-assessment.md | 62 ++ ...LAYWRIGHT-WP-0004-consumer-verification.md | 27 +- workplans/README.md | 2 +- 8 files changed, 661 insertions(+), 28 deletions(-) create mode 100644 docs/evidence/2026-10-13-owner-progress-readback.json create mode 100644 history/2026-10-13-2142-intent-scope-assessment.md diff --git a/README.md b/README.md index a9682db..ee5660b 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ A bounded Playwright/Chromium job service for responsive screenshots and keyboard journeys, with a standalone Python client and a private Railiance workload package. -**Implemented, verified locally and published. Managed activation awaits platform admission.** +**Published and running as a Railiance pilot. Self-service consumer access remains pending.** The independent agent trial and pinned OnCo home-page pilot passed. The service uses Playwright 1.64.0 and Chromium 156.0.8078.4; consumers need Python 3.10+ and no browser installation. diff --git a/SCOPE.md b/SCOPE.md index 4d18900..8c7459f 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -1,10 +1,11 @@ # Scope — rapp-playwright -As of 2026-10-13, the service, standalone Python client, browser trial and -Railiance package are implemented and verified locally. **Managed Railiance -availability is not established.** Release 0.1.0 is published and verified by a -cluster pull; platform admission has not been confirmed. The founder selected `railiance-platform` as lifecycle -owner; service implementation remains here. +As of 2026-10-13 21:42 Europe/Berlin, release 0.1.0 is published and the +**Railiance pilot is deployed, with 1/1 Ready replica and a Bound 2Gi PVC**. +Platform recorded operator-driven browser, permission, cancellation and restart +proof. **Self-service managed availability is not yet established:** real human +and coding-agent authentication and per-caller connectivity remain pending. +Lifecycle ownership is railiance-platform; service implementation remains here. ## Implemented and evidenced @@ -21,6 +22,11 @@ owner; service implementation remains here. browser negative passed. Independent initial and final-image trials verified screenshots, keyboard results, artifact hashes and failure categories. Final image restart preserved completed receipt/artifact retrieval. +- Platform pilot on railiance01 passed 14 responsive/keyboard steps, six negative/health + checks and same-image restart with four preserved screenshots. Fresh readback + confirmed Ready, the exact release image, PVC binding and consumer group binding. + All four retained PNG hashes match original and post-restart download receipts. + Access used administrator impersonation; this does not prove consumer login. - Pinned OnCo home-page pilot passed at desktop and narrow widths with skip-link keyboard assertions. Evidence was handed to content-explorer; its T04 and visual/route acceptance remain consumer-owned. @@ -42,23 +48,29 @@ artifacts expire; sanitized evidence under `docs/evidence/` is retained. | --- | --- | | WP-0002 | Finished: consumption contract, lifecycle and trial/pilot design | | WP-0003 | Finished: tested image published at its exact digest and pulled on railiance01; ingress upload deadline fixed. | -| WP-0004 | T02 provider trial/pilot done. T01 waits on platform admission/access; T03 waits on reuse-surface's maintained/published discovery update. | +| WP-0004 | T02 provider trial/pilot done. T01 awaits actual consumer identity/access and remaining recovery evidence. T03 has published A5 local-provider discovery; final managed availability update awaits T01. | -Fresh resumed readback confirmed the `playwright` namespace is absent. No browser workload was created. Server -admission, private consumer binding, live target reachability, managed independent -trial, restart/cancellation and cross-version rollback remain unverified. -[Release 0.1.0](releases/0.1.0.json) is now published; see the -[publication fix and pull evidence](docs/evidence/2026-10-13-publication.md). Package validation/rendering -and Kubernetes client dry-run passed; they do not imply server admission. +Platform admitted and deployed the reviewed package under RPF-WP-0056. The +`playwright-consumers` group is bound to the namespace consumer Role. Initial +eligibility includes all identified platform humans and coding agents; no further +membership decision is needed. Registration, native JWT authentication, +per-caller API transport, renewal/revocation and real consumer receipts are still +open in RPF-WP-0056-T03. Custodian coordination is requested in T06. -Existing capability `capability.infotech.headless-browser` was still D3/A2/C2/R2 -with source-reuse/planned-provider wording at readback. The owner received actual -local evidence and the usable client path; registry publication is pending. -The [fresh readback](docs/evidence/2026-10-13-2031-resumed-readback.json) also -confirmed local preflight availability at the checked time. The -[admission review packet](docs/platform-admission.md) identifies the exact package -and remaining platform decisions. Publication updates were sent in both existing -owner threads. Open workplan tasks retain blocker messages and exact resume steps. +Existing capability `capability.infotech.headless-browser` is now published at +D3/A5/C2/R2 with pinned client/contract/release links and runnable local guidance. +REUSE-WP-0024 completed the local-provider discovery and relevance work. General +managed availability must remain unclaimed until real consumer acceptance. +The published summary still says managed admission is pending; its next update +should distinguish the running operator pilot from incomplete consumer access. + +The [owner progress readback](docs/evidence/2026-10-13-owner-progress-readback.json) +retains current cluster/discovery observations and platform runtime receipts. +Platform's [consumer access instructions](https://forgejo.coulomb.social/coulomb/railiance-platform/src/commit/d303c99e3be993ffa989bc9ba3d7b471903858ce/docs/playwright-consumer-access.md) +are prepared but conditional on identity-owner activation. The earlier +[admission review](docs/platform-admission.md) is retained as history; package +admission, deployment and the binding are no longer the outstanding decision. +Abrupt-interruption recovery and actual cross-version rollback remain unverified. ## Deliberate limits @@ -69,5 +81,5 @@ sandbox is disabled; hostile pages and mutually untrusted tenants are unsupporte Target failures identify the category but not detailed DNS/TLS/HTTP causes. The OnCo pilot covers the home page, not all consumer routes or accessibility. -See the [timestamped intent assessment](history/2026-10-13-2033-intent-scope-assessment.md) +See the [timestamped intent assessment](history/2026-10-13-2142-intent-scope-assessment.md) for the prioritized gaps and their acceptance evidence. diff --git a/declarations/rapp.yaml b/declarations/rapp.yaml index 9f7971d..7cade60 100644 --- a/declarations/rapp.yaml +++ b/declarations/rapp.yaml @@ -12,7 +12,7 @@ workload_identity: service_account: playwright notes: - Service implementation and consumer contract remain in rapp-playwright. - - Founder selected railiance-platform as lifecycle owner on 2026-10-13; admission confirmation remains requested in State Hub c82d75f3-3191-410d-a8c8-fd647bf7f3ef. + - Platform admitted and deployed the pilot under RPF-WP-0056 on 2026-10-13; real consumer access and managed availability acceptance remain pending. data_classification: internal criticality: low primary_rail: rail-kubernetes diff --git a/docs/evidence/2026-10-13-owner-progress-readback.json b/docs/evidence/2026-10-13-owner-progress-readback.json new file mode 100644 index 0000000..3fbb76c --- /dev/null +++ b/docs/evidence/2026-10-13-owner-progress-readback.json @@ -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 + } + ] +} diff --git a/docs/platform-admission.md b/docs/platform-admission.md index 5086922..436f6df 100644 --- a/docs/platform-admission.md +++ b/docs/platform-admission.md @@ -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 diff --git a/history/2026-10-13-2142-intent-scope-assessment.md b/history/2026-10-13-2142-intent-scope-assessment.md new file mode 100644 index 0000000..e959c26 --- /dev/null +++ b/history/2026-10-13-2142-intent-scope-assessment.md @@ -0,0 +1,62 @@ +# INTENT against SCOPE — 2026-10-13 21:42 Europe/Berlin + +There is substantial new progress since the previous assessment. The release is +now deployed as a Railiance pilot, and discovery publishes the verified local +provider. The largest remaining gap has narrowed from deployment/admission to +**real self-service consumer access**. Full INTENT is still not met. + +## Verified progress + +- Fresh cluster readback: `playwright` Deployment 1/1 Ready on the published + immutable 0.1.0 image; artifact PVC Bound at 2Gi; `playwright-consumers` bound + to the namespace Role. +- Platform runtime evidence: 14 responsive/keyboard steps passed, four PNGs, + six negative/health checks, and same-image restart. Recomputed all four retained + PNG hashes and matched both original and post-restart download receipts. +- Thirteen native RBAC checks are recorded by platform. The access path used + administrator impersonation, so these prove permission/runtime behavior and + do not prove a real consumer can authenticate. +- Live federation now publishes one browser capability at D3/A5/C2/R2 with + immutable client/contract/release links and executable local instructions. + REUSE-WP-0024 is finished; its recorded relevance fix returns browser first + with a reuse recommendation. The former source-only discovery gap is resolved. + +The [retained readback](../docs/evidence/2026-10-13-owner-progress-readback.json) +contains current cluster/federation observations and reviewed platform receipts. +Platform source is commit `d303c99e3be993ffa989bc9ba3d7b471903858ce`; reuse source +is `a6da9f2c5c0cb8a69ddf4ea2386e79699a90c2e1`. Older assessments remain dated evidence. + +## Most important gaps + +1. **Human and coding-agent onboarding is not operational.** Group eligibility + is decided and the binding exists, but dedicated registrations, native JWT + authentication, per-caller API transport and governed credential delivery + remain pending. Platform prepared a setup/verification helper and owner + handoffs. RPF-WP-0056-T03 owns actual identity integration and live receipts; + T06 awaits Custodian coordination. No further membership choice is needed. + Completion requires real human and agent trials without administrator + impersonation, plus renewal/revocation and native authentication negatives. +2. **Managed acceptance and operational proof remain incomplete.** The running + pilot passes operator tests and completed-artifact recovery. It has no real + consumer-network acceptance, abrupt-interruption recovery evidence or actual + cross-version rollback. Only one release exists; same-image restart must not + be called version rollback. These stay in RAPP-PLAYWRIGHT-WP-0004-T01. +3. **Discovery needs the final managed-availability update.** A5 local-provider + publication is verified. Its summary still says admission is pending even + though the pilot is now admitted; it should distinguish deployed pilot from + incomplete consumer access. T03 awaits accepted native consumer receipts + before any general managed-availability promotion. +4. **Consumer-specific acceptance remains with content-explorer.** The pinned + OnCo home/skip-link smoke is demonstrated locally. Broader routes, graph/search + behavior and visual acceptance remain outside that evidence. Provider progress + does not close CONTENT-WP-0000-T04. + +## Workplan and scope disposition + +WP-0001–0003 remain finished. WP-0004-T02 is done; T01 and T03 retain explicit +waits for the narrower remaining owner outcomes. [SCOPE.md](../SCOPE.md), README, +the declaration note and workplan records now reflect the deployed pilot and +published A5 capability. The declaration remains draft pending full managed +consumer acceptance. No browser implementation or running workload was changed +in this reconciliation, and no additional browser tests were necessary to +verify these documentation changes. diff --git a/workplans/RAPP-PLAYWRIGHT-WP-0004-consumer-verification.md b/workplans/RAPP-PLAYWRIGHT-WP-0004-consumer-verification.md index 3eea606..f3e76ec 100644 --- a/workplans/RAPP-PLAYWRIGHT-WP-0004-consumer-verification.md +++ b/workplans/RAPP-PLAYWRIGHT-WP-0004-consumer-verification.md @@ -67,7 +67,7 @@ content-explorer assesses its own completion. A health response alone cannot pas ```task id: RAPP-PLAYWRIGHT-WP-0004-T03 status: wait -blocked_on: message-from:reuse-surface +blocked_on: message-from:railiance-platform priority: high state_hub_task_id: "c8642437-27c5-5e58-b0f8-847c285fb4e6" ``` @@ -122,3 +122,28 @@ prepares that decision without inferring approval. Reuse follow-up T01 and T03 remain wait until their owner outcomes can be verified. Actual cross-version rollback remains unproven with only one release; same-image recovery must be labeled accurately. + +## Owner progress accepted — 2026-10-13 21:42 Europe/Berlin + +Platform reply `8d1de2a9-5209-4f82-a2cd-80d8c2e07001` and RPF-WP-0056 +resolve package admission, deployment and the consumer group binding. Fresh +readback confirms 1/1 Ready on the published digest and a Bound 2Gi PVC. +Platform operator-driven evidence passes 14 fixture steps, six negative/health +checks, and same-image restart with all four artifact hashes retained. Evidence: +[readback and reviewed receipts](../docs/evidence/2026-10-13-owner-progress-readback.json). +This supersedes the earlier absent-namespace observations. + +T01 remains wait specifically for real human/agent authentication, per-caller +API transport and native consumer receipts under RPF-WP-0056-T03, plus remaining +abrupt-interruption/recovery evidence. Initial eligibility is already decided; +no further membership approval is needed. RPF-WP-0056-T06 tracks Custodian +coordination. Administrator impersonation does not satisfy consumer acceptance. + +REUSE-WP-0024 is finished and live federation now has D3/A5/C2/R2, pinned client +instructions, local container guidance and explicit conditional managed access. +The local-provider publication requirement is satisfied. T03's remaining wait +now follows platform consumer acceptance and the final managed-availability +update, rather than an unanswered local-provider registry handoff. The current +published admission-pending wording lags the deployed pilot and should distinguish +pilot runtime from consumer readiness in that update. T03 stays open as requested +by platform until the native consumer receipts are accepted. diff --git a/workplans/README.md b/workplans/README.md index a9982c5..e10ce30 100644 --- a/workplans/README.md +++ b/workplans/README.md @@ -5,7 +5,7 @@ | [WP-0001](RAPP-PLAYWRIGHT-WP-0001-statehub-bootstrap.md) | Demand and State Hub bootstrap | Finished | | [WP-0002](RAPP-PLAYWRIGHT-WP-0002-consumer-contract.md) | Agent contract and trial | Finished | | [WP-0003](RAPP-PLAYWRIGHT-WP-0003-service-package.md) | Service, client and Railiance package | Finished: implemented, tested, published and pulled by digest | -| [WP-0004](RAPP-PLAYWRIGHT-WP-0004-consumer-verification.md) | Activate, prove consumption and update discovery | Independent local trial/pilot done; managed activation and registry update blocked | +| [WP-0004](RAPP-PLAYWRIGHT-WP-0004-consumer-verification.md) | Activate, prove consumption and update discovery | Pilot deployed and A5 discovery published; real consumer access and managed acceptance pending | The founder authorized implementation after the original bootstrap. Platform lifecycle ownership is railiance-platform. Open tasks retain concrete external