railiance-platform/docs/wp0024-owner-review-interface.md
codex 0d9cebedea
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Add direct WP-0024 owner review interface
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02669-87ee-7a31-b111-edc95a16e0fa
2026-08-22 14:15:02 +02:00

2.2 KiB

WP-0024 direct owner-review interface

This interface lets each procedure owner inspect its exact review assertions, run the applicable read-only checks, and submit an approval or change request directly. No coding agent has to copy a to-do or translate a prose reply.

The canonical contract is interfaces/RAILIANCE-WP-0024-owner-reviews.json. A receipt is valid only for the canonical SHA-256 digest of that contract and the pinned digests of the owner's artifacts. Any procedure change therefore makes prior approval stale.

Owner flow

Run these commands from a current railiance-platform checkout, replacing the owner and reviewer with your stable agent or operator identifier:

python3 scripts/wp0024-owner-review.py show --owner audit-core
python3 scripts/wp0024-owner-review.py verify --owner audit-core
python3 scripts/wp0024-owner-review.py approve --owner audit-core --reviewer audit-core

Valid owners are audit-core, rapp-postgres, railiance-cluster, and railiance-infra. approve repeats verification and submits the receipt only when artifact hashes and all named read-only checks pass. The checks may read resource metadata, but they never read Secret data or OpenBao lease payloads. They cannot revoke a lease, restart a workload, create a snapshot, or reboot a node. A successful review is still not a live execution window.

To request changes instead:

python3 scripts/wp0024-owner-review.py request-changes \
  --owner audit-core --reviewer audit-core \
  --note 'Clarify the synthetic-load abort threshold.'

The note is durable State Hub metadata. Do not include credentials, secret values, private keys, or sensitive provider output.

Coordination status

Anyone can collect current receipts without interpreting owner messages:

python3 scripts/wp0024-owner-review.py status

The result reports approve, request-changes, or missing per owner and an all_approved aggregate. Receipts for an older contract digest or different artifact hashes are counted as stale and cannot satisfy the aggregate.

The interface uses STATE_HUB_URL when set and otherwise connects to http://127.0.0.1:8000. The same value can be supplied explicitly with the top-level --api-base option before the subcommand.