SUBAGENT CONSTRAINTS AND GUARD RAILS
Defines hard stop conditions, approved actions, and reporting rules for subagent AI assistants in a video rendering project.
What this file does
Defines hard stop conditions, approved actions, and reporting rules for subagent AI assistants in a video rendering project.
When to use it
- Setting up guardrails for an AI coding assistant in a complex build project
- Preventing unauthorized architecture or dependency changes during automated development
- Enforcing LOC limits and escalation paths for subagent tasks
- Documenting branch management rules for large changesets
Assumes this stack
SUBAGENT CONSTRAINTS AND GUARD RAILS
🚨 CRITICAL STOP CONDITIONS
SUBAGENT OPERATIONAL MANDATE
SUBAGENTS OPERATE WITH STRICT MANDATES - THEY ARE NOT YOLO/VIBE MACHINES
- NO ARCHITECTURAL DECISIONS unless explicitly guided by master LLM
- ESCALATE ALL QUESTIONS/DECISIONS to prompter when uncertain
- ADHERE TO PROMPTER RULES - follow established patterns and constraints
- EARN TRUST THROUGH DISCIPLINE - respect comes from doing the right thing consistently
Professional Standards
- Your prompter is not an American yolo script kiddie, and you are not to behave like one either
- Everyone is an adult working on trust from peers
- Achieve respect/responsibility/trust by doing the right thing or learning along the way
- NO UNAUTHORIZED FEATURES - ask before adding ANY new functionality
Code Change Limits
- STOP if changes exceed 10 LOC - report back for approval
- STOP if task requires architectural changes - investigation only
- STOP if multiple files need modification - seek guidance
- NEVER ADD/REMOVE Maven plugins, dependencies, or build features without explicit permission
Architecture Protection
- NO Java version changes without explicit permission
- NO preview features or experimental syntax (--enable-preview is RED FLAG)
- NO build system modifications (Maven/Gradle configs)
- NO dependency version changes without approval
URI/URL Specific Constraints
- CRITICAL: URI/URL issue is foundational infrastructure affecting entire stack
- Intent: Support multiple protocols (
https://,file://,spotify://) - Problem: Wrong instantiation causes exceptions across codebase
- APPROACH: Investigation and documentation ONLY - no implementation changes
✅ APPROVED ACTIONS
Investigation Tasks
- Analyze compilation status in latest GitHub versions
- Document architectural challenges and impact assessment
- Provide implementation proposals for review
- Identify dependencies and affected components
Safe Code Changes
- Single-line bug fixes with clear impact
- Standard Java syntax improvements (no preview features)
- Documentation and comment updates
- Test additions (non-invasive)
Branch Management for Large Changesets
- CRITICAL: When working on non-master branch with large pending changeset FOR NEW FUNCTIONALITY → CREATE NEW BRANCH
- FIX/AMEND existing versions: Work directly on existing branch - DO NOT create new branch
- NEW FUNCTIONALITY: Create new branch to protect waiting changesets
- Protects waiting changesets from corruption during NEW FEATURE development only
Dependency Management Philosophy
- Prefer newer versions over stale/old versions
- Minor version bumps are safe and recommended
- Better to use new version than have downstream problems
- Always check for stale dependencies in existing branches
📋 REPORTING REQUIREMENTS
When blocked by constraints:
- Identify the specific constraint violated
- Document what you discovered during investigation
- Propose alternative approaches or next steps
- Request specific guidance or permissions needed
🎯 SUCCESS CRITERIA
A successful subagent task:
- Stays within LOC limits
- Provides clear analysis and recommendations
- Identifies architectural impact without making changes
- Reports back with actionable next steps
Remember: Subagents are investigation specialists, not implementation bulldozers.
What's inside
6 constraint categories: stop conditions, approved actions, branch management, dependency philosophy, reporting requirements, success criteria
Change this for your project
- Replace
StigLau/VideoRendererwith your own repository name - Replace
spotify://with your own URI protocols if different - Adjust
10 LOClimit to your project's preferred threshold
Where it goes
Keep it in your repository where the agent or team that needs it will read it.
Worth borrowing
- Separating critical stop conditions from approved actions to avoid ambiguity
- Requiring subagents to identify the violated constraint when blocked
Related Documents
Xilinx Constraints
Explains Xilinx XDC constraint ordering, compilation precedence, and key references for FPGA timing closure.
Technical Constraints & Requirements
Defines platform, performance, security, and deployment constraints for a Scottish mountain weather app with native iOS/Android and PWA fallback.
Token Constraints Implementation
Defines a token constraint system that counts tokens, truncates content, and streams responses to stay within an LLM's token limit.
Constraints
Explains how to model constraints as Ceres Solver cost functions in the fuse optimization framework, with a complete code example.