rapp-playwright/workplans/RAPP-PLAYWRIGHT-WP-0002-consumer-contract.md
tegwick ccf46d8c59 Implement bounded browser service, consumer evidence and managed package
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a13590-a16f-7f60-be60-fd71627bc99d
2026-10-13 19:23:29 +02:00

90 lines
3.8 KiB
Markdown

---
id: RAPP-PLAYWRIGHT-WP-0002
type: workplan
title: "Define the agent consumption contract and first browser trial"
domain: infotech
repo: rapp-playwright
topic_slug: stack
status: finished
flavor: planning
owner: codex
depends_on: [RAPP-PLAYWRIGHT-WP-0001]
created: "2026-10-13"
updated: "2026-10-13"
reuse_check: "Extend capability.infotech.headless-browser; inspect its existing Playwright examples before implementing a wrapper."
state_hub_workstream_id: "98fb515e-9239-57d5-9ffa-8a5c5a86ed90"
---
# Agent consumption contract
Entry: bootstrap and demand review exist. Exit: a reviewed contract and executable
trial specification cover the complete agent path without claiming availability.
## Choose execution and target connectivity
```task
id: RAPP-PLAYWRIGHT-WP-0002-T01
status: done
priority: high
state_hub_task_id: "6d93439c-7e89-5685-9514-1a8af9f56e9e"
```
Inspect the registered JS and Python examples and current upstream Playwright
contracts. Decide native remote sessions versus submitted jobs, documenting
client compatibility, artifact retrieval, per-run isolation and operational cost.
Define how workstation development servers and deployed URLs become reachable
from the browser. Record supported target/access boundaries and actionable
failure behavior. Avoid assuming remote localhost reaches the consumer.
Acceptance: a decision record with a complete fresh-agent sequence, required
client setup, version negotiation/pinning, connectivity path and deployment owner.
No speculative endpoint is presented as live.
## Specify availability, run lifecycle and evidence
```task
id: RAPP-PLAYWRIGHT-WP-0002-T02
status: done
priority: high
state_hub_task_id: "9cad9657-17a3-5b70-adea-102b71a242bf"
```
Define preflight, run/session creation, progress, terminal result, cancellation,
timeouts and cleanup. Specify request inputs (target, viewports, actions/assertions,
time budget) and result fields (run ID, execution location, versions, target,
timestamps, per-assertion outcome, error category and artifact references).
Define artifact retention and authorized retrieval, and exclusion of credentials
and storage state from ordinary evidence. Distinguish unavailable service,
unreachable target, browser launch failure and failed UI assertion.
Acceptance: documented request/result examples for success, UI failure and setup
failure; defined limits and lifecycle semantics; planned availability is explicit.
## Design the minimal trial and content-explorer pilot
```task
id: RAPP-PLAYWRIGHT-WP-0002-T03
status: done
priority: high
state_hub_task_id: "90d893fc-4222-591f-ab50-9da52a533907"
```
Specify a tiny JS-enabled fixture with deterministic interaction, desktop and
narrow viewports, a keyboard focus/action sequence and an observable assertion.
Write the proposed one-command trial flow including artifact retrieval. Map it
to CONTENT-WP-0000-T04 and identify the consumer-owned pinned OnCo target and
acceptance responsibilities. Agree on useful evidence without importing OnCo
or treating the fixture trial as the consumer's completed task.
Acceptance: trial specification and consumer checklist are traceable to every
demand row; integration and failure cases are ready for WP-0003 implementation.
## Execution evidence — 2026-10-13
All contract tasks passed. See [consumer contract](../docs/consumer-contract.md),
[trial specification](../examples/trial.json), [pilot plan and result](../docs/content-explorer-pilot.md)
and decision `90c6d03a-6308-4741-ab71-ac837e242e85`. Bounded jobs, Python client,
private RBAC transport, target reachability, error/lifecycle/evidence limits and
trial assertions are concrete. Founder selected railiance-platform ownership.
Runtime/publication and managed/discovery work remain in WP-0003 and WP-0004;
no residual delivery work is closed by this planning completion.