3.0 KiB
3.0 KiB
Tasks: AI Multi-Personalities, Judite (SAC), Dynamic Tags, Persistent Memory & Event Expansion
-
Task 1: Persona Enhancement (
Persona.java&PersonaTest.java)- Add
JUDITE(SAC/telemarketing attendant) andNARRADOR(fantasy narrator) toPersonaenum. - Add
displayTag()(e.g. "Judite", "Zoeiro", "Amigão", "Seco", "Aldeão", "Narrador", "IA") andtagColor()(NamedTextColor). - Add persona system prompts with safety guard invariant.
- Update
PersonaTest.javato assert all enum keys, display tags, colors, and guard constraints.
- Add
-
Task 2: Persistent Player Memory & Compression (
PlayerMemory.java&PlayerMemoryTest.java)- Create
PlayerMemory.javapersisted atplugins/Canalhandia/ia-memoria.yml. - Implement per-player persona setting (
getPersona,setPersona,resetPersona). - Implement turn recording with automatic sliding-window summary condensation.
- Implement key facts list per player (
addFact,getFacts). - Implement
formatContext(UUID player)for AI system prompt formatting. - Write comprehensive unit tests in
PlayerMemoryTest.java.
- Create
-
Task 3: Location Grounding Tool (
Tools.java&ToolsTest.java)- Add
lugares_jogadorfunction definition toTools.DEFINITIONS. - Implement
lugares_jogadorinTools.javapulling recent deaths fromDeathLog, saved pins fromNotes, and current world/biome. - Write unit tests in
ToolsTest.javaverifying tool execution and response formatting.
- Add
-
Task 4: AI Orchestration & Dynamic Tag Styling (
Ai.java)- Integrate
PlayerMemoryintoAi.java. - Resolve effective persona per player in
ask(). - Update
compose()to inject player persona prompt, player memory context, and location context. - Update
deliver()andstyle()to display dynamic persona tag (e.g.[Judite],[Zoeiro]) and hover metadata. - Update
saySomething()to support persona-specific spontaneous speech.
- Integrate
-
Task 5: Command Interface & Subcommands (
CanalhandiaCommand.java)- Implement
/ia persona//ia personalidadelist and player preference switcher (/ia persona <nome>). - Implement
/ia persona padraoto reset preference. - Implement
/ia statusto show active persona, memory summary, and facts. - Implement
/ia esquecerto clear personal memory. - Update tab-completion for
/iawith new subcommands and persona keys.
- Implement
-
Task 6: Event Expansion & Plugin Wiring (
Canalhandia.java)- Initialize and expose
PlayerMemoryinCanalhandia.java. - Expand event triggers in
Canalhandia.java:- Joins (
onJoinWelcome) with persona-specific greeting. - Notable deaths & streaks (
onPlayerDeath) with persona-specific commentary. - Milestone completions (
onMilestone) with persona-specific recognition.
- Joins (
- Initialize and expose
-
Task 7: Verification & Build (
mvn test&mvn package)- Run full test suite (
mvn test) ensuring 100% pass rate. - Package final jar (
mvn package). - Verify all acceptance criteria from
spec.md.
- Run full test suite (