# Managed Agents

> The startup-analysis agents, their knowledge packages, and their status.

_Verified against `config/agent_knowledge_registry.json`, `config/agent_runtime.php`, and `app/Services/Agents/*` on 2026-07-23._

---

## What an agent is
A managed agent analyzes a subject (startup, and — by parity — investor) and produces a **proposal only** (`executed:false`). It never decides or executes. Agents are configured by data, not code:

- **Registry:** `config/agent_knowledge_registry.json` is the sole authority for agent **knowledge packages**. A package is an ordered list of `.md` knowledge files (e.g. `NUMU_CORE_SKILL.md`, `PROMPT_INDEX.md`, `*_SKILL.md`, `DECISION_RULES.md`, `DECISION_EXAMPLES.md`, `NOTE_GUIDE.md`, `HANDOFF_SCHEMA.md`).
- **Persistence:** agents are also `Agent` model rows (`AgentRegistryService::upsert`, enable/disable via `is_active`).
- **Runtime config:** `config/agent_runtime.php` sets provider (`anthropic`, or `fake` for tests), default model `claude-sonnet-5`, per-agent override (`prescreen` → `claude-opus-4-8`), token/byte limits, and `allowed_actions` per agent.

## Implemented agents
| Agent key | ID | Allowed actions | Notes |
|-----------|----|-----------------|-------|
| `intake_triage` | AUTO-025 | `move_to_review`, `reject`, `stop` | knowledge package v01 |
| `prescreen` | AUTO-026 | `request_more_info`, `request_meeting`, `reject` | v02; requires exactly one readable PPTX pitch deck before analyzing; model `claude-opus-4-8` |

> **Status: implemented in code, but deployment status requires confirmation.** The `allowed_actions` enums are annotated in config as "pending authoritative confirmation" → treat exact enum membership as **Unknown - requires confirmation** until verified against the live request spec.

## Planned agents — NOT implemented
`AUTO-027 Founder Response`, `AUTO-028 Screening Call`, `AUTO-029 Due Diligence`, `AUTO-030 Committee`, `AUTO-031 Investment Memo` appear in design docs (`ai-agents/README.md`) only. **They do not exist in code.** Do not describe them as existing.

## Knowledge source
`config/agent_knowledge.php` — Loader/Cache with driver `local` (v01 default) or `graph` (SharePoint via MS Graph). The `graph` driver is coded (`GraphSharePointSource`) but **inert** until Azure grants `Files.Read.All` / `Sites.Read.All` and a drive ID is configured. Environments: `dev | staging | production`. Packages are immutable per `(agent, environment)`.

## Naming note
The technical plan raised `pre_screen` vs `prescreen`; the live registry/config uses **`prescreen`**.
