diff --git a/docs/triage/issues.json b/docs/triage/issues.json index 4776aaeba..52e7a96f2 100644 --- a/docs/triage/issues.json +++ b/docs/triage/issues.json @@ -1,12 +1,13 @@ { - "updated_at": "2026-09-07 14:45 UTC", - "base_revision": "e26ffff05fd8938b4e2d5339e7224683b36af84d", - "status_note": "69 open issues assessed; 20 closed issues retained for history. Service verification and the bank adapter are merged and pinned. Warlock quests and dive adapter adoption are active.", - "monitoring_note": "Monitoring is active while this work session runs. The JSON source and published report preserve the next actions for a resumed session. No unattended scheduler has been installed.", + "updated_at": "2026-09-07 15:33 UTC", + "base_revision": "32aa004e0d2fe0921033bea77e3a85796e277dfd", + "status_note": "69 open issues assessed; 20 closed issues retained for history. The prior PR queue is merged. Agents have resumed the Warlock quests, Character deletion cleanup and Random Property Tracer.", + "monitoring_note": "Monitoring is active during this work session. CodeRabbit rate-limit notices do not satisfy review. After the window reopens, re-trigger review and wait for its result before merging. The report preserves next actions if the session stops; no unattended scheduler is installed.", "focus": [ - "Complete the dive adapter release and core pin for #142 through checks and review.", - "Finish The Binding #40 draft and independent review, then obtain required human review of its table and appended EventAI instruction.", - "Keep Operator runs and stock-client acceptance explicit for #105, #137, #142 and #367." + "Finish and review the recovered Warlock quest implementation for #40.", + "Prove Character deletion cleanup and Transfer behavior for #46, then remove the obsolete suite reset if the behavior passes.", + "Finish the recovered Random Property Tracer for #31, including generated bindings and durable verification.", + "Wait for actual CodeRabbit review before merging each new PR. Re-trigger after any rate-limit window." ], "issues": [ { @@ -609,31 +610,34 @@ }, { "number": 142, - "summary": "Drowning behavior and a Headless Client dive adapter are implemented. Core adoption, Operator execution and stock-client calibration remain.", + "summary": "Drowning behavior and the Headless Client dive adapter are merged and pinned. Operator execution and stock-client calibration remain.", "importance": 3, "gain": 3, "effort": 3, "confidence": "high", - "disposition": "review", - "rationale": "Wire-harness #10 is merged after parent review and green Ubuntu, macOS and coverage CI. The adapter checks breath start, expiry before damage, matching health loss and drowning logs, and breath stop after surfacing. Live timing and the submerge threshold remain unverified.", - "next_action": "Release the merged dive adapter and complete its core pin. Then run it on an approved development Realm and perform stock-client calibration.", + "disposition": "human", + "rationale": "Wire-harness #10 and core pin #454 are merged. The adapter checks breath start, expiry before damage, matching health loss and drowning logs, and breath stop after surfacing. Protocol tests, offline adapter checks and CI passed. Live timing and the submerge threshold remain unverified.", + "next_action": "Run the pinned dive adapter on an approved development Realm with imported liquid coordinates, then verify the stock-client mirror bar, submerge threshold, partial dives, death and zone/Transfer behavior.", "blockers": [ - "Completing the issue requires a wire-harness release and LyraCore pin bump.", - "Submerge timing and mirror-bar rendering require a human with a stock client." + "Operator access to an approved development Realm with suitable imported liquid coordinates.", + "A human with a stock client must calibrate head height and verify the mirror bar and related visual behavior." ], "evidence": [ "https://github.com/LyraCoreProject/LyraCore/issues/142", "https://github.com/LyraCoreProject/LyraCore/pull/150", "https://github.com/LyraCoreProject/LyraCore/pull/166", "https://github.com/LyraCoreProject/wire-harness/pull/10", - "module/src/breath.rs and gateway/src/codec/breath.rs: durable timers and start/stop packet builders." + "module/src/breath.rs and gateway/src/codec/breath.rs: durable timers and start/stop packet builders.", + "https://github.com/LyraCoreProject/wire-harness/releases/tag/v0.1.0-alpha.8", + "https://github.com/LyraCoreProject/LyraCore/pull/454" ], "related_prs": [ 150, - 166 + 166, + 454 ], "url": "https://github.com/LyraCoreProject/LyraCore/issues/142", - "updatedAt": "2026-08-13T05:28:29Z", + "updatedAt": "2026-09-07T15:07:00Z", "github_state": "open", "owner": "GPT-5.6 Sol, medium effort, adapter agent" }, @@ -689,7 +693,7 @@ 453 ], "url": "https://github.com/LyraCoreProject/LyraCore/issues/137", - "updatedAt": "2026-08-12T05:25:15Z", + "updatedAt": "2026-09-07T14:47:37Z", "github_state": "open", "owner": "GPT-5.6 Sol, medium effort, adapter agent" }, @@ -1755,11 +1759,11 @@ "summary": "A deleted Character previously left a realm-core party member row, but the Gateway now relays Character disappearance and removes membership only after the Character is absent from every Shard.", "importance": 4, "gain": 4, - "effort": 1, + "effort": 3, "confidence": "medium", - "disposition": "verify", - "rationale": "The Character disappearance Relay exists, but its current Architecture Tests check call names rather than proving deletion and Transfer outcomes. The generic read signature can fail, although the production cache read currently returns Ok. A source scan alone is insufficient closure evidence.", - "next_action": "Verify the actual Character disappearance callback and its read-failure behavior before closure. Existing tests only scan its source; add behavior coverage for deletion and Transfer if needed.", + "disposition": "implementing", + "rationale": "The Character deletion Relay is present, but it converts failed reads to absence before a direct Realm-core LEAVE. Its tests inspect source text. The current path also needs verification of Transfer/cache ordering and surviving party mirrors before the suite workaround can be removed.", + "next_action": "Implement the prepared Gateway cleanup Ticket in an isolated worktree. Prove authoritative absence, Transfer preservation and surviving rosters before removing the suite-wide party reset.", "blockers": [], "evidence": [ "https://github.com/LyraCoreProject/LyraCore/issues/46", @@ -1772,7 +1776,7 @@ "url": "https://github.com/LyraCoreProject/LyraCore/issues/46", "updatedAt": "2026-08-11T08:22:10Z", "github_state": "open", - "owner": "Codex" + "owner": "GPT-5.6 Sol, Character deletion agent" }, { "number": 45, @@ -1860,9 +1864,9 @@ "gain": 4, "effort": 5, "confidence": "high", - "disposition": "implementing", + "disposition": "review", "rationale": "Source data maps item 6928 to spell 7728 and item 6913 to spell 8674. Both use SendEvent and ActivateObject with spell focus 83. Current quest source-item reachability and item-use routing already exist. The remaining work must preserve the source-backed event behavior, focus Gate and objective credit. Quest turn-in also lacks reward-spell data, so the complete path needs a small durable catalogue and generated bindings.", - "next_action": "Prepare and test the complete ritual and reward-spell change as a draft PR. Obtain required human schema review before merge; retain ritual-circle visual acceptance.", + "next_action": "Draft #455 is open. Finish current-head CI and CodeRabbit review. Human schema review and ritual-circle client acceptance remain.", "blockers": [ "Human review of the concrete schema and binding change under docs/danger-zones.md section 1 before shipping.", "A real-client ritual-circle check after Module behavior passes." @@ -1871,13 +1875,16 @@ "https://github.com/LyraCoreProject/LyraCore/issues/40", "Code fact: importer/src/main.rs force-includes only the existing pet templates 416 and 1860; the Module has E_SUMMON_PET for persistent owned pets but no hostile ownerless summon effect for these quests.", "Current pinned cmangos rows: item 6928 -> spell 7728 -> event 1131; item 6913 -> spell 8674 -> event 1134. Both spells use effects 61 and 86 with focus 83. The issue's suggested plain hostile-summon effect is not the source spell shape.", - "Current quest importer omits RewSpell and RewSpellCast; the Module has no durable quest reward-spell catalogue. The draft must preserve their distinct source semantics." + "Current quest importer omits RewSpell and RewSpellCast; the Module has no durable quest reward-spell catalogue. The draft must preserve their distinct source semantics.", + "Independent review is clear at 81d5e0467a846ee99a8cc393ddf673383fa0186b. Frozen four-thread durable tests hit a shared optimized-Wasm file race. The same selection is running serially; the failing package_config group passed." + ], + "related_prs": [ + 455 ], - "related_prs": [], "url": "https://github.com/LyraCoreProject/LyraCore/issues/40", "updatedAt": "2026-08-11T08:16:06Z", "github_state": "open", - "owner": "GPT-6 Astra, high effort, Warlock quest agent" + "owner": "GPT-6 Astra, Warlock recovery agent" }, { "number": 39, @@ -2073,21 +2080,25 @@ "gain": 4, "effort": 5, "confidence": "high", - "disposition": "ready", - "rationale": "This is the second-best ready feature candidate. The issue has a current two-Ticket Spec, the missing storage and packet fields are confirmed in code, and the first Tracer can establish one deterministic affix end to end without a design decision.", - "next_action": "Implement the Spec's Tracer Ticket first: import the minimum property data, persist one rolled property, and carry it through loot, inventory, mail, and auction packets; follow with the weighted generalization Ticket.", + "disposition": "implementing", + "rationale": "The approved two-Ticket Spec starts with weighted property selection, durable item state and the existing EquipStat families. The recovered Tracer also carries the property through buyback, Mail, Escrow, Auctions, Loot Rolls and Transfer. Compilation, durable tests and the remaining stat families are still required.", + "next_action": "Finish the existing Tracer implementation, regenerate bindings and verify durable item state. Then complete independent and CodeRabbit review; human schema and client review remain.", "blockers": [ - "A real-client tooltip check after the deterministic Tracer passes" + "Human review of the concrete schema and binding changes before shipping.", + "A real-client tooltip check and approved Realm acceptance after the Tracer and remaining stat-family work." ], "evidence": [ "https://github.com/LyraCoreProject/LyraCore/issues/31#issuecomment-5379512339", - "Code fact: module/src/items/rules.rs still uses a fixed ENCHANTS list, no game_item_random_property or property-weight table exists, and Gateway loot, item, mail, and auction codecs write item_random_property_id as zero." + "Code fact: module/src/items/rules.rs still uses a fixed ENCHANTS list, no game_item_random_property or property-weight table exists, and Gateway loot, item, mail, and auction codecs write item_random_property_id as zero.", + "2026-08-22 issue Spec: the Tracer already includes weighted selection; the second Ticket adds resistance, damage, avoidance, regeneration and spell/healing terms.", + "Source preflight checked pinned CMaNGOS data and the local build-5875 client tables. Existing synthetic enchant IDs 7745 and 7748 do not collide with imported enchantments. Six additional durable item-copy rows must carry the selected property.", + "Source preflight checked pinned CMaNGOS data and the local build-5875 client tables. Existing synthetic enchant IDs 7745 and 7748 do not collide with imported enchantments. Buyback, Mail, Escrow, Auction and Loot Roll paths must preserve the selected property; old opaque Transfer blobs need an explicit compatibility path." ], "related_prs": [], "url": "https://github.com/LyraCoreProject/LyraCore/issues/31", "updatedAt": "2026-08-22T09:18:51Z", "github_state": "open", - "owner": "Codex" + "owner": "GPT-6 Astra, Random Property agent" }, { "number": 30, @@ -2495,11 +2506,14 @@ }, { "name": "CodeRabbit", - "result": "SUCCESS" + "result": "UNAVAILABLE", + "platform_result": "SUCCESS", + "source": "GitHub reported SUCCESS for a rate-limit notice; no completed CodeRabbit review was delivered before this historical merge." } ], "github_state": "MERGED", - "merge_commit": "0b8631d400d9a445aec4fe1af5a80f87c83aee4b" + "merge_commit": "0b8631d400d9a445aec4fe1af5a80f87c83aee4b", + "review_note": "Merged by the prior session after coordinating review. CodeRabbit was rate-limited. This historical merge predates the explicit requirement to wait for CodeRabbit." }, { "number": 439, @@ -2748,10 +2762,13 @@ }, { "name": "CodeRabbit", - "result": "SUCCESS" + "result": "UNAVAILABLE", + "platform_result": "SUCCESS", + "source": "GitHub reported SUCCESS for a rate-limit notice; no completed CodeRabbit review was delivered before this historical merge." } ], - "merge_commit": "533be16e04b097ef63c94a2ad362b00085104974" + "merge_commit": "533be16e04b097ef63c94a2ad362b00085104974", + "review_note": "Merged by the prior session after coordinating review. CodeRabbit was rate-limited. This historical merge predates the explicit requirement to wait for CodeRabbit." }, { "number": 448, @@ -2790,10 +2807,13 @@ }, { "name": "CodeRabbit", - "result": "SUCCESS" + "result": "UNAVAILABLE", + "platform_result": "SUCCESS", + "source": "GitHub reported SUCCESS for a rate-limit notice; no completed CodeRabbit review was delivered before this historical merge." } ], - "merge_commit": "38a78b827b92cf4a231196df7352b1852c2722d8" + "merge_commit": "38a78b827b92cf4a231196df7352b1852c2722d8", + "review_note": "Merged by the prior session after coordinating review. CodeRabbit was rate-limited. This historical merge predates the explicit requirement to wait for CodeRabbit." }, { "number": 7, @@ -3089,8 +3109,8 @@ "url": "https://github.com/LyraCoreProject/wire-harness/pull/10", "title": "test(dive): add the breath and drowning flow", "owner": "GPT-5.6 Sol, medium effort, adapter agent", - "status": "Merged; release and core pin next", - "next_action": "Release alpha.8 and complete the core pin; retain Operator and stock-client acceptance.", + "status": "Merged; dive adapter pinned", + "next_action": "Code delivery is complete. Issue #142 retains Operator and stock-client acceptance.", "head": "6affc2eec40a7fee7c4a915e80a816f867de0614", "github_state": "MERGED", "merge_commit": "538423176c4b2a3dd1ba8eae1cc1ab1a1cc877cf", @@ -3109,6 +3129,188 @@ "result": "SUCCESS" } ] + }, + { + "number": 451, + "url": "https://github.com/LyraCoreProject/LyraCore/pull/451", + "title": "docs(triage): record issue outcomes and current assignments", + "owner": "Codex", + "status": "Merged after checks and all five review threads resolved", + "next_action": "Complete. Report ownership continues in this thread.", + "head": "14331e22578d4f92e2a84e98a6a071db971fe03c", + "github_state": "MERGED", + "checked_at": "2026-09-07 14:59 UTC", + "checks": [ + { + "name": "durable", + "result": "SUCCESS" + }, + { + "name": "build", + "result": "SUCCESS" + }, + { + "name": "fmt", + "result": "SUCCESS" + }, + { + "name": "clippy", + "result": "SUCCESS" + }, + { + "name": "test", + "result": "SUCCESS" + }, + { + "name": "wasm", + "result": "SUCCESS" + }, + { + "name": "CodeRabbit", + "result": "SUCCESS" + } + ], + "merge_commit": "6f42d5a18583326a1a133a7411772a9cf7367a8c" + }, + { + "number": 454, + "url": "https://github.com/LyraCoreProject/LyraCore/pull/454", + "title": "test(dive): pin the drowning acceptance adapter", + "owner": "GPT-5.6 Sol, medium effort, adapter agent", + "status": "Merged; dive adapter pinned", + "next_action": "Code delivery is complete. Issue #142 retains Operator and stock-client acceptance.", + "head": "4bf3a522fdd0d7c90aa9d5a3559b7e192f68d14b", + "github_state": "MERGED", + "checked_at": "2026-09-07 15:02 UTC", + "checks": [ + { + "name": "durable", + "result": "SUCCESS" + }, + { + "name": "build", + "result": "SUCCESS" + }, + { + "name": "fmt", + "result": "SUCCESS" + }, + { + "name": "clippy", + "result": "SUCCESS" + }, + { + "name": "test", + "result": "SUCCESS" + }, + { + "name": "wasm", + "result": "SUCCESS" + }, + { + "name": "CodeRabbit", + "result": "UNAVAILABLE", + "platform_result": "SUCCESS", + "source": "GitHub reported SUCCESS for a rate-limit notice; no completed CodeRabbit review was delivered before this historical merge." + } + ], + "merge_commit": "32aa004e0d2fe0921033bea77e3a85796e277dfd", + "review_note": "CodeRabbit reported its rate limit. The prior coordinating review checked the exact pin diff, upstream PR, release and fresh-clone evidence before merge. This historical merge predates the explicit requirement to wait for CodeRabbit." + }, + { + "number": 455, + "url": "https://github.com/LyraCoreProject/LyraCore/pull/455", + "title": "fix(quests): complete the Warlock Binding encounters", + "owner": "GPT-6 Astra, Warlock recovery agent", + "status": "Draft; CI and CodeRabbit review in progress", + "next_action": "Resolve CI and review findings, then obtain human schema review. Keep client acceptance open.", + "head": "8cbd16dddea1ca1a44a4f7ddd03a2aff1c885065", + "github_state": "OPEN", + "checked_at": "2026-09-07 15:33 UTC", + "checks": [ + { + "name": "durable", + "result": "IN_PROGRESS" + }, + { + "name": "build", + "result": "SUCCESS" + }, + { + "name": "fmt", + "result": "SUCCESS" + }, + { + "name": "clippy", + "result": "SUCCESS" + }, + { + "name": "test", + "result": "SUCCESS" + }, + { + "name": "wasm", + "result": "SUCCESS" + }, + { + "name": "CodeRabbit", + "result": "PENDING", + "source": "Full review requested; awaiting a completed review on this head." + } + ], + "review_state": { + "CodeRabbit": "PENDING", + "coordinating": "IN_PROGRESS", + "human_schema": "PENDING" + }, + "review_findings": [] + }, + { + "number": 457, + "url": "https://github.com/LyraCoreProject/LyraCore/pull/457", + "title": "test(module): isolate concurrent fixture Wasm artifacts", + "owner": "Prior orchestrator, private-Wasm correction", + "status": "CI and independent review in progress", + "next_action": "Resolve coordinating and CodeRabbit findings, then recheck current CI before merge.", + "head": "91c5745bed7a82536449b4670889a59b7e1020f4", + "checked_at": "2026-09-07 15:33 UTC", + "github_state": "OPEN", + "checks": [ + { + "name": "durable", + "result": "IN_PROGRESS" + }, + { + "name": "build", + "result": "SUCCESS" + }, + { + "name": "fmt", + "result": "SUCCESS" + }, + { + "name": "clippy", + "result": "SUCCESS" + }, + { + "name": "test", + "result": "IN_PROGRESS" + }, + { + "name": "wasm", + "result": "SUCCESS" + }, + { + "name": "CodeRabbit", + "result": "PENDING", + "source": "Full review requested; awaiting a completed review on this head." + } + ], + "review_state": { + "CodeRabbit": "PENDING", + "coordinating": "IN_PROGRESS" + }, + "review_findings": [] } ], "history": [ @@ -3235,10 +3437,34 @@ { "at": "2026-09-07 14:45 UTC", "text": "Merged core service pin #452; #340 and #341 are closed. Merged bank pin #453 and kept #137 open for Operator and stock-client acceptance. Merged dive adapter wire-harness #10 after parent review and three passing CI checks; its owner is preparing the release and core pin. Corrected the report audit note and completed bank next actions after review." + }, + { + "at": "2026-09-07 14:59 UTC", + "text": "Merged report #451 after all seven checks passed and all five CodeRabbit threads were resolved. Dive alpha.8 is released and core pin #454 is finishing CI. Independent Warlock review found trainer dependency overgrant and source-item retention on abandon; both are being corrected. Prepared #46 behavior work and #31 Tickets, with a source preflight assigned." + }, + { + "at": "2026-09-07 15:02 UTC", + "text": "Merged dive pin #454 after all code checks passed and parent review verified its exact diff, release and clone evidence. CodeRabbit disclosed its rate limit. Kept #142 open for Operator and stock-client acceptance. Assigned #46 source behavior to a separate Sol agent at high effort; the Warlock reviewer remains on #40." + }, + { + "at": "2026-09-07 15:19 UTC", + "text": "Assigned Random Property Tracer #31 to GPT-6 Astra at high effort after checking pinned source data and local client tables. Raised #46 effort for authoritative absence and destination-cache ordering. Warlock review is clear on the frozen commit; its serial durable run is separating a concurrent Wasm publication failure from gameplay checks. Parent owns the test-harness correction and Transfer format compatibility." + }, + { + "at": "2026-09-07 15:20 UTC", + "text": "Resumed ownership from the latest committed report and recovered unfinished local work. All earlier PRs are merged. Assigned #40, #46 and #31 to isolated agents. CodeRabbit rate limits now require waiting and an actual review before merge." + }, + { + "at": "2026-09-07 15:26 UTC", + "text": "Opened Warlock draft #455 and report PR #456. Addressed a CodeRabbit finding by correcting four historical rate-limit statuses from SUCCESS to unavailable while retaining the raw platform result and prior merge evidence. Surviving agents are still editing #31 and #46, so this session reviews those worktrees without editing them." + }, + { + "at": "2026-09-07 15:31 UTC", + "text": "The original orchestrator confirmed the ownership handoff and stopped its three implementers and report publishing. Reconciled its final report evidence and history. This session resumes #40, #46 and #31; the original root retains only the separate private-Wasm test correction. Shared build artifacts remain reserved until the surviving test chain finishes." } ], "postplan_draft": "1u1gh8ximdga", "report_url": "https://1u1gh8ximdga.postplan.dev", "merge_policy": "Codex takes the final merge after current-head checks pass and review findings are resolved. Explicit human review requirements and real-client acceptance remain separate.", - "audit_note": "Refetched all issue states and timestamps at 14:46 UTC. All 69 open issues have assessments; no new issues appeared. The 20 closed records retain their closure timestamps. Delivery changes are recorded in the history below." + "audit_note": "Refetched all issue states and timestamps at 2026-09-07 15:02 UTC. All 69 open issues have assessments; no new issues appeared. The 20 closed records retain their closure timestamps. Delivery changes are recorded in the history below." } diff --git a/docs/triage/report.html b/docs/triage/report.html index 44fd116cf..3f7e66ab4 100644 --- a/docs/triage/report.html +++ b/docs/triage/report.html @@ -21,12 +21,12 @@ @media print{.controls{display:none}body{max-width:none;padding:0;font-size:10pt}.scroll{overflow:visible}a{color:inherit}}

