feat(sidecar): forward the cliloc table, and stop reading refusals for meaning (Phase 2) #42
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/asset-bridge-p2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 2 of the Asset Bridge (
docs/link/v8.md§9), sidecar half. Pairs with servuo-plugins#29 and the module-uo / website / docs PRs.GET /clilocThe first protocol-8 family that carries content rather than a manifest. The shard decompresses its own client's table and cuts it into pages; this forwards them and keeps none of it — which matters more here than usual, since the payload is five megabytes of EA's strings out of the operator's own client, and the one copy that should exist is the one the website imports.
Paging is the caller's, deliberately.
?cursor=echoes the previous reply's cursor back until one saysmore: false. A sidecar that helpfully assembled the pages would be holding the whole table in memory to do it.?lang=selects the file and defaults on the shard.asset_error_statusPhase 1 chose 403 or 400 by testing whether the reason string contained the word "disabled" — so rewording an operator-facing sentence would silently turn a refusal into a bad request. The overlay now sends a
code:DISABLEDNOT_FOUNDUNREADABLEUNAVAILABLEBAD_REQUESTThe substring check survives, with a test, because an overlay and a sidecar are deployed separately: a phase-1 shard paired with a phase-2 sidecar still sends the codeless frame and must keep its 403.
No
PROTOCOL_VERSIONchange — 8 already covers this family (v8.md §14).Verified live
Against a real shard: 12 pages, 67,496 rows, every page inside the 512 KiB budget (max 524,086 of 524,288) and well under the 1 MiB line cap, the whole table in 1.4 s. Concurrent callers get 425 while one is served — the flow control working, not an error.
cargo test(64),fmtandclippy -D warningsall clean.AI disclosure
Written with Claude Code (Opus 5); commits carry the
Co-Authored-Bytrailer.🤖 Generated with Claude Code
https://claude.ai/code/session_016wDDVXWMDz82WqE1i969r4