80 lines
4.3 KiB
Markdown
80 lines
4.3 KiB
Markdown
# 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
|