LyraCore issue order and delivery

-

Owner: Codex in the triage and delivery thread. Updated . +

Owner: Codex in the triage and delivery thread. Updated . 89 of 89 issues assessed. 69 open on GitHub. -Source revision e26ffff05fd8938b4e2d5339e7224683b36af84d.

-

69 open issues assessed; 20 closed issues retained for history. Service verification and the bank adapter are merged and pinned. Warlock quests and dive adapter adoption are active.

+Source revision 32aa004e0d2fe0921033bea77e3a85796e277dfd.

+

69 open issues assessed; 20 closed issues retained for history. The prior PR queue is merged. Agents have resumed the Warlock quests, Character deletion cleanup and Random Property Tracer.

-

Current work

+

Current work

How I set the order

Importance measures the cost of leaving the problem open. Gain measures reach and the work it unlocks. Both use 1 to 5, with 5 highest. Effort uses 1 for a small local change, 3 for a substantial slice, @@ -43,22 +43,22 @@

-
OrderIssue and assessment ImportanceGainEffortReturnState and ownerNext action
1#40
The Binding pet quests need the scripted ritual encounter that turns source-item use into the objective fight.

Source data maps item 6928 to spell 7728 and item 6913 to spell 8674. Both use SendEvent and ActivateObject with spell focus 83. Current quest source-item reachability and item-use routing already exist. The remaining work must preserve the source-backed event behavior, focus Gate and objective credit. Quest turn-in also lacks reward-spell data, so the complete path needs a small durable catalogue and generated bindings.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Human review of the concrete schema and binding change under docs/danger-zones.md section 1 before shipping.
  • A real-client ritual-circle check after Module behavior passes.
  • https://github.com/LyraCoreProject/LyraCore/issues/40
  • Code fact: importer/src/main.rs force-includes only the existing pet templates 416 and 1860; the Module has E_SUMMON_PET for persistent owned pets but no hostile ownerless summon effect for these quests.
  • Current pinned cmangos rows: item 6928 -> spell 7728 -> event 1131; item 6913 -> spell 8674 -> event 1134. Both spells use effects 61 and 86 with focus 83. The issue's suggested plain hostile-summon effect is not the source spell shape.
  • Current quest importer omits RewSpell and RewSpellCast; the Module has no durable quest reward-spell catalogue. The draft must preserve their distinct source semantics.

4453.2In progress
GPT-6 Astra, high effort, Warlock quest agent
Prepare and test the complete ritual and reward-spell change as a draft PR. Obtain required human schema review before merge; retain ritual-circle visual acceptance.
2#142
Drowning behavior and a Headless Client dive adapter are implemented. Core adoption, Operator execution and stock-client calibration remain.

Wire-harness #10 is merged after parent review and green Ubuntu, macOS and coverage CI. The adapter checks breath start, expiry before damage, matching health loss and drowning logs, and breath stop after surfacing. Live timing and the submerge threshold remain unverified.

Confidence: high. Issue updated 2026-08-13.

Blocked by

  • Completing the issue requires a wire-harness release and LyraCore pin bump.
  • Submerge timing and mirror-bar rendering require a human with a stock client.

PR #150 PR #166

3333.0PR review
GPT-5.6 Sol, medium effort, adapter agent
Release the merged dive adapter and complete its core pin. Then run it on an approved development Realm and perform stock-client calibration.
3#31
Random item properties are absent from imported data and item state, and all relevant Gateway packet paths still emit random property id zero.

This is the second-best ready feature candidate. The issue has a current two-Ticket Spec, the missing storage and packet fields are confirmed in code, and the first Tracer can establish one deterministic affix end to end without a design decision.

Confidence: high. Issue updated 2026-08-22.

Blocked by

  • A real-client tooltip check after the deterministic Tracer passes

3452.4Ready
Codex
Implement the Spec's Tracer Ticket first: import the minimum property data, persist one rolled property, and carry it through loot, inventory, mail, and auction packets; follow with the weighted generalization Ticket.
4#30
The Realm has no seasonal game-event data model, calendar activation, spawn participation, or Operator debug controls.

The issue has a detailed current Spec and carries the ready-for-agent label. It is implementable, but it spans importer data, persistent state, spawn lifecycle, calendar logic, and tooling, so it should be split before code work begins.

Confidence: high. Issue updated 2026-08-21.

2451.6Ready
Codex
Split the Spec into a deterministic single-event Tracer, calendar generalization, spawn integration, and Operator control Tickets, then implement the Tracer first.
5#28
Drink item use does not create or decay an inebriation state, update PLAYER_BYTES_3, or apply chat slurring.

The feature is self-contained once the exact 1.12 field encoding, decay rate, and text transform are taken from a primary reference. No competing architecture or open dependency is visible.

Confidence: high. Issue updated 2026-08-11.

2241.0Ready
Codex
Confirm the 1.12 constants and transform from a primary emulator source, then implement persistent inebriation, timed decay, PLAYER_BYTES_3 projection, and deterministic chat Gates as one Ticket.
6#60
The two historical crashes during roughly 500 simultaneous disconnects have no current rerun, so core availability is still unverified.

The Gateway has since gained pre-auth deadlines, bounded blocking-task admission, file-descriptor checks, and more resilient accept handling, all of which can change failure behavior. None proves that the post-auth mass-disconnect crash is gone. The issue's done condition remains two clean Runbook B runs with process, kernel, and application evidence.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Requires the controlled 500-client load environment.
  • No current Runbook B evidence is attached.

PR #410

5436.7Verify existing work
Codex
Run the pinned Headless Client Runbook B twice against the current release Gateway, recording exit status, kernel OOM or signal evidence, file descriptors, task counts, session cleanup, and recovery.
7#424
Motion delivery can stop until the Gateway restarts

An offline test now proves that 172 healthy motion callbacks can produce the reported warning when the mover has no peer viewer. The current counter counts peer packets. The report does not yet prove a stopped subscription or a root cause for visible freezing.

Confidence: medium. Issue updated 2026-09-04.

PR #437

5546.2Verify existing work
Codex
Use the new per-Shard queue, callback and pump diagnostics to reproduce a stopped stream. A real-realm capture requires a named host and authorization; the original 15-hour freeze is not yet explained.
8#77
The old connection model is retired; the stated capacity target is unmeasured

Shared Coordinator connections and movement batching change the reported bottlenecks. The issue still requires a comparable run beyond roughly 525 seated Characters and a movement-cost breakdown. Code changes alone cannot satisfy that result.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Fresh current-revision capacity evidence from #59.

PR #244 PR #247

45120.0Verify existing work
Codex
Use #59 to record the current seated capacity and movement cost on comparable hardware. Update or close this parent from that measured result.
9#46
A deleted Character previously left a realm-core party member row, but the Gateway now relays Character disappearance and removes membership only after the Character is absent from every Shard.

The Character disappearance Relay exists, but its current Architecture Tests check call names rather than proving deletion and Transfer outcomes. The generic read signature can fail, although the production cache read currently returns Ok. A source scan alone is insufficient closure evidence.

Confidence: medium. Issue updated 2026-08-11.

PR #384

44116.0Verify existing work
Codex
Verify the actual Character disappearance callback and its read-failure behavior before closure. Existing tests only scan its source; add behavior coverage for deletion and Transfer if needed.
10#88
Movement heartbeat batching is already active at 40 ms with 128-entry calls; the remaining work is an approved load acceptance run and tuning only if its timing signals regress.

The current code contradicts the original title: gw_movement_batch, chunking across call pipes, entry isolation, and metrics all exist. PR 234 added a guarded acceptance runner but explicitly left the 500-mover and real-client checks undone.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Requires an approved synthetic load driver and disposable Realm.
  • Visual acceptance requires a stock client.

PR #234

45210.0Verify existing work
Codex
Run docs/movement-batch-acceptance.md against an approved disposable Realm with at least 500 movers, record batch factor and both latency signals, and tune one lever only if the tripwire fires.
11#84
The current Gateway has explicit world-Shard promotion to Realm-core and settlement fan-out, but the reported three-Shard failure has never been rerun against this implementation.

Current Store code and Fake-based tests cover the topology the issue said was suspect. That is meaningful newer evidence, but it does not reproduce the exact development stack. The issue also combines an unrelated bot-party combat failure that should be split if it remains.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

  • The exact three-Shard scenario needs an Operator-run development stack and the repaired Headless Client pin from issue 105.
  • https://github.com/LyraCoreProject/LyraCore/issues/84
  • gateway/src/world/loot.rs: relay_tick promotes pending Shard rolls to Realm-core and fans resolved winners to every connected World Shard.
  • gateway/src/world/loot_tests.rs: Fake-based tests cover staging promotion, clearing, and settlement fan-out.
  • module/src/loot/rolls.rs: settle_loot_roll grants only on the Shard that owns the corpse item.

4428.0Verify existing work
Codex
Rerun group loot on a fresh current three-Shard development stack with schedules armed. If it fails, capture promotion, Realm-core resolution, and settlement rows separately. Split any bot-party combat failure into its own issue.
12#59
The old crowd-cliff numbers cannot answer current capacity after movement and Relay changes; Runbook A still needs a fresh end-to-end run.

The current movement model writes one row per mover and uses AOI selection instead of the former per-recipient event rows. PR #421 also reduced distributed event Relay work, but its benchmark explicitly measured selection and encoding rather than realm capacity or latency. The 150/371-client measurements therefore describe neither the current writer load nor the current Gateway work.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Requires a controlled release benchmark environment.
  • Current end-to-end capacity evidence is absent.

PR #421

4536.7Verify existing work
Codex
Run Runbook A against a release build at the current main commit and publish capacity, latency, disconnect, writer-occupancy, QUEUESTAT, AOISTAT, and SHARDLOAD results with exact revisions.
13#86
Per-viewer motion supersession is implemented, but there is no current evidence that dense-crowd login starvation still has the 2026-08-09 shape after the shared WorldView changes.

The first coalescing rung is present. Later work replaced per-Character subscriptions with one per-Shard stream and an in-memory cell index, invalidating part of the old cost account. Dense fan-out is still inherently large, but a login-priority lane or interest cap needs fresh evidence.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

  • Issue 59's current crowd-cliff measurement is still open.
  • A dense interest cap changes visible behavior and needs maintainer approval.

PR #244

4536.7Verify existing work
Codex
Run the current dense-crowd measurement from issue 59 and record login completion, queue depth, relay latency, CPU, and delivered motion. Choose a priority lane or interest cap only if starvation reproduces.
14#105
LyraCore now pins the repaired wire suite. Full-suite realm acceptance remains.

The old pin started scenario files relative to the core checkout. The released fix uses the adapter directory and distinguishes startup failures. Offline dispatch and CI pass, while all-scenario realm acceptance still needs a run.

Confidence: high. Issue updated 2026-09-07.

PR #446

4536.7Verify existing work
GPT-6 Astra, Codex
Run the pinned full suite on an approved development Realm and retain each scenario result. Source and pin work are complete.
15#104
The Rust CLI now has import world and import vmaps, but fresh-provision parity is unrecorded and the old import-world.sh still exists.

lyracore-cli PR 25 implemented the verbs and the current pin includes them. That PR explicitly left fresh-provision Verification and retirement of the script for later, and the script remains in the tree.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Fresh-provision parity needs approved dump and client data plus Operator coordination.
  • Private or external consumers of import-world.sh must be inventoried before deletion.

