Kestrel Falconer
Implementation Plan

From narrative to running product — what exists, what's missing,
and how 3 falconers get 4 birds each.
March 30, 2026 · Strategic Assessment

01. Current State — What's Real

Before we build anything, here's an honest assessment of each component: what's shipping code, what's partially implemented, and what's still just GitHub issues.

Sovereign

BUILT

FastAPI server, DID system, Constitution, Memory (encrypted), 7 LLM providers, Voice (5 STT/TTS providers), Filebase storage, Privacy modes, MultiAgent multi-agent

Claws

95% BUILT

Strategic Memory, Morning Signal, Backlog Hygiene, GitHub scan, Agent Mesh Protocol, Scheduler (APScheduler), Talon Coordinator, Signal-Talon dispatch. Missing: Backlog Constitution

Talon

BUILT

Autonomous issue claiming, code execution, PR opening. Installed as pip package. Codex backend hardening in progress

Eye

85% BUILT

CLI, vision providers, reviewer engine, loop runner, reporter, GitHub integration all shipped (11/13 closed). Missing: CI hook, Mesh integration

Flight

50% BUILT

Test suite, type safety, validation, cleanup done (10/21 closed). Core extraction (NarrationEngine, screenshot helpers, state persistence) still open

ComponentWhat Exists (Code)RepoStatus
Sovereign Core kestrel_sovereign/server.py — FastAPI runtime
kestrel_sovereign/inception_service.py — DID creation
kestrel_sovereign/features/constitution.py — Constitutional enforcement
kestrel_sovereign/features/memory/ — Encrypted recall + graph
kestrel_sovereign/llm/provider_registry.py — 7 LLM adapters
kestrel_sovereign/voice/ — 5 STT/TTS providers (Deepgram, ElevenLabs, Faster Whisper, OpenAI, Piper)
kestrel_sovereign/storage/providers/filebase_provider.py — Decentralized storage
kestrel_sovereign/features/privacy/ — 5 privacy levels (actively tested)
multi_agent.toml — Multi-agent hosting (5 agents configured)
kestrel-sovereign Running
Claws (PM) features/strategic_memory/feature.py — STRATEGY.yaml load/write + signal_dispatch
features/strategic_memory/morning_signal.py — Daily briefing generator
features/strategic_memory/backlog_hygiene.py — Score/grade issues
features/strategic_memory/github_integration.py — Repo scanning
features/strategic_memory/session_log.py — GitHub activity + Talon PR tracking
features/strategic_memory/talon_handoff.py — Signal-agnostic Talon dispatch
features/peers/mesh.py — Agent Mesh Protocol (MeshMessage dataclass + JSON serialization)
features/peers/feature.py — send_mesh_message, mesh_inbox, receive tools
features/talon/coordinator.py — TalonCoordinatorFeature (claim/batch/status/pause/resume)
kestrel_agent.py — Scheduler defaults (morning_signal 8am, signal_dispatch 8:05am)
heartbeat.py — Periodic self-checks (basic asyncio)
kestrel-sovereign 95%
Talon (Dev) kestrel-talon — Standalone package (pip installed)
Ticket claiming, code execution, PR submission
kestrel-talon Installed
Eye (QA) kestrel-eye — Standalone package (11/13 issues closed)
CLI runner, config schema (Pydantic), Anthropic + OpenAI vision providers
Reviewer engine, loop runner, report generator (JSON + Markdown)
GitHub issue reporter (auto-file, update, close per iteration)
eye-technical.toml + eye-spawn.toml — consumer configs in sovereign
kestrel-eye 85% done
Flight (PO) kestrel-flight — TypeScript library (10/21 issues closed)
Test suite (Vitest), type safety, input validation, cleanup done
tests/e2e/demo_*.cjs — Source Playwright scripts to extract from
kestrel-flight 50% done
Claw (SDK) Android SDK repo with Kotlin/Java client
Phase 1 complete, dependency maintenance mode
kestrel-claw Phase 1 done

Key Insight — The Infrastructure Is Already There

multi_agent.toml already defines 5 agents (Kestrel, demo, gabi, jason, noel) on separate ports. Each agent gets its own data directory and can load its own STRATEGY.yaml. The Falconer model doesn't require building a new platform — it requires connecting the birds to each other and to the MultiAgent.

02. What's Missing — The Remaining Gaps

Agent Mesh Protocol and Scheduler are now shipped. Claws is 95% done (only Backlog Constitution remains). Phase 2 Talon integration is 4/6 complete. The remaining work: finish Backlog Constitution, Eye CI/Mesh hooks, and extract Flight's core library.

