Four-stage IT incident response pipeline: Triage → Investigation → Remediation → Comms. Hermes Agent + Notion Kanban (HITL interface) + Confluence (KB/RAG).
The demo illustrates a three-layer memory architecture: Confluence (knowledge memory),
Hermes FTS5 sessions (operational memory), and Notion Kanban (workflow memory / HITL
interface). See presentation/slides-minimal.md for the full design rationale.
Incidents move through columns as each stage completes. The card comment thread is the observable surface — agent output, operator notes, and HITL interventions all land here.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtHermes Agent is the CLI used to run each pipeline stage. It is installed from source via
requirements.txt(NousResearch/hermes-agent). After install, thehermescommand is available in the activated venv.
Create a .env file in the repo root with the following (all required):
ANTHROPIC_API_KEY=...
CONFLUENCE_EMAIL=...
CONFLUENCE_API_TOKEN=...
CONFLUENCE_URL=https://<site>.atlassian.net/wiki
AGENT_TOWER_CONFLUENCE_SPACE=ATKB
NOTION_TOKEN=secret_ntn_...
NOTION_KANBAN_DATABASE_ID=<32-char database ID from Notion URL>
Prerequisites: you need a Confluence Cloud instance with the KB space seeded (
python corpus/seed_confluence.py) and a Notion database set up (python scripts/setup_kanban.py). Use--fixturesmode (see Tests) to run the pipeline without Confluence or Hermes API calls.
Cost: each full pipeline run (Triage → Comms) makes 4-8 Anthropic API calls. Expect roughly $0.05-0.15 AUD per run with
claude-sonnet-4-6and prompt caching. Use--fixturesmode for cost-free rehearsal.
Working directory: all
hermesandpython src/pipeline.pycommands must be run from the repo root. Hermes resolvesstate.dbrelative to CWD — running from a different directory silently writes sessions to the wrong location, breaking Run 2 recall.
export HERMES_HOME=$PWD/hermes
hermes chat # interactive session
hermes chat -q "..." # one-shothermes/— Hermes Agent config, SOUL.md, session DB, per-stage promptssrc/pipeline.py— orchestrator: Notion API + Hermes subprocess sequencingscripts/— demo lifecycle scripts:demo_setup.py,demo_cleanup.py,setup_kanban.pytools/— Hermes tool implementations (Confluence search + fetch)corpus/— KB articles + Confluence seed scriptscenarios/— incident descriptions + synthetic logs for all three demo runstests/— pytest suite + auto-operator scripts (see Tests below)
source .venv/bin/activate
python -m pytest tests/test_pipeline_parsers.py tests/test_handoff_parsing.py tests/test_gate3b.py -vFor an end-to-end pipeline run with no LLM cost (replays captured Hermes outputs
from tests/fixtures/run-1/, exercises real Notion calls + Steer/Gate timing):
# Terminal 1
python tests/operator_run1.py
# Terminal 2
python src/pipeline.py --incident scenarios/run-1-scenario-modelling.md --fixtures tests/fixtures/run-1.run/ is created by pipeline.py during a real run and gitignored.
tests/fixtures/run-1/ contains pre-captured outputs for cost-free replay.
See DEMO-RUNBOOK.md (Pre-show → Validation) for the full pre-flight checklist.