3426.0Verify existing work
Codex
Run import world and import vmaps on a fresh approved development stack. If their results match the old flow, inventory remaining script consumers, repoint them, and delete import-world.sh.
16#55
The residual crowd disconnects remain unclassified and require a fresh correlated load run.

The issue's static audit found no corruption path and deliberately parked the symptom until logs could separate peer exits, writer failures, and subscription recovery. The Gateway still logs the terminal World Session error, while the current movement and load-shedding paths have changed enough that the old 3 to 8 per 150 result cannot establish today's behavior.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Requires a controlled load run and correlated logs.
  • No current reproduction is attached to the issue.

PR #421

3333.0Verify existing work
Codex
Run the current crowd scenario with stable peer IDs and collect Gateway session-end causes, Headless Client disconnect reasons, QUEUESTAT, AOISTAT, and SHARDLOAD for the same time window.
17#78
GridBox still recenters at every cell crossing, but this no longer tears down SpacetimeDB subscriptions; it now applies a bounded in-memory index delta and may cause only entity create and destroy churn.

The original measured subscription cost is retired by the shared WorldView. Widening the AOI to 7 by 7 would raise steady audience and relay work, so the old proposed fix should not ship without new evidence of visible churn.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • The original measurement does not describe the current architecture.

PR #244

2222.0Verify existing work
Codex
Measure current AOI recenter deltas and client create and destroy traffic near cell boundaries. Close as superseded if bounded in-memory churn is harmless; otherwise write a new Spec that prices the wider AOI.
18#103
The dynamic door-collision parent has one imported-mesh slice shipped, while runtime collision and instance-aware acceptance remain in issues 113 and 114.

The parent is now a tracker rather than an implementation unit. Its original request for a Spec and split is complete, but the implemented behavior is not. Current eligibility conflicts must be resolved in issue 113 before the parent can advance.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Issue 113 requires a collision-eligibility decision and implementation.
  • Issue 114 depends on issue 113 and Operator-assisted Deadmines acceptance.

PR #254

45120.0Dependency
Codex
Keep this as the parent. Resolve issue 113's eligibility decision, implement 113, then complete issue 114 and close the parent from its acceptance evidence.
19#66
The two-Gateway capacity experiment remains valuable, but its baseline and three correctness prerequisites are still open.

The duplicate bot-invite defect in #62 is fixed, while #61, #63, and #65 remain. The coordinator and Relay cost model also changed: shared Shard connections and cell audiences make the issue's original query-count assumptions stale. A second Gateway measurement can decide whether horizontal Gateway scaling earns its operational cost, but only against a fresh one-Gateway baseline and after known cross-process corruption paths are closed.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Issue #59 has no current one-Gateway baseline.
  • Issues #61 and #63 retain cross-process correctness failures.
  • Issue #65 has no routable Gateway selection mechanism.

PR #390 PR #421

4545.0Dependency
Codex
Complete #59, #61, #63, and #65, then run one and two Gateway processes against the same Realm with identical Headless Client load and compare writer occupancy, subscriptions, Gateway CPU, latency, and disconnects.
20#64
The Gateway still has no SIGTERM drain path and both listeners end only when their tasks fail.

Current main binds ordinary Tokio listeners and does not register a Unix signal handler. A stop therefore does not close admission, wait for World Sessions, or perform orderly logout. Session leases reduce how long crash residue survives, but they do not provide a drain. The issue correctly waits for #60 because mass teardown behavior must be known before building shutdown around it.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Issue #60 must first establish current mass-disconnect behavior.

4444.0Dependency
Codex
After #60, add a shared shutdown signal that closes both listeners, stops new logons, drains World Sessions to a deadline, records clean logout, and exits with observable phase logs.
21#65
Logon still advertises one configured world address and has no Realm-core registry of Gateway address, load, or draining state.

The logon Store returns a one-element realm list built from the configured world address. Realm-core has per-Gateway Shard load samples, but their gateway_key is a hash for accounting rather than a routable address, and no row says a Gateway accepts new World Sessions or is draining. The old estimate that selection is a tiny change no longer matches the required registration and lease work.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Issue #69 must choose the multi-Gateway serving model.
  • A leased process registry and expiry rule do not exist.
  • Issue #59 must provide a useful load signal for selection.

4444.0Dependency
Codex
After #69, define a leased Gateway process row on Realm-core with advertised address, admission state, and load; make realm-list selection deterministic and test drain exclusion and stale-row expiry.
22#114
Instance-aware door collision and Deadmines acceptance cannot start until dynamic door collision exists and its map-36 eligibility conflict is resolved.

The ray functions and debug reducer still lack instance_id. Issue 113 is unimplemented, and current vmap eligibility requires an active static generation even though the canonical import skips open-world vmaps on the Instance Pool.

Confidence: high. Issue updated 2026-08-13.

Blocked by

  • Issue 113 is unimplemented.
  • A maintainer must decide how dynamic collision becomes eligible on map 36 without a bounded-profile static vmap generation.
  • Final acceptance needs approved client data and an Operator-run development Shard.
  • https://github.com/LyraCoreProject/LyraCore/issues/114
  • module/src/vmap.rs: los_ray and collision_ray accept map_id and endpoints only.
  • module/src/debug/instance.rs: debug_vmap_ray has no instance argument.
  • docs/vmap-rollout.md: the Instance Pool is excluded from bounded-profile vmap generations.

4444.0Dependency
Codex
After issue 113 has an approved eligibility rule and implementation, thread instance_id through ray callers and run isolated sibling-instance tests before the Deadmines acceptance run.
23#39
Static world collision is shipped, while dynamic GameObject collision, fresh-provision parity, and the final real-client movement checks remain open.

The epic's main collision slices landed in PR #115. Completion now depends on open issue #103 and its remaining children, issue #104's provisioning Gate, and a human Blink and line-of-sight check, so the umbrella is not a single implementation candidate.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Issue #103 dynamic GameObject collision, including open children #113 and #114
  • Issue #104 fresh-provision parity
  • A real-client Blink and line-of-sight session

PR #115 PR #254

3553.0Dependency
Codex
Finish #103 through its remaining dynamic collision Tickets, complete #104 on a fresh provision, then run the real-client Blink and line-of-sight matrix and close the epic.
24#138
The repository quickstart is still the only complete guide; the public site exists only as an unbuilt specification, so there is nothing safe to point the 819-line document at.

The issue body contains only a dash. The public-site repository says it is not built yet and has no quickstart content. Shrinking the local guide now would remove the usable instructions.

Confidence: high. Issue updated 2026-08-13.

Blocked by

  • The published quickstart does not exist yet.
  • The issue needs an explicit destination URL and ownership rule.

1212.0Dependency
Codex
Wait for the public site to publish and version a complete quickstart, then replace docs/quickstart.md with a short durable pointer and check inbound links.
25#33
The protocol can expose a Realm list, but the Gateway still presents one configured Realm and the deployment lacks the shared account foundation needed for multiple Realms.

Issue #33 explicitly depends on the shared authentication and account work in #34. Starting independent multi-Realm implementation would duplicate or constrain that unfinished design.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Issue #34 shared authentication hub and account policy

2451.6Dependency
Codex
Complete and verify issue #34, then rewrite this issue around Realm directory discovery, selection, routing, and a two-Realm Gate.
26#68
Zero-disconnect file-descriptor handoff remains a large optional architecture project with all of its prerequisites open.

The Gateway keeps DecrypterHalf in the reader and EncrypterHalf in the writer; there is no cipher snapshot, SCM_RIGHTS transport, or receiving process protocol. The proposed handoff must also reconstruct WorldView state and coordinate ownership without letting either process write stale data. This complexity is only justified after measured restart cost and two-Gateway gain show that ordinary drain and reconnect are insufficient.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Issues #64, #66, and #67 are unresolved.
  • No cipher-state snapshot API or acceptance test exists.
  • The feature is Unix-specific and needs an Operator value decision.

2250.8Dependency
Codex
Do not implement before #64, #66, and #67. If measurements justify it, first isolate and test vanilla header-cipher snapshot restoration, then specify the Unix handoff state machine and real-client acceptance check.
27#61
Deterministic bound identity shipped, but World Session epochs still live inside each Gateway process and cannot reject stale teardown across processes.

One half of the issue is stale: each Gateway now derives the same synthetic owner identity from the Account. The more serious half remains. SessionEpochs is an AtomicU64 plus a process-local map, and disconnect cleanup trusts that local release result before logout. Two Gateways can therefore each believe their World Session is current and let an older socket remove the newer live Character. The issue should be narrowed to a Realm-core Session generation or lease.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • The durable lease and expiry semantics need a small design decision.
  • Issue #69 should state whether arbitrary Gateways may serve the same Account.

5546.2Design first
Codex
Rewrite the issue around a Realm-core-owned Session generation or lease, pass its token through login and logout, and add a two-Gateway test where the losing socket disconnects after the winner enters the world.
28#441
A delayed START can recreate a resolved Loot Roll

PR #439 deduplicates active rolls. Resolution deletes that identity. A durable generation must distinguish retries from a later valid kill before changing storage.

Confidence: high. Issue updated 2026-09-05.

Blocked by

  • PR #439 must settle first; any schema change needs human review before shipping.

PR #439

5445.0Design first
Codex
Design a stable promotion identity and cleanup rule. Prove old START replay is refused while a later roll on the same corpse and slot succeeds.
29#71
Item GUID allocation can leave a Character's 256-value packed block and collide with another Character; transfer relies on the opposite invariant.

item_guid_for keeps only 24 owner bits and reserves eight bits for a starting slot. next_item_guid then uses the owner's maximum GUID plus one without checking the low-byte boundary. Enough grants, splits, mail, trade, or inventory churn can enter the next owner's block, while owner GUIDs that differ above bit 24 share a block immediately. A primary-key collision can abort an inventory reducer, and cross-database transfer preserves these GUIDs as globally safe identifiers. Existing rows prevent a casual packing change.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Existing item rows use the current packed format.
  • A durable per-owner serial or another globally unique allocation scheme must be selected.
  • The migration and rollback plan is undefined.

5353.0Design first
Codex
Choose a durable allocation scheme and live-row migration before implementation; define saturation behavior, preserve client-visible identifiers through transfer, and test allocation beyond 256 creations plus owners that share the low 24 bits.
30#58
The source installer shipped; the requested binary installer did not

install.sh clones the source and installs a pinned CLI launcher. The original issue instead requires both CLI and Gateway binaries in the installation folder. Treating the source-first flow as full completion would hide that difference.

Confidence: high. Issue updated 2026-08-11.

34112.0Design first
Codex
Decide whether the supported source installation replaces this binary-distribution request. If binary distribution remains wanted, define supported targets and release artifacts before implementation.
31#184
The staged vmap import workflow exists, but the issue still asks for map 0 on the Instance Pool, which current canonical rollout rules explicitly forbid.

PR 192 shipped the source workflow. PR 275 later introduced the Eastern and Kalimdor World Import Profiles and changed the target matrix. The latest issue comment repeats the retired Instance Pool target, so following it would populate the wrong Shard.

Confidence: high. Issue updated 2026-09-01.

Blocked by

  • The issue and its latest comment contradict docs/vmap-rollout.md.
  • Any rollout requires a named host, approved client data, a maintenance window, and real-client acceptance.

PR #192 PR #275

4428.0Design first
Codex
Replace the acceptance checklist with map 0 on the Eastern World Shard, map 1 on the Kalimdor World Shard, and an explicit open-world exclusion for the Instance Pool. Only then schedule operator Verification.
32#195
Generation-scoped navigation coverage is implemented, but rollout acceptance has not been recorded and the issue's old Shard examples conflict with the current import topology.

PR 258 shipped preparation, finalization, matched-generation selection, and route-planner use. The latest comment says only rollout remains, but it predates the canonical profile change that moved open-world coverage to two World Shards and excluded the Instance Pool.

Confidence: high. Issue updated 2026-09-01.

Blocked by

  • The acceptance matrix must be updated for the current Eastern and Kalimdor World Shards.
  • Requires approved client data, named non-production or production targets, and human acceptance.

PR #258 PR #275

4428.0Design first
Codex
Correct the rollout matrix to the current World Import Profiles, then prepare and finalize matching coverage on each eligible World Shard and record route and client Verification before enabling nav_coverage_enabled.
33#69
The claimed choice between free-form Gateways and Gateway-per-Shard affinity no longer matches the shared connection model and needs a narrower decision.

Current Gateways keep shared coordinator connections to Shards, maintain a local WorldView, and select event audiences by spatial cells. That is already a hybrid: any Gateway can serve a viewer while local indexes avoid broadcasting most Relays to every World Session. Motion still comes from per-mover Shard rows, so the remaining question is measured subscription and writer cost, not the issue's original strict architectural fork.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

  • Issue #59 lacks a current baseline.
  • Issue #66 lacks a two-Gateway comparison.

PR #421

3426.0Design first
Codex
Rewrite the decision around the current shared connection and WorldView model, then use #59 and #66 measurements to decide whether process-to-Shard affinity adds enough gain to justify routing and failover constraints.
34#113
Door collision meshes can be imported, but no per-GameObject collider registry or state-gated ray merge consumes them.

The prerequisite importer is merged and the runtime work is absent. The Spec now conflicts with active-generation eligibility: it expects dynamic doors to work on map 36 with no static chunks, while vmap_enabled returns false without an active generation. That decision affects the central Gate and must be settled first.

Confidence: high. Issue updated 2026-08-13.

Blocked by

  • Maintainer decision: dynamic-only generation or a separate dynamic-collision eligibility rule for the Instance Pool.
  • The chosen rule must stay consistent with issue 198's future per-map eligibility model.

PR #254

4545.0Design first
Codex
Choose and document the map-36 eligibility rule. Then implement game_go_collider, lifecycle registration, transforms, state gating, and synthetic ray behavior against that rule.
35#34
Realm-core authentication is active, but role-selectable Gateway processes, cross-Realm ban kicks, GM baselines, account migration, registration guidance, and a two-Realm Gate remain.

The data seam has shipped, but the remaining slices change deployment roles and account policy across Realm processes. The issue still requires Operator sequencing and does not identify which operational slice should land first.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Operator sequencing for the remaining slices
  • A product decision for GM baseline and per-Realm override behavior
  • A two-Realm live acceptance environment
  • https://github.com/LyraCoreProject/LyraCore/issues/34
  • Code fact: gateway/src/config.rs reads LYRACORE_REALM_CORE and gateway/src/main.rs starts both logon and world listeners without a role selection enum or flag.
  • Code fact: the current CoordinatorStore realm list contains one Realm, and account ban state has no cross-Realm active-session kick subscription.

4554.0Design first
Codex
Choose the next operational slice, preferably explicit Gateway role flags, and write separate Tickets for role selection, ban propagation, GM policy, migration, registration, and the two-Realm Gate.
36#272
Resident creature movement now replays after CREATE. Motion-flush shedding and sensing cadence still need decisions.

Merged #450 resumes resident movement from its current point and remaining duration. The issue also describes delayed flushes under load and a four-second sensing cadence; those remain separate policy choices.

Confidence: high. Issue updated 2026-09-07.

Blocked by

  • Full closure needs a maintainer choice for motion-flush shedding and proximity sensing cadence.
  • The combined symptom still needs real-client acceptance.

PR #450

3434.0Design first
Codex
Choose motion-flush shedding and sensing cadence after measuring current behavior. Complete the stock-client acceptance recording.
37#29
Basic GM playtest commands exist, while moderation audit, mute, kick, ban enforcement, summon or appear, and freeze behavior remain absent.

The issue now mixes shipped playtest tooling with unimplemented moderation and policy work. The remaining work crosses Gateway sessions, Module state, realm-core account policy, and audit retention, so the umbrella needs a current moderation-only Spec.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • A decision on GM permission levels and audit retention
  • Alignment with issue #34 account ban and GM baseline policy
  • https://github.com/LyraCoreProject/LyraCore/issues/29
  • Code fact: module/src/gm.rs implements speed, god, XP rate, level, money, heal, kill, gps, teleport, and add-item commands with gm_level checks, but no game_gm_action table or mute, kick, ban, summon, appear, or freeze path exists.

4453.2Design first
Codex
Rewrite the issue around moderation outcomes, permission levels, audit records, and ban or mute propagation, then split it into one command and enforcement path per Ticket.
38#36
Speed and teleport movement checks exist, but fall, gravity, Z-axis, and wall-crossing checks remain undefined and unimplemented.

The Module reserves violation codes for the remaining checks, but the issue does not set thresholds or a false-positive budget from observed traces. Those policy choices affect legitimate movement and should be settled before more enforcement is added.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Threshold and false-positive policy for the next movement check
  • Representative legitimate and violating movement traces

4343.0Design first
Codex
Choose the next check and its false-positive budget from recorded movement traces, then write one Ticket with deterministic Module Gates and a Headless Client scenario.
39#35
Package authoring, trust, provenance, and the compiled CLI are present; the remaining public-host work is the install script, Server manifest design, and fresh-machine acceptance.

