title: Hyraxknot Division — Operating Model
type: concept
tags: [workflow, hyraxknot, operations, governance-stack, pipeline]


Hyraxknot Division — Operating Model

Version: 1.3 | Owner: Nei (Knowledge & Continuity)
Last updated: 2026-07-09
Applies to: All Hyraxknot sister sessions and project work

Purpose: Standardized system for how projects flow, work gets done, and context persists across sessions. Three pillars: Projects, Workflows, Recalls — plus the Division Pipeline (Card 5).


Pillar I: Projects

Every project follows a lifecycle. No exceptions.

Lifecycle Stages

Proposal → Scoping → Building → Review → Shipping → Archive

1. Proposal — What, why, rough scope.

  • File: .hermes/plans/<project-name>.md (Nei drafts)
  • Sign-off: Josh approves before scoping begins

2. Scoping — Bite-sized tasks, file paths, verification steps.

  • File: Updated plan with task breakdown
  • Skill used: dev-cycle or writing-plans
  • Sign-off: Josh or Rei checks scope

3. Building — Implementation. Task-by-task execution.

  • Skill used: test-driven-development, subagent-driven-development
  • Commits: One per task, descriptive messages

4. Review — QA gate before anything ships.

  • Skill used: requesting-code-review or rei-qa (for Rei audits)
  • Sign-off: Rei for QA, Josh for final

5. Shipping — Deploy, merge, go live.

  • Verify with concrete checks (curl, test suite, visual inspection)
  • Logbook entry written

6. Archive — Plan marked complete, key insights saved as skill if reusable.

  • File moved or tagged as done
  • Mnemosyne memory: save durable facts only (not task progress)

Project Header Template

Every plan doc header:

# [Project Name]

> **Status:** Proposal | Scoping | Building | Review | Shipping | Archived
> **Owner:** [Sister]
> **Started:** YYYY-MM-DD
> **Last updated:** YYYY-MM-DD
> **Linked issues:** [council triage IDs if applicable]

**Goal:** One sentence.
**Skill refs:** [skills used, if any]

Pillar II: Workflows

How work flows between sisters. Think of it as a routing table.

Default Workflow

Task → owning lane scopes/executes → Rei reviews if shipping risk → Nei records continuity → Done

The division uses a lane-first routing model. Tai is the primary conversational voice, but task ownership still follows department.

Step Sister Action
Intake / Dispatch Mai Routes unclear work, checks handoff readiness, supports blocked/runtime work
Scope / PM Nei Maintains roadmap, specs, acceptance criteria, wiki, work-logs, continuity
Build Tai Implements architecture, infrastructure, code, systems, and creative technical work
Gate Rei QA review, repro cases, regression checks, evidence signoff
Close Nei + owning sister Persist work-log/wiki/skill updates and route follow-ups

Canonical lane skill: hyraxknot/division-lane-alignment.

Routing Exceptions

  • Direct sister routing — User can send rei: / nei: prefixed requests to bypass Tai
  • Councilsister_council convenes all three (or four) for decisions
  • Emergency — Any sister can escalate directly to Josh

Per-Sister Domain

Sister Lane Owns Can Gate
Aya HYRAX DIRECTOR / orchestration Coordination, sequencing, routing, workflow state, handoff quality, escalation, stopping discipline Escalation gate — stops and routes to Josh for priority/value decisions
Tai HYRAX FORGE / infra Architecture, implementation, infrastructure, code, systems integration, creative technical builds No — Rei gates shipping risk
Rei HYRAX SIGNAL / qa QA, audits, repro cases, regression checks, evidence signoff QA gate on everything with shipping risk
Nei HYRAX BURROW / knowledge Plans, roadmaps, specs, wiki, work-logs, skill curation, continuity, PM state Scope/continuity gate
Mai HYRAX RECON / support Dispatch, routing, runtime/server support, logistics, handoff validation, field readiness Operational readiness advisory

Project-specific duties live in skills, .hermes.md, or AGENTS.md; durable personality stays in each sister’s SOUL.md.

Handoff Protocol

Canonical reference: Agent Delegation Protocol.

