This repository has no description

[papyrus] server: scope checkout state to the Basic kind master

`checkoutState` read `ws.mode?.state ?? "none"` and was consumed as a universal "is the workstream ready" signal. But the checkout mode/state is a property of the Basic kind alone — the checkout-less `local-*` kinds have no such lifecycle. Rename it to `basicCheckoutState` and return `undefined` (not a fabricated "none") for a kind with no checkout, making the Basic-only scope explicit at every call site (the canvas node coloring and, for now, the session-spawn gate). Behavior is unchanged: `undefined !== "ready"` gates exactly as `"none"` did. Update the server↔silverwood contract + e2e tests to the new name and the undefined-for-checkout-less contract. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0179izRQK57x2JpKTn6huvgL


Author Yuto Nishida Co-author Claude Opus 4.8 (1M context) Date Commit fcd4123f Parent c688bd02 Change ID ksuqvrpv
+17 -14
4 changed files