feat(sidecar): protocol 5 — three routes, and the one timeout worth explaining #5
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/phase-7b-config"
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 7b, the sidecar half of R18. Spec:
docs/rust-link/PROTOCOL.md§11.GET /config/files,GET /config/file,POST /config/write— and the dumb-forwarder property holds for a third protocol version. No schema for any of it, nothing filed in the store, no opinion about a path.The path is forwarded verbatim and judged at the far end, deliberately: only the process holding the configuration directory can decide whether a path resolves inside it, and a guard here would be a weaker second opinion with no way to check itself — the kind that makes the real one feel optional.
Nothing is cached. A config this sidecar stored would be an edit an operator made over SSH that the website then silently overwrote, so all three fail when the game is down, like
/status.The one addition beyond forwarding
A
504on/config/writeis the only timeout on this bridge with a knowable answer: the plugin writes a whole set or restores a whole set and never half of either. So the body says to re-read rather than guess, and names the reload window that is probably still running.CONFIG_RELOAD_WINDOWmirrors the plugin's four seconds, and a test asserts that two of them plus a second of slack fit insideREPLY_TIMEOUT— a rollback that reports after its caller has given up is worse than no rollback, because the plugin is healthy and the website says otherwise.PROTOCOL_VERSIONis 5;cargo fmt,clippy -D warningsand 50 tests green.🤖 Generated with Claude Code
https://claude.ai/code/session_01PMH6bw1jXMgbyF3ZWGEzSM