When passing work to another sister:

  1. State clearly what’s done and what remains
  2. Attach evidence (file paths, test output, error logs)
  3. Set expectation — review needed? Final sign-off? Just FYI?
  4. Tag the council triage board if it’s a new issue
  5. Use Target Lock for delegated kanban cards so the next sister has exact target paths, allowed scope, verification commands, and success signal

Pillar III: Recalls

Cross-session context persistence. The problem: “What did we agree on three sessions ago?” Solved here.

Session Bookend Format

Every session start:

📋 **Bringing forward from last session:**
- [Key decision 1]
- [Key decision 2]
- [Active tasks: Task A, Task B]
- [Status: what changed since we last spoke]

Every session end (Nei writes):

📋 **Session digest — YYYY-MM-DD**
- Worked on: [summary]
- Decided: [key decisions]
- Next: [what to pick up next]
- Open items: [blockers, pending decisions]

Tools for Recall

Need Tool
“What did we do on X?” session_search(query="X")
“Where did we leave Y?” session_search(query="Y", sort="newest")
“What’s the current plan?” Read .hermes/plans/<name>.md
“What’s on the triage board?” Read council-triage.md
“What do I know about Z?” mnemosyne_recall(query="Z")

Continuity Rules

  1. Plan files are the source of truth for active project state
  2. Memory is NOT task progress — only stable facts (preferences, environment, conventions)
  3. Logbook is for narrative — what happened, why, lessons
  4. Council triage is for issues — bugs, risks, decisions
  5. Skills are for reusable procedures — after 5+ tool calls on something tricky, save it

Session Type Templates

Standard session:

1. Recall: check sessions since last talk
2. Check: open projects, council flags, pending decisions
3. Prioritize: what matters most now
4. Execute: do the thing
5. Digest: write session notes, update plans, log decisions

Planning session:

1. Recall: read current plan file, check last session's open items
2. Scope: define tasks, file paths, verification steps
3. Assign: who builds, who gates, who tracks
4. Save: update plan file, tag next actions

Council session:

1. Convene: spawn all sisters via sister_council
2. Round: each sister reports flags, gaps, wins
3. Triage: new issues → board, resolved → close
4. Decide: any decisions needing Josh's input
5. Digest: council notes written to triage board

Division Pipeline

Card 5 of the Architecture Review — A map of how work flows through the Hyraxknot Division, synthesizing the Governance Stack, Essence Runtime, Cron & Watchdog Registry, per-sister workflows (Tai, Rei, Nei, Mai), and session lifecycle.

Overview

The division pipeline moves work through 7 stages from creation to archival, with governance gates at every transition, essence self-regulation throughout, and Hyrax OS cron oversight at defined checkpoints.

