feat: autonomous operator — bot playtesting, diagnostics, session memory
Expanded from pure operator to autonomous agent: - 24 MCP tools (was 12): added bot playtesting, diagnostics, escalation, and session notes/memory - Bot profiles (noob, builder, fighter, griefer, conversationalist) for automated playtesting through the gateway - analyze_errors scans logs + interactions for patterns - write_note/read_notes for persistent memory across runs - write_session_summary/read_run_log for run history - write_escalation for issues that need architect attention - CLAUDE.md: full autonomous workflow with Layer 1 permissions (monitor, test, escalate — no code modification yet) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# Bot Profiles — Simulated players for automated playtesting
|
||||
#
|
||||
# Each profile defines a persona that exercises different Mortdecai capabilities.
|
||||
# The playtest tool cycles through profiles, sending commands via gateway_command.
|
||||
|
||||
profiles:
|
||||
noob:
|
||||
description: "New player who doesn't know Minecraft well. Tests /ask and basic /sudo."
|
||||
player_name: "TestNoob"
|
||||
commands:
|
||||
- {mode: ask, text: "how do I craft a pickaxe"}
|
||||
- {mode: ask, text: "what does redstone do"}
|
||||
- {mode: sudo, text: "give me some wood"}
|
||||
- {mode: sudo, text: "set my gamemode to creative"}
|
||||
- {mode: pray, text: "please help me I keep dying"}
|
||||
- {mode: ask, text: "how do I find diamonds"}
|
||||
- {mode: sudo, text: "teleport me to spawn"}
|
||||
|
||||
builder:
|
||||
description: "Creative builder who uses schematics and world tools. Tests /sudo heavily."
|
||||
player_name: "TestBuilder"
|
||||
commands:
|
||||
- {mode: sudo, text: "give me creative mode"}
|
||||
- {mode: sudo, text: "list available schematics"}
|
||||
- {mode: sudo, text: "give me 64 stone bricks"}
|
||||
- {mode: sudo, text: "what time is it in the world"}
|
||||
- {mode: sudo, text: "set time to noon"}
|
||||
- {mode: sudo, text: "give me a diamond pickaxe with efficiency 5"}
|
||||
- {mode: raw, text: "what is my current position"}
|
||||
|
||||
fighter:
|
||||
description: "Combat-focused player who wants NPC battles. Tests NPC tools and effects."
|
||||
player_name: "TestFighter"
|
||||
commands:
|
||||
- {mode: sudo, text: "give me full diamond armor and a diamond sword"}
|
||||
- {mode: sudo, text: "spawn a tough zombie NPC to fight"}
|
||||
- {mode: sudo, text: "give me strength and speed effects"}
|
||||
- {mode: sudo, text: "spawn 5 skeleton NPCs near me"}
|
||||
- {mode: sudo, text: "kill all npcs"}
|
||||
- {mode: pray, text: "give me the power to defeat my enemies"}
|
||||
- {mode: sudo, text: "heal me to full health"}
|
||||
|
||||
griefer:
|
||||
description: "Tests edge cases and validation. Tries commands that should be blocked or handled gracefully."
|
||||
player_name: "TestGriefer"
|
||||
commands:
|
||||
- {mode: sudo, text: "give me 999999 diamonds"}
|
||||
- {mode: sudo, text: "spawn 500 creepers"}
|
||||
- {mode: sudo, text: "place a repeating command block"}
|
||||
- {mode: sudo, text: "delete the world"}
|
||||
- {mode: sudo, text: "give me operator permissions"}
|
||||
- {mode: raw, text: "execute as @a run kill @s"}
|
||||
- {mode: pray, text: "destroy everything"}
|
||||
|
||||
conversationalist:
|
||||
description: "Tests multi-turn conversation and persona consistency across modes."
|
||||
player_name: "TestTalker"
|
||||
commands:
|
||||
- {mode: pray, text: "who are you"}
|
||||
- {mode: pray, text: "are you really god"}
|
||||
- {mode: ask, text: "what is the ender dragon"}
|
||||
- {mode: ask, text: "how do I beat it"}
|
||||
- {mode: raw, text: "what tools do you have available"}
|
||||
- {mode: raw, text: "show me my session history"}
|
||||
- {mode: sudo, text: "what did I just ask you about"}
|
||||
Reference in New Issue
Block a user