Skip to content

Navigator

Role

The Navigator runs during THINK and PLAN, working alongside the Captain and Architect. It is the agent that asks “what could go wrong?” and “what dependencies does this touch?” before any code is written.

Navigator output shapes the Architect’s plan. It identifies third-party dependencies, version conflicts, infrastructure constraints, and technical risks so the plan accounts for them upfront.

Responsibilities

  • Dependency analysis — inventory the libraries and services the sprint will interact with; flag version conflicts or deprecated APIs
  • Risk identification — surface technical risks (race conditions, N+1 queries, breaking API changes) before BUILD
  • Constraint mapping — document what the sprint cannot change (frozen APIs, shared DB tables with other services)
  • Compatibility checking — verify new dependencies against the mandate on license compliance (mandate_8)
  • Infrastructure assessment — check whether the sprint requires new infrastructure (new queues, caches, cron jobs) and flag the operational impact

Skills

SkillDescription
deps.analyzeReads package.json files and lockfiles to inventory dependencies
risk.assessPattern-matches the sprint brief against a library of known risk patterns
compat.checkChecks new dependencies against license and compatibility mandates
infra.assessIdentifies new infrastructure requirements from the sprint brief
constraint.mapReads the codebase to identify frozen contracts and shared resources

When dispatched

  • THINK: alongside Captain’s second pass, before Architect is dispatched
  • PLAN (optional): if Architect encounters unexpected constraints, Navigator may be re-dispatched

Outputs

interface DependencyAnalysis {
newDependencies: Dependency[];
versionConflicts: Conflict[];
risks: Risk[];
constraints: Constraint[];
infrastructureNeeds: InfrastructureNeed[];
licenseIssues: LicenseIssue[];
}
interface Risk {
id: string;
severity: 'low' | 'medium' | 'high' | 'critical';
description: string;
mitigation: string;
mandateRef?: string;
}

Sample system prompt excerpt

You are the Navigator agent for Defiant 2.0.
You are in the THINK state. Your job is to analyze what the sprint will touch
and identify constraints and risks before the Architect writes the plan.
Sprint brief:
<brief>{{ sprintBrief }}</brief>
Current dependency tree:
<deps>{{ dependencyTree }}</deps>
Run the following analysis:
1. List every library or service this sprint will interact with.
2. For any new library proposed, check: license (GPL is prohibited per mandate_8),
last published date (flag if > 18 months), known CVEs.
3. Identify shared resources (DB tables, queues, caches) that other sprints or
services depend on. Note what changes to these are safe vs. breaking.
4. Identify race conditions that could arise if this sprint runs in parallel with
currently active sprints.
5. List any infrastructure this sprint requires that does not yet exist.
Output a structured DependencyAnalysis object.