v0.9.0a12 — preview alpha
Pre-release
Pre-release
Published artifacts:
- PyPI:
pip install --pre stigmem-py==0.9.0a12(also:stigmem,stigmem-node,stigmem-openclaw) - npm:
npm install @eidetic-labs/stigmem-ts@0.9.0-alpha.12 - GHCR:
docker pull ghcr.io/eidetic-labs/stigmem-node:0.9.0a12(also:0.9.0-alpha.12) - Supply-chain evidence: GHCR image is keyless-signed with Sigstore/cosign; SBOM and BuildKit provenance are attached as OCI referrers. Verification instructions: https://docs.stigmem.dev/operators/release-verification
- GPG signatures: The release tag is maintainer-signed. Detached artifact signatures may be uploaded manually after publication.
[0.9.0a12] — 2026-06-17
Added
- Federation DNSSEC origin trust (Phase 3), default-OFF behind
federation_dnssec_trust_enabled(and only meaningful when
federation_relay_enabledis also on). A relayed fact whose origin node is
unreachable and otherwise unanchored can now have its key re-derived from a
DNSSEC-signed binding record at_stigmem-fed._key.<host>, so revocation and
recency stay enforceable while the origin node is offline (its DNS is
independent of its node). The first-trust ladder is operator-pin → DNSSEC →
operator-confirm → fail-closed; a trusted DNSSEC key is honored only after a
relay-path recency/revocation re-check (cadenceclamp(TTL, floor, cap)
anchored on the last genuine DNS validation), which hard-rejects a positive
withdrawal (status=revokedtombstone) or an epoch rollback, time-boxes an
unreachable/suppressed binding, and reconciles key rotation via the record's
prev_fprgrace. Unsigned, absent, or slow-resigning origins fall through to a
bounded operator-confirm queue (stigmem federation dnssec pending|confirm|rejectGET/POST /v1/federation/dnssec/pending[/confirm|/reject]). The carried v2.2
envelopednssec_bindingis re-validated on ingest (never trusted as bytes).
Completes the Phase-3 3a (DNSSEC chain validator) / 3b (first-trust ladder +
pin store + operator-confirm) / 3c (relay-path re-check + 4-node proof) arc.
The feature is inert and the relay path is byte-identical to before unless the
flag is explicitly enabled. See the
Federation DNSSEC Trust runbook.
Security
- Dependency advisory sweep — cleared the open Dependabot dependency alerts
across all four lockfiles (38 of 41 resolved by version bumps/overrides; 3
no-upstream-patch residuals documented as unreachable or build-time-only).
Python runtime (uv.lock):starlette→1.3.1,aiohttp→3.14.1,
cryptography→49.0.0,python-multipart→0.0.32. SDK/MCP workspace:
hono→4.12.25,vite→6.4.3,ws→8.21.0,js-yaml→4.2.0. Docs toolchain:
ws/dompurify/js-yaml/launch-editor/@babel/core. Obsidian plugin:
vite→6.4.3. Residuals (nltk,dompurify#83 by ceiling,gray-matter's
js-yaml3.x) are dispositioned in SECURITY.md.