February 16, 2026

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 returns Mood: neutral in dialogue. It now summarizes arbitrary state keys. If you relied on the mood field in the response string, update your parsing.
  • NPCState schema in the OpenAPI spec no longer defines mood, inventory, skills, or relationships as fixed fields. The state is now a fully open object (additionalProperties: true).

What’s New

  • Game-agnostic coreNPCState, MemoryType, and Mood are all open types. No genre assumptions in core/, npc.ts, soul.ts, memory.ts, or bridge.ts.
  • RPG Preset rule collectionsrpgRules, spatialRules, socialRules, puzzleRules for 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 experience type memories automatically.
  • SDK_VERSION export — Version constant exported from the SDK, kept in sync with package.json via npm run sync-version.
  • Directive & Verdict endpoints/npcs/{npcId}/directive and /npcs/{npcId}/verdict added to the OpenAPI spec, matching the Haskell API implementation.
  • Haskell API fixDirectiveRequest.dirMemories now 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.

ᚅ ᛋ ᛋ ᛋ ᚅ