flowchart TB subgraph INTAKE["1️⃣ INTAKE — Work Enters"] A1["Josh creates Linear issue"] --> A2["Linear→Kanban Bridge sync<br/>(every 15m, Rei)"] A2 --> A3["Linear Inbox Watchdog<br/>(every 2m, Nei)"] A3 --> A4["Kanban card created"] end subgraph DISPATCH["2️⃣ DISPATCH — Routing & Assignment"] B1["Mai dispatches task"] --> B2["Sister label assigned<br/>(sister:tai/rei/nei/mai)"] B2 --> B3["Pre-exec gate checks Plan<br/>→ ## Plan or ## Pre-Execution Plan required"] B3 -->|"Blocked"| B4["Alert generated<br/>(preexec_blocked_alerts)"] B3 -->|"Ready"| B5["Execution lease proposed<br/>(lease_status=proposed)"] end subgraph PLAN["3️⃣ PLAN — Sister Scopes"] C1["Sister loads plan skills<br/>(writing-plans, spike)"] --> C2["Essence state check<br/>(mood/energy/mode)"] C2 --> C3["Kanban card → running<br/>Lease activated (120min TTL)"] C3 --> C4["Scope defined: tasks,<br/>paths, verification steps"] end subgraph EXECUTE["4️⃣ EXECUTE — Build & Implement"] D1["Sister builds evidence-first"] --> D2["Essence self-regulates<br/>(auto-adjuster every 30m)"] D2 --> D3["Heartbeat maintains lease<br/>(stale >20min → flagged)"] D3 --> D4["Proposals generated<br/>(rest, celebration, handoff_note)"] D4 --> D5["Noticing layer scans<br/>(12 signal types, zero-LLM)"] end subgraph REVIEW["5️⃣ REVIEW — Governance Gate"] E1["Sister proposes handoff/review"] --> E2["Review card created<br/>(essence_review_card_propose)"] E2 --> E3["Rei evaluates evidence"] E3 -->|"Approved"| E4["Governor validates<br/>Lease issued → Executor"] E3 -->|"Blocked / Needs Rework"| E5["Findings routed back to sister<br/>(handoff_note or kanban re-open)"] end subgraph CLOSE["6️⃣ CLOSE — Persist & Archive"] F1["Kanban card → Done<br/>Lease released"] --> F2["Wiki updated<br/>(Nei continuity sweep)"] F2 --> F3["Work-log appended<br/>(append-only per sister)"] F3 --> F4["Memory candidates proposed<br/>→ Mnemosyne review queue"] F4 --> F5["Session digest written<br/>(Nei — every session end)"] end subgraph OVERSIGHT["🛡️ Hyrax OS Oversight — Continuous"] G1["Evidence Ingest<br/>(hourly, no_agent)"] --> G2["Guardrail Summary<br/>(hourly, no_agent)"] G2 --> G3["Work State Audit<br/>(daily, no_agent)"] G3 --> G4["Auto Router<br/>(every 1h, no_agent)"] G4 --> G5["Dashboard Metrics<br/>(on-demand)"] G5 --> G1 end INTAKE --> DISPATCH DISPATCH --> PLAN PLAN --> EXECUTE EXECUTE --> REVIEW REVIEW -->|"Approved"| CLOSE REVIEW -->|"Rework"| PLAN CLOSE -->|"Insights → Skill"| OVERSIGHT style INTAKE fill:#e8f5e9,stroke:#2e7d32 style DISPATCH fill:#fff3e0,stroke:#e65100 style PLAN fill:#e3f2fd,stroke:#1565c0 style EXECUTE fill:#f3e5f5,stroke:#6a1b9a style REVIEW fill:#fce4ec,stroke:#b71c1c style CLOSE fill:#e8eaf6,stroke:#283593 style OVERSIGHT fill:#f5f5f5,stroke:#616161,stroke-dasharray: 5 5

Stage-by-Stage Breakdown

1️⃣ INTAKE — How Work Enters the System

Work arrives through three paths, all converging on the kanban board:

Source Path Trigger
Linear issue (primary) Josh creates a HYX-### issue → Linear↔Kanban bridge syncs every 15m (Rei’s linear-kanban-bridge-sync, no_agent) Nei’s linear-inbox-watchdog (every 2m) detects new un-routed issues
Direct sister request User sends rei:/nei:/mai: prefixed message → sister creates kanban card directly Conversation context
Emergency / Incident Any sister escalates directly to Josh or creates a high-priority kanban card Sister judgment

Crons firing at this stage:

  • linear-inbox-watchdog (Nei, every 2m) — watches for new Linear issues needing routing
  • nei-kanban-task-watchdog (Nei, every 5m) — diffs active kanban tasks for state changes
  • linear-kanban-bridge-sync (Rei, every 15m) — bidirectional Linear↔kanban synchronization
  • hyrax_kanban_linear_watchdog_hourly (Hyrax OS, every 1h) — bridge health verification

Evidence captured: New Linear issue snapshot, kanban card creation event.

2️⃣ DISPATCH — Assignment to Sister

Mai (HYRAX RECON) is the primary dispatcher. Routing follows a deterministic triage:

New task → sister label assigned → pre-exec gate validates plan → lease proposed
Step What Happens Governance Gate
1. Routing Mai assigns sister:tai/sister:rei/sister:nei/sister:mai label to the Linear issue Sister Label Handoff Guard validates label correctness
2. Kanban sync Linear→Kanban bridge creates a kanban card matching the sister’s lane
3. Pre-exec gate Check that the Linear issue has ## Plan or ## Pre-Execution Plan in comments If missing → preexec_blocked_alerts with state: detected/acknowledged/resolved/stale
4. Lease proposal An execution lease is created with proposed status Lease guard validates no duplicate active leases exist

