GrowmodoThe Harness · v0
Production

Sec 01 — Status

Every intake, assigned to the right talent.

When a project intake lands in ClickUp, the harness checks the brief, narrows the talent pool by skill, platform and capacity, and assigns the best fit with a short reason. A person can always reassign.

Mode · HARNESS_MODE

 Off
CurrentShadow
 Live

Every intake gets a pick, logged only. Nothing is written to ClickUp.

Anything unrecognised reads as shadow, never live.

Sec 02 — Pipeline

One run per intake task

AgentCode
  1. 01code

    Intake lands

    ClickUp webhook fires on task creation. Signature checked, answered at once.

  2. 02agent

    Brief check

    Flags what is missing from the brief as questions for the PM. Never blocks.

  3. 03code

    Talent profiles

    Skills, platforms, timezone, capacity and seniority from the Talent list.

  4. 04code

    Hard filters

    Drops anyone inactive, off-platform, missing the skill, or at capacity.

  5. 05agent

    Matcher

    Ranks who is left and explains the pick. Falls back to load order.

  6. 06code

    Assign

    Re-checks nobody assigned it first, assigns, comments the reason.

Sec 03 — Configuration

All settings in place

SettingVariableStatus
Anthropic API keyANTHROPIC_API_KEYNot used
DeepSeek API keyDEEPSEEK_API_KEYSet
ClickUp tokenCLICKUP_API_TOKENSet
ClickUp workspace idCLICKUP_TEAM_IDSet
Webhook secretCLICKUP_WEBHOOK_SECRETSet
Decision log databaseDATABASE_URLSet

Runs on the Delegation copy ClickBot creates in list 901518492910. Values are never shown here, only whether they are set.

Sec 04 — Agents

2 agents registered

DeepSeek
AgentModelEffort
brief-checkdeepseek-flashlow
matcherdeepseek-v4-promedium

Each agent is one entry in lib/agents/registry.ts: model, effort and prompt. Switch every agent between Anthropic and DeepSeek with LLM_PROVIDER.