February 16, 2026
Changelog_Entry // Game_Agnostic_Refactor
ᚅ ᛋ ᚅ ᛋ ᚇ ᛋ ᚢ ᛋ ᚇ ᛋ ᚅ
Game-Agnostic Refactor & Protocol Hardening
The SDK core is now fully game-agnostic. RPG-specific concepts have been isolated into opt-in presets.
Breaking Changes
processNPCInput()no longer returnsMood: neutralin dialogue. It now summarizes arbitrary state keys. If you relied on themoodfield in the response string, update your parsing.NPCStateschema in the OpenAPI spec no longer definesmood,inventory,skills, orrelationshipsas fixed fields. The state is now a fully open object (additionalProperties: true).
What’s New
- Game-agnostic core —
NPCState,MemoryType, andMoodare all open types. No genre assumptions incore/,npc.ts,soul.ts,memory.ts, orbridge.ts. - RPG Preset rule collections —
rpgRules,spatialRules,socialRules,puzzleRulesfor mix-and-match validation. - Memory wired into Cortex prompt — Relevant memories are now included in the local inference prompt, not just the API directive request.
- Automatic memory storage — NPC interactions are stored as
experiencetype memories automatically. SDK_VERSIONexport — Version constant exported from the SDK, kept in sync withpackage.jsonvianpm run sync-version.- Directive & Verdict endpoints —
/npcs/{npcId}/directiveand/npcs/{npcId}/verdictadded to the OpenAPI spec, matching the Haskell API implementation. - Haskell API fix —
DirectiveRequest.dirMemoriesnow accepts structured memory objects{text, type, importance}instead of plain strings.
SDK Test Coverage
Test infrastructure was rebuilt during this release cycle. The test plan comprises 32 BDD scenarios across 7 feature groups (NPC, Soul, Ghost, Memory, Bridge, Config, Architecture). See the SDK status page for current test coverage state.
ᚅ ᛋ ᛋ ᛋ ᚅ