PR #397 closed the package API and lint slice, and the cross-repository CLI workflow is established. The unresolved Server manifest is a product and deployment design choice, while issue #58 and fresh-machine verification are separate executable slices.

Confidence: high. Issue updated 2026-09-01.

Blocked by

  • A decision on the Server manifest contract
  • Open issue #58 for the installer
  • Fresh-machine acceptance across the CLI repository and this pinned shim

PR #397

3553.0Design first
Codex
Decide the minimum deployment manifest and binary-distribution contract. #58 has a source installer but its requested binary distribution is unresolved.
40#72
SpellCastEvent still multiplexes several wire signals through independent booleans and zero-value conventions.

The row contains is_completion, is_interrupted, delay_ms, and is_proc_log alongside ordinary START and GO fields. The Gateway decodes them in ordered branches, while comments state which fields must be the only active signal. Typed signal constructors reduced literal duplication but do not enforce mutual exclusion. An additive kind would make the union explicit, but schema publication and generated bindings make this more than a local refactor, and the unused is_completion field needs a compatibility choice.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Define old-row decoding and the is_completion compatibility policy.

3333.0Design first
Codex
Define an additive event-kind contract and compatibility for old rows, then implement constructor stamping and Gateway decoding. Schema changes need human review before shipping.
41#82
A real Realm still has no tracked TCP load balancer, backend admission cap, or drain procedure for a Gateway pool.

The repository contains only the Standalone Supervisor deployment artifact. The issue is explicitly tied to host topology and kill-a-backend acceptance, while the old capacity numbers need refresh after shared connections and batching.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Needs current single-Gateway and dense-crowd capacity evidence.
  • Requires a maintainer choice of load balancer and a named host before any topology change.
  • https://github.com/LyraCoreProject/LyraCore/issues/82
  • deploy/systemd: only the Standalone Supervisor service is tracked; no Gateway load-balancer configuration exists.
  • gateway/src/config.rs: LYRACORE_REALM_ADDRESS can advertise an external address but does not provision or drain backends.

3443.0Design first
Codex
After current capacity and dense-crowd Verification, choose the supported load balancer and tracked deployment shape. Build static backend caps, health checks, drain commands, and a failure drill against a named non-production host first.
42#73
The pinned CLI has a useful text dev status command and no Ratatui dependency; choosing a TUI remains a product decision.

The sibling lyracore-cli repository at the pinned revision has no ratatui or crossterm dependency. dev status already renders process, topology, and per-database health directly from the CLI's existing state and health checks. A TUI could make local observation easier, but the spatial seam map is retired and a remote GM console has different authentication and reach. The remaining work is to select one bounded surface rather than adopt a rendering library first.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • No operations surface has been selected.
  • The spatial seam map named by the issue is retired.

2323.0Design first
Codex
Have the Operator choose whether local dev status needs an interactive TUI; if yes, scope a read-only local process and database view before considering remote Realm or spatial editing.
43#27
Groups remain limited to parties; raid conversion, subgroups, assistants, raid roster packets, and raid quest-credit rules are absent.

Current code explicitly excludes raid groups. The issue spans data modeling, protocol behavior, permissions, quest credit, and multi-client acceptance without a current packet or policy Spec.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Exact 1.12 raid packet behavior
  • A policy decision for raid quest credit
  • A multi-client roster acceptance session

3452.4Design first
Codex
Define the 1.12 raid roster packet shapes and quest-credit policy, then split conversion, subgroup movement, assistant permissions, roster projection, and credit behavior into separate Tickets.
44#313
Choose which non-spell DBC catalogues Packages may edit

The proposal names a concrete update-only set, but explicitly awaits maintainer approval. Positional keys and cross-family ordering affect the contract and should be settled before implementation.

Confidence: medium. Issue updated 2026-09-02.

Blocked by

  • Maintainer decision requested in the issue comment.

3452.4Design first
Codex
Approve or revise the proposed table set, stable keys, family boundaries and replay order, then assign a Tracer.
45#11
Self-resurrection effects such as Soulstone and Reincarnation have no stored eligibility, consume-on-use flow, or self-resurrect packet handling.

Existing resurrection code handles requests from another Character, while the importer leaves Reincarnation scripted. The exact 1.12 duration, death-screen option, reagent, cooldown, and consumption behavior need observation before the state model is fixed.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

  • Exact 1.12 Soulstone and Reincarnation semantics
  • A real-client acceptance session

3342.2Design first
Codex
Research the missing protocol and gameplay facts from primary sources, then define a complete implementation Ticket. Keep the final real-client check separate.
46#198
Exact vmap consumption still depends on a realm-wide boolean as well as an active map generation, but the issue's rollout topology no longer matches the canonical World Import Profiles.

The implementation is absent and the prerequisites remain open. More seriously, current rollout docs route open-world vmaps to the two World Shards and skip the Instance Pool, contradicting the issue's map-0 account. Removing the Gate from this stale Spec would be unsafe.

Confidence: high. Issue updated 2026-09-01.

Blocked by

  • Issue 184 needs corrected rollout acceptance.
  • Issue 195 needs corrected matching navigation-coverage acceptance.
  • A maintainer must approve the supported-map inventory and emergency rollback rule.

PR #192 PR #258 PR #275

3342.2Design first
Codex
Rewrite the supported-map inventory and eligibility rule against the current World Import Profiles, then wait for corrected rollout and matching navigation-coverage Verification before removing the Gate.
47#4
The imported world has no continent-crossing transport or synthetic AreaTrigger link, and the issue offers two different destinations with different content costs.

The Operator must choose between the cheap Ratchet to Stormwind synthetic link and waiting for a real dock path that needs wider map-0 content. Code work before that choice risks implementing the wrong world route.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Operator choice between the proposed Ratchet to Stormwind link and a later real-dock route
  • Wider map-0 import scope if the real-dock route is selected

2332.0Design first
Codex
Choose the temporary synthetic route or the real-dock route; for the temporary route, write one importer plus teleport Gate Ticket using the selected trigger ids.
48#67
SO_REUSEPORT is still absent, but its value depends on the chosen drain and world-address routing design.

Both Gateway listeners still use TcpListener::bind, and there is no reuse-port setup. That proves the feature is unimplemented, but not that it is the best deploy mechanism. If logon sends new clients only to a fresh advertised address and the old Gateway drains, overlapping binds may add little. Platform behavior and failure reporting also need an explicit support policy.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • Issue #64 has no graceful drain.
  • Issue #65 has no Gateway-address selection.
  • The supported-platform policy is unstated.

2231.3Design first
Codex
Decide after #64 and #65 whether overlapping binds are required; if yes, specify supported operating systems and add socket creation plus an overlap acceptance test.
49#79
Gateway connections still use the SpacetimeDB confirmed-read default, and the current shared Coordinator gives no movement-only connection on which to disable it safely.

No confirmed-read override exists. The issue's proposed one-line movement-path change no longer fits the architecture: a Coordinator carries all subscribed state and Durable Reads for a Shard, so the durability trade affects more than movement.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

  • A maintainer must approve the crash-durability trade.
  • There is no current movement-only subscription connection.

PR #247

2231.3Design first
Codex
Measure confirmed-read latency on the current Coordinator, list which state would become visible before durability, and decide whether to keep confirmation or introduce a narrowly scoped connection before changing the setting.
50#10
Distract has no destination checks, temporary Creature attention state, facing update, or combat and expiry rules.

The desired idle, combat, radius, duration, and facing semantics are not specified precisely, and the current Creature behavior has no matching investigation or attention state. Observation should precede a new AI state seam.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

  • Exact 1.12 Distract targeting and expiry behavior
  • A real-client behavior check

2241.0Design first
Codex
Research the missing protocol and gameplay facts from primary sources, then define a complete implementation Ticket. Keep the final real-client check separate.
51#41
Ritual of Summoning still lacks the ritual portal, two-assistant interaction, and targeted teleport flow.

The requested behavior depends on exact 1.12 group and GameObject interaction semantics that are not specified in the issue or represented in current code. A multi-client observation is needed before implementation can be split safely.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

  • Exact 1.12 ritual interaction behavior
  • A three-client acceptance session

2250.8Design first
Codex
Research the missing protocol and gameplay facts from primary sources, then define a complete implementation Ticket. Keep the final real-client check separate.
52#92
client sync and the later Client Artifact command are implemented; only a real client sync load check remains.

CLI PR 32 and core PR 322 shipped sync. Issue 303 and PR 392 later shipped the distributable Client Artifact that the original issue deferred. The latest issue evidence correctly leaves only stock-client loading.

Confidence: high. Issue updated 2026-09-02.

Blocked by

  • Requires a configured, legally obtained stock 1.12.1 client and a human load check.

PR #322 PR #392

34112.0Human acceptance
Codex
Run lyracore client sync against a configured stock client and record that patch-3.MPQ and every enabled Package addon load.
53#318
Confirm Package script removal across a realm

PR #358 ships Module reconciliation and four durable tests were recorded green. CLI replay wiring also shipped through #393. The remaining recorded acceptance is visible login effects and removal on a named realm.

Confidence: high. Issue updated 2026-09-03.

Blocked by

  • Named test realm and permission for its Package changes.

PR #358 PR #400 PR #406

34112.0Human acceptance
Codex
Run the existing install, login, disable and login acceptance sequence; preserve cross-Shard evidence.
54#3
Realm-wide mail, auctions, guilds, whispers, parties, and loot coordination are present, but the reopened epic still lacks a consolidated two-client, multi-Shard acceptance record and contains stale mirror-removal wording.

The major systems named by the epic now use realm-core authority, including cross-Shard party and whisper paths. The remaining useful work is a real-client system Gate and an acceptance update that distinguishes authoritative state from deliberate Shard read mirrors.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

  • A two-client multi-Shard 1.12.1 acceptance environment
  • Clarification that Shard read mirrors may remain when realm-core is authoritative

PR #203 PR #226 PR #384

45210.0Human acceptance
Codex
Run two real clients on different Shards through mail, auction, guild, whisper, party, loot-roll, Transfer, and delete scenarios; update the mirror criterion and file only concrete failures.
55#38
The Gateway now installs Shard event callbacks once and performs a single ordered login visibility sweep; the remaining work is the issue's real-client login matrix.

PRs #421 and #433 replaced the subscription and login ordering paths described by the issue. Code-level Gates cover callback placement and sweep ordering, but the acceptance criteria still require fresh and geared Characters, auras, and questgivers on a real client.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • A real 1.12.1 client with fresh and geared Character fixtures

PR #421 PR #433

4428.0Human acceptance
Codex
Run the stated 5875 login matrix on main and close the issue if every initial snapshot and following delta is correct; file narrow failures separately.
56#1
The public package-manager proposal is largely implemented, while the remaining work is human product review, a real-client sync check, and maintenance of the proposal as a tracker.

Most linked slices are closed, and the repository documents package, build, config, replay, client sync, and client pack workflows. The issue comments say not to implement the umbrella directly; open issue #92 now retains only a real-client sync acceptance step.

Confidence: high. Issue updated 2026-08-24.

Blocked by

  • Issue #92 real-client sync acceptance
  • Human review of the public proposal's remaining product commitments

PR #322 PR #392 PR #397

3527.5Human acceptance
Codex
Complete issue #92's real-client sync check, review the installed workflow against the public proposal, and refresh or close the umbrella without starting code from it.
57#42
The scripted and package-based Playerbot work has shipped; the remaining acceptance bar is a human-run real-client session that judges believable behavior and completes Deadmines.

Core PRs #394 and #395 and the linked package, CLI, and wire-harness work are merged. The issue's latest checklist explicitly leaves human judgment of believability, serendipity, and a full real 1.12.1 client dungeon run.

Confidence: high. Issue updated 2026-09-02.

Blocked by

  • A real 1.12.1 client and imported node
  • The Playerbot packages needed by the acceptance scenario
  • Human judgment of behavior quality

PR #394 PR #395

3527.5Human acceptance
Codex
Run issue #373's imported-node playbook, then complete issue #366 through VanCleef and record the observed failures as narrow follow-up issues.
58#154
Aura stacking-family code and its single insertion boundary are covered; the documented live stacking sequence has no recorded evidence.

PR 217 shipped the code and Architecture Test. The issue's latest comment and the still-empty evidence template agree that only operator-run aura and client Verification remains.

Confidence: high. Issue updated 2026-09-01.

Blocked by

  • Requires an Operator-approved Module publish and a real client.

PR #217

4326.0Human acceptance
Codex
Run docs/aura-stacking-probes.md on an approved development Realm, fill its evidence template, and close this issue if every persisted and visible result agrees.
59#112
The DOOR and BUTTON model importer is merged; only an approved client-data dry run and apply to a named development Shard remain.

PR 254 shipped DBC lookup, M2 extraction, storage reducers, limits, and tests. The latest evidence correctly says runtime use belongs to issue 113 and this issue needs Operator-owned data acceptance only.

Confidence: high. Issue updated 2026-09-01.

Blocked by

  • Requires approved client Data and an explicitly named development Shard.

PR #254

3426.0Human acceptance
Codex
Run --go-models as a dry run against approved client data, record nonzero Deadmines door triangles, then apply to a named development Shard.
60#196
Bounded ground-snapped patrol return is implemented; only a real-client observation of a badly displaced patroller remains.

PR 253 added repeated return steps and pure coverage for long displacement and ordinary patrol behavior. The latest issue comment correctly narrows the remainder to visual Verification.

Confidence: high. Issue updated 2026-09-01.

Blocked by

  • Requires a stock 1.12.1 client and a suitable live creature scenario.

PR #253

3216.0Human acceptance
Codex
Displace a patroller across uneven terrain in a stock client and record its return, route rejoin, and resumed patrol.
61#366
Verify Deadmines choreography in the real client

The Package has durable tests. Visible door changes, Smite movement and chat still need observation. The stomp decision is settled, but packages issue #18 remains open.

Confidence: high. Issue updated 2026-09-01.

Blocked by

3426.0Human acceptance
Codex
Finish the stomp content, then combine dungeon visuals and bot acceptance in one imported-map session.
62#367
The GOOBER lock Gate is merged and verified through real reducers. Imported Defias Cannon acceptance remains.

The missing GOOBER lock Gate allowed quest credit and Package hooks before an opener. PR #440 now applies the existing Gate and proves atomic Refusal through real reducers. The imported cannon still needs its stated client acceptance.

Confidence: high. Issue updated 2026-09-07.

PR #440

3426.0Human acceptance
Codex tracks; real-client acceptance needed
Verify the imported cannon requires its gunpowder with a real 1.12 client on an approved Realm. Module code and its durable regression are complete.
63#37
Spell rank supersession and trainer plus relog behavior have shipped; only the real 1.12 client acceptance check remains.

PR #256 merged the specified packet behavior, and the issue comment confirms the trainer and relog Gate shipped. No further code slice is identified.

Confidence: high. Issue updated 2026-09-01.

Blocked by

  • A real 1.12.1 client acceptance session

PR #256

2316.0Human acceptance
Codex
Learn a higher spell rank in a real 1.12.1 client, relog, and confirm the spellbook contains the expected visible rank before closing.
64#304
Verify FrameXML and GlueXML transforms on the real client

The transform engine, conflict checks and content hashes already shipped in PR #392. Current issue comments explicitly leave separate FrameXML and GlueXML client checks outstanding.

Confidence: high. Issue updated 2026-09-02.

Blocked by

  • Real unmodified 1.12.1 client and Operator baseline.

PR #392

3324.5Human acceptance
Codex
Run the existing transform Tracer against the Operator baseline in both client phases.
65#373
Observe imported bots and a fresh Deadmines entry

Mechanics tests cannot establish believable motion or a fresh real-client instance entry. The issue already contains a combined one-hour acceptance runbook.

Confidence: high. Issue updated 2026-09-02.

Blocked by

3324.5Human acceptance
Codex
Run the combined bot and dungeon acceptance session after the missing dungeon content ships.
66#202
The low gossip text identifier is implemented, but nobody has confirmed that Marshal McBride's gossip and quest window renders in the stock client.

The code already sends identifier 1 and answers its text query. The remaining question is client rendering, which the Headless Client cannot decide.

Confidence: high. Issue updated 2026-08-13.

Blocked by

  • Requires a stock 1.12.1 client and a human visual check.
  • https://github.com/LyraCoreProject/LyraCore/issues/202
  • gateway/src/codec/npc.rs: GOSSIP_GREETING_TEXT_ID is 1 and build_npc_text_update accepts arbitrary queried identifiers.
  • gateway/src/codec/tests.rs: packet tests cover the low identifier but explicitly cannot prove client rendering.

2214.0Human acceptance
Codex
Right-click Marshal McBride in a stock build-5875 client and record whether the greeting and quest offer appear.
67#137
Bank storage, slot purchase and the Headless Client bank adapter are implemented and pinned. Operator execution and the stock-client window check remain.

Wire-harness #9 and core pin #453 are merged. The adapter covers activation, deposit, reconnect persistence, withdrawal and slot purchase, with offline tests and protocol checks. It has not been run on an approved development Realm.

