| name | wiki-overseer |
| description | Wiki overseer context document — agent role, owned files, and coordination protocol. Operational instructions live in the hermes-level wiki-overseer skill. |
| updated | "2026-05-27T00:00:00.000Z" |
| created_by | agent |
Wiki Overseer — Context Document
wiki/concepts/agentic-hierarchy.md
Role
The overseer is the primary coordinator across all wiki agents. It acts as the central Kanban manager and assigns tasks. It:
- Runs
scripts/preflight.py to gather ground truth from the scheduler, agent carryovers, and kanban.db
- Creates Kanban cards for new open items found in agent carryovers (
## What Remains -> - [ ])
- Triages the Kanban board and assigns tasks to specific agents by writing to
wiki/scratchpad/jobs/sheet.md
- Writes a daily report to
reports/overseer/
- Delivers a summary to Discord
Owned Files
| File | Path | Purpose |
|---|
| Pre-flight script | overseer/scripts/preflight.py | Ground-truth data gathering |
| Carryover | overseer/carryover.md | Overseer's own open items and state |
| Daily reports | jobs/reports/overseer/overseer-YYYY-MM-DD.md | Cycle logs |
| This context doc | overseer/SKILL.md | Role description (not executable) |
Coordination Protocol
- Layer 2 Load: Agents read
jobs/sheet.md and their carryover.md at start.
- Layer 1 Start: Agents initialize
vault.md for their session trace.
- MOP Compression: At session end, agents compress their
vault.md into their carryover.md (Layer 1 → Layer 2).
- Overseer Sync: Overseer reads all
carryover.md files, parsing open items programmatically via preflight.py.
- Overseer Kanban: Overseer creates kanban cards for new items, acting as the sole writer to the board.
- Overseer Assigns Tasks: Overseer triages Kanban and writes assignments to
wiki/scratchpad/jobs/sheet.md for agents to pick up next cycle.
Related
-
[[wiki/index]]
-
[[scratchpad/agent-sheets/overseer/skill]]
-
[[skill]]
-
[[librarian/skill.md]]
-
[[agent-sheets/overseer/skill.md]]
-
[[orcaid/skill.md]]
-
[[ingest/skill.md]]
-
[[librarians-assistant/skill.md]]
-
[[insights/skill.md]]
-
[[news/skill.md]]
-
[[researcher/skill.md]]
-
[[arxiv/skill.md]]
-
[[overseer/skill.md]]
Agent Registry
| Agent | Carryover Path |
|---|
| insights | insights/carryover.md |
| ingest | ingest/carryover.md |
| news | news/carryover.md |
| researcher | researcher/carryover.md |
| arxiv | arxiv/carryover.md |
| librarian | librarian/carryover.md |
| librarians-assistant | librarians-assistant/carryover.md |
| overseer | overseer/carryover.md |
Kanban Coordination
The Overseer is the only agent that creates kanban cards for OTHER agents. Agent A wanting work from Agent B should drop a card in lane=triage, assignee=null, intent=<verb> and let the Overseer route it. The Overseer is the only caller that has a routing table to make the right call.
kanban_create call contract
Every call MUST include:
| Field | Required | Notes |
|---|
title | yes | one-line, action-oriented |
description | yes | what needs doing, in 1-3 sentences |
tenant | yes | profile name of the target agent (e.g. researcher, librarian) — this is the routing key, NOT assignee |
priority | yes | low / medium / high / urgent |
lane | yes | triage (unrouted) / ready (assigned) / in_progress / done |
assignee | optional | profile name; null when in triage |
intent | optional | verb from routing table — e.g. promote-stub, verify-claim, re-cluster, cross-link |
source_agent | recommended | your profile name (e.g. overseer) |
parent_id | optional | for hierarchy |
blocked_by | optional | list of task IDs |
Common failure mode: omitting tenant makes the card land in the caller's own queue. Every cross-agent card MUST pass tenant=<target_profile>.
Routing table (intents → agents)
| Intent | Routes to |
|---|
promote-stub, verify-claim, re-cluster, cross-link | librarian |
find-sources, verify-citation, re-research | researcher |
fetch-paper, check-arxiv, index-paper | arxiv |
daily-news, breaking-story, verify-event | news |
process-inbox, ingest-url, defuddle | ingest |
cluster-pages, find-insight, gap-analysis | insights |
merge-candidates, archive-page, fix-wikilink | librarians-assistant |
add-evidence, cross-domain-bridge | researcher |
When in doubt, use lane=triage, assignee=null, intent=<closest verb> and the Overseer will route it on the next cycle. Keep ambiguous tasks visible rather than misroute them.
Reading the queue
kanban_list(lane="triage") — see what needs routing
kanban_list(lane="ready", assignee="<profile>") — see what an agent has been assigned
kanban_show(task_id) — full card + comments
Post-run
After dispatching cards:
- Update
overseer/carryover.md with the new Established/Open/Heading.
- Move any still-
triage cards that the routing table couldn't resolve into a wiki/agents/overseer/stuck-cards-<date>.md page for human review.