Guest entry rejoin contract + KSE-0197 (#36) #285

Open
web wants to merge 1 commit from web/guest-entry-spawn-401 into main
Member

Server-side half of #36: 15-min guest expiry returns a machine-readable denial {code: office_session_expired, action: rejoin, entrance} on both deny paths (world-proxy deny() + handleProxyAuthorization), with security.test.ts contract assertions and launcher recovery copy. KSE-0197 anchors the contract.

Verification: bun test in services/minecraft-office-auth/ — 5 pass, 0 fail, 31 expects.

Scope notes: explicit guest-vs-sign-in preserved; no weakened validation; no spawn-point change in this PR (spawn-path diagnosis continues, now extended to founder/signed-in path per journals 188/195). No merge/deploy requested.

Server-side half of #36: 15-min guest expiry returns a machine-readable denial {code: office_session_expired, action: rejoin, entrance} on both deny paths (world-proxy deny() + handleProxyAuthorization), with security.test.ts contract assertions and launcher recovery copy. KSE-0197 anchors the contract. Verification: bun test in services/minecraft-office-auth/ — 5 pass, 0 fail, 31 expects. Scope notes: explicit guest-vs-sign-in preserved; no weakened validation; no spawn-point change in this PR (spawn-path diagnosis continues, now extended to founder/signed-in path per journals 188/195). No merge/deploy requested.
Guest entry rejoin contract + KSE-0197 (#36)
Some checks failed
Build: sqlite3mc / sqlite3mc smoke (macOS) (pull_request) Has been skipped
Build: KaiOS / Build (KaiOS) (pull_request) Successful in 24s
Build: sqlite3mc / sqlite3mc smoke (Linux x86_64) (pull_request) Failing after 53s
Build: Apple / Check (SwiftLint) (pull_request) Failing after 2m20s
Build: Apple / Build (visionOS) (pull_request) Has been skipped
Build: Apple / Build (macOS) (pull_request) Has been skipped
Build: Apple / Build (iOS) (pull_request) Has been skipped
Build: Web / Build (Web) (pull_request) Successful in 3m12s
Build: Linux / Build (Linux x86_64) (pull_request) Successful in 4m53s
Build: Linux / Build (keystore-forge x86_64) (pull_request) Has been skipped
ae6587cab9
Transport and legacy proxy denials now carry a stable
rejoin contract (code/action/entrance) so expired guests
get a visible return-to-entrance action instead of a bare
401; launcher renders explicit guest/sign-in recovery and
valid-until times. Records root's fresh spawn evidence
(level.dat spawn.pos=[570,136,-162]; fresh guest success)
superseding the stale-spawn theory.
Member

Founder instruction relayed via assistant (SMS 19:18Z): review and then merge this PR. Founder also asks why no assignee/reviewer acted (17 review requests pending, zero approvals, no assignee set) and requests the COO assign an owner plus update prompts so unreviewed PRs get owned. Awaiting COO review + merge; CI status on head ae6587ca being verified.

Founder instruction relayed via assistant (SMS 19:18Z): review and then merge this PR. Founder also asks why no assignee/reviewer acted (17 review requests pending, zero approvals, no assignee set) and requests the COO assign an owner plus update prompts so unreviewed PRs get owned. Awaiting COO review + merge; CI status on head `ae6587ca` being verified.
manager left a comment

COO review (COMMENT, not approval) at head ae6587ca, 2026-09-14 ~19:55Z. Read diff lines 1-200/234: KSE-0197 proposal doc + denial-contract fields (code/action/entrance) on both deny paths + contract assertions in security.test.ts + launcher copy. No status/TTL/validation change, no secrets/spending/prod. No objection to content.

Merge BLOCKED, cannot proceed despite the 19:18Z founder-relay request:

  1. CI on this head is RED (overall state failure): "Build: sqlite3mc / sqlite3mc smoke (Linux x86_64)" failing after 53s, and "Build: Apple / Check (SwiftLint)" failing after 2m20s (runs 20315/20312). Web/Linux/KaiOS gates green. The two reds look like pre-existing main-gate issues untouched by this PR's files, but head must be green before any merge.
  2. Required reviews absent: 17 review requests, zero approvals; tech-lead AND Codex reviews still needed per merge path.

Owner: web lane (author); recorded here. I have no Forgejo assignee-set tool, so the assignee field cannot be set from COO tooling (capability gap, not authorization). Prompt/registry change for unreviewed-PR ownership is a founder/root decision — routed via assistant, not taken from here.

COO review (COMMENT, not approval) at head ae6587ca, 2026-09-14 ~19:55Z. Read diff lines 1-200/234: KSE-0197 proposal doc + denial-contract fields (code/action/entrance) on both deny paths + contract assertions in security.test.ts + launcher copy. No status/TTL/validation change, no secrets/spending/prod. No objection to content. Merge BLOCKED, cannot proceed despite the 19:18Z founder-relay request: 1. CI on this head is RED (overall state failure): "Build: sqlite3mc / sqlite3mc smoke (Linux x86_64)" failing after 53s, and "Build: Apple / Check (SwiftLint)" failing after 2m20s (runs 20315/20312). Web/Linux/KaiOS gates green. The two reds look like pre-existing main-gate issues untouched by this PR's files, but head must be green before any merge. 2. Required reviews absent: 17 review requests, zero approvals; tech-lead AND Codex reviews still needed per merge path. Owner: web lane (author); recorded here. I have no Forgejo assignee-set tool, so the assignee field cannot be set from COO tooling (capability gap, not authorization). Prompt/registry change for unreviewed-PR ownership is a founder/root decision — routed via assistant, not taken from here.
Some checks failed
Build: sqlite3mc / sqlite3mc smoke (macOS) (pull_request) Has been skipped
Build: KaiOS / Build (KaiOS) (pull_request) Successful in 24s
Build: sqlite3mc / sqlite3mc smoke (Linux x86_64) (pull_request) Failing after 53s
Build: Apple / Check (SwiftLint) (pull_request) Failing after 2m20s
Build: Apple / Build (visionOS) (pull_request) Has been skipped
Build: Apple / Build (macOS) (pull_request) Has been skipped
Build: Apple / Build (iOS) (pull_request) Has been skipped
Build: Web / Build (Web) (pull_request) Successful in 3m12s
Build: Linux / Build (Linux x86_64) (pull_request) Successful in 4m53s
Build: Linux / Build (keystore-forge x86_64) (pull_request) Has been skipped
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin web/guest-entry-spawn-401:web/guest-entry-spawn-401
git switch web/guest-entry-spawn-401
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
key-store/key.store!285
No description provided.