Confidence: high. Issue updated 2026-08-12.

Blocked by

  • Operator access to an approved development Realm.
  • A human with a stock client must check the window and cell behavior.

PR #158 PR #171 PR #453

3333.0Human acceptance
GPT-5.6 Sol, medium effort, adapter agent
Run the pinned bank adapter on an approved development Realm, then inspect the stock-client bank window, its 24 cells and the purchased slot.
68#107
GameObject template scale is imported and sent on the wire; current data and stock-client proportions have not been checked.

PR 110 shipped all three code layers and fallback tests. The issue's latest comment correctly limits the remainder to import, row and wire checks, and visual proportions.

Confidence: high. Issue updated 2026-09-01.

Blocked by

  • Requires approved game data, an Operator-run development Shard, and a stock client.

PR #110

2323.0Human acceptance
Codex
Publish and import on a named development Shard, compare Peacebloom and Copper Vein template sizes with the source data, inspect OBJECT_FIELD_SCALE_X, and check both in a stock client.
69#53
A maintained public demo realm still needs deployment, backup, restore, and operations work despite recent pre-auth hardening.

Pre-auth limits and Session Expiry shipped in merged PR #416. A public demo Realm still needs a named host, backup and restore procedures, operational ownership and an approved deployment.

Confidence: high. Issue updated 2026-08-11.

Blocked by

  • No named public host or deployment target is authorized.
  • Backup and restore behavior has not been demonstrated.

PR #410 PR #416

4352.4Human acceptance
Codex
Split the remaining work into a reviewed public-host runbook and reversible automation, then have an Operator name the host and approve the first deployment and restore drill.
70#425
Aura tick aborts after a due aura is removed

A creature death can remove a due aura before the scheduler advances its old snapshot. The fix advances only rows that still exist, so death and unrelated periodic effects commit together.

Confidence: high. Issue updated 2026-09-05.

PR #435

55212.5Done
Codex
Closed on GitHub. Preserve the recorded implementation evidence.
71#63
Concurrent promotions now reuse one active Loot Roll and preserve its complete vote set.

Concurrent Gateway promotions could insert duplicate active Loot Rolls and vote sets on Realm-core. Merged #439 makes the authoritative insertion reuse the existing active roll and preserve its votes. Post-resolution replay remains a separate decision in #441.

Confidence: high. Issue updated 2026-09-07.

PR #439

5436.7Done
GPT-5.6 Sol, PR completion agent
Complete. Concurrent-promotion SQL acceptance passed in merged #439. Post-resolution replay remains in #441.
72#70
A fresh clone now runs a four-database sharded fixture, while the requested Northshire region seam was deliberately retired.

The issue's product goal, showing Sharding out of the box, is shipped in an evolved form. dev up publishes Eastern Kingdoms, Kalimdor, an Instance Pool, and Realm-core, so contributors exercise both continental and instance routing. The same docs explicitly record removal of the second Elwynn database and walkable Northshire seam. Keeping the exact original issue open would reverse a later Operator decision.

Confidence: high. Issue updated 2026-09-07.

PR #111 PR #321

45120.0Done
Codex
Closed with current-source evidence. See the GitHub triage comment.
73#51
The old away-Shard subscription path is gone, and the replacement shared connection model enforces ghost and stealth visibility.

The issue targets ensure_away and fold_home_shard, neither of which exists. The Gateway now keeps shared Shard connections and selects visible peers through WorldView. ViewerGates carries the viewer's ghost state, and peer creation consults ghost and stealth state before sending CREATE. A later merged fix also restores a peer's aura state when stealth ends.

Confidence: high. Issue updated 2026-09-07.

PR #421 PR #432

44116.0Done
Codex
Closed with current-source evidence. See the GitHub triage comment.
74#76
The blocking-pool limit is now configured, logged, documented, and enforced before a socket enters Tokio's blocking queue, satisfying the issue's stated completion rule.

Current code and PR 410 go beyond the original acceptance criteria by sharing a non-waiting capacity across both listeners. The title's old 477 and 535 observations remain historical evidence, not an open implementation request.

Confidence: high. Issue updated 2026-09-07.

PR #410

44116.0Done
Codex
Closed with current-source evidence. See the GitHub triage comment.
75#404
Package casts now protect fixture creatures.

The cast entry points did not consistently apply the shared creature identifier policy. Merged #434 protects fixture creatures across cast declarations, including partial updates.

Confidence: high. Issue updated 2026-09-05.

PR #434

44116.0Done
Codex
Closed on GitHub. Preserve the recorded implementation evidence.
76#80
Cross-map teleport now deletes public and staged motion with the live entity.

Before #438, cross-map teleport removed staged motion and the live entity but left public motion behind. The merged cleanup removes both motion forms with the entity; the durable regression proves the result.

Confidence: high. Issue updated 2026-09-07.

PR #438

43112.0Done
GPT-5.6 Sol, PR completion agent
Complete. PR #438 merged after the durable regression, all other checks and review passed.
77#399
Replay no longer needs client data for a completed plan

Current CLI main reads target provenance before resolving client data. The script-only no-op test already runs without client data. The original control-flow complaint appears fixed by the replay work.

Confidence: high. Issue updated 2026-09-05.

PR #400 PR #406

3319.0Done
Codex
Closed on GitHub. Preserve the recorded implementation evidence.
78#346
Finish enforcing the repository checks in CI

Merged #419 and #426 supply the repository checks required by the original checklist. Current workflow evidence is recorded in the closure comment.

Confidence: high. Issue updated 2026-09-07.

PR #419 PR #426

4536.7Done
Codex
Closed with current-source evidence. See the GitHub triage comment.
79#353
Make workspace lint checks pass and block regressions

PR #419 is merged. The blocking clippy, formatting and Rust jobs passed on main b4c17c4; the GitHub closure cites that run.

Confidence: high. Issue updated 2026-09-07.

PR #419

4536.7Done
Codex
Closed with the merged PR and passing main workflow as evidence.
80#368
Detect generated Gateway binding drift in CI

Subscribed-table parity left other generated definitions unchecked. Merged #448 adds reproducible full binding generation and comparison, so CI now catches that drift.

Confidence: high. Issue updated 2026-09-07.

PR #448

4536.7Done
GPT-5.6 Sol, ownership check agent
Complete. Merged #448 generates and compares every Gateway binding file, with documented normalization. Its baseline contained 967 files.
81#341
Service unit parsing misses continued directives

The former parser split physical lines, which could hide conflicting continued directives. The merged CLI parses logical lines, including continuation comments, and rejects conflicting units before host changes.

Confidence: high. Issue updated 2026-09-07.

PR #452

4326.0Done
GPT-5.6 Sol, high effort, CLI agent
Complete. CLI #57 is adopted by merged core pin #452.
82#50
Classify Character ownership through unit-shaped and bare guid fields

Merged #445 classifies unit-shaped and bare guid columns, matches table-specific ownership markers and excludes comments and test code. Its Architecture Test catches Character state omissions during cleanup or Transfer.

Confidence: high. Issue updated 2026-09-07.

PR #445

4435.3Done
GPT-5.6 Sol, ownership check agent
Complete. The Architecture Test covers the wider field census and rejects missing ownership markers or explicit exclusions.
83#75
Raid benchmark reports dead and unknown Characters at each measurement window.

Core #449 adopts alpha.6, including the sparse CREATE correction. Reporting satisfies the issue's stated completion rule without automatic recovery.

Confidence: high. Issue updated 2026-09-07.

PR #449

4435.3Done
GPT-5.6 Sol, medium effort, benchmark agent
Complete. Automatic recovery can be a separate feature if requested.
84#340
Service Reconciliation misses effective command drift

The former verifier omitted effective command arguments and drop-in provenance. The merged CLI compares typed systemd ExecStart data with the tracked command, preserves argument boundaries and reports drop-ins on mismatch.

Confidence: high. Issue updated 2026-09-07.

PR #452

4435.3Done
GPT-5.6 Sol, high effort, CLI agent
Complete. CLI #57 is adopted by merged core pin #452.
85#398
Generated Package Deltas and Runtime Scripts now have accurate trust-review counts in the pinned CLI.

The old review counted source filenames and missed prebuilt Script Artifacts. Correct accounting also separates physical Delta artifacts from their Import Family memberships. This was more work than replacing the stale Datascript line.

Confidence: high. Issue updated 2026-09-07.

PR #447

3434.0Done
GPT-5.6 Sol, CLI completion agent
Complete. CLI #56 and core pin #447 are merged; 701 CLI tests and all core checks passed.
86#45
The old question about per-Character AOI subscription cost no longer matches the event relay design, which now uses one stable event subscription per Shard and computes viewer audiences in Gateway memory.

PR #421 removed the fan-out pattern that motivated the table-collapse decision. Its 2,000-Character benchmark reduced queued jobs from 4,000,000 to 336,124 in the distributed case, so the proposed comparison would measure an obsolete architecture.

Confidence: high. Issue updated 2026-09-07.

PR #421

2214.0Done
Codex
Closed with current-source evidence. See the GitHub triage comment.
87#48
The reported warm-handoff seam feel belongs to the retired region tier; the current Gateway has no seam state machine to tune.

The repository removed sub-map regions and mid-walk warm handoff. All recorded angle tests also passed before that removal, so further work on the old hysteresis design would target code that no longer exists.

Confidence: high. Issue updated 2026-09-07.

1111.0Done
Codex
Closed with current-source evidence. See the GitHub triage comment.
88#56
The requested walkable-seam presentation polish has no active region seam after the region tier was retired.

Abrupt range-leave presentation and repeated crossings were properties of the removed Northshire-to-Elwynn region handoff. Current fixture Shard crossings are escrowed continent or instance transfers, not an overlapping walkable view merge. Keeping this issue open implies an active feature that the current topology deliberately removed.

Confidence: high. Issue updated 2026-09-07.

2130.7Done
Codex
Closed with current-source evidence. See the GitHub triage comment.
89#49
The seam operations console has no active region tier to operate; only the underlying load samples remain useful.

The fixture and production topology no longer activate region assignments. Current documentation explicitly retires the walkable region seam and keeps continental and instance routing. Building the requested editor now would put a large UI around inert topology data. Shard load telemetry can support a smaller future operations surface after #73 selects one.

Confidence: high. Issue updated 2026-09-07.

Blocked by

  • The region tier was retired.
  • Issue #73 has not selected an operations surface.

2150.4Done
Codex
Closed with current-source evidence. See the GitHub triage comment.
+State and ownerNext action1#46
A deleted Character previously left a realm-core party member row, but the Gateway now relays Character disappearance and removes membership only after the Character is absent from every Shard.

The Character deletion Relay is present, but it converts failed reads to absence before a direct Realm-core LEAVE. Its tests inspect source text. The current path also needs verification of Transfer/cache ordering and surviving party mirrors before the suite workaround can be removed.

Confidence: medium. Issue updated 2026-08-11.

PR #384

4435.3In progress
GPT-5.6 Sol, Character deletion agentImplement the prepared Gateway cleanup Ticket in an isolated worktree. Prove authoritative absence, Transfer preservation and surviving rosters before removing the suite-wide party reset.2#31
Random item properties are absent from imported data and item state, and all relevant Gateway packet paths still emit random property id zero.

The approved two-Ticket Spec starts with weighted property selection, durable item state and the existing EquipStat families. The recovered Tracer also carries the property through buyback, Mail, Escrow, Auctions, Loot Rolls and Transfer. Compilation, durable tests and the remaining stat families are still required.

Confidence: high. Issue updated 2026-08-22.

Blocked by

3452.4In progress
GPT-6 Astra, Random Property agentFinish the existing Tracer implementation, regenerate bindings and verify durable item state. Then complete independent and CodeRabbit review; human schema and client review remain.3#40
The Binding pet quests need the scripted ritual encounter that turns source-item use into the objective fight.

Source data maps item 6928 to spell 7728 and item 6913 to spell 8674. Both use SendEvent and ActivateObject with spell focus 83. Current quest source-item reachability and item-use routing already exist. The remaining work must preserve the source-backed event behavior, focus Gate and objective credit. Quest turn-in also lacks reward-spell data, so the complete path needs a small durable catalogue and generated bindings.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #455

4453.2PR review
GPT-6 Astra, Warlock recovery agentDraft #455 is open. Finish current-head CI and CodeRabbit review. Human schema review and ritual-circle client acceptance remain.4#30
The Realm has no seasonal game-event data model, calendar activation, spawn participation, or Operator debug controls.

The issue has a detailed current Spec and carries the ready-for-agent label. It is implementable, but it spans importer data, persistent state, spawn lifecycle, calendar logic, and tooling, so it should be split before code work begins.

Confidence: high. Issue updated 2026-08-21.

2451.6Ready
CodexSplit the Spec into a deterministic single-event Tracer, calendar generalization, spawn integration, and Operator control Tickets, then implement the Tracer first.5#28
Drink item use does not create or decay an inebriation state, update PLAYER_BYTES_3, or apply chat slurring.

The feature is self-contained once the exact 1.12 field encoding, decay rate, and text transform are taken from a primary reference. No competing architecture or open dependency is visible.

Confidence: high. Issue updated 2026-08-11.

2241.0Ready
CodexConfirm the 1.12 constants and transform from a primary emulator source, then implement persistent inebriation, timed decay, PLAYER_BYTES_3 projection, and deterministic chat Gates as one Ticket.6#60
The two historical crashes during roughly 500 simultaneous disconnects have no current rerun, so core availability is still unverified.

The Gateway has since gained pre-auth deadlines, bounded blocking-task admission, file-descriptor checks, and more resilient accept handling, all of which can change failure behavior. None proves that the post-auth mass-disconnect crash is gone. The issue's done condition remains two clean Runbook B runs with process, kernel, and application evidence.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #410

5436.7Verify existing work
CodexRun the pinned Headless Client Runbook B twice against the current release Gateway, recording exit status, kernel OOM or signal evidence, file descriptors, task counts, session cleanup, and recovery.7#424
Motion delivery can stop until the Gateway restarts

An offline test now proves that 172 healthy motion callbacks can produce the reported warning when the mover has no peer viewer. The current counter counts peer packets. The report does not yet prove a stopped subscription or a root cause for visible freezing.

Confidence: medium. Issue updated 2026-09-04.

PR #437

5546.2Verify existing work
CodexUse the new per-Shard queue, callback and pump diagnostics to reproduce a stopped stream. A real-realm capture requires a named host and authorization; the original 15-hour freeze is not yet explained.8#77
The old connection model is retired; the stated capacity target is unmeasured

Shared Coordinator connections and movement batching change the reported bottlenecks. The issue still requires a comparable run beyond roughly 525 seated Characters and a movement-cost breakdown. Code changes alone cannot satisfy that result.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #244 PR #247

45120.0Verify existing work
CodexUse #59 to record the current seated capacity and movement cost on comparable hardware. Update or close this parent from that measured result.9#88
Movement heartbeat batching is already active at 40 ms with 128-entry calls; the remaining work is an approved load acceptance run and tuning only if its timing signals regress.

The current code contradicts the original title: gw_movement_batch, chunking across call pipes, entry isolation, and metrics all exist. PR 234 added a guarded acceptance runner but explicitly left the 500-mover and real-client checks undone.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #234

45210.0Verify existing work
CodexRun docs/movement-batch-acceptance.md against an approved disposable Realm with at least 500 movers, record batch factor and both latency signals, and tune one lever only if the tripwire fires.10#84
The current Gateway has explicit world-Shard promotion to Realm-core and settlement fan-out, but the reported three-Shard failure has never been rerun against this implementation.

Current Store code and Fake-based tests cover the topology the issue said was suspect. That is meaningful newer evidence, but it does not reproduce the exact development stack. The issue also combines an unrelated bot-party combat failure that should be split if it remains.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

4428.0Verify existing work
CodexRerun group loot on a fresh current three-Shard development stack with schedules armed. If it fails, capture promotion, Realm-core resolution, and settlement rows separately. Split any bot-party combat failure into its own issue.11#59
The old crowd-cliff numbers cannot answer current capacity after movement and Relay changes; Runbook A still needs a fresh end-to-end run.

The current movement model writes one row per mover and uses AOI selection instead of the former per-recipient event rows. PR #421 also reduced distributed event Relay work, but its benchmark explicitly measured selection and encoding rather than realm capacity or latency. The 150/371-client measurements therefore describe neither the current writer load nor the current Gateway work.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #421

4536.7Verify existing work
CodexRun Runbook A against a release build at the current main commit and publish capacity, latency, disconnect, writer-occupancy, QUEUESTAT, AOISTAT, and SHARDLOAD results with exact revisions.12#86
Per-viewer motion supersession is implemented, but there is no current evidence that dense-crowd login starvation still has the 2026-08-09 shape after the shared WorldView changes.

The first coalescing rung is present. Later work replaced per-Character subscriptions with one per-Shard stream and an in-memory cell index, invalidating part of the old cost account. Dense fan-out is still inherently large, but a login-priority lane or interest cap needs fresh evidence.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

PR #244

