Prerequisite Management
When to Load
When you discover access requirements or need to check/update prerequisite status.
When to CREATE Prerequisites
- Auth is required and credentials exist → "Authentication to X"
- Admin/premium access needed → "Admin access to X"
- Specific tool/config needed → "VPN connection" or "API key for X"
- External dependency → "Stripe test account active"
When NOT to Create
- Condition is trivially met (e.g., "internet access") — don't create noise
- Condition is within agent's control (e.g., "download JS files") — just do it
- Equivalent prerequisite already exists — attach the existing one instead
- One-time setup already done — no need to track
Quality Standards
Title
- Concise condition description, NOT a task description
- GOOD: "Authentication to app.example.com"
- BAD: "Need to log in" / "Auth" / "P3 task needs this"
Description
- MUST include URLs, credentials/references, step-by-step instructions
- The validation job agent reads this to test the condition automatically
- GOOD: "User account peter@agentic.pt with password Str0ngP@ss. Login at https://app.example.com/login, enter credentials, JWT returned in Set-Cookie."
- BAD: "Need to be authenticated to the site"
Met Condition
- Specific, testable by a machine
- GOOD: "Account is active and login returns 200 with valid JWT cookie"
- BAD: "Auth works" / "Can access"
Lifecycle
- Agent discovers requirement → delegates to manage-prerequisite subagent
- Subagent checks for duplicates, validates quality, creates
- Agent attaches prerequisite_id to tasks via create_task(prerequisite_ids=[...])
- If condition breaks → agent updates status to False with evidence
- System blocks dependent tasks + spawns validation job
- Validation job confirms or overrides + attempts remediation
- Human can force-override via UI at any time
Attaching to Tasks
When creating tasks that need a prerequisite:
Agent("register-task", "P3 page exploration. Service: app (id=5).
Page: /checkout. Prerequisite IDs: [12, 15].")
The register-task subagent passes prerequisite_ids to create_task.
Status Updates
When you discover a prerequisite is no longer met:
Agent("manage-prerequisite", "Update status. Prerequisite ID: 12.
Status: False. Reasoning: Login returned 403 'Account suspended
due to suspicious activity'. Tried 3 times, same result.")
The system will automatically block all dependent tasks and spawn a validation job to independently verify.