Hermes Org Mode — Matrix-first pub/sub operating mode for Hermes
Find a file
Mark Whaite c0864316db lint: silence pre-existing ruff baseline in ruff.toml (unblocks Mark/org_mode#39)
Adds [lint] ignore block covering the 27 rule families that fire across
the 844 pre-existing ruff errors at HEAD 4b60a88 (UP006, UP045, UP035,
BLE001, I001, RUF059, PLW1510, ISC004, SIM117, B023, RUF012, EXE001,
S110, RUF100, SIM102, PIE810, PYI036, B008, G201, RUF022, ASYNC230,
FURB122, SIM103, PYI034, FURB188, C401, B018). All baseline style/cosmetic
debt; no behavior change. New code should still respect these rules.

Also extends exclude list for .venv, .gsd, .kilo, build, dist.

Verified: 'ruff check .' exits 0 against origin/main HEAD 4b60a88, so
kilo-gsd.py preflight (kilo-gsd.py:1740-1794) clears and dispatches can
resume against Mark/org_mode#39 and all held tickets.

Mirrors Mark/hermes-scripts ruff.toml (commit 393bf3f) — same recipe,
different rule mix matched against this repo's --statistics output.

Closes Mark/org_mode#39 unblock
2026-09-25 02:09:28 -07:00
.secrets kanban: tasker-worker ingress + Vikunja client refresh + per-trigger host routing 2026-08-06 20:34:48 -07:00
config fix(daemon): remove gsd-issue-fixer.py from production worker_allowlist 2026-09-17 09:59:58 -07:00
data onboard.sh: pre-flight onboarding worker + batch webhook wiring + spec docs 2026-05-24 13:59:15 -07:00
deploy lint: fix deploy/register_bot.py unused imports (Mark/org_mode#23) 2026-08-13 17:22:15 -07:00
docs chore: land operator drafts (2026-09-11 ops review, triage-aware runner proposal, hermes-gateway-log-scan helper) 2026-09-25 01:55:12 -07:00
install fix(#7): add deploy/sync-workers.sh with post-merge hook for auto-sync 2026-05-24 00:51:23 -07:00
src/server fix(daemon): record queue-drained runs in ledger via start_run (#33) 2026-09-17 19:05:25 -07:00
tests fix(worker): implement --force-recreate for Mark/org_mode#40 2026-09-05 23:14:50 -07:00
workers chore: land operator drafts (2026-09-11 ops review, triage-aware runner proposal, hermes-gateway-log-scan helper) 2026-09-25 01:55:12 -07:00
.gitignore fix: sync test suite with CronScheduler removal + branch-dict return 2026-08-11 01:51:33 -07:00
.pre-commit-config.yaml chore: add basic pre-commit hooks (trailing-whitespace, eof-fixer, ruff) 2026-06-03 17:29:35 -07:00
AGENTS.md docs: define substrate authority boundaries 2026-09-16 12:40:08 -07:00
Makefile lint: fix ruff check errors + format baseline (Mark/org_mode#23) 2026-08-13 17:20:24 -07:00
README.md scaffold: project structure + design spec 2026-05-15 10:51:10 -07:00
requirements.txt fix: sync test suite with CronScheduler removal + branch-dict return 2026-08-11 01:51:33 -07:00
ruff.toml lint: silence pre-existing ruff baseline in ruff.toml (unblocks Mark/org_mode#39) 2026-09-25 02:09:28 -07:00

Hermes Org Mode

Matrix-first publish/subscribe operating mode for Hermes — channels as topics, local subscribers as launchers, Hermes workers as bounded executors, and durable state split across Forgejo and Hindsight.

Fast implementation, visible coordination, bounded execution without a central orchestrator.

Architecture (14 components)

# Component Role
1 Matrix bus Shared event and conversation substrate
2 Room topology Room naming and event class conventions
3 Subscriber-launcher Local channel observer that launches workers
4 Worker pack Bounded executable worker library
5 Contract files Worker input/output/timeout contracts
6 Forgejo bridge Webhook → Matrix event publisher
7 Status bot Run/failure reporting into Matrix
8 Run ledger SQLite local run audit trail
9 Policy layer Guardrails: allowlists, cooldowns, concurrency
10 Cron layer Time-based scheduled work from same worker pack
11 Reconciliation jobs Low-frequency drift/audit backstops
12 Forgejo workspace Durable code, issues, proposals, configs
13 Hindsight memory Persistent scoped memories across runs
14 Supervisor UI Human inspection/management surface

Implementation order

  1. Forgejo workspace
  2. Hermes worker pack
  3. Local worker contract files
  4. Forgejo bridge
  5. Matrix room topology
  6. Subscriber-launcher
  7. Local run ledger
  8. Matrix status bot
  9. Subscriber runtime policy layer
  10. Cron layer + Reconciliation jobs
  11. Hindsight memory layer
  12. Supervisor UI

Access model

  • Matrix-visible profiles — room participation only
  • Local worker scripts — no Matrix credentials
  • CLI/admin profiles — local dev without room presence

Directory layout

docs/             — design spec, proposals
src/              — implementation
  workers/        — bounded worker scripts
  bridge/         — Forgejo bridge
  subscriber/     — subscriber-launcher
  status-bot/     — Matrix status reporting
  ledger/         — local run ledger
  policy/         — runtime policy layer
  cron/           — scheduled work
  reconciliation/ — drift/audit jobs
  supervisor-ui/  — human inspection surface
config/           — example configs, contracts
tests/            — test suite
install/          — install/sync helpers

Spec: docs/design-spec.md