4536.7Verify existing work
CodexRun the current dense-crowd measurement from issue 59 and record login completion, queue depth, relay latency, CPU, and delivered motion. Choose a priority lane or interest cap only if starvation reproduces.13#105
LyraCore now pins the repaired wire suite. Full-suite realm acceptance remains.

The old pin started scenario files relative to the core checkout. The released fix uses the adapter directory and distinguishes startup failures. Offline dispatch and CI pass, while all-scenario realm acceptance still needs a run.

Confidence: high. Issue updated 2026-09-07.

PR #446

4536.7Verify existing work
GPT-6 Astra, CodexRun the pinned full suite on an approved development Realm and retain each scenario result. Source and pin work are complete.14#104
The Rust CLI now has import world and import vmaps, but fresh-provision parity is unrecorded and the old import-world.sh still exists.

lyracore-cli PR 25 implemented the verbs and the current pin includes them. That PR explicitly left fresh-provision Verification and retirement of the script for later, and the script remains in the tree.

Confidence: high. Issue updated 2026-08-11.

Blocked by

3426.0Verify existing work
CodexRun import world and import vmaps on a fresh approved development stack. If their results match the old flow, inventory remaining script consumers, repoint them, and delete import-world.sh.15#55
The residual crowd disconnects remain unclassified and require a fresh correlated load run.

The issue's static audit found no corruption path and deliberately parked the symptom until logs could separate peer exits, writer failures, and subscription recovery. The Gateway still logs the terminal World Session error, while the current movement and load-shedding paths have changed enough that the old 3 to 8 per 150 result cannot establish today's behavior.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #421

3333.0Verify existing work
CodexRun the current crowd scenario with stable peer IDs and collect Gateway session-end causes, Headless Client disconnect reasons, QUEUESTAT, AOISTAT, and SHARDLOAD for the same time window.16#78
GridBox still recenters at every cell crossing, but this no longer tears down SpacetimeDB subscriptions; it now applies a bounded in-memory index delta and may cause only entity create and destroy churn.

The original measured subscription cost is retired by the shared WorldView. Widening the AOI to 7 by 7 would raise steady audience and relay work, so the old proposed fix should not ship without new evidence of visible churn.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #244

2222.0Verify existing work
CodexMeasure current AOI recenter deltas and client create and destroy traffic near cell boundaries. Close as superseded if bounded in-memory churn is harmless; otherwise write a new Spec that prices the wider AOI.17#103
The dynamic door-collision parent has one imported-mesh slice shipped, while runtime collision and instance-aware acceptance remain in issues 113 and 114.

The parent is now a tracker rather than an implementation unit. Its original request for a Spec and split is complete, but the implemented behavior is not. Current eligibility conflicts must be resolved in issue 113 before the parent can advance.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #254

45120.0Dependency
CodexKeep this as the parent. Resolve issue 113's eligibility decision, implement 113, then complete issue 114 and close the parent from its acceptance evidence.18#66
The two-Gateway capacity experiment remains valuable, but its baseline and three correctness prerequisites are still open.

The duplicate bot-invite defect in #62 is fixed, while #61, #63, and #65 remain. The coordinator and Relay cost model also changed: shared Shard connections and cell audiences make the issue's original query-count assumptions stale. A second Gateway measurement can decide whether horizontal Gateway scaling earns its operational cost, but only against a fresh one-Gateway baseline and after known cross-process corruption paths are closed.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #390 PR #421

4545.0Dependency
CodexComplete #59, #61, #63, and #65, then run one and two Gateway processes against the same Realm with identical Headless Client load and compare writer occupancy, subscriptions, Gateway CPU, latency, and disconnects.19#64
The Gateway still has no SIGTERM drain path and both listeners end only when their tasks fail.

Current main binds ordinary Tokio listeners and does not register a Unix signal handler. A stop therefore does not close admission, wait for World Sessions, or perform orderly logout. Session leases reduce how long crash residue survives, but they do not provide a drain. The issue correctly waits for #60 because mass teardown behavior must be known before building shutdown around it.

Confidence: high. Issue updated 2026-08-11.

Blocked by

4444.0Dependency
CodexAfter #60, add a shared shutdown signal that closes both listeners, stops new logons, drains World Sessions to a deadline, records clean logout, and exits with observable phase logs.20#65
Logon still advertises one configured world address and has no Realm-core registry of Gateway address, load, or draining state.

The logon Store returns a one-element realm list built from the configured world address. Realm-core has per-Gateway Shard load samples, but their gateway_key is a hash for accounting rather than a routable address, and no row says a Gateway accepts new World Sessions or is draining. The old estimate that selection is a tiny change no longer matches the required registration and lease work.

Confidence: high. Issue updated 2026-08-11.

Blocked by

4444.0Dependency
CodexAfter #69, define a leased Gateway process row on Realm-core with advertised address, admission state, and load; make realm-list selection deterministic and test drain exclusion and stale-row expiry.21#114
Instance-aware door collision and Deadmines acceptance cannot start until dynamic door collision exists and its map-36 eligibility conflict is resolved.

The ray functions and debug reducer still lack instance_id. Issue 113 is unimplemented, and current vmap eligibility requires an active static generation even though the canonical import skips open-world vmaps on the Instance Pool.

Confidence: high. Issue updated 2026-08-13.

Blocked by

4444.0Dependency
CodexAfter issue 113 has an approved eligibility rule and implementation, thread instance_id through ray callers and run isolated sibling-instance tests before the Deadmines acceptance run.22#39
Static world collision is shipped, while dynamic GameObject collision, fresh-provision parity, and the final real-client movement checks remain open.

The epic's main collision slices landed in PR #115. Completion now depends on open issue #103 and its remaining children, issue #104's provisioning Gate, and a human Blink and line-of-sight check, so the umbrella is not a single implementation candidate.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #115 PR #254

3553.0Dependency
CodexFinish #103 through its remaining dynamic collision Tickets, complete #104 on a fresh provision, then run the real-client Blink and line-of-sight matrix and close the epic.23#138
The repository quickstart is still the only complete guide; the public site exists only as an unbuilt specification, so there is nothing safe to point the 819-line document at.

The issue body contains only a dash. The public-site repository says it is not built yet and has no quickstart content. Shrinking the local guide now would remove the usable instructions.

Confidence: high. Issue updated 2026-08-13.

Blocked by

1212.0Dependency
CodexWait for the public site to publish and version a complete quickstart, then replace docs/quickstart.md with a short durable pointer and check inbound links.24#33
The protocol can expose a Realm list, but the Gateway still presents one configured Realm and the deployment lacks the shared account foundation needed for multiple Realms.

Issue #33 explicitly depends on the shared authentication and account work in #34. Starting independent multi-Realm implementation would duplicate or constrain that unfinished design.

Confidence: high. Issue updated 2026-08-11.

Blocked by

2451.6Dependency
CodexComplete and verify issue #34, then rewrite this issue around Realm directory discovery, selection, routing, and a two-Realm Gate.25#68
Zero-disconnect file-descriptor handoff remains a large optional architecture project with all of its prerequisites open.

The Gateway keeps DecrypterHalf in the reader and EncrypterHalf in the writer; there is no cipher snapshot, SCM_RIGHTS transport, or receiving process protocol. The proposed handoff must also reconstruct WorldView state and coordinate ownership without letting either process write stale data. This complexity is only justified after measured restart cost and two-Gateway gain show that ordinary drain and reconnect are insufficient.

Confidence: high. Issue updated 2026-08-11.

Blocked by

2250.8Dependency
CodexDo not implement before #64, #66, and #67. If measurements justify it, first isolate and test vanilla header-cipher snapshot restoration, then specify the Unix handoff state machine and real-client acceptance check.26#61
Deterministic bound identity shipped, but World Session epochs still live inside each Gateway process and cannot reject stale teardown across processes.

One half of the issue is stale: each Gateway now derives the same synthetic owner identity from the Account. The more serious half remains. SessionEpochs is an AtomicU64 plus a process-local map, and disconnect cleanup trusts that local release result before logout. Two Gateways can therefore each believe their World Session is current and let an older socket remove the newer live Character. The issue should be narrowed to a Realm-core Session generation or lease.

Confidence: high. Issue updated 2026-08-11.

Blocked by

5546.2Design first
CodexRewrite the issue around a Realm-core-owned Session generation or lease, pass its token through login and logout, and add a two-Gateway test where the losing socket disconnects after the winner enters the world.27#441
A delayed START can recreate a resolved Loot Roll

PR #439 deduplicates active rolls. Resolution deletes that identity. A durable generation must distinguish retries from a later valid kill before changing storage.

Confidence: high. Issue updated 2026-09-05.

Blocked by

PR #439

5445.0Design first
CodexDesign a stable promotion identity and cleanup rule. Prove old START replay is refused while a later roll on the same corpse and slot succeeds.28#71
Item GUID allocation can leave a Character's 256-value packed block and collide with another Character; transfer relies on the opposite invariant.

item_guid_for keeps only 24 owner bits and reserves eight bits for a starting slot. next_item_guid then uses the owner's maximum GUID plus one without checking the low-byte boundary. Enough grants, splits, mail, trade, or inventory churn can enter the next owner's block, while owner GUIDs that differ above bit 24 share a block immediately. A primary-key collision can abort an inventory reducer, and cross-database transfer preserves these GUIDs as globally safe identifiers. Existing rows prevent a casual packing change.

Confidence: high. Issue updated 2026-08-11.

Blocked by

5353.0Design first
CodexChoose a durable allocation scheme and live-row migration before implementation; define saturation behavior, preserve client-visible identifiers through transfer, and test allocation beyond 256 creations plus owners that share the low 24 bits.29#58
The source installer shipped; the requested binary installer did not

install.sh clones the source and installs a pinned CLI launcher. The original issue instead requires both CLI and Gateway binaries in the installation folder. Treating the source-first flow as full completion would hide that difference.

Confidence: high. Issue updated 2026-08-11.

34112.0Design first
CodexDecide whether the supported source installation replaces this binary-distribution request. If binary distribution remains wanted, define supported targets and release artifacts before implementation.30#184
The staged vmap import workflow exists, but the issue still asks for map 0 on the Instance Pool, which current canonical rollout rules explicitly forbid.

PR 192 shipped the source workflow. PR 275 later introduced the Eastern and Kalimdor World Import Profiles and changed the target matrix. The latest issue comment repeats the retired Instance Pool target, so following it would populate the wrong Shard.

Confidence: high. Issue updated 2026-09-01.

Blocked by

PR #192 PR #275

4428.0Design first
CodexReplace the acceptance checklist with map 0 on the Eastern World Shard, map 1 on the Kalimdor World Shard, and an explicit open-world exclusion for the Instance Pool. Only then schedule operator Verification.31#195
Generation-scoped navigation coverage is implemented, but rollout acceptance has not been recorded and the issue's old Shard examples conflict with the current import topology.

PR 258 shipped preparation, finalization, matched-generation selection, and route-planner use. The latest comment says only rollout remains, but it predates the canonical profile change that moved open-world coverage to two World Shards and excluded the Instance Pool.

Confidence: high. Issue updated 2026-09-01.

Blocked by

PR #258 PR #275

4428.0Design first
CodexCorrect the rollout matrix to the current World Import Profiles, then prepare and finalize matching coverage on each eligible World Shard and record route and client Verification before enabling nav_coverage_enabled.32#69
The claimed choice between free-form Gateways and Gateway-per-Shard affinity no longer matches the shared connection model and needs a narrower decision.

Current Gateways keep shared coordinator connections to Shards, maintain a local WorldView, and select event audiences by spatial cells. That is already a hybrid: any Gateway can serve a viewer while local indexes avoid broadcasting most Relays to every World Session. Motion still comes from per-mover Shard rows, so the remaining question is measured subscription and writer cost, not the issue's original strict architectural fork.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

PR #421

3426.0Design first
CodexRewrite the decision around the current shared connection and WorldView model, then use #59 and #66 measurements to decide whether process-to-Shard affinity adds enough gain to justify routing and failover constraints.33#113
Door collision meshes can be imported, but no per-GameObject collider registry or state-gated ray merge consumes them.

The prerequisite importer is merged and the runtime work is absent. The Spec now conflicts with active-generation eligibility: it expects dynamic doors to work on map 36 with no static chunks, while vmap_enabled returns false without an active generation. That decision affects the central Gate and must be settled first.

Confidence: high. Issue updated 2026-08-13.

Blocked by

PR #254

4545.0Design first
CodexChoose and document the map-36 eligibility rule. Then implement game_go_collider, lifecycle registration, transforms, state gating, and synthetic ray behavior against that rule.34#34
Realm-core authentication is active, but role-selectable Gateway processes, cross-Realm ban kicks, GM baselines, account migration, registration guidance, and a two-Realm Gate remain.

The data seam has shipped, but the remaining slices change deployment roles and account policy across Realm processes. The issue still requires Operator sequencing and does not identify which operational slice should land first.

Confidence: high. Issue updated 2026-08-11.

Blocked by

4554.0Design first
CodexChoose the next operational slice, preferably explicit Gateway role flags, and write separate Tickets for role selection, ban propagation, GM policy, migration, registration, and the two-Realm Gate.35#272
Resident creature movement now replays after CREATE. Motion-flush shedding and sensing cadence still need decisions.

Merged #450 resumes resident movement from its current point and remaining duration. The issue also describes delayed flushes under load and a four-second sensing cadence; those remain separate policy choices.

Confidence: high. Issue updated 2026-09-07.

Blocked by

PR #450

3434.0Design first
CodexChoose motion-flush shedding and sensing cadence after measuring current behavior. Complete the stock-client acceptance recording.36#29
Basic GM playtest commands exist, while moderation audit, mute, kick, ban enforcement, summon or appear, and freeze behavior remain absent.

The issue now mixes shipped playtest tooling with unimplemented moderation and policy work. The remaining work crosses Gateway sessions, Module state, realm-core account policy, and audit retention, so the umbrella needs a current moderation-only Spec.

Confidence: high. Issue updated 2026-08-11.

Blocked by

4453.2Design first
CodexRewrite the issue around moderation outcomes, permission levels, audit records, and ban or mute propagation, then split it into one command and enforcement path per Ticket.37#36
Speed and teleport movement checks exist, but fall, gravity, Z-axis, and wall-crossing checks remain undefined and unimplemented.

The Module reserves violation codes for the remaining checks, but the issue does not set thresholds or a false-positive budget from observed traces. Those policy choices affect legitimate movement and should be settled before more enforcement is added.

Confidence: high. Issue updated 2026-08-11.

Blocked by

4343.0Design first
CodexChoose the next check and its false-positive budget from recorded movement traces, then write one Ticket with deterministic Module Gates and a Headless Client scenario.38#35
Package authoring, trust, provenance, and the compiled CLI are present; the remaining public-host work is the install script, Server manifest design, and fresh-machine acceptance.

PR #397 closed the package API and lint slice, and the cross-repository CLI workflow is established. The unresolved Server manifest is a product and deployment design choice, while issue #58 and fresh-machine verification are separate executable slices.

Confidence: high. Issue updated 2026-09-01.

Blocked by

PR #397

3553.0Design first
CodexDecide the minimum deployment manifest and binary-distribution contract. #58 has a source installer but its requested binary distribution is unresolved.39#72
SpellCastEvent still multiplexes several wire signals through independent booleans and zero-value conventions.

The row contains is_completion, is_interrupted, delay_ms, and is_proc_log alongside ordinary START and GO fields. The Gateway decodes them in ordered branches, while comments state which fields must be the only active signal. Typed signal constructors reduced literal duplication but do not enforce mutual exclusion. An additive kind would make the union explicit, but schema publication and generated bindings make this more than a local refactor, and the unused is_completion field needs a compatibility choice.

Confidence: high. Issue updated 2026-08-11.

Blocked by

3333.0Design first
CodexDefine an additive event-kind contract and compatibility for old rows, then implement constructor stamping and Gateway decoding. Schema changes need human review before shipping.40#82
A real Realm still has no tracked TCP load balancer, backend admission cap, or drain procedure for a Gateway pool.

The repository contains only the Standalone Supervisor deployment artifact. The issue is explicitly tied to host topology and kill-a-backend acceptance, while the old capacity numbers need refresh after shared connections and batching.

Confidence: high. Issue updated 2026-08-11.

Blocked by

3443.0Design first
CodexAfter current capacity and dense-crowd Verification, choose the supported load balancer and tracked deployment shape. Build static backend caps, health checks, drain commands, and a failure drill against a named non-production host first.41#73
The pinned CLI has a useful text dev status command and no Ratatui dependency; choosing a TUI remains a product decision.

The sibling lyracore-cli repository at the pinned revision has no ratatui or crossterm dependency. dev status already renders process, topology, and per-database health directly from the CLI's existing state and health checks. A TUI could make local observation easier, but the spatial seam map is retired and a remote GM console has different authentication and reach. The remaining work is to select one bounded surface rather than adopt a rendering library first.

Confidence: high. Issue updated 2026-08-11.

Blocked by