GapWhat It IsWhy It MattersSize
Agent Mesh Protocol Structured message format for bird-to-bird communication. Claws assigns work → Talon picks up → Eye reviews → Flight reports. DONE (Mar 30) — MeshMessage dataclass, 5 message types, JSON serialization, /agent/mesh endpoints, 21 tests passing. DONE
Eye CI + Mesh GitHub Action to auto-trigger Eye on Talon PRs (kestrel-eye #16). Mesh integration so Eye listens for review-needed messages and reports back to Claws (sovereign #432). Eye's core is built but isolated. CI hook + Mesh makes it autonomous. MEDIUM
Flight NarrationEngine Extract the narration, screenshot, and demo-act logic from tests/e2e/demo_*.cjs into standalone TypeScript library. Core extraction tickets (kestrel-flight #1-#6) are open. Narrated demos are the product's proof. Flight makes them reproducible and automated. Voice system now adds TTS for audio narration. MEDIUM
Backlog Constitution Rules engine that rejects/downgrades backlog items that violate the Constitution or are too vague for AI execution. 73% of human bottleneck comes from vague items. This is the productivity lever. SMALL
Falconer Onboarding kestrel falconer setup CLI command (sovereign #433). Creates agent in MultiAgent, DID, STRATEGY.yaml, configures all 4 birds. Jim partnership requires this. Can't scale if every falconer needs manual setup. MEDIUM
Unified Falconer Dashboard All 4 birds' status per falconer (sovereign #434). Claws/Talon/Eye/Flight cards with real-time metrics. Org-wide view for enterprise. The "cockpit" that makes Falconer tangible for CIOs. Human bottleneck % is the key metric. MEDIUM
Scheduler Upgrade Replace basic asyncio heartbeat with proper scheduler. Morning Signal at 8am, signal_dispatch at 8:05am. DONE (Mar 30) — APScheduler wired in kestrel_agent.py with configurable cron defaults. DONE

03. Dependency Chain

The birds have a natural build order. You can't review PRs (Eye) if there's no code (Talon), and you can't demo (Flight) if there's nothing to demo (Eye + Talon output).

Sovereign
Foundation
Claws
Prioritizes work
Talon
Writes code
Eye
Reviews visually
Flight
Demos & reports

Parallel Tracks Confirmed

Phase 1 (Claws Mesh + Scheduler) and Phase 2 (Talon Integration) were built in parallel on March 30. 6 commits shipped in one session. Eye and Flight are sequential — Eye's runner must exist before Flight can orchestrate visual validation. Eye development can start now that Talon produces PRs to review.

04. Phased Implementation

Five phases. Real deliverables, not milestones. Each phase produces a working capability that the falconers can use immediately.

Phase 0 — Foundation Check

Timeline: Already done · Owner: Gabi · Status: Complete
  • Sovereign runtime — FastAPI server, DID, Constitution, Memory all functional
  • MultiAgent multi-agent — gabi:8805, jason:8806, noel:8807 configured in multi_agent.toml
  • STRATEGY.yaml per falconer — agent_data/gabi, agent_data/noel each have strategic context
  • Talon installed — kestrel-talon in pyproject.toml, issue claiming works via CLI
  • Morning Signal — Generates briefings across 7 repos and 16 milestones

Phase 1 — Claws Completion + Agent Mesh Protocol COMPLETE

Owner: Gabi + Noel · Repo: kestrel-sovereign, signal-and-ship · Completed: March 30, 2026

The PM bird now autonomously manages the backlog, enforces quality, and hands off work to Talon. 62 tests passing.

  • Backlog Constitution (signal-and-ship #2) — Rules engine that grades issues. Still open — remaining Phase 1 item.
  • Agent Mesh Protocol (signal-and-ship #3) — MeshMessage dataclass with 5 message types (ASSIGN, REVIEW_NEEDED, COMPLETE, REJECT, STATUS_UPDATE), MeshPriority enum, factory functions, JSON serialization. 21 tests. features/peers/mesh.py
  • Scheduler upgrade — APScheduler wired into kestrel_agent.py. Morning Signal at 8am, signal_dispatch at 8:05am. Configurable cron defaults.
  • Claws → Talon handoff — signal_dispatch routes through TalonCoordinatorFeature (mesh preferred, CLI fallback). !dispatch suggest mode shows top issue without executing. features/strategic_memory/talon_handoff.py

Phase 2 — Talon Integration 4/6 DONE

Owner: Jason + Gabi · Repo: kestrel-talon, kestrel-sovereign · 4 of 6 items completed March 30

Talon is now integrated into the Falconer loop. TalonCoordinatorFeature provides mesh dispatch + CLI fallback. 6 commits pushed, all tests passing.

  • Package as Kestrel feature plugin (sovereign #301) — TalonCoordinatorFeature with 5 tools: talon_claim, talon_batch, talon_status, talon_pause, talon_resume. Mesh dispatch preferred, CLI subprocess fallback. 13 tests. features/talon/coordinator.py
  • DID identity for Talon (sovereign #304) — parent_did delegation chain. create_agent() accepts and passes parent_did to inception. 3 new tests in test_agent_manager.py.
  • Morning Signal → Talon handoff (sovereign #302) — signal_dispatch routes through TalonCoordinator when available. Added suggest mode (!dispatch suggest shows top issue without executing). _get_talon_coordinator() helper.
  • Session Log integration (sovereign #303) — Talon PR tracking via _is_talon_pr() (branch prefix + label detection) and _review_latency() (hours between PR created/merged). Talon Outcomes section in reports. 12 tests.
  • Constitutional governance (sovereign #305) — Talon checks Constitution before executing. Still open.
  • Report active backend model (kestrel-talon #9)Still open.

Phase 3 — Eye Integration (CI + Mesh)

Owner: Jason + Gabi · Repo: kestrel-eye, kestrel-sovereign

Eye v1 is 85% built — CLI, vision providers, reviewer, reporter, GitHub integration all shipped. This phase connects Eye to the autonomous loop via CI and Agent Mesh.

  • CI hook (kestrel-eye #16) — GitHub Action that auto-triggers Eye review on every Talon PR. Posts pass/fail as PR comment. Skippable via label.
  • Eye Mesh integration (sovereign #432) — Eye listens for "review-needed" messages from Talon via Agent Mesh. Reports results back to Claws.
  • Documentation (kestrel-eye #12) — README, eye.toml reference guide, Talon integration guide.
  • Close Epic (kestrel-eye #1) — Verify all v1 acceptance criteria met, close the epic.

Phase 4 — Flight Core Extraction

Owner: Noel + Gabi · Repo: kestrel-flight

Flight is 50% done — test suite, types, validation shipped. Now extract the core library from existing Playwright demo scripts. Voice system (5 STT/TTS providers) enables audio-narrated demos as a differentiator.

  • NarrationEngine extraction (kestrel-flight #1) — Pull narration + screenshot + act logic from tests/e2e/demo_*.cjs into standalone TypeScript. npm install @kestrel/flight.
  • Screenshot + highlight helpers (kestrel-flight #2) — Reusable screenshot capture with element highlighting.
  • Demo state persistence (kestrel-flight #3) — Save/restore demo state across acts for reliable replay.
  • Playwright config helper (kestrel-flight #4) — Project config generator for consumers.
  • Dual CJS+ESM build (kestrel-flight #5) — tsup build so Flight works in any JS environment.
  • demoPause with DEMO_SLOWMO (kestrel-flight #6) — Configurable pacing for live vs recorded demos.
  • Sovereign + Eye + Talon integration (kestrel-flight #9-#11) — Wire Flight into the full Falconer loop.

Phase 5 — Full Falconer Loop & Onboarding

Owner: All three · Repo: kestrel-sovereign + signal-and-ship

Wire it all together. Every falconer has all 4 birds. The daily loop runs without human intervention.

  • Falconer onboarding CLI (sovereign #433)kestrel falconer setup --name "Jim" --repos org/repo1,org/repo2. Creates agent in MultiAgent, generates DID, creates STRATEGY.yaml, configures all 4 birds.
  • Daily autonomous loop (sovereign #307) — 7am: Claws runs Morning Signal, prioritizes backlog. Talon picks top items, codes them. Eye reviews PRs. Flight generates daily summary. Falconer wakes up to a briefing + completed work.
  • Unified Falconer Dashboard (sovereign #434) — Real-time view of all 4 birds' status, backlog health, human bottleneck %, completed work. Per-falconer and org-wide views.
  • Scalable onboarding playbook (signal-and-ship #7) — Documentation + config templates for Jim/enterprise CIOs. How to onboard 100 falconers.
  • Internal dogfooding (sovereign #309) — 2-week trial with Gabi, Jason, Noel all running full Falconer loops with metrics.
  • Strategic Constitution (signal-and-ship #4) — Constitutional rules that prevent birds from violating business constraints (budget limits, deployment policies, data privacy).

05. Who Works On What

Each falconer has primary and secondary responsibilities based on their strengths.

Gabi

CEO — Strategy, Architecture, All Birds
Claws Talon Eye Flight
  • Phase 1: Agent Mesh Protocol design + Backlog Constitution
  • Phase 3: Eye CLI runner architecture + vision LLM integration
  • Phase 5: Onboarding flow + Falconer Dashboard
  • Owns STRATEGY.yaml schema and bird coordination logic
  • Primary daily user of all 4 birds across all repos

Jason

Infrastructure — Talon + Eye Focus
Talon Eye
  • Phase 2: Talon codex hardening, iteration logic, proof paths
  • Phase 3: Eye Playwright integration + CI hooks
  • Owns regional home healthcare validation (RemoteCares integration)
  • Primary Talon user — codes via AI agent (GitHub Copilot)
  • Merge PR #296 to unblock Healthcare G3

Noel

CMO — Flight + Claws Focus
Claws Flight
  • Phase 1: Claws morning signal refinement + scheduler
  • Phase 4: NarrationEngine extraction + scenario DSL
  • Owns investor materials and demo narrative
  • Primary Flight user — generates stakeholder reports
  • Works via AI agent (Ivanka) on marketing/demos

06. Risks & Mitigations

RiskImpactLikelihoodMitigation
Agent Mesh Protocol over-engineering Delays all bird-to-bird integration MITIGATED Resolved. Kept it simple: Python dataclass + JSON serialization. No gRPC, no Kafka. 21 tests. Shipped Mar 30.
Eye vision LLM cost Claude Haiku per screenshot adds up at scale MEDIUM Use Haiku (cheapest) for CI runs. Only escalate to Sonnet for failures. Cache known-good baselines.
Flight TypeScript extraction complexity Demo scripts are tightly coupled to test infrastructure MEDIUM Extract incrementally: NarrationEngine first, then screenshot manager, then act sequencer.
Jason bandwidth (Healthcare partner + Talon + Eye) Healthcare partner deadline (Apr 2) may starve Talon/Eye work HIGH Healthcare partner first. Talon hardening can start after Apr 2. Eye Phase 3 starts after Talon stabilizes.
3-person team spread across 7 repos Context switching, no deep focus time MEDIUM Each person owns 2 repos max at a time. Claws prioritizes so humans don't have to triage.
Enterprise onboarding before product is stable Jim tries it, hits bugs, loses confidence LOW Phase 5 (onboarding) comes last. Jim sees demos but doesn't self-serve until loop is proven.

07. Recommended Starting Point

Based on current state and dependencies, here's the critical path for the first real deliverable: Claws assigns work to Talon through Agent Mesh.

First Milestone: "Claws assigns, Talon delivers"

This is the minimum viable Falconer loop. Claws runs Morning Signal, identifies the top issue, sends an Agent Mesh message to Talon, and Talon claims it, codes it, and opens a PR. No Eye review, no Flight reporting — just the PM → Developer handoff. Once this loop runs end-to-end for one falconer (Gabi), you have the proof point for everything else.

Sprint Zero — Prove the Loop ✓ COMPLETE

Owner: Gabi · Deliverable: One complete Claws → Talon cycle · Completed: March 30, 2026
  • Step 1: Agent Mesh message schema — MeshMessage dataclass, MeshMessageType enum (5 types), MeshPriority, factory functions. features/peers/mesh.py
  • Step 2: POST /agent/mesh and GET /agent/mesh/inbox endpoints + send_mesh_message, mesh_inbox, receive_mesh_message tools in PeersFeature.
  • Step 3: signal_dispatch routes Morning Signal top pick through TalonCoordinatorFeature. !dispatch suggest previews without executing.
  • Step 4: TalonCoordinatorFeature.talon_claim dispatches via mesh (preferred) or CLI subprocess (fallback). kestrel-talon claim auto-invoked.
  • Step 5: Mesh COMPLETE message sent back. Session log tracks Talon PRs with _is_talon_pr() + _review_latency().
  • Step 6: Session log Talon Outcomes section feeds into next Morning Signal. Avg review latency tracked.

All 6 steps completed on March 30, 2026. 6 commits pushed (f6c8d21..d9326c2). 62 tests passing. The Claws → Talon loop is operational. Next focus: Eye CI hook + Backlog Constitution.