Abiba d31ae0c25a Verify-before-mutate doctrine: annotate live-state fields, fix stale Zulip IP (.117→.19)
- Added FIELD TRUST convention to frontmatter (live-state vs policy fields)
- Marked credentials/IPs with VERIFY-BEFORE-USE labels
- Fixed 3 stale Zulip IP references (.117 → .19) that caused the 2026-07-03 outage
- Added verify-before-mutate skill reference
- See knowledge graph node #604 for post-mortem
2026-07-03 20:10:45 +00:00

Prose Contracts — Syslog Solution LLC

Operating contracts for Syslog agents. Each .prose.md file defines a function (callable helper), responsibility (recurring duty with state), or pattern (instantiable knowledge/template) that agents can execute via OpenProse or follow manually.

How Agents Run These Contracts

Option A: Via OpenProse CLI (preferred)

prose run <contract-name> [param1=value1 param2=value2 ...]

Examples:

# Run a memory audit with default parameters
prose run memory-audit-maintenance

# Run a memory audit with custom threshold
prose run memory-audit-maintenance memory_threshold=90 verify_configs=true

# Configure a new agent with the template
prose run hermes-config-template agent_name=syslog-devops default_model=claude-sonnet-4

# Configure an agent with a different auxiliary model
prose run hermes-config-template agent_name=syslog-code default_model=qwen3.6-27B-code auxiliary_model=gemma-4-12b

Option B: Manual Execution

If prose CLI isn't available, any agent can:

  1. Fetch the raw contract: curl -sL https://git.sysloggh.net/SyslogSolution/prose-contracts/raw/branch/master/<filename>
  2. Read the Execution section
  3. Follow the steps

Example for fetching:

curl -sL https://git.sysloggh.net/SyslogSolution/prose-contracts/raw/branch/master/memory-audit-maintenance.prose.md

Available Contracts

Responsibilities (Recurring Duties — kind: responsibility)

Run on trigger or schedule. Maintain persistent world-model state across runs.

Contract Domain Description
memory-audit-maintenance Memory Audits & reorganizes an agent's native memory (MEMORY.md, USER.md). Categorizes entries, moves rules to skills, verifies configs.
build-zulip-plugin Zulip Generates and iteratively improves a Hermes Zulip platform plugin. Each run produces a new version.
zulip-health Zulip Checks Zulip connectivity, message flow, and bot responsiveness.
zulip-mention-reliability Zulip Diagnoses and fixes @mention detection issues in Zulip.
zulip-approval-fix Zulip Fixes broken /approve and /deny slash commands for Hermes agents.
litellm-self-heal LiteLLM Standing responsibility — monitors LiteLLM health and auto-remediates: key rotation, container restart, config reload, roster fixes.
gpu-fleet GPU Manages the GPU inference fleet: model deployment, registration, health checks, LiteLLM sync.
gpu-monitor GPU Comprehensive GPU fleet monitor — polls sidecars, router, LiteLLM every 15s, renders SSE dashboard.
proxmox-monitor Infra Proxmox cluster + Docker monitoring via the existing Grafana/Prometheus stack on CT 116.
pm2-self-heal Ops Monitors PM2 processes (abiba-zulip, abiba-telegram) and auto-restarts any that are stopped or errored.

Instantiable Templates (kind: pattern — run with prose run)

Generate configs or perform a transformation on demand. No persistent state.

Contract Description Key Parameters
hermes-config-template Standard Hermes config for any Syslog agent. Enforces shared infra (Firecrawl, SearXNG, RA-H OS MCP, LiteLLM). agent_name (required), default_model, auxiliary_model

Reference Documents (kind: pattern — read for context, not run)

Encode topology, architectural decisions, and lessons. You read them before planning; you don't prose run them.

Contract Description
infrastructure-control Full topology and control pattern: 5-node Proxmox cluster, 3 Docker ecosystems, NFS storage, network verification, IP-first configuration doctrine.
pi-approval-architecture pi's approval model vs Hermes, available commands, architectural constraints.
zulip-adapter-lessons Failure modes, fixes, and patterns from building the pi Zulip extension and Hermes Zulip plugin.

Functions (kind: function — callable helpers, no state)

Called on-demand as single-render tools.

Contract Description
litellm-health Verifies LiteLLM inference stack health: containers, router, GPU fleet, model inference, agent keys.
infrastructure-monitoring Deploys Prometheus + GPU exporters + Grafana to monitor the inference fleet from CT 116.
hello-world Minimal test contract — verifies the OpenProse execution pipeline works.

Scripts (scripts/)

Companion shell scripts that contracts delegate to.

File Description
daily-infra-report.py Generates the daily infrastructure dashboard (HTML email to jerome@sysloggh.com).
zulip-monitor.sh Monitors Zulip bot health and message flow.
pm2-self-heal.sh Shell companion to the pm2-self-heal contract — restarts crashed PM2 processes.

Contract Structure

Kinds determine the section set.

kind: responsibility (recurring duty with persistent state):

## Maintains      — World-model state this contract tracks
## Parameters     — Tunable inputs (with defaults)
## Requires       — External dependencies and preconditions
## Continuity     — When to run (triggers & cadence)
## Remembers      — What to learn between runs
## Invariants     — Inviolable rules for execution
## Execution      — Step-by-step instructions
## Example Output — What a good run looks like

kind: function (stateless callable helper):

## Parameters    — Tunable inputs (with defaults)
## Returns       — Output schema
## Requires      — External dependencies
## Execution     — Step-by-step instructions

kind: pattern (instantiable knowledge):

Variable — templates use Parameters + Execution; reference docs are prose-driven.

kind: gateway / kind: test — not currently used in this repo.

Adding New Contracts

  1. Create a .prose.md file following the structure above
  2. Push to this repo
  3. The contract is immediately available for any agent to prose run

Repository

S
Description
OpenProse contracts for Syslog agent mesh — health checks, deployments, workflows
Readme
950 KiB
Languages
Python 68.7%
Shell 31.3%