2323.0Design first
CodexHave the Operator choose whether local dev status needs an interactive TUI; if yes, scope a read-only local process and database view before considering remote Realm or spatial editing.42#27
Groups remain limited to parties; raid conversion, subgroups, assistants, raid roster packets, and raid quest-credit rules are absent.

Current code explicitly excludes raid groups. The issue spans data modeling, protocol behavior, permissions, quest credit, and multi-client acceptance without a current packet or policy Spec.

Confidence: high. Issue updated 2026-08-11.

Blocked by

3452.4Design first
CodexDefine the 1.12 raid roster packet shapes and quest-credit policy, then split conversion, subgroup movement, assistant permissions, roster projection, and credit behavior into separate Tickets.43#313
Choose which non-spell DBC catalogues Packages may edit

The proposal names a concrete update-only set, but explicitly awaits maintainer approval. Positional keys and cross-family ordering affect the contract and should be settled before implementation.

Confidence: medium. Issue updated 2026-09-02.

Blocked by

3452.4Design first
CodexApprove or revise the proposed table set, stable keys, family boundaries and replay order, then assign a Tracer.44#11
Self-resurrection effects such as Soulstone and Reincarnation have no stored eligibility, consume-on-use flow, or self-resurrect packet handling.

Existing resurrection code handles requests from another Character, while the importer leaves Reincarnation scripted. The exact 1.12 duration, death-screen option, reagent, cooldown, and consumption behavior need observation before the state model is fixed.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

3342.2Design first
CodexResearch the missing protocol and gameplay facts from primary sources, then define a complete implementation Ticket. Keep the final real-client check separate.45#198
Exact vmap consumption still depends on a realm-wide boolean as well as an active map generation, but the issue's rollout topology no longer matches the canonical World Import Profiles.

The implementation is absent and the prerequisites remain open. More seriously, current rollout docs route open-world vmaps to the two World Shards and skip the Instance Pool, contradicting the issue's map-0 account. Removing the Gate from this stale Spec would be unsafe.

Confidence: high. Issue updated 2026-09-01.

Blocked by

PR #192 PR #258 PR #275

3342.2Design first
CodexRewrite the supported-map inventory and eligibility rule against the current World Import Profiles, then wait for corrected rollout and matching navigation-coverage Verification before removing the Gate.46#4
The imported world has no continent-crossing transport or synthetic AreaTrigger link, and the issue offers two different destinations with different content costs.

The Operator must choose between the cheap Ratchet to Stormwind synthetic link and waiting for a real dock path that needs wider map-0 content. Code work before that choice risks implementing the wrong world route.

Confidence: high. Issue updated 2026-08-11.

Blocked by

2332.0Design first
CodexChoose the temporary synthetic route or the real-dock route; for the temporary route, write one importer plus teleport Gate Ticket using the selected trigger ids.47#67
SO_REUSEPORT is still absent, but its value depends on the chosen drain and world-address routing design.

Both Gateway listeners still use TcpListener::bind, and there is no reuse-port setup. That proves the feature is unimplemented, but not that it is the best deploy mechanism. If logon sends new clients only to a fresh advertised address and the old Gateway drains, overlapping binds may add little. Platform behavior and failure reporting also need an explicit support policy.

Confidence: high. Issue updated 2026-08-11.

Blocked by

2231.3Design first
CodexDecide after #64 and #65 whether overlapping binds are required; if yes, specify supported operating systems and add socket creation plus an overlap acceptance test.48#79
Gateway connections still use the SpacetimeDB confirmed-read default, and the current shared Coordinator gives no movement-only connection on which to disable it safely.

No confirmed-read override exists. The issue's proposed one-line movement-path change no longer fits the architecture: a Coordinator carries all subscribed state and Durable Reads for a Shard, so the durability trade affects more than movement.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

PR #247

2231.3Design first
CodexMeasure confirmed-read latency on the current Coordinator, list which state would become visible before durability, and decide whether to keep confirmation or introduce a narrowly scoped connection before changing the setting.49#10
Distract has no destination checks, temporary Creature attention state, facing update, or combat and expiry rules.

The desired idle, combat, radius, duration, and facing semantics are not specified precisely, and the current Creature behavior has no matching investigation or attention state. Observation should precede a new AI state seam.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

2241.0Design first
CodexResearch the missing protocol and gameplay facts from primary sources, then define a complete implementation Ticket. Keep the final real-client check separate.50#41
Ritual of Summoning still lacks the ritual portal, two-assistant interaction, and targeted teleport flow.

The requested behavior depends on exact 1.12 group and GameObject interaction semantics that are not specified in the issue or represented in current code. A multi-client observation is needed before implementation can be split safely.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

2250.8Design first
CodexResearch the missing protocol and gameplay facts from primary sources, then define a complete implementation Ticket. Keep the final real-client check separate.51#92
client sync and the later Client Artifact command are implemented; only a real client sync load check remains.

CLI PR 32 and core PR 322 shipped sync. Issue 303 and PR 392 later shipped the distributable Client Artifact that the original issue deferred. The latest issue evidence correctly leaves only stock-client loading.

Confidence: high. Issue updated 2026-09-02.

Blocked by

PR #322 PR #392

34112.0Human acceptance
CodexRun lyracore client sync against a configured stock client and record that patch-3.MPQ and every enabled Package addon load.52#318
Confirm Package script removal across a realm

PR #358 ships Module reconciliation and four durable tests were recorded green. CLI replay wiring also shipped through #393. The remaining recorded acceptance is visible login effects and removal on a named realm.

Confidence: high. Issue updated 2026-09-03.

Blocked by

PR #358 PR #400 PR #406

34112.0Human acceptance
CodexRun the existing install, login, disable and login acceptance sequence; preserve cross-Shard evidence.53#3
Realm-wide mail, auctions, guilds, whispers, parties, and loot coordination are present, but the reopened epic still lacks a consolidated two-client, multi-Shard acceptance record and contains stale mirror-removal wording.

The major systems named by the epic now use realm-core authority, including cross-Shard party and whisper paths. The remaining useful work is a real-client system Gate and an acceptance update that distinguishes authoritative state from deliberate Shard read mirrors.

Confidence: medium. Issue updated 2026-08-11.

Blocked by

PR #203 PR #226 PR #384

45210.0Human acceptance
CodexRun two real clients on different Shards through mail, auction, guild, whisper, party, loot-roll, Transfer, and delete scenarios; update the mirror criterion and file only concrete failures.54#38
The Gateway now installs Shard event callbacks once and performs a single ordered login visibility sweep; the remaining work is the issue's real-client login matrix.

PRs #421 and #433 replaced the subscription and login ordering paths described by the issue. Code-level Gates cover callback placement and sweep ordering, but the acceptance criteria still require fresh and geared Characters, auras, and questgivers on a real client.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #421 PR #433

4428.0Human acceptance
CodexRun the stated 5875 login matrix on main and close the issue if every initial snapshot and following delta is correct; file narrow failures separately.55#1
The public package-manager proposal is largely implemented, while the remaining work is human product review, a real-client sync check, and maintenance of the proposal as a tracker.

Most linked slices are closed, and the repository documents package, build, config, replay, client sync, and client pack workflows. The issue comments say not to implement the umbrella directly; open issue #92 now retains only a real-client sync acceptance step.

Confidence: high. Issue updated 2026-08-24.

Blocked by

PR #322 PR #392 PR #397

3527.5Human acceptance
CodexComplete issue #92's real-client sync check, review the installed workflow against the public proposal, and refresh or close the umbrella without starting code from it.56#42
The scripted and package-based Playerbot work has shipped; the remaining acceptance bar is a human-run real-client session that judges believable behavior and completes Deadmines.

Core PRs #394 and #395 and the linked package, CLI, and wire-harness work are merged. The issue's latest checklist explicitly leaves human judgment of believability, serendipity, and a full real 1.12.1 client dungeon run.

Confidence: high. Issue updated 2026-09-02.

Blocked by

PR #394 PR #395

3527.5Human acceptance
CodexRun issue #373's imported-node playbook, then complete issue #366 through VanCleef and record the observed failures as narrow follow-up issues.57#154
Aura stacking-family code and its single insertion boundary are covered; the documented live stacking sequence has no recorded evidence.

PR 217 shipped the code and Architecture Test. The issue's latest comment and the still-empty evidence template agree that only operator-run aura and client Verification remains.

Confidence: high. Issue updated 2026-09-01.

Blocked by

PR #217

4326.0Human acceptance
CodexRun docs/aura-stacking-probes.md on an approved development Realm, fill its evidence template, and close this issue if every persisted and visible result agrees.58#112
The DOOR and BUTTON model importer is merged; only an approved client-data dry run and apply to a named development Shard remain.

PR 254 shipped DBC lookup, M2 extraction, storage reducers, limits, and tests. The latest evidence correctly says runtime use belongs to issue 113 and this issue needs Operator-owned data acceptance only.

Confidence: high. Issue updated 2026-09-01.

Blocked by

PR #254

3426.0Human acceptance
CodexRun --go-models as a dry run against approved client data, record nonzero Deadmines door triangles, then apply to a named development Shard.59#196
Bounded ground-snapped patrol return is implemented; only a real-client observation of a badly displaced patroller remains.

PR 253 added repeated return steps and pure coverage for long displacement and ordinary patrol behavior. The latest issue comment correctly narrows the remainder to visual Verification.

Confidence: high. Issue updated 2026-09-01.

Blocked by

PR #253

3216.0Human acceptance
CodexDisplace a patroller across uneven terrain in a stock client and record its return, route rejoin, and resumed patrol.60#366
Verify Deadmines choreography in the real client

The Package has durable tests. Visible door changes, Smite movement and chat still need observation. The stomp decision is settled, but packages issue #18 remains open.

Confidence: high. Issue updated 2026-09-01.

Blocked by

3426.0Human acceptance
CodexFinish the stomp content, then combine dungeon visuals and bot acceptance in one imported-map session.61#367
The GOOBER lock Gate is merged and verified through real reducers. Imported Defias Cannon acceptance remains.

The missing GOOBER lock Gate allowed quest credit and Package hooks before an opener. PR #440 now applies the existing Gate and proves atomic Refusal through real reducers. The imported cannon still needs its stated client acceptance.

Confidence: high. Issue updated 2026-09-07.

PR #440

3426.0Human acceptance
Codex tracks; real-client acceptance neededVerify the imported cannon requires its gunpowder with a real 1.12 client on an approved Realm. Module code and its durable regression are complete.62#37
Spell rank supersession and trainer plus relog behavior have shipped; only the real 1.12 client acceptance check remains.

PR #256 merged the specified packet behavior, and the issue comment confirms the trainer and relog Gate shipped. No further code slice is identified.

Confidence: high. Issue updated 2026-09-01.

Blocked by

PR #256

2316.0Human acceptance
CodexLearn a higher spell rank in a real 1.12.1 client, relog, and confirm the spellbook contains the expected visible rank before closing.63#304
Verify FrameXML and GlueXML transforms on the real client

The transform engine, conflict checks and content hashes already shipped in PR #392. Current issue comments explicitly leave separate FrameXML and GlueXML client checks outstanding.

Confidence: high. Issue updated 2026-09-02.

Blocked by

PR #392

3324.5Human acceptance
CodexRun the existing transform Tracer against the Operator baseline in both client phases.64#373
Observe imported bots and a fresh Deadmines entry

Mechanics tests cannot establish believable motion or a fresh real-client instance entry. The issue already contains a combined one-hour acceptance runbook.

Confidence: high. Issue updated 2026-09-02.

Blocked by

3324.5Human acceptance
CodexRun the combined bot and dungeon acceptance session after the missing dungeon content ships.65#202
The low gossip text identifier is implemented, but nobody has confirmed that Marshal McBride's gossip and quest window renders in the stock client.

The code already sends identifier 1 and answers its text query. The remaining question is client rendering, which the Headless Client cannot decide.

Confidence: high. Issue updated 2026-08-13.

Blocked by

2214.0Human acceptance
CodexRight-click Marshal McBride in a stock build-5875 client and record whether the greeting and quest offer appear.66#137
Bank storage, slot purchase and the Headless Client bank adapter are implemented and pinned. Operator execution and the stock-client window check remain.

Wire-harness #9 and core pin #453 are merged. The adapter covers activation, deposit, reconnect persistence, withdrawal and slot purchase, with offline tests and protocol checks. It has not been run on an approved development Realm.

Confidence: high. Issue updated 2026-09-07.

Blocked by

PR #158 PR #171 PR #453

3333.0Human acceptance
GPT-5.6 Sol, medium effort, adapter agentRun the pinned bank adapter on an approved development Realm, then inspect the stock-client bank window, its 24 cells and the purchased slot.67#142
Drowning behavior and the Headless Client dive adapter are merged and pinned. Operator execution and stock-client calibration remain.

Wire-harness #10 and core pin #454 are merged. The adapter checks breath start, expiry before damage, matching health loss and drowning logs, and breath stop after surfacing. Protocol tests, offline adapter checks and CI passed. Live timing and the submerge threshold remain unverified.

Confidence: high. Issue updated 2026-09-07.

Blocked by

PR #150 PR #166 PR #454

3333.0Human acceptance
GPT-5.6 Sol, medium effort, adapter agentRun the pinned dive adapter on an approved development Realm with imported liquid coordinates, then verify the stock-client mirror bar, submerge threshold, partial dives, death and zone/Transfer behavior.68#107
GameObject template scale is imported and sent on the wire; current data and stock-client proportions have not been checked.

PR 110 shipped all three code layers and fallback tests. The issue's latest comment correctly limits the remainder to import, row and wire checks, and visual proportions.

Confidence: high. Issue updated 2026-09-01.

Blocked by

PR #110

2323.0Human acceptance
CodexPublish and import on a named development Shard, compare Peacebloom and Copper Vein template sizes with the source data, inspect OBJECT_FIELD_SCALE_X, and check both in a stock client.69#53
A maintained public demo realm still needs deployment, backup, restore, and operations work despite recent pre-auth hardening.

Pre-auth limits and Session Expiry shipped in merged PR #416. A public demo Realm still needs a named host, backup and restore procedures, operational ownership and an approved deployment.

Confidence: high. Issue updated 2026-08-11.

Blocked by

PR #410 PR #416

4352.4Human acceptance
CodexSplit the remaining work into a reviewed public-host runbook and reversible automation, then have an Operator name the host and approve the first deployment and restore drill.70#425
Aura tick aborts after a due aura is removed

A creature death can remove a due aura before the scheduler advances its old snapshot. The fix advances only rows that still exist, so death and unrelated periodic effects commit together.

Confidence: high. Issue updated 2026-09-05.

PR #435

55212.5Done
CodexClosed on GitHub. Preserve the recorded implementation evidence.71#63
Concurrent promotions now reuse one active Loot Roll and preserve its complete vote set.

Concurrent Gateway promotions could insert duplicate active Loot Rolls and vote sets on Realm-core. Merged #439 makes the authoritative insertion reuse the existing active roll and preserve its votes. Post-resolution replay remains a separate decision in #441.

Confidence: high. Issue updated 2026-09-07.

PR #439

5436.7Done
GPT-5.6 Sol, PR completion agentComplete. Concurrent-promotion SQL acceptance passed in merged #439. Post-resolution replay remains in #441.72#70
A fresh clone now runs a four-database sharded fixture, while the requested Northshire region seam was deliberately retired.

The issue's product goal, showing Sharding out of the box, is shipped in an evolved form. dev up publishes Eastern Kingdoms, Kalimdor, an Instance Pool, and Realm-core, so contributors exercise both continental and instance routing. The same docs explicitly record removal of the second Elwynn database and walkable Northshire seam. Keeping the exact original issue open would reverse a later Operator decision.

Confidence: high. Issue updated 2026-09-07.

PR #111 PR #321

45120.0Done
CodexClosed with current-source evidence. See the GitHub triage comment.73#51
The old away-Shard subscription path is gone, and the replacement shared connection model enforces ghost and stealth visibility.

The issue targets ensure_away and fold_home_shard, neither of which exists. The Gateway now keeps shared Shard connections and selects visible peers through WorldView. ViewerGates carries the viewer's ghost state, and peer creation consults ghost and stealth state before sending CREATE. A later merged fix also restores a peer's aura state when stealth ends.

Confidence: high. Issue updated 2026-09-07.

PR #421 PR #432

44116.0Done
CodexClosed with current-source evidence. See the GitHub triage comment.74#76
The blocking-pool limit is now configured, logged, documented, and enforced before a socket enters Tokio's blocking queue, satisfying the issue's stated completion rule.

Current code and PR 410 go beyond the original acceptance criteria by sharing a non-waiting capacity across both listeners. The title's old 477 and 535 observations remain historical evidence, not an open implementation request.

Confidence: high. Issue updated 2026-09-07.

PR #410

44116.0Done
CodexClosed with current-source evidence. See the GitHub triage comment.75#404
Package casts now protect fixture creatures.

The cast entry points did not consistently apply the shared creature identifier policy. Merged #434 protects fixture creatures across cast declarations, including partial updates.

