title, created, updated, type, tags
| title | created | updated | type | tags | |
|---|---|---|---|---|---|
| Index | 2026-06-18 | 2026-06-26 | meta |
|
Index
Content catalog. Every page listed under its type with a one-line summary. Last updated: 2026-06-26 | Total pages: 52
Hub
- Home — landing page, what this wiki is and how to read it
- Agent Onboarding — mandatory reading for any new agent session
- Write Protocol — how to add or update entries
- Lore Git Repo — where the wiki lives, deployment notes
Meta
- Schema — conventions, tag taxonomy, frontmatter rules
- Index — this page
- Log — append-only action history
People
- Kaysser — who you are, your style, your infrastructure
Infrastructure
- Foundry VTT — the local Foundry v14 environment, dnd5e 5.3.3
- Playwright Foundry Tests — headless browser tests against Foundry UI
- Homelab — the Xeon/4080 rig, network, self-hosted services
- Gitea Deployment — how to deploy code + wikis to the homelab Gitea
- Gitea Actions — self-hosted CI/CD pipeline + registry quirks
- Hermes Stack — Hermes Agent runtime, API server, dashboard, kanban, LiteLLM
- Cloudflare DNS — damascusfront.net zone + record inventory
- SSH Hardening — post-incident 2026-06-16 SSH config + IR protocol
- Damascus Orchestrator — self-hosted work-item state machine (Phase 1 testing, MySQL+BMAD+Claude Code)
- Bb1 Proxmox Host — Proxmox host with LXC 102 "internal" = Docker host; topology + SSH paths
Projects
- Battle Focus — Foundry module, state, slice history, current target
- Iron Requiem — Phaser 3 tank bullet hell, single-player
- Restitution — Colyseus multiplayer tank game, invite-code rooms
- WH40K Points Comparator — React/MUI DataGrid, MFM version comparison
- Osmosis Trader — autonomous TWAP-reversion bot on Osmosis chain
- Ultra Todo — local-first Trello-style kanban, React 19 + Vite 6
- Mardonar Specs — YAML encounter spec corpus (grimdark D&D), feeds the bot via build-time inject
- GraphMCP Example — Go stack: Neo4j + Redis Streams + 7 ingestion workers + MCP server; the substrate
- Lore Engine — merged MCP runtime: world ontology + time model + planes + consistency engine; absorbs GraphMCP
Decisions
- 2026-06-18 Foundry Skill Tree Restructure — 14 flat sub-skills → 5 thematic branches
- 2026-06-19 Lore Wiki as Long-Term Memory — split agent memory ↔ durable wiki
- 2026-06-19 Self-Hosted Gitea Actions — full GitOps, no external CI
- 2026-06-26 Lore Engine GraphMCP Merge — fold GraphMCP substrate into Lore Engine; Mardonar Specs stays as content; bot hooks both ways (log_encounter + raw.dialogue)
- 2026-06-26 Lore Engine GraphMCP Merge Research — companion research file: verified state, 6 rejected alternatives, prior-art survey, 3 production scenarios
Patterns
-
Headless Browser vs npm test — when to use which verification tool
-
Slice Closeout Checklist — the version-bump ritual that ships every slice
-
Verify Gate — required VERIFICATION.md + verify.sh for every deploy
-
Orchestrator Default Resolves Policy Choices — don't escalate design choices
-
Pivot Fast Diagnose First — 5 lessons on when to stop and rethink
-
Single Word Check-ins — status queries want 2-3 sentences, not narration
-
Browser Verify First — fresh navigate + screenshot, never reuse cached
-
Hermes Profile Routing — orchestrator ≠ dev; assign by task shape, not capability
-
Adversarial Architecture Review — Gemini-flash as cold reviewer BEFORE dispatching code
-
LLM Cost Caps — Ollama $100/mo, Gemini $20/day, sub-agent routing
-
Stop and Report Don't Guess — when next move needs info you don't have
-
Repeated Instruction Is Hard Act Now — 2nd+ ask = friction, act
-
Host Ollama Loopback Quirk — host binds 127.0.0.1; containers must go through LiteLLM
-
Proactive Memory Hygiene — surface memory state before it becomes a problem
-
Lore Push Clobber Protection — surgical
patchnot wholesalecp; per-file eyeball check -
Review Approval Is Boundary Not Launchpad — don't do the worker's follow-on after approval
-
Verify Per Phase Artifacts — never trust state advances without verifying artifacts exist
-
Kanban Watchdog Is Pinger Not Coordinator — watchdogs observe, don't reconcile kanban↔Gitea
-
Kanban Watchdog Pitfalls — symbol coverage, snapshot lifecycle, profile isolation
-
Damascus Orchestrator BMAD Onboarding — author _bmad-output/, validate with test-ingest.sh, bind mount, ingest, monitor
-
Damascus MCP Fix 2026-06-26 — silent tools/call bug, FastMCP-vs-Server, deploy + image-bake trap
-
P6a Split + Operator Merge Pattern — split oversized tasks, operator merges review-required branches
-
Self-Hosted Memory Architecture — MEMORY.md / lore wiki / Honcho split, decision rule, migration flow
-
Three PR 21 Process Rules — serial actions, read stderr verbatim, don't trust worker local-green when CI is red
Pitfalls
- Docker Compose Restart Trap —
restartdoesn't rebuild, must useup --build - Phaser Anims Clobber —
this.anims = ...destroys Phaser's AnimationState - Kanban Worker Skill Loading — workers can't load category subdir skills
- React Vite Mobile Trap — CORS header needed for Vite dev on mobile
- Mobile Flex Only — never fixed pixel widths on mobile
- Ambiguous Project References — "Sprint 3" can mean anything; always confirm
- Bash Tool Quirks — bash-pitfalls regex false-positives, sshpass
-oordering, skill_manage YAML, kanban--failure-limit=2circuit breaker
Log
- Log — append-only action history