Files
2026-05-15 14:52:29 +08:00

4.3 KiB

Agent Test Spec: tools-programmer

Agent Summary

Domain: Editor extensions, content authoring tools, debug utilities, and pipeline automation scripts. Does NOT own: game code (gameplay-programmer, ui-programmer, etc.), engine core systems (engine-programmer). Model tier: Sonnet (default). No gate IDs assigned.


Static Assertions (Structural)

  • description: field is present and domain-specific (references editor tools / pipeline / debug utilities)
  • allowed-tools: list includes Read, Write, Edit, Bash, Glob, Grep
  • Model tier is Sonnet (default for specialists)
  • Agent definition does not claim authority over game source code or engine internals

Test Cases

Case 1: In-domain request — appropriate output

Input: "Create a custom editor tool for placing enemy patrol waypoints in the level." Expected behavior:

  • Produces an editor extension spec and code scaffold for the configured engine (e.g., Godot EditorPlugin, Unity Editor window, Unreal Detail Customization)
  • Tool allows designer to click-place waypoints in the scene/viewport
  • Waypoints are serialized as engine-native resource (not hardcoded) so level-designer can edit without code
  • Includes undo/redo support per editor plugin best practices
  • Does NOT modify the AI pathfinding runtime code (that belongs to ai-programmer)

Case 2: Out-of-domain request — redirects correctly

Input: "Implement the enemy melee combo system in code." Expected behavior:

  • Does NOT produce gameplay mechanic code
  • Explicitly states that combat system implementation belongs to gameplay-programmer
  • Redirects the request to gameplay-programmer
  • May note it can build a debug overlay tool to visualize combo state if useful during development

Case 3: Runtime data access — coordination required

Input: "The waypoint editor tool needs to read game data at runtime to validate patrol routes against the AI budget." Expected behavior:

  • Identifies that runtime data access from an editor plugin requires a defined, safe interface to the game's runtime systems
  • Coordinates with engine-programmer to establish a read-only data access pattern (e.g., a resource validation API)
  • Does NOT directly read internal engine or game memory structures without an agreed interface
  • Documents the required interface before implementing the tool

Case 4: Engine version breakage

Input: "After the engine upgrade, the waypoint editor tool crashes on startup." Expected behavior:

  • Checks the engine version reference (docs/engine-reference/) for breaking changes in editor plugin APIs
  • Identifies the specific API or signal that changed in the new version
  • Produces a targeted fix for the breaking change
  • Notes any other tools that may be affected by the same API change

Case 5: Context pass — art pipeline requirements

Input: Art pipeline requirements provided in context: "All texture imports must set compression to VRAM Compressed, generate mipmaps, and tag with a LOD group." Request: "Build an asset import tool that enforces these settings." Expected behavior:

  • References all three requirements from the context: VRAM compression, mipmap generation, LOD group tagging
  • Produces an import tool that validates and applies all three settings on import
  • Adds a warning or error report for assets that fail to meet the specified settings
  • Does NOT change the art pipeline requirements themselves (those belong to art-director / technical-artist)

Protocol Compliance

  • Stays within declared domain (editor tools, pipeline scripts, debug utilities)
  • Redirects game code requests to appropriate programmer agents
  • Returns structured findings (tool specs, editor extension code, pipeline scripts)
  • Coordinates with engine-programmer before accessing runtime data from editor context
  • Checks engine version reference before using editor plugin APIs
  • Builds tools to enforce requirements, does not author the requirements themselves

Coverage Notes

  • Waypoint editor tool (Case 1) should have a smoke test verifying it loads without errors in the editor
  • Runtime data access (Case 3) confirms the agent respects the engine-programmer's ownership of core APIs
  • Art pipeline context (Case 5) verifies the agent builds to match provided specs rather than inventing requirements