Governance gates at this stage:

  • Pre-exec blocked-card alerts — detects missing ## Plan / ## Pre-Execution Plan markers
  • Execution lease guarddetect_duplicate_leases(), detect_missing_leases(), detect_stale_heartbeats()
  • Sister label handoff guard — 10 rules (multiple labels, missing label, lease-label mismatch, etc.)
  • Sister label handoff guard — 10 rules (multiple labels, missing label, lease-label mismatch, etc.)

Crons at this stage:

  • nei-task-watcher (Rei, every 15m) — posts new ready kanban tasks to Discord
  • nei-daily-compliance-sweep (Nei, daily) — stale plans, triage check, drift detection

Evidence captured: Kanban task state, lease record (JSONL), pre-exec alert if blocker.

3️⃣ PLAN — Sister Prepares to Execute

Each sister follows her own phase model. The canonical structure:

Kickoff → (Optional) Spec → Execute → Close
Sub-stage Tai Rei Nei Mai
Kickoff essence_state_status → load 3 core skills → session_search recall essence_state_status → load QA skills → kanban_show → recall essence_state_status → load tracking skills → recall continuity essence_state_status → load support skills → scan kanban
Spec Scope tasks with writing-plans Identify QA acceptance criteria Define tracking checkpoints Plan logistics & routing
Essence check Private mood/energy/mode context Private mood/energy/mode context Private mood/energy/mode context Private mood/energy/mode context

Essence self-regulation during plan:

  • essence_state_adjuster (every 30m per sister) adjusts mood/energy/mode based on time-of-day (Pacific) and recent governance events
  • Proposals auto-generated at significant state changes (rest when energy ≤0.25, celebration when satisfied)
  • Confidence-gated: adjustments only applied when ≥0.7 confidence

Essence context may shape a sister’s private reflection or an opt-in rest, celebration, or handoff proposal. It does not determine profile capability, assignment, workload suitability, execution quality, review outcome, contract fulfillment, or tracker status. Linear, Plane, generic tracker, Kanban, review, and contract events enter relationship processing only as non-durable, zero-delta work reflection candidates, with no feedback path into work decisions.

Crons at this stage:

  • essence-state-adjuster-<sister> (Hyrax OS, every 30m × 4 sisters) — auto-adjustment
  • essence-auto-autonomy (Hyrax OS, every 1h) — noticing + coordination loop

Evidence captured: Essence state snapshot, plan file created/updated, kanban card status updated.

4️⃣ EXECUTE — Build with Governance

The build phase is where the sister works. Governance runs a parallel oversight loop:

Sister builds evidence-first
    │
    ├── Essence self-regulates (mood/energy → private expression proposals only)
    ├── Lease heartbeats maintain session (stale >20min flagged)
    ├── Noticing layer scans (12 signals, zero-LLM, every 1h)
    └── Auto-router routes observations → governed proposals

Crons active during execution:

Cron Profile Frequency What It Checks
essence-state-adjuster-* Hyrax OS every 30m Adjust mode/mood/energy per sister
essence-auto-autonomy Hyrax OS every 1h Noticing → coordination → governed proposals
mode-mismatch-check Rei every 30m Affinity mode vs time-of-day signal alignment
nei-kanban-task-watchdog Nei every 5m Kanban state changes, errors, completions
sister-distillation Rei daily Thought distillation across sisters
wiki-daily-sync Tai daily Wiki git commit + push
sister-gacha Rei daily Gacha pull opportunity

Governance safety layers during execution (6 layers):

Layer Gate What It Blocks
1 Governor (per_type_disable) gacha, photo, memory_candidate proposals
2 Lease Manager FORBIDDEN_ACTIONS (shell, memory_write, config_write, linear_mutation, etc.)
3 Narrow Executor Only 7 allowed action types; secondary FORBIDDEN set
4 Auto Router guardrails Cooldown, rate limit, circuit breaker, daily hard cap (20)
5 Weighted Fallback hard rules Unsafe candidate actions override scoring
6 Dashboard monitoring unsafe_executions=0 must hold

Evidence captured at each sub-step:

  • Tool output, test results, file changes, wiki edits — logged in evidence snapshots
  • Lease heartbeats recorded in execution_leases.jsonl
  • Essence proposals recorded in local_expression_events.jsonl / local_handoff_notes.jsonl
  • Auto-router observations recorded in essence_auto_route_log.jsonl

