docs(proxy): verified SC-001 end to end; correct RuntimeRequest shape, SERVE_URL hostname requirement - #349
Merged
Conversation
…, SERVE_URL hostname requirement Ran the full pipeline for real against a live Oracle Cloud VM (serve.traverse-framework.com): browser-style client -> Worker (no credentials) -> serve -> a signed public capability -> real execution result. Two things learned the hard way, now documented: - README Step 4's example request body was the flat capability-input shape, not a real traverse-runtime::RuntimeRequest envelope (kind/schema_version/ request_id/intent/input/lookup/context/governing_spec). serve rejects the flat shape with invalid_runtime_request. Corrected the example and the intent/context field requirements (capability_id/version must match the outer envelope exactly, requested_target must be a placement the paired serve's executor set supports -- "local" for a plain CLI host). - wrangler.toml's SERVE_URL must be a hostname, never a bare IP -- a Worker's outbound fetch() to a raw IP fails closed with Cloudflare edge error 1003 (confirmed against multiple Cloudflare community reports, not guessed). Documented the fix (one DNS-only A record) and recorded the real, live SERVE_URL now in use. - FR-003 rate limiting did not trigger on 6 rapid calls immediately after a fresh deploy; flagged as needing a retest after the binding has had time to propagate, not blocking SC-001. Registry side of registry#328 is done: the runbook now reflects exactly what a real deployment needs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ran
proxy/README.md's full runbook for real against a live Oracle Cloud VM and got spec 020 SC-001: a genuine capability execution, through the deployed Worker, with zero credentials supplied by the caller.Two real gaps found and fixed in the runbook while doing it:
request, butserve's/v1/entrypoints/executerequires the fulltraverse-runtime::RuntimeRequestenvelope (kind/schema_version/request_id/intent/input/lookup/context/governing_spec), withintent.capability_id/intent.capability_versionmatching the outer envelope exactly and noversion_range. Corrected the example and documented the shape requirement.SERVE_URLmust be a hostname, never a bare IP. A Worker's outboundfetch()to a raw IP fails closed with Cloudflare edge error1003("Direct IP Access Not Allowed") — confirmed against Cloudflare's own docs and community reports. Documented the fix (one DNS-only A record) and recorded the real value now in use (serve.traverse-framework.com).Also noted: FR-003 rate limiting didn't trigger on 6 rapid calls immediately after a fresh deploy — flagged for a retest, not blocking SC-001.
Governing Spec
020-public-execution-proxyProject Item
Closes the registry-side of
#328— the runbook now reflects exactly what a real deployment needs, verified against a real running instance, not assumed.Definition of Done
proxy/README.mdStep 4 has a correct, working example request.SERVE_URL-must-be-a-hostname requirement documented with the fix.wrangler.tomlreflects the real, liveSERVE_URL.Validation
Live verification (not from a test fixture):
POST https://registry-execution-proxy.enricopiovesan.workers.dev/executewith the corrected body →{"status":"completed","output":{"allowed":true,"new_status":"in_progress","reason_code":"ok",...}}, noAuthorizationheader from the caller. Also confirmed: unknown/deprecated capability →capability_not_found(404, SC-002); no response ever contains theADMIN_JWTvalue (FR-005).🤖 Generated with Claude Code