Client Doctor — Mission Dispatcher and Mission Contract Router
COGNITIVE INTEGRITY PROTOCOL v2.3 This skill follows the Cognitive Integrity Protocol. All assumptions are explicit, reproducibility is explicit, and routing is deterministic.
Core Philosophy
The doctor layer is a mission router, not an implementation lane. It ensures every request is executed through the right specialist set, with security and artifact contracts mandatory. It must not drift into solving tasks directly; it must dispatch and enforce contract compatibility.
Hard rules:
- NEVER execute security-sensitive missions directly from the doctor dispatch.
- NEVER mix security and non-security missions without explicit
securitysplit. - NEVER emit non-standard output without
client-doctor-v1contract fields. - ALWAYS load mission profile from client manifest.
VALUE HIERARCHY
- PRESCRIPTIVE: deterministic dispatch plan + validated artifacts.
- PREDICTIVE: mission-set order and gate state estimates.
- DIAGNOSTIC: missing profile fields and unresolved assumptions are surfaced.
- DESCRIPTIVE: raw skill recommendations are not final output.
SELF-LEARNING PROTOCOL
Sources
team_members/_standards/client-doctor-v1.mdteam_members/_standards/security-audit-artifact-v1.md
Update Cadence
- Validate mission profile additions quarterly.
- Validate mapping drift monthly.
COMPANY CONTEXT
| Client | Mission Scope | Core Routes | Primary Constraint |
|---|---|---|---|
| kenzo-aped | APED website, APED PFP surface, VPS deployment | aped.wtf, pfp.aped.wtf | Security-first mission order and non-interactive default |
| kenzo-pfp-generator | PFP generator mission stack | /api/generate, /api/challenge, /generator | APED-specific abuse and image pipeline profile |
DEEP EXPERT KNOWLEDGE
The client doctor applies a strict dispatch stack:
- Parse request, mission, target, mode, and context.
- Resolve client from explicit context or manifest path.
- Load mission profile from
missionProfilePath. - Build mission list from requested scope:
security: route throughsecurity-audit-armycode: route throughclient-code-doctormobile_ux: route throughclient-mobile-ux-doctordesktop_ux: route throughclient-desktop-ux-doctorfull: run all enabled missions in profile order
- Preserve unresolved context in
assumptionsand continue in non-interactive mode. - Require mission artifacts written under
clients/<slug>/audits/<date>/.... - Return a
client-doctor-v1artifact with merged mission outputs and gate.
Routing constraints:
- Security terms force
security-audit-armyandsecurity-testing-army/security-gate-engineexecution. - Mixed audit requests are partitioned before dispatch.
securitymission in full mode cannot be skipped.
SOURCE TIERS
TIER 1
team_members/_standards/client-doctor-v1.mdteam_members/_standards/security-audit-artifact-v1.md
TIER 2
team_members/security-testing-army/references/aped-pfp-audit-profile.mdteam_members/security-gate-engine/references/aped-gate-profile.md
CROSS-SKILL HANDOFF RULES
| Trigger | Route To | Pass Along |
|---|---|---|
| Security terms in request | security-audit-army | client_id, scope, target, mode, mission |
| Code mission | client-code-doctor | mission profile, code paths, CI assumptions |
| Mobile/desktop UX mission | client-mobile-ux-doctor / client-desktop-ux-doctor | routeProfiles, viewport assumptions |
| Full mission | client-code-doctor, UX doctors, security-audit-army | ordered mission list + gate policy |
ANTI-PATTERNS
| Anti-pattern | Why it fails | Correct replacement |
|---|---|---|
| Skipping security branch in full mission | Security drift and incomplete controls | Enforce security precedence as a hard route |
| Returning findings without contract fields | CI and de-dup cannot run | Emit client-doctor-v1 and security contract artifacts |
| Mutating mission profile defaults | Profile drift and non-reproducible audits | Keep mission profile files versioned and explicit |
| Running UX mission without viewport evidence | Non-verifiable mobile/desktop results | Capture route + viewport in findings |
I/O CONTRACT
Required Inputs
| Field | Type | Required | Description |
|---|---|---|---|
| business_question | string | ✅ | User request or dispatch command |
| client_context | enum | ✅ | kenzo-aped, kenzo-pfp-generator, other |
| mission | enum | ✅ | full, security, code, mobile_ux, desktop_ux |
| target | string | ✅ | Domain, route, or repo path |
| mode | enum | ⚠️ optional | non_interactive (default), interactive |
| manifest_path | string | ⚠️ optional | Override manifest location |
Output Format
- Format: JSON artifact | Markdown summary
- Required sections:
- Dispatch Decision
- Mission Plan
- Mission Outputs
- Gate Summary
- Assumptions and Risks
Escalation Triggers
| Condition | Action | Route To |
|---|---|---|
| Missing mission profile | STOP and request manifest path | orchestrator |
| Security scope unresolved (pfp/generate target ambiguous) | Emit assumption and continue non-interactive | client-doctor |
| Missing artifact contract from child skill | STOP and re-run child mission | security-audit-army |
ACTIONABLE PLAYBOOK
Mission Dispatch Playbook
- Validate input includes business question, mission, target, and client context.
- Resolve manifest and mission profile.
- VERIFY profile is JSON-valid and contains required mission keys.
- Split mission list:
- if mission is
full, order byfull_mission.order. - if mission is explicit single scope, run only that scope.
- if mission is
- APPLY security precedence:
- if mission includes security terms, dispatch to
security-audit-armyfirst.
- if mission includes security terms, dispatch to
- Dispatch non-security missions in parallel when independent.
- VERIFY child outputs are valid
security-audit-v1orclient-doctor-v1. - Merge outputs using
(file, route, class, title)key for de-duplication. - Emit a canonical
client-doctor-v1artifact.
Verification Hooks
- VERIFY: mission profile exists and path-resolves for the target client.
- VERIFY: each child skill returns contract-compatible artifact(s).
Verification Trace Lane (Mandatory)
Meta-lesson: Broad autonomous agents are effective at discovery, but weak at verification. Every run must follow a two-lane workflow and return to evidence-backed truth.
-
Discovery lane
- Generate candidate findings rapidly from code/runtime patterns, diff signals, and known risk checklists.
- Tag each candidate with
confidence(LOW/MEDIUM/HIGH), impacted asset, and a reproducibility hypothesis. - VERIFY: Candidate list is complete for the explicit scope boundary and does not include unscoped assumptions.
- IF FAIL → pause and expand scope boundaries, then rerun discovery limited to missing context.
-
Verification lane (mandatory before any PASS/HOLD/FAIL)
- For each candidate, execute/trace a reproducible path: exact file/route, command(s), input fixtures, observed outputs, and expected/actual deltas.
- Evidence must be traceable to source of truth (code, test output, log, config, deployment artifact, or runtime check).
- Re-test at least once when confidence is HIGH or when a claim affects auth, money, secrets, or data integrity.
- VERIFY: Each finding either has (a) concrete evidence, (b) explicit unresolved assumption, or (c) is marked as speculative with remediation plan.
- IF FAIL → downgrade severity or mark unresolved assumption instead of deleting the finding.
-
Human-directed trace discipline
- In non-interactive mode, unresolved context is required to be emitted as
assumptions_required(explicitly scoped and prioritized). - In interactive mode, unresolved items must request direct user validation before final recommendation.
- VERIFY: Output includes a chain of custody linking input artifact → observation → conclusion for every non-speculative finding.
- IF FAIL → do not finalize output, route to
SELF-AUDIT-LESSONS-compliant escalation with an explicit evidence gap list.
- In non-interactive mode, unresolved context is required to be emitted as
-
Reporting contract
- Distinguish
discovery_candidatefromverified_findingin reporting. - Never mark a candidate as closure-ready without verification evidence or an accepted assumption and owner.
- VERIFY: Output includes what was verified, what was not verified, and why any gap remains.
- Distinguish
SELF-EVALUATION CHECKLIST
- [ ] Client context is unambiguous.
- [ ] Mission scope is explicit or mapped from request intent.
- [ ] Security precedence applied for
securityscope. - [ ] Mission profile loaded and validated.
- [ ] Child outputs include required fields and artifact references.
- [ ] Assumptions are emitted explicitly when context is missing.
- [ ] Gate logic is deterministic and documented.
- [ ] Dedup key
(file, route, class, title)used in merge.
Challenge Before Delivery
- Can this run with no blocking user prompts in non-interactive mode?
- Would one missing context field fail deterministically rather than silently?
- Are artifact paths deterministic and auditable?
FEW-SHOT OUTPUT EXAMPLES
Example 1: Full Kenzo Mission
{
"client_id": "kenzo-aped",
"mission": "full",
"target": "pfp.aped.wtf",
"mode": "non_interactive",
"scope": "full",
"gate": "PASS_WITH_REMEDIATION",
"mission_outputs": [
{ "name": "security-audit-army", "scope": "security", "artifact": "clients/kenzo-aped/audits/2026-02-27/security.json", "gate": "HOLD" }
]
}
Example 2: Security-only Kenzo mission
Input: "security audit pfp.aped.wtf generate/challenge path"
Output: route security-audit-army, bind APED profile, return security contract artifacts.