openvibers/openvibe.contracts Commits

Contracts 0.173.0: OpenVibe.Zone and Media's S3 surface (zones active, access keys, media.object.s3) (#131)

OP OpenVibers committed 29 days ago · tag v0.173 · 0 files, +0 −0

OpenVibe.Zone and Media's S3 surface (ADR-031 and its zone amendment) go from planned to built.

**Zone** (`manifests/services/zone.json`):
- Live, alpha, port 5050.
- Served on its apex, https://openvibe.zone. api.openvibe.zone waits for its DNS record.
- Site block: Zone, icon `zone`, position 36.
- Its `zone.*` contracts and capabilities are active, with the routes that implement them.
- New: `zone.resource.read` (the resource index for Services) and `zone.resource.control` (delete, for Services).

**Media:**
- `media.object.s3`: the S3 door, reached with an access key.
- `media.access_key.manage`: issue, list and revoke keys, for a project admin, from a first-party service.
- `media.zone.provision`: Zone only.
- Domain `s3.openvibe.media`.
- Schemas `media.access-key@1`, `media.access-key-issue-request@1`, `media.access-key-issued@1` (the only answer with the secret) and `media.access-key-list@1`, each with fixtures.

**ADR-031 amendment 2026-10-14:**
- Media issues the keys, not Codes. SigV4 needs the secret wherever signatures are checked, and Codes became the coding harness.
- The S3 surface is dispatched by `Host`, because nginx must pass the signed path untouched.
- Hosts wait for DNS where they have none.
- What v1 leaves out: multipart, copy, and per-zone usage rollups.

0.173.0. `npm test`: 19,955 checks. `compat.js v0.172.1`: no breaking changes.

Implementations: OpenVibe.Media (zones-s3: the S3 router, SigV4, keys, the zone projection and deletion, all tested with the AWS SDK v3 and AWS's published signature vectors) and OpenVibe.Zone (new repository).

This commit has no diff to show.