mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 19:56:53 +00:00
The engine has no browser surface, so it is verified through the repository's CLI harness rather than Playwright: test-e2e-cli discovers a role by its templates/test.env.j2 and runs files/test/test.sh on the node that holds the container. probe.py asserts five things against the running store: an unsigned request is refused with an S3 error, the admin identity completes a signed write, read back and delete, a consumer identity reaches its own bucket and is refused another's, the anonymous grant matches the declared public flag, and the filer and master ports stayed unpublished after the split. It creates no bucket. A bucket is a SeaweedFS collection and the engine's -volume.max is budgeted for the declared consumers only, so a probe that creates one can exhaust the volume slots its own consumers write through; measured as a 500 on PUT once the slots ran out. Every write now lands under one reserved key prefix in a bucket a consumer already owns. SigV4 is hand-rolled because the CLI runner ships no boto3. Its vectors were generated with botocore and are frozen in a unit test, which also pins the Node signer the consumer specs use, so the two cannot drift apart. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>