Confidence: high. Issue updated 2026-09-05.

PR #434

44116.0Done
CodexClosed on GitHub. Preserve the recorded implementation evidence.76#80
Cross-map teleport now deletes public and staged motion with the live entity.

Before #438, cross-map teleport removed staged motion and the live entity but left public motion behind. The merged cleanup removes both motion forms with the entity; the durable regression proves the result.

Confidence: high. Issue updated 2026-09-07.

PR #438

43112.0Done
GPT-5.6 Sol, PR completion agentComplete. PR #438 merged after the durable regression, all other checks and review passed.77#399
Replay no longer needs client data for a completed plan

Current CLI main reads target provenance before resolving client data. The script-only no-op test already runs without client data. The original control-flow complaint appears fixed by the replay work.

Confidence: high. Issue updated 2026-09-05.

PR #400 PR #406

3319.0Done
CodexClosed on GitHub. Preserve the recorded implementation evidence.78#346
Finish enforcing the repository checks in CI

Merged #419 and #426 supply the repository checks required by the original checklist. Current workflow evidence is recorded in the closure comment.

Confidence: high. Issue updated 2026-09-07.

PR #419 PR #426

4536.7Done
CodexClosed with current-source evidence. See the GitHub triage comment.79#353
Make workspace lint checks pass and block regressions

PR #419 is merged. The blocking clippy, formatting and Rust jobs passed on main b4c17c4; the GitHub closure cites that run.

Confidence: high. Issue updated 2026-09-07.

PR #419

4536.7Done
CodexClosed with the merged PR and passing main workflow as evidence.80#368
Detect generated Gateway binding drift in CI

Subscribed-table parity left other generated definitions unchecked. Merged #448 adds reproducible full binding generation and comparison, so CI now catches that drift.

Confidence: high. Issue updated 2026-09-07.

PR #448

4536.7Done
GPT-5.6 Sol, ownership check agentComplete. Merged #448 generates and compares every Gateway binding file, with documented normalization. Its baseline contained 967 files.81#341
Service unit parsing misses continued directives

The former parser split physical lines, which could hide conflicting continued directives. The merged CLI parses logical lines, including continuation comments, and rejects conflicting units before host changes.

Confidence: high. Issue updated 2026-09-07.

PR #452

4326.0Done
GPT-5.6 Sol, high effort, CLI agentComplete. CLI #57 is adopted by merged core pin #452.82#50
Classify Character ownership through unit-shaped and bare guid fields

Merged #445 classifies unit-shaped and bare guid columns, matches table-specific ownership markers and excludes comments and test code. Its Architecture Test catches Character state omissions during cleanup or Transfer.

Confidence: high. Issue updated 2026-09-07.

PR #445

4435.3Done
GPT-5.6 Sol, ownership check agentComplete. The Architecture Test covers the wider field census and rejects missing ownership markers or explicit exclusions.83#75
Raid benchmark reports dead and unknown Characters at each measurement window.

Core #449 adopts alpha.6, including the sparse CREATE correction. Reporting satisfies the issue's stated completion rule without automatic recovery.

Confidence: high. Issue updated 2026-09-07.

PR #449

4435.3Done
GPT-5.6 Sol, medium effort, benchmark agentComplete. Automatic recovery can be a separate feature if requested.84#340
Service Reconciliation misses effective command drift

The former verifier omitted effective command arguments and drop-in provenance. The merged CLI compares typed systemd ExecStart data with the tracked command, preserves argument boundaries and reports drop-ins on mismatch.

Confidence: high. Issue updated 2026-09-07.

PR #452

4435.3Done
GPT-5.6 Sol, high effort, CLI agentComplete. CLI #57 is adopted by merged core pin #452.85#398
Generated Package Deltas and Runtime Scripts now have accurate trust-review counts in the pinned CLI.

The old review counted source filenames and missed prebuilt Script Artifacts. Correct accounting also separates physical Delta artifacts from their Import Family memberships. This was more work than replacing the stale Datascript line.

Confidence: high. Issue updated 2026-09-07.

PR #447

3434.0Done
GPT-5.6 Sol, CLI completion agentComplete. CLI #56 and core pin #447 are merged; 701 CLI tests and all core checks passed.86#45
The old question about per-Character AOI subscription cost no longer matches the event relay design, which now uses one stable event subscription per Shard and computes viewer audiences in Gateway memory.

PR #421 removed the fan-out pattern that motivated the table-collapse decision. Its 2,000-Character benchmark reduced queued jobs from 4,000,000 to 336,124 in the distributed case, so the proposed comparison would measure an obsolete architecture.

Confidence: high. Issue updated 2026-09-07.

PR #421

2214.0Done
CodexClosed with current-source evidence. See the GitHub triage comment.87#48
The reported warm-handoff seam feel belongs to the retired region tier; the current Gateway has no seam state machine to tune.

The repository removed sub-map regions and mid-walk warm handoff. All recorded angle tests also passed before that removal, so further work on the old hysteresis design would target code that no longer exists.

Confidence: high. Issue updated 2026-09-07.

1111.0Done
CodexClosed with current-source evidence. See the GitHub triage comment.88#56
The requested walkable-seam presentation polish has no active region seam after the region tier was retired.

Abrupt range-leave presentation and repeated crossings were properties of the removed Northshire-to-Elwynn region handoff. Current fixture Shard crossings are escrowed continent or instance transfers, not an overlapping walkable view merge. Keeping this issue open implies an active feature that the current topology deliberately removed.

Confidence: high. Issue updated 2026-09-07.

2130.7Done
CodexClosed with current-source evidence. See the GitHub triage comment.89#49
The seam operations console has no active region tier to operate; only the underlying load samples remain useful.

The fixture and production topology no longer activate region assignments. Current documentation explicitly retires the walkable region seam and keeps continental and instance routing. Building the requested editor now would put a large UI around inert topology data. Shard load telemetry can support a smaller future operations surface after #73 selects one.

Confidence: high. Issue updated 2026-09-07.

Blocked by

2150.4Done
CodexClosed with current-source evidence. See the GitHub triage comment.

PRs to completion

Each implementer owns their PR until it merges or has a named blocker. Codex checks CI, CodeRabbit reviews, human comments and unresolved threads after each push. Accepted findings get a fix and fresh checks; disputed findings get a reasoned response. Rebase before opening a PR and recheck the reviewed commit before merge.

Codex takes the final merge after current-head checks pass and review findings are resolved. Explicit human review requirements and real-client acceptance remain separate.

-
PRChangeOwnerStateNext action
#426ci(module): run the durable test suite and drop its fixed sleepsExisting PR review owner; Codex monitorsMergedComplete. Reassess linked issues for any remaining acceptance.
#419ci: make fmt and clippy blocking, and clear the workspace to matchExisting PR review owner; Codex monitorsMergedComplete. Reassess linked issues for any remaining acceptance.
#416fix(logon): cap proof attempts per peer and expire session keysExisting PR review owner; Codex monitorsMergedComplete. Reassess linked issues for any remaining acceptance.
#415refactor(auction): let the Module own the auctioneer interaction GateExisting PR review owner; Codex monitorsMergedComplete. Reassess linked issues for any remaining acceptance.
#434Protect fixture creatures from cast ClaimsGPT-5.6 Sol, Package Delta agentMergedComplete. Reassess linked issues for any remaining acceptance.
#435Keep periodic deaths from rolling back the aura tickGPT-6, CodexMergedComplete. Reassess linked issues for any remaining acceptance.
#436Maintain the issue order and delivery reportGPT-6, CodexMergedComplete. Reassess linked issues for any remaining acceptance.
#437Measure motion delivery at each Shard callbackGPT-6 Astra, motion diagnosis agentMergedComplete. Reassess linked issues for any remaining acceptance.
#438fix(world): remove motion after cross-map teleportGPT-5.6 Sol, PR completion agentMergedComplete. Issue #80 is closed.
#440fix(gameobject): require opener for locked goobersGPT-5.6 Sol, PR completion agentMergedCode complete. Imported-cannon real-client acceptance remains in #367.
#439fix(loot): keep concurrent promotions on one live rollGPT-5.6 Sol, PR completion agentMergedComplete. Issue #63 is closed; post-resolution replay remains in #441.
#56fix(packages): count Package Deltas in trust reviewGPT-5.6 Sol, CLI completion agentMergedComplete. Core pin #447 is merged; issue #398 is closed.
#444docs(triage): refresh issue order and resume PR ownershipGPT-6 Astra, CodexMerged after all checks and review passedComplete. Report ownership continues in this thread.
#6fix(suite): run scenarios from the adapter directoryGPT-6 Astra, CodexMerged; alpha.4 releasedCode, release and core pin #446 complete. Full-suite acceptance remains in #105.
#445test(transfer): classify unit-keyed ownership tablesGPT-5.6 Sol, ownership check agentMergedComplete. Issue #50 is closed.
#446fix(test): pin the wire suite dispatch repairGPT-6 Astra, CodexMergedCode and pin complete. Full-suite acceptance remains in #105.
#447chore(cli): pin generated artifact trust reviewGPT-5.6 Sol, CLI completion agentMergedComplete. Issue #398 is closed.
#448ci(gateway): detect generated binding driftGPT-5.6 Sol, high effort, ownership check agentMergedComplete. Issue #368 is closed. CodeRabbit was quota-limited; parent reviewed the exact diff before merge.
#7fix(bench): report dead clients at window closeGPT-5.6 Sol, medium effort, benchmark agentMerged; alpha.5 releasedComplete. Core #449 adopts corrected alpha.6.
#449fix(bench): pin dead-client reporting releaseCodexMerged; #75 closedComplete. Corrected alpha.6 is pinned in core.
#8fix(client): apply sparse Character create snapshotsGPT-5.6 Sol, medium effort, benchmark agentMerged; alpha.6 releasedComplete. Core #449 adopts corrected alpha.6.
#450fix(gateway): replay resident creature movement after CREATECodex, after implementer handoffMerged; #272 has remaining decisionsResident replay is complete. Keep #272 open for the remaining policy choices and real-client acceptance.
#57fix(service): verify the effective start commandGPT-5.6 Sol, high effort, CLI agentMerged; #340 and #341 closedComplete. Core #452 adopts CLI #57.
#9test(bank): add the full bank flow adapterGPT-5.6 Sol, medium effort, adapter agentMerged; bank adapter pinnedCode delivery is complete. Issue #137 retains Operator and stock-client acceptance.
#452chore(cli): pin effective service verificationGPT-5.6 Sol, high effort, CLI agentMerged; #340 and #341 closedComplete. Core #452 adopts CLI #57.
#453test(bank): pin the bank acceptance adapterCodexMerged; bank adapter pinnedCode delivery is complete. Issue #137 retains Operator and stock-client acceptance.
#10test(dive): add the breath and drowning flowGPT-5.6 Sol, medium effort, adapter agentMerged; release and core pin nextRelease alpha.8 and complete the core pin; retain Operator and stock-client acceptance.
+
PRChangeOwnerStateNext action
#426ci(module): run the durable test suite and drop its fixed sleepsExisting PR review owner; Codex monitorsMergedComplete. Reassess linked issues for any remaining acceptance.
#419ci: make fmt and clippy blocking, and clear the workspace to matchExisting PR review owner; Codex monitorsMergedComplete. Reassess linked issues for any remaining acceptance.
#416fix(logon): cap proof attempts per peer and expire session keysExisting PR review owner; Codex monitorsMergedComplete. Reassess linked issues for any remaining acceptance.
#415refactor(auction): let the Module own the auctioneer interaction GateExisting PR review owner; Codex monitorsMergedComplete. Reassess linked issues for any remaining acceptance.
#434Protect fixture creatures from cast ClaimsGPT-5.6 Sol, Package Delta agentMergedComplete. Reassess linked issues for any remaining acceptance.
#435Keep periodic deaths from rolling back the aura tickGPT-6, CodexMergedComplete. Reassess linked issues for any remaining acceptance.
#436Maintain the issue order and delivery reportGPT-6, CodexMergedComplete. Reassess linked issues for any remaining acceptance.
#437Measure motion delivery at each Shard callbackGPT-6 Astra, motion diagnosis agentMergedComplete. Reassess linked issues for any remaining acceptance.
#438fix(world): remove motion after cross-map teleportGPT-5.6 Sol, PR completion agentMergedComplete. Issue #80 is closed.
#440fix(gameobject): require opener for locked goobersGPT-5.6 Sol, PR completion agentMergedCode complete. Imported-cannon real-client acceptance remains in #367.
#439fix(loot): keep concurrent promotions on one live rollGPT-5.6 Sol, PR completion agentMergedComplete. Issue #63 is closed; post-resolution replay remains in #441.
#56fix(packages): count Package Deltas in trust reviewGPT-5.6 Sol, CLI completion agentMergedComplete. Core pin #447 is merged; issue #398 is closed.
#444docs(triage): refresh issue order and resume PR ownershipGPT-6 Astra, CodexMerged after all checks and review passedComplete. Report ownership continues in this thread.
#6fix(suite): run scenarios from the adapter directoryGPT-6 Astra, CodexMerged; alpha.4 releasedCode, release and core pin #446 complete. Full-suite acceptance remains in #105.
#445test(transfer): classify unit-keyed ownership tablesGPT-5.6 Sol, ownership check agentMergedComplete. Issue #50 is closed.
#446fix(test): pin the wire suite dispatch repairGPT-6 Astra, CodexMergedCode and pin complete. Full-suite acceptance remains in #105.
#447chore(cli): pin generated artifact trust reviewGPT-5.6 Sol, CLI completion agentMergedComplete. Issue #398 is closed.
#448ci(gateway): detect generated binding driftGPT-5.6 Sol, high effort, ownership check agentMergedComplete. Issue #368 is closed. CodeRabbit was quota-limited; parent reviewed the exact diff before merge.
#7fix(bench): report dead clients at window closeGPT-5.6 Sol, medium effort, benchmark agentMerged; alpha.5 releasedComplete. Core #449 adopts corrected alpha.6.
#449fix(bench): pin dead-client reporting releaseCodexMerged; #75 closedComplete. Corrected alpha.6 is pinned in core.
#8fix(client): apply sparse Character create snapshotsGPT-5.6 Sol, medium effort, benchmark agentMerged; alpha.6 releasedComplete. Core #449 adopts corrected alpha.6.
#450fix(gateway): replay resident creature movement after CREATECodex, after implementer handoffMerged; #272 has remaining decisionsResident replay is complete. Keep #272 open for the remaining policy choices and real-client acceptance.
#57fix(service): verify the effective start commandGPT-5.6 Sol, high effort, CLI agentMerged; #340 and #341 closedComplete. Core #452 adopts CLI #57.
#9test(bank): add the full bank flow adapterGPT-5.6 Sol, medium effort, adapter agentMerged; bank adapter pinnedCode delivery is complete. Issue #137 retains Operator and stock-client acceptance.
#452chore(cli): pin effective service verificationGPT-5.6 Sol, high effort, CLI agentMerged; #340 and #341 closedComplete. Core #452 adopts CLI #57.
#453test(bank): pin the bank acceptance adapterCodexMerged; bank adapter pinnedCode delivery is complete. Issue #137 retains Operator and stock-client acceptance.
#10test(dive): add the breath and drowning flowGPT-5.6 Sol, medium effort, adapter agentMerged; dive adapter pinnedCode delivery is complete. Issue #142 retains Operator and stock-client acceptance.
#451docs(triage): record issue outcomes and current assignmentsCodexMerged after checks and all five review threads resolvedComplete. Report ownership continues in this thread.
#454test(dive): pin the drowning acceptance adapterGPT-5.6 Sol, medium effort, adapter agentMerged; dive adapter pinnedCode delivery is complete. Issue #142 retains Operator and stock-client acceptance.
#455fix(quests): complete the Warlock Binding encountersGPT-6 Astra, Warlock recovery agentDraft; CI and CodeRabbit review in progressResolve CI and review findings, then obtain human schema review. Keep client acceptance open.
#457test(module): isolate concurrent fixture Wasm artifactsPrior orchestrator, private-Wasm correctionCI and independent review in progressResolve coordinating and CodeRabbit findings, then recheck current CI before merge.

Ownership and updates

This report is the working dispatch list. Codex updates the same published URL after triage, assignment, PR creation, review changes and merge. Scores change when new evidence changes the expected benefit or effort. New issues enter as audit pending. A merged PR does not satisfy an outstanding real-client acceptance check.

-

Monitoring is active while this work session runs. The JSON source and published report preserve the next actions for a resumed session. No unattended scheduler has been installed.

+

Monitoring is active during this work session. CodeRabbit rate-limit notices do not satisfy review. After the window reopens, re-trigger review and wait for its result before merging. The report preserves next actions if the session stops; no unattended scheduler is installed.

Production changes require a named host and explicit authorization. Work that crosses section 1 of danger-zones.md needs human review before shipping. Product UI changes follow the repository's mock-selection requirement.

-

Recent updates

+

Recent updates