EXTENSIONS
Built by operatives — models, drivers, vaults, and reports, the parts that plug into Swamp.
Filter by what you need and pull what fits.
Redaction
A deterministic published-surface hygiene gate — a CLASSIFIER, not an LLM eval. It answers "does this artifact contain a forbidden identifier?" with rule-based recognizers (private-range IPv4 full-quad, *.ts.net) plus a fleet-aware DENYLIST (owned hostnames / FQDNs / people, matched case-sensitively on word boundaries) and any custom recognizers an instance adds. The flagship `scan` is a HARD GATE: it walks files/dirs and/or inline text and THROWS on a hit by default, so it can back a publish-workflow step, a git pre-push hook, or a Claude Code PreToolUse hook; pass failOnHit=false for an advisory report. `redact` remaps detected identifiers to the swamp-blessed documentation placeholders (RFC 5737 IPs, RFC 2606 example.com). The denylist is the private part — an instance typically derives it via a CEL view over @stateless/inventory, so it grows with the fleet model and is never hand-maintained; the generic recognizers carry no fleet knowledge, so a community checkout with no denylist still runs them. This is the enforced version of the published-surface-hygiene check swamp-club Lab 508 shipped only as advisory.
Table Report
A generic data-table report for any swamp model — render materialised resource data as markdown tables, dataview-style, instead of hand-writing a bespoke report per model. Declare a `tableViews` tag (JSON: a list of {spec, columns, where, sort, limit}) for curated views — the config lives in the model's free-form `tags`, so it works on ANY model type with no schema change — or get an auto-table per resource spec with zero config. Column paths are content-relative (e.g. `facets.pricing.perTBMonth`); filters are scalar- equality. Point it at any model, get tables, no TypeScript.
Sourced Kb
A domain-neutral, sourced, versioned knowledge base — the provenance-aware core generalised out of @stateless/llm-catalog. One uniform `entry` record (open `kind` + open `facets` + `claims` + `relations`, like @stateless/inventory), but with a provenance envelope (asOf, source, versionPins, supersededBy) on every volatile assertion, so it can hold external, decaying, contested knowledge honestly — a value without a date + source is not trustworthy here. Declarative lifecycle: `apply` materialises the declared entries (re-run = versioned trend), `update` folds in a public catalog without clobbering local truth, `prune` soft-retires undeclared entries, `contribute` sanitises selected entries into PR-ready public fragments. It knows no domain (no typed facets, no compute methods); a consuming catalog — LLM-ops, cloud-storage pricing — is an instance whose entries carry that domain's kinds and facets.
Llm Catalog
A sourced, versioned knowledge base of LLM-ops knowledge — NOT a control plane for running models, but the structured, CEL-queryable record that running extensions read to decide which model to run where, with what settings, at what cost. Six subject kinds (model, runtime, provider, hardware, technique, endpoint), all the same uniform `entry` shape (open kind + open facets, like @stateless/inventory); a model's run-options embed on the model in runsOn[] keyed by endpoint, and capacity/plan answer "what to run where" over them. The twist: it records external, decaying knowledge, so every volatile assertion carries a provenance envelope (asOf, source, versionPins, supersededBy) — "best vLLM version" is derived as the latest un-superseded claim, never a bare rotting field. Declarative: `apply` materialises one `entry` resource per id (re-run = versioned trend); `prune` soft-retires undeclared entries.
Review
Human-in-the-loop review canvas — serve a local web form the human gates while the agent keeps working. list mode renders a long candidate list as a curation grid (configurable option-scale + per-item comment) for migrations, triage, and cleanup approvals; doc mode is a pastebin-style markdown editor (editor left, live preview right, optional approve/revise/reject verdict) for reviewing generated docs and gating publishes. Detached serve / status / collect / stop lifecycle; every save dual-writes JSON + markdown + a timestamped append-log, and collect records the result into the data model for workflow consumption. Python-stdlib server bundled; private networks only (URL-token guarded).
Inventory
A neutral, extensible fleet inventory record — the foundational "what exists and its declared attributes" model. Uniform core (id, purpose, components, relations) across atomic and composite items, with an open facet seam (access, power, network, config, management, firmware, interfaces, + custom) so new dimensions layer on without schema changes. Declarative: `apply` materialises one CEL-queryable `device` resource per id; `prune` soft-retires undeclared devices (status change, not deletion — version history preserves the lifecycle trend). Consumer abstractions (telemetry, management, config-drift) depend on it; it depends on nothing.
Proxmox
Transport-neutral Proxmox VE lifecycle — QEMU VMs (clone, cloud-init config, resize disk, start, stop, delete, in-guest exec) and LXC containers (create-from-template, config, resize, start, stop, delete) — over the REST API directly (token auth) or by running pvesh on the node over SSH (node-local API, reuses an existing jump). Idempotent create/clone/delete + a reachability pre-flight check. Plus host/guest telemetry — a nodeStatus method (CPU load, memory pressure, root-fs fill, disk SMART) and per-guest metrics — read by the @stateless/proxmox-fleet report.
Syscheck
Fleet node verification framework. A catalog of tagged checks (category × cadence × scope) contributed by domains — host-OS/apt hygiene & fitness over scripts/host-probe.sh, plus a proxmox provider for PVE-scoped checks — run by the syscheck workflow and scored into a per-node pass/warn/fail verdict. Domains (proxmox, future @stateless/docker, …) plug in via a CheckProvider contract. Sits above the domains; results belong in @stateless/inventory.