diff --git a/docs/research/playerbots-execution.json b/docs/research/playerbots-execution.json index c3f2bb4da..906afb02a 100644 --- a/docs/research/playerbots-execution.json +++ b/docs/research/playerbots-execution.json @@ -468,7 +468,9 @@ "PB-001 found no existing line-of-sight Gate in targeted cast admission. Add the appropriate shared Gate with supported exemptions and client/bot parity coverage so the movement prerequisite responds to a real typed Refusal. Channel actions remain unsupported until their running lifecycle is correlated.", "The historical Actor cast bypasses the player spellbook check. PB-003 owns the appropriate shared Gate for the new runner and must coordinate with provisioning in PB-005. An unlearned heal must refuse without cast, power, or cooldown changes.", "Started in isolated core and Package worktrees from merged PB-002. Shared runner composition belongs to PB-003; builds use one coordinated slot.", - "Shared design keeps one durable objective and one foreground action. A moving leader refreshes the companion destination without replacing the retained heal identity. Each parallel branch must prove behavior against merged prerequisites." + "Shared design keeps one durable objective and one foreground action. A moving leader refreshes the companion destination without replacing the retained heal identity. Each parallel branch must prove behavior against merged prerequisites.", + "The companion recovery fixture must cover critical health at a reached leader destination. A permanent survival Hold cannot block both useful self-recovery and necessary bounded provisioning.", + "The latest companion diagnostic passed five of six cases, including the real ally heal, moving leader, recovery, and populated upgrade. Independent Spec review then found three gaps: heal targets could change between prerequisite movement legs, channel rotations could hide a supported heal, and seed repair accepted an altered effect set. Standards review also requires an explicit wait for missing group metadata and independent cast Gate tests. These corrections and new behavior cases are in progress; final acceptance remains pending." ], "acceptance_evidence": [] }, @@ -537,7 +539,10 @@ "evidence": [], "notes": [ "Started in isolated core and Package worktrees from merged PB-002. Shared runner composition belongs to PB-003; builds use one coordinated slot.", - "Agreed integration performs at most one provisioning operation per eligible Cohort tick, with no foreground action. Spawn and level-up arm reconciliation; they do not grant resources outside current control and Account ownership checks." + "Agreed integration performs at most one provisioning operation per eligible Cohort tick, with no foreground action. Spawn and level-up arm reconciliation; they do not grant resources outside current control and Account ownership checks.", + "The real runner hook distinguishes an applied profile operation from a recorded refusal or deferral. Only applied work consumes the tick. Satisfied checks and recorded failures allow the chosen gameplay action to continue; backoff bounds retries.", + "Useful survival, recovery, and defense outrank routine upkeep. New core operations return typed causes. An older String refusal may remain opaque detail but must not be classified by parsing its text.", + "The first runtime diagnostic passed the talent Gate case. Source corrections now distinguish recovery grants from item use, preserve truthful equipment refusal causes, and stop explicitly when bounded profile reads overflow. The corrected implementation is committed and awaits a complete clean runtime pass. Final acceptance and review remain pending." ], "acceptance_evidence": [] }, @@ -573,7 +578,9 @@ "notes": [ "Imported source identifies quest 3904 as a collect-item quest backed by chest loot. The existing GameObject use operation needs Package visibility and bounded object discovery. Verify and correct the importer NextQuestInChain column mapping before relying on forward links.", "Started in isolated core and Package worktrees from merged PB-002. Shared runner composition belongs to PB-003; builds use one coordinated slot.", - "Catalog admission must prove a currently callable executor for every required kind. Imported destination evidence is separate from live target discovery. PB-007 owns the later autonomous quest sequence; its planned work cannot establish executor availability today." + "Catalog admission must prove a currently callable executor for every required kind. Imported destination evidence is separate from live target discovery. PB-007 owns the later autonomous quest sequence; its planned work cannot establish executor availability today.", + "The reference ClassicDB source identity stays separate from observed runtime content and destination revisions. Seeded content or a later import cannot inherit an unverified source hash. A refresh scenario must cover held objectives when the observed content changes.", + "The clean catalog run passed all seven admission and behavior cases with no compile warnings. Root verified 17 saved records against the exact core, Package, and Wasm identities. The eighth case, populated PB-002 upgrade, used an incorrect nested-option check; its corrected fixture awaits rerun. Independent review and final acceptance remain pending." ], "acceptance_evidence": [] }, @@ -792,6 +799,6 @@ "observations": {} } ], - "updated_at": "2026-09-08 16:51 UTC", + "updated_at": "2026-09-08 18:53 UTC", "summary": "PB-001 and PB-002 are complete and integrated. PB-003, PB-005, and PB-006 are implementing Priest companions, automatic provisioning, and supported-quest admission in parallel. The orchestrator owns shared-contract integration, review, PR merges, and the published record." } diff --git a/docs/research/playerbots-rewrite.html b/docs/research/playerbots-rewrite.html index 8b5c5d286..671e7f301 100644 --- a/docs/research/playerbots-rewrite.html +++ b/docs/research/playerbots-rewrite.html @@ -37,7 +37,7 @@
The spec and tickets below drive implementation. Expand a title for the behavior, acceptance criteria, and recorded evidence. Parent totals include every child. Completion requires reviewed evidence for every criterion and merged PRs. The final ticket also requires imported-world and attended-client observation records.
-Updated 2026-09-08 16:51 UTC. PB-001 and PB-002 are complete and integrated. PB-003, PB-005, and PB-006 are implementing Priest companions, automatic provisioning, and supported-quest admission in parallel. The orchestrator owns shared-contract integration, review, PR merges, and the published record.
+Updated 2026-09-08 18:53 UTC. PB-001 and PB-002 are complete and integrated. PB-003, PB-005, and PB-006 are implementing Priest companions, automatic provisioning, and supported-quest admission in parallel. The orchestrator owns shared-contract integration, review, PR merges, and the published record.
Ready to start: No unassigned work is ready.. The orchestrator republishes progress to this URL. Filters operate on this published snapshot.
12 tickets
-| Identifier | Spec and ticket hierarchy | Status | Owner | Blocked by | Pull requests |
|---|---|---|---|---|---|
PBSpec | Rewrite playerbots around durable objectives and typed action outcomesProblem statementThe current playerbots Package can accept an action without proving that the action completed, loses route results, treats attempted combat as quest progress, bypasses the normal cast lifecycle, and retains too little purpose across interruption, restart, and Transfer. Bots can therefore stall, repeat work, choose an obsolete target, or abandon useful intent without explaining why. The current tests also do not prove the Package and core together against real actor operations, imported content, navigation, protocol transitions, and sustained load. SolutionReplace the behavior control flow with one typed Rust decision runner shared by autonomous bots and human-led companions. The runner observes bounded facts, composes supported Strategies, ranks target-bearing candidates deterministically, executes actions through core operations, records typed outcomes, and retains one durable objective with bounded failure memory. Build the rewrite through a pinned real Module and Package fixture, then prove companion behavior, provisioning, seeded quest loops, recovery, commands, restart, Transfer, load, cutover, and attended client behavior before deleting the displaced implementation. User stories
Implementation decisions
Testing decisions
Out of scope
Further notes
| 2/12 complete | Orchestrator | None | Execution report #481 merged Progress #483 |
S1Workstream | Typed action foundation and durable runnerTyped action foundation and durable runner | 2/2 complete | Orchestrator | None | Pending |
PB-001Ticket | Prove typed outcomes in a real pinned fixtureCreate the first tracer through a reproducible pinned Module and Package fixture. Drive attack, interaction, movement, and cast-start through real core operations, return typed outcomes to the Package, and capture the blocked-target and out-of-range-heal failures that the rewrite must fix. Acceptance criteria
Verified criteria: 8/8. The fixture records pinned core and Package commits plus the actual content and geometry input revisions, labels seeded and client-derived provenance separately, records unavailable inputs, and reproduces the same initial state and outcome. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
The fixture loads and runs the real Module with the real Package; it does not substitute a simulated gameplay engine. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
Attack acceptance is distinct from damage and quest progress, and an attempted attack with no hit cannot clear a quest progress clock. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
Movement reports complete, safe partial, blocked, or explicit unknown-coverage evidence with route or waypoint advancement where applicable. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
Interaction and cast-start return typed success, waiting, Refusal, cancellation, and expiry outcomes supported by their owning operations. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
A long bot cast uses the normal core cast lifecycle and completes once without restart on later decision ticks. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
The blocked target and poor-range heal cases have reproducible inputs, observed outcomes, and enough evidence to compare later runner behavior. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
A written extraction comparison chooses the smaller total implementation and records why the full AzerothCore runtime is not used. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
Execution model: gpt-6-astra, high effort. Repositories: LyraCore Module action and navigation contracts, Official Package Collection playerbots fixture, Local durable integration tests. Recorded evidence
Current notes
| complete | PB-001 implementer | None | Core #482 Package #25 |
PB-002Ticket | Run one durable objective through bounded decisionsBuild the shared decision runner around typed facts and outcomes. Retain one objective, arbitrate one foreground action, schedule bots in stable bounded batches, and explain each meaningful choice through the Package's normal entry point. Acceptance criteria
Verified criteria: 9/9. Fixed facts and explicit time produce the same target-bearing candidate order and chosen action. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Strategies compose supported triggers, defaults, and priority rules without a global string registry or a second authoritative state machine. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Prerequisites, alternatives, and continuers have explicit depth, transition, candidate, and route-work limits with cycle refusal. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Only one foreground movement or cast action owns the bot, and a higher-priority action explicitly cancels incompatible work. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
The durable objective records identity, destination, stage, deadline, last verified progress, bounded failures, deferred destinations, and catalog revision. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Separate movement, combat, cast, and quest progress evidence prevents an accepted action from masquerading as completion. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Due bots run in stable indexed order under a per-pass limit; excess work remains due, gets a fair next turn, and records scheduler lag. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
The explanation read reports the current objective and target, chosen action and reason, last outcome, progress age, retry count, next eligible time, and relevant revision with bounded history. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
The additive state migration defines defaults and backfill and adds a durable controller selector before any bot can use the new runner. Record-only mode emits no gameplay actions; cohort mode has one eligible controller and supports freeze. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Execution model: gpt-6-astra, high effort. Repositories: Official Package Collection decision and durable state, LyraCore Module scheduling and diagnostics, Pure decision and durable integration tests. Recorded evidence
Current notes
| complete | PB-002 runner agent; integrated and reviewed by the orchestrator | PB-001 | Core #484 Core #486 Package #26 |
S2Workstream | Companions and provisioningCompanions and provisioning | 0/3 complete | Orchestrator | None | Pending |
PB-003Ticket | Make a Priest follow, heal, and resumeComplete the first human-led companion loop. A Priest follows its party leader, retains an injured ally as the heal target, repairs range or line of sight, casts through the real lifecycle, handles interruption, and resumes following. Acceptance criteria
Verified criteria: 0/7. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection companion support behavior, LyraCore Module cast and party fact reads, Durable companion scenarios. Current notes
| implementing | Companion agent; orchestrator reviews and merges | PB-002 | Pending |
PB-004Ticket | Complete starter roles, target choice, and crowd controlAdd Warrior tank and Mage damage behavior beside the Priest healer on the shared runner. Make explicit durable roles, vanilla class capabilities, chosen-target assistance, controlled-enemy avoidance, death, rest, and regrouping work through repeated party pulls. Acceptance criteria
Verified criteria: 0/8. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection starter class and role behavior, LyraCore Module combat and capability facts, Durable repeated-pull party scenarios. | planned | Unassigned | PB-003 | Pending |
PB-005Ticket | Provision playable bots without duplicating progressReconcile the supported bot's skills, spells, vanilla talents, equipment, bags, food, potions, ammo, reagents, and bounded supplies on spawn and level-up through real core operations. Make each action idempotent and explain it by provisioning profile and revision. Acceptance criteria
Verified criteria: 0/8. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection provisioning policy, LyraCore Module skill, spell, talent, item, inventory, and equipment operations, Durable idempotency scenarios. Current notes
| implementing | Provisioning agent; orchestrator reviews and merges | PB-002 | Pending |
S3Workstream | Autonomous questing and recoveryAutonomous questing and recovery | 0/3 complete | Orchestrator | None | Pending |
PB-006Ticket | Admit supported quests from a seeded catalogBuild a versioned quest catalog for the initial Northshire and Elwynn proof from imported relations, objectives, spawns, loot sources, and actual enders. Admit a quest only when every required objective has a supported executor, and retain the chosen objective and destination. Acceptance criteria
Verified criteria: 0/7. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection quest catalog and admission, LyraCore imported quest and world relations, Seeded durable catalog scenarios. Current notes
| implementing | Quest catalog agent; orchestrator reviews and merges | PB-002 | Pending |
PB-007Ticket | Finish supported autonomous quest loopsComplete supported kill, collect, talk-only, and simple GameObject quest loops. The bot accepts the quest, retains its objective, travels through real navigation, executes the required gameplay, earns ordinary credit and XP, turns in to the actual ender, and selects the next supported work. Acceptance criteria
Verified criteria: 0/10. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection autonomous quest behavior, LyraCore Module quest, combat, loot, inventory, and navigation operations, Seeded durable quest scenarios. | planned | Unassigned | PB-005, PB-006 | Pending |
PB-008Ticket | Recover from blocked travel and stalled quest workTurn typed failure and progress evidence into finite recovery for both autonomous bots and companions. Change approach, defer destinations, invalidate stale targets, and explain waits without erasing the retained objective. Acceptance criteria
Verified criteria: 0/8. Execution model: gpt-6-astra, high effort. Repositories: Official Package Collection travel and recovery behavior, LyraCore Module navigation evidence, Durable blocked-route and stalled-work scenarios. | planned | Unassigned | PB-004, PB-007 | Pending |
S4Workstream | Commands, Transfer, and restartCommands, Transfer, and restart | 0/2 complete | Orchestrator | None | Pending |
PB-009Ticket | Honor durable follow, stay, assist, and target ordersComplete the companion command contract through the existing command transport. Persist follow, stay, assist, and designated-target orders, apply them with party authority, and resume valid solo work when human-led control ends. Acceptance criteria
Verified criteria: 0/8. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection commands and control state, LyraCore Gateway command transport and Module party reads, Durable join and leave scenarios. | planned | Unassigned | PB-004 | Pending |
PB-010Ticket | Preserve one controller through restart and TransferDefine and prove the lifecycle of every new bot row across Character deletion, Module restart, Gateway restart, party changes, and Transfer. Suspend local actions while Transfer is pending, rebuild transient observations on arrival, and prevent stale work from acting. Acceptance criteria
Verified criteria: 0/8. Execution model: gpt-6-astra, high effort. Repositories: Official Package Collection bot row lifecycle, LyraCore Module, Gateway, Realm-core, Transfer, and Group Intent integration, Durable restart and Transfer scenarios. | planned | Unassigned | PB-008, PB-009 | Pending |
S5Workstream | Release evidence and retirementRelease evidence and retirement | 0/2 complete | Orchestrator | None | Pending |
PB-011Ticket | Pass autonomous, companion, and load acceptanceRun the complete automated release suites on the pinned core, Package, imported content, and geometry. Prove seeded autonomous work, the fixed human-led companion route, restart and Transfer behavior, bounded recovery, scheduler fairness, and measured 10, 25, and 100 bot load. Acceptance criteria
Verified criteria: 0/9. Execution model: gpt-6-astra, xhigh effort. Repositories: LyraCore and Official Package Collection acceptance suites, Headless Client protocol and world-transition scenarios, Disposable imported-world load fixture and measurement report. | planned | Unassigned | PB-005, PB-007, PB-008, PB-010 | Pending |
PB-012Ticket | Cut over, observe, and retire the old behaviorComplete the additive state cutover with one durable controller selector, compare record-only decisions, activate a small cohort, gather imported-world and attended client evidence, then delete the displaced behavior source, obsolete tests, and active old state path. Leave old table retirement as its separately reviewed migration when required by repository rules. Acceptance criteria
Verified criteria: 0/10. Imported world observationPending. Required before completion. Attended client observationPending. Required before completion. Execution model: gpt-6-astra, xhigh effort. Repositories: Official Package Collection controller cutover and source retirement, LyraCore additive state migration and architecture checks, Imported-world observation and attended client evidence. | planned | Unassigned | PB-011 | Pending |
| Identifier | Spec and ticket hierarchy | Status | Owner | Blocked by | Pull requests |
|---|---|---|---|---|---|
PBSpec | Rewrite playerbots around durable objectives and typed action outcomesProblem statementThe current playerbots Package can accept an action without proving that the action completed, loses route results, treats attempted combat as quest progress, bypasses the normal cast lifecycle, and retains too little purpose across interruption, restart, and Transfer. Bots can therefore stall, repeat work, choose an obsolete target, or abandon useful intent without explaining why. The current tests also do not prove the Package and core together against real actor operations, imported content, navigation, protocol transitions, and sustained load. SolutionReplace the behavior control flow with one typed Rust decision runner shared by autonomous bots and human-led companions. The runner observes bounded facts, composes supported Strategies, ranks target-bearing candidates deterministically, executes actions through core operations, records typed outcomes, and retains one durable objective with bounded failure memory. Build the rewrite through a pinned real Module and Package fixture, then prove companion behavior, provisioning, seeded quest loops, recovery, commands, restart, Transfer, load, cutover, and attended client behavior before deleting the displaced implementation. User stories
Implementation decisions
Testing decisions
Out of scope
Further notes
| 2/12 complete | Orchestrator | None | Execution report #481 merged Progress #483 |
S1Workstream | Typed action foundation and durable runnerTyped action foundation and durable runner | 2/2 complete | Orchestrator | None | Pending |
PB-001Ticket | Prove typed outcomes in a real pinned fixtureCreate the first tracer through a reproducible pinned Module and Package fixture. Drive attack, interaction, movement, and cast-start through real core operations, return typed outcomes to the Package, and capture the blocked-target and out-of-range-heal failures that the rewrite must fix. Acceptance criteria
Verified criteria: 8/8. The fixture records pinned core and Package commits plus the actual content and geometry input revisions, labels seeded and client-derived provenance separately, records unavailable inputs, and reproduces the same initial state and outcome. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
The fixture loads and runs the real Module with the real Package; it does not substitute a simulated gameplay engine. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
Attack acceptance is distinct from damage and quest progress, and an attempted attack with no hit cannot clear a quest progress clock. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
Movement reports complete, safe partial, blocked, or explicit unknown-coverage evidence with route or waypoint advancement where applicable. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
Interaction and cast-start return typed success, waiting, Refusal, cancellation, and expiry outcomes supported by their owning operations. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
A long bot cast uses the normal core cast lifecycle and completes once without restart on later decision ticks. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
The blocked target and poor-range heal cases have reproducible inputs, observed outcomes, and enough evidence to compare later runner behavior. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
A written extraction comparison chooses the smaller total implementation and records why the full AzerothCore runtime is not used. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec review.
Execution model: gpt-6-astra, high effort. Repositories: LyraCore Module action and navigation contracts, Official Package Collection playerbots fixture, Local durable integration tests. Recorded evidence
Current notes
| complete | PB-001 implementer | None | Core #482 Package #25 |
PB-002Ticket | Run one durable objective through bounded decisionsBuild the shared decision runner around typed facts and outcomes. Retain one objective, arbitrate one foreground action, schedule bots in stable bounded batches, and explain each meaningful choice through the Package's normal entry point. Acceptance criteria
Verified criteria: 9/9. Fixed facts and explicit time produce the same target-bearing candidate order and chosen action. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Strategies compose supported triggers, defaults, and priority rules without a global string registry or a second authoritative state machine. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Prerequisites, alternatives, and continuers have explicit depth, transition, candidate, and route-work limits with cycle refusal. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Only one foreground movement or cast action owns the bot, and a higher-priority action explicitly cancels incompatible work. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
The durable objective records identity, destination, stage, deadline, last verified progress, bounded failures, deferred destinations, and catalog revision. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Separate movement, combat, cast, and quest progress evidence prevents an accepted action from masquerading as completion. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Due bots run in stable indexed order under a per-pass limit; excess work remains due, gets a fair next turn, and records scheduler lag. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
The explanation read reports the current objective and target, chosen action and reason, last outcome, progress age, retry count, next eligible time, and relevant revision with bounded history. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
The additive state migration defines defaults and backfill and adds a durable controller selector before any bot can use the new runner. Record-only mode emits no gameplay actions; cohort mode has one eligible controller and supports freeze. Reviewed by Codex orchestrator with independent GPT-6 Astra Spec and GPT-5.6 Sol Standards reviews.
Execution model: gpt-6-astra, high effort. Repositories: Official Package Collection decision and durable state, LyraCore Module scheduling and diagnostics, Pure decision and durable integration tests. Recorded evidence
Current notes
| complete | PB-002 runner agent; integrated and reviewed by the orchestrator | PB-001 | Core #484 Core #486 Package #26 |
S2Workstream | Companions and provisioningCompanions and provisioning | 0/3 complete | Orchestrator | None | Pending |
PB-003Ticket | Make a Priest follow, heal, and resumeComplete the first human-led companion loop. A Priest follows its party leader, retains an injured ally as the heal target, repairs range or line of sight, casts through the real lifecycle, handles interruption, and resumes following. Acceptance criteria
Verified criteria: 0/7. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection companion support behavior, LyraCore Module cast and party fact reads, Durable companion scenarios. Current notes
| implementing | Companion agent; orchestrator reviews and merges | PB-002 | Pending |
PB-004Ticket | Complete starter roles, target choice, and crowd controlAdd Warrior tank and Mage damage behavior beside the Priest healer on the shared runner. Make explicit durable roles, vanilla class capabilities, chosen-target assistance, controlled-enemy avoidance, death, rest, and regrouping work through repeated party pulls. Acceptance criteria
Verified criteria: 0/8. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection starter class and role behavior, LyraCore Module combat and capability facts, Durable repeated-pull party scenarios. | planned | Unassigned | PB-003 | Pending |
PB-005Ticket | Provision playable bots without duplicating progressReconcile the supported bot's skills, spells, vanilla talents, equipment, bags, food, potions, ammo, reagents, and bounded supplies on spawn and level-up through real core operations. Make each action idempotent and explain it by provisioning profile and revision. Acceptance criteria
Verified criteria: 0/8. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection provisioning policy, LyraCore Module skill, spell, talent, item, inventory, and equipment operations, Durable idempotency scenarios. Current notes
| implementing | Provisioning agent; orchestrator reviews and merges | PB-002 | Pending |
S3Workstream | Autonomous questing and recoveryAutonomous questing and recovery | 0/3 complete | Orchestrator | None | Pending |
PB-006Ticket | Admit supported quests from a seeded catalogBuild a versioned quest catalog for the initial Northshire and Elwynn proof from imported relations, objectives, spawns, loot sources, and actual enders. Admit a quest only when every required objective has a supported executor, and retain the chosen objective and destination. Acceptance criteria
Verified criteria: 0/7. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection quest catalog and admission, LyraCore imported quest and world relations, Seeded durable catalog scenarios. Current notes
| implementing | Quest catalog agent; orchestrator reviews and merges | PB-002 | Pending |
PB-007Ticket | Finish supported autonomous quest loopsComplete supported kill, collect, talk-only, and simple GameObject quest loops. The bot accepts the quest, retains its objective, travels through real navigation, executes the required gameplay, earns ordinary credit and XP, turns in to the actual ender, and selects the next supported work. Acceptance criteria
Verified criteria: 0/10. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection autonomous quest behavior, LyraCore Module quest, combat, loot, inventory, and navigation operations, Seeded durable quest scenarios. | planned | Unassigned | PB-005, PB-006 | Pending |
PB-008Ticket | Recover from blocked travel and stalled quest workTurn typed failure and progress evidence into finite recovery for both autonomous bots and companions. Change approach, defer destinations, invalidate stale targets, and explain waits without erasing the retained objective. Acceptance criteria
Verified criteria: 0/8. Execution model: gpt-6-astra, high effort. Repositories: Official Package Collection travel and recovery behavior, LyraCore Module navigation evidence, Durable blocked-route and stalled-work scenarios. | planned | Unassigned | PB-004, PB-007 | Pending |
S4Workstream | Commands, Transfer, and restartCommands, Transfer, and restart | 0/2 complete | Orchestrator | None | Pending |
PB-009Ticket | Honor durable follow, stay, assist, and target ordersComplete the companion command contract through the existing command transport. Persist follow, stay, assist, and designated-target orders, apply them with party authority, and resume valid solo work when human-led control ends. Acceptance criteria
Verified criteria: 0/8. Execution model: gpt-5.6-sol, high effort. Repositories: Official Package Collection commands and control state, LyraCore Gateway command transport and Module party reads, Durable join and leave scenarios. | planned | Unassigned | PB-004 | Pending |
PB-010Ticket | Preserve one controller through restart and TransferDefine and prove the lifecycle of every new bot row across Character deletion, Module restart, Gateway restart, party changes, and Transfer. Suspend local actions while Transfer is pending, rebuild transient observations on arrival, and prevent stale work from acting. Acceptance criteria
Verified criteria: 0/8. Execution model: gpt-6-astra, high effort. Repositories: Official Package Collection bot row lifecycle, LyraCore Module, Gateway, Realm-core, Transfer, and Group Intent integration, Durable restart and Transfer scenarios. | planned | Unassigned | PB-008, PB-009 | Pending |
S5Workstream | Release evidence and retirementRelease evidence and retirement | 0/2 complete | Orchestrator | None | Pending |
PB-011Ticket | Pass autonomous, companion, and load acceptanceRun the complete automated release suites on the pinned core, Package, imported content, and geometry. Prove seeded autonomous work, the fixed human-led companion route, restart and Transfer behavior, bounded recovery, scheduler fairness, and measured 10, 25, and 100 bot load. Acceptance criteria
Verified criteria: 0/9. Execution model: gpt-6-astra, xhigh effort. Repositories: LyraCore and Official Package Collection acceptance suites, Headless Client protocol and world-transition scenarios, Disposable imported-world load fixture and measurement report. | planned | Unassigned | PB-005, PB-007, PB-008, PB-010 | Pending |
PB-012Ticket | Cut over, observe, and retire the old behaviorComplete the additive state cutover with one durable controller selector, compare record-only decisions, activate a small cohort, gather imported-world and attended client evidence, then delete the displaced behavior source, obsolete tests, and active old state path. Leave old table retirement as its separately reviewed migration when required by repository rules. Acceptance criteria
Verified criteria: 0/10. Imported world observationPending. Required before completion. Attended client observationPending. Required before completion. Execution model: gpt-6-astra, xhigh effort. Repositories: Official Package Collection controller cutover and source retirement, LyraCore additive state migration and architecture checks, Imported-world observation and attended client evidence. | planned | Unassigned | PB-011 | Pending |