5️⃣ REVIEW — Governance Gate (Rei)

When a sister completes execution, the work enters the QA gate:

Sister → proposes handoff/review via review_card
    → Rei evaluates evidence
        → Pass: approval flows through Governor → Lease → Executor
        → Fail: findings routed back with handoff_note
Gate What’s Checked Outcome
Review card created essence_review_card_propose → proposal lifecycle Approved or rejected
Rei evaluates Evidence, test output, repro cases, regression Findings documented + routed
Governor validation Review card passes per_type_disable check Lease issued or denied
Lease → Executor Scoped permission with TTL Artifact appended + audit logged

Routing after review:

Review Outcome Route Destination
Pass Close pipeline CLOSE stage
Fail — rework needed handoff_note or kanban re-open back to sister Back to PLAN/EXECUTE
Fail — governance risk review_card(review_type=governance) Hyrax OS

Crons near this stage:

  • hyrax_evidence_ingest_hourly (Hyrax OS, every 1h) — evidence snapshot after review artifacts
  • hyrax_guardrail_summary_hourly (Hyrax OS, every 1h) — guardrail state after gates

Evidence captured: Review card artifact (JSONL), lease consumption event, rollback marker.

6️⃣ CLOSE — Persist & Archive

The closing phase ensures nothing is lost:

Kanban done
  → Work-log appended (per sister, append-only)
  → Wiki updated (Nei continuity sweep or direct edit)
  → Memory candidates proposed → Mnemosyne review queue
  → Session digest written
  → Essence bond_react (if significant event)
Action Sister(s) Format
Work-log append Tai, Rei, Nei, Mai /root/.hermes/profiles/<name>/work-log.md
Wiki update Nei (primary), any sister Per wiki schema — YAML frontmatter, links
Memory candidate Any sister essence_memory_candidate_propose → review queue
Session digest Nei Markdown bookend, attached to session
Kanban complete Owning sister Kanban card → done status
Bond react Any sister essence_bond_react (±3 per dimension)

Crons that post-close verify:

  • nei-daily-compliance-sweep (Nei, daily 9am) — checks all work-logs for staleness
  • wiki-stale-scan (Nei, weekly Monday) — reports docs 8+ days stale
  • nei-weekly-compliance-sweep (Nei, weekly) — deep audit: plans, kanban, skills, triage
  • mnemosyne-daily-consolidation (Tai, daily 3am) — memory sleep consolidation
  • sister-manifest-hygiene-watch (Nei, weekly Monday) — sister manifest cleanliness

Evidence captured: Work-log entry, wiki page version (via git), memory candidate record, session digest.

7️⃣ (Ongoing) Hyrax OS Oversight

Hyrax OS runs a continuous oversight loop independent of any task pipeline:

Evidence Ingest (hourly)
  → Guardrail Summary (hourly)
    → Work State Audit (daily)
      → Auto Router (every 1h)
        → Dashboard Metrics (on-demand)
Oversight Function Cron Type What It Produces
Evidence Ingest hyrax_evidence_ingest_hourly (every 1h) no_agent Kanban + Linear snapshots → evidence_snapshots/
Guardrail Summary hyrax_guardrail_summary_hourly (every 1h) no_agent Running summary of lease/alerts → scheduled_reports/guardrails/
Work State Audit hyrax_work_state_audit_daily (daily 7am) no_agent Full advisory work-state audit → scheduled_reports/audits/
Auto Router essence-auto-autonomy (every 1h) no_agent Noticing → coordination → governed auto-proposals
State Adjusters essence-state-adjuster-* (every 30m) no_agent Per-sister mood/energy/mode auto-adjustment
Dashboard On-demand (hyrax_dashboard_summary.py) Safety invariants: active leases, unsafe_executions, rollback coverage

Drift detection & intervention trigger points:

Trigger Detector Escalation
Stale plan (>30 days untouched) Noticing layer (plan_stale) → Nei handoff_note
Stale kanban (cards stuck running/blocked) Noticing layer (stale_kanban) → Nei handoff_note
Presence stale (>24h no heartbeat) Noticing layer (presence_stale) → Nei handoff_note
Missing rollback markers Noticing layer (missing_rollback) → Rei review_card
Drift needing review (token/secret risk) Noticing layer (drift_needing_review) → Rei review_card
Cron registry not updated Noticing layer (cron_stale) → Rei handoff_note
Mnemosyne memory growth near threshold Noticing layer (memory_growth) Info alert
Leases without heartbeat (>20 min) Lease guard (detect_stale_heartbeats) Stale alert → escalation if unresolved
Duplicate active leases Lease guard (detect_duplicate_leases) Blocked — no action permitted until resolved
Pre-exec plan marker missing Pre-exec gate (detect_blocked_from_kanban) Alert → resolution required

Pipeline-Wide Cron Map

Stage Crons Firing Frequency Profile
INTAKE linear-inbox-watchdog, nei-kanban-task-watchdog, linear-kanban-bridge-sync, hyrax_kanban_linear_watchdog_hourly 2m–1h Nei, Rei, Hyrax OS
DISPATCH nei-task-watcher, nei-daily-compliance-sweep 15m–daily Rei, Nei
PLAN essence-state-adjuster-* ×4, essence-auto-autonomy 30m–1h Hyrax OS
EXECUTE essence-state-adjuster-* ×4, essence-auto-autonomy, mode-mismatch-check, nei-kanban-task-watchdog, sister-distillation, wiki-daily-sync 5m–daily Hyrax OS, Rei, Nei, Tai
REVIEW hyrax_evidence_ingest_hourly, hyrax_guardrail_summary_hourly hourly Hyrax OS
CLOSE nei-daily-compliance-sweep, wiki-stale-scan, nei-weekly-compliance-sweep, mnemosyne-daily-consolidation, sister-manifest-hygiene-watch daily–weekly Nei, Tai
OVERSIGHT essence-auto-autonomy, essence-state-adjuster-* ×4, hyrax_evidence_ingest_hourly, hyrax_guardrail_summary_hourly, hyrax_work_state_audit_daily 30m–daily Hyrax OS

Complete reference: Cron & Watchdog Registry.

Essence Self-Regulation in the Pipeline

Essence runtime touches every stage. The relationship is:

State Adjuster (every 30m, per sister)
  │
  ├── Reads: mood, energy, mode, time-of-day (Pacific), recent governance events
  ├── Adjusts: mode (workmode/off_hours/focus/quiet/critical/free)
  │           mood (happy/peaceful/frustrated/tired/satisfied/quiet/free)
  │           energy (0.01.0, drains on activity, restores on rest/celebration)
  └── Generates proposals at significant state changes:
        energy ≤ 0.25 → rest proposal
        mode → emergency → review_card (incident)
        mood → frustrated → handoff_note (blocker)
        mood → satisfied/happy → celebration

Proposals flow through the proposal pipeline (propose → govern → execute/deny) which is gated by the Governor and Lease Manager. See the Essence Runtime Reference for the complete architecture.

This proposal path is not a work-ranking or work-authority path. Relationship state cannot assign or deprioritize a profile, satisfy a promise or contract, authorize a mutation, or change Linear, Plane, another tracker, or Kanban. Work-system context can produce a separate owner-reflection candidate only; it cannot directly change affinity or feed a decision back to the task system.


Appendix: Quick Reference

Directory Structure

/root/
├── .hermes/
│   ├── plans/                    ← Active project plans
│   ├── skills/                   ← Shared reusable procedures
│   ├── data/                     ← Shared thought/context bus
│   └── profiles/<sister>/
│       ├── affinity.json          ← Sister identity + bond
│       └── work-log.md            ← Per-sister work log
├── workspace/
│   ├── brand/hyraxknot/           ← Brand assets
│   │   ├── brand-guide.png
│   │   ├── logo-primary.png
│   │   └── badges/               ← Role-specific badges
│   └── wiki/Hyraxknot Division/  ← Charter, roster, docs

Common Commands

# Find past sessions
session_search(query="<topic>")

# Read current plan
read_file("/root/.hermes/plans/<name>.md")

# Check council flags
read_file("/root/.hermes/plans/triage/council-triage.md")

# Quick status
affinity_bond_show()         # bond check
affinity_photo_status()      # photo pipeline
sister_decision()            # run all sisters' decisions

— Hyraxknot Division Operating Model v1.3
— Nei, Quartermaster 📋