Releases: dcostenco/prism-coder
v15.2.1 — Full verification gate (Rule 19) + pre-push-audit skill update
What's new
Pre-push verification gate (Rule 19 expanded)
Rule 19 is now a full verification gate — not just tsc --noEmit. Both steps must pass before every git push, regardless of repo type:
- Type check —
tsc --noEmit/next build/mypy/pyright - Test suite —
npx vitest run/python3 -m pytest/npm test/jest
Each catches a different failure class. Type check alone missed 2 incidents in May 2026.
Mechanical guard + 20 test cases
verification_guard.py checks whether both steps ran before a push. 20 test cases including verbatim command sequences from both May 2026 incidents:
- Incident #1 (
e55211c):aacSpeakimport dropped, vitest passed (mocked), Vercel failed - Incident #2 (
6ca43ff): translation fix pushed, 2 tests failing, onlynext buildran
Patch
npm publish requires OTP. Run when ready:
npm install -g prism-mcp-server@15.2.1v15.2.0 — Two-namespace skill architecture + Synalux dynamic content
What's new
Two-namespace skill architecture
skill:*— Platform skills. Read-only cache. Written only bysync-skills.shor fetched from Synalux. Users cannot overwrite.user_skill:*— User-local skills. Written via dashboardPOST /api/skills. Only loaded whenuser_local.enabled=truein routing table (off by default). Never sent to Supabase.
Synalux dynamic skill content (no redeploy needed)
GET /api/v1/skills/contentchecks Supabaseplatform_skillstable first, falls back to filesystem.POST /api/v1/admin/skills— platform admin only — update skill content live.- Auto-learn hooks can write corrections to
platform_skillstable automatically. - Audit log on every change.
Skill routing schema v2
resolveSkillsForProjectreturns{ names, user_local }— callers now get the user_local policy alongside skill names.- Routing table gains
user_local: { enabled, key_prefix }.
New universal skills
execute-method-literally— 26-case test suite with verbatim May 2026 session replaypre-push-auditRule 19 —tsc --noEmitbefore every push
Bug fix
skill-routing.test.tsupdated for v2 return type (wasstring[], now{ names, user_local })
Upgrade
npm install -g prism-mcp-server@15.2.0
# or with npx (no install)
npx prism-mcp-server@15.2.0No migrations needed. user_skill:* namespace is additive — existing skill:* entries in local SQLite are untouched.
v15.1.0 — Skill architecture via Synalux
What's new
Skill content now routes via Synalux (paid tier)
Previously, skill SKILL.md content was only available from local SQLite (populated by sync-skills.sh). Paid-tier installs now fetch skill content from the Synalux portal on every session — always up-to-date, no manual sync required. Local SQLite remains the free-tier and offline fallback.
Data flow:
session_load_context
→ Synalux /api/v1/skills/routing (which skills, all tiers)
→ Synalux /api/v1/skills/content (what content, paid tier)
└─ local SQLite fallback (free tier / offline)
→ injected as [📜 SKILL: name] blocks
New universal skills
Two new skills added to the universal routing list (load on every session):
execute-method-literally— When user says "revert to tag X / checkout release Y", execute that exact command. Never substitute an equivalent path. Includes a 26-case test suite with verbatim replay of the May 2026 session that codified the rule.critical-thinking-debug(hardened) — Added "Counter-rule: Never substitute a method instruction" section with incident history.
Architecture docs
docs/ARCHITECTURE.md — new Section 12: Skill Architecture, with ASCII data flow diagram, tier behaviour table, resolution order, and source-of-truth table.
Upgrade
npm install -g prism-mcp-server@15.1.0No migration needed. Paid-tier users with SYNALUX_CONFIGURED=true get the Synalux content fetch automatically. Free-tier behaviour is unchanged.
v15.0.0 — Drift Detection + Evidence-First Protocol
Prism Coder v15.0.0 — Drift Detection + Evidence-First Protocol
Released: 2026-05-10
The headline
AI agents can now detect when they've drifted from your stated goals mid-session, self-correct, and route alerts to the Synalux portal — using three direct Prism MCP calls, no scripts, no cron, no hooks.
What ships
🔄 Proactive session drift detection
session_save_ledger → snapshot current state
session_cognitive_route → on_track / minor_drift / major_drift
session_compact_ledger + session_load_context → reset if needed
When major_drift is detected, an alert is posted to synalux.ai/api/v1/prism/memory so the drift is visible across sessions and devices.
Real example it caught: A training session promised BFCL ≥90% for three AI models. The agent spent 3+ hours debugging audio bugs instead. Drift check surfaced: "Training goal unmet. Layer3 corpus missing from all training sets. 0 BFCL scores measured." Session immediately re-aligned.
Skill: ~/.agent/skills/session-drift-detection/SKILL.md
Tests: 10 behavioral test cases in skills/session-drift-detection/tests.md
🛡 Evidence-first behavioral protocol
Hard gates that supersede all other agent instructions:
- No positive claim (
done/fixed/working/90%+) without observable evidence - Diagnose before asserting causes (run oscillator test before guessing audio output device)
- Write regression test before pushing any bug fix
- Training quality gate: BFCL ≥90% before "training done"
- 60-min drift check for long sessions
Evidence gate table maps every claim type to required proof artifact.
Skill: ~/.agent/skills/evidence-first-protocol/SKILL.md
🔊 TTS audio protection (prism-aac)
PROTECT_PLAY_MS=600ms: rapid autoSpeak calls are gracefully dropped instead of killing each otherinterruptparameter replaces shared flag (fixes Speak button being silenced by concurrent tile taps)volume=0guard with console.warn- 10 unit tests covering all failure classes
- SSML
rate × 2formula (capped at 1.4) confirmed working
🔍 Search keyboard routing (prism-aac)
- Search opens with keyboard visible immediately
- On-screen keys route to search input via
searchKeyBridge.ts
📬 Inbox wired (prism-aac + synalux-private)
/api/v1/prism-aac/inbox/pollreturns real Gmail unread + unclaimed SMS- Per-message TTS on arrival
- Reply button on schedule message tasks
🏪 Marketplace catalog fixed (synalux-private)
marketplace_modules table created and applied to production Supabase.
13 stub fixes (synalux-private)
Accounting providers, Zoom, Telegram/WhatsApp, e-sign, feature-flags, SMS, and more.
Migration
No breaking changes to MCP tools or protocol. Update via:
npm install -g prism-mcp-server@15.0.0
npx prism-mcp-server --version # should print 15.0.0What's next (v15.x)
- BFCL ≥90% verified on 72B, 32B, 2B models (in training)
- Layer3 runtime inference server with 3-layer pipeline
- OpenAI-compatible
/v1/chat/completionswith layer routing
v14.0.0 — Prism Coder rename + algorithm-stability contract
🧠 Project rename — Prism MCP → Prism Coder
The project is now Prism Coder to reflect its full surface — the Mind Palace memory server and the open-weights LLM fleet (prism-coder:7b + prism-coder:14b on HuggingFace + Ollama).
The npm package stays published as prism-mcp-server so existing install URLs and mcp.json entries keep working without churn — but the prism-coder binary that package provides has been the canonical entry point since v12.
npm install -g prism-mcp-server@14.0.0
prism-coderAlgorithm-stability contract
The following exports are now stable public API under SemVer — external consumers can depend on the constants without re-implementing:
actrActivation.ts—baseLevelActivation,parameterizedSigmoid,compositeRetrievalScore, allACT_R_*/DEFAULT_*constantsspreadingActivation.ts—applySpreadingActivation, the 0.7 / 0.3 hybrid score blend, thefinalM = 7caprouterExperience.ts—getExperienceBias,MAX_BIAS_CAP = 0.15,MIN_SAMPLES = 5, the bias-scale formulacompactionHandler.ts— defaultthreshold = 50,keep_recent = 10,MAX_ENTRIES_CHARS = 25_000graphMetrics.ts— warning ratios0.20 / 0.30 / 0.40 / 0.85with their min-sample gatesconfig.ts—PRISM_ACTR_DECAY,PRISM_GRAPH_PRUNE_MIN_STRENGTH, fullPRISM_GRAPH_PRUNE_*family
Breaking changes go through deprecation cycles announced in CHANGELOG.md.
Documentation
docs/WOW_FEATURES.md— citation-grade catalogue of Prism's algorithms with constants, semantics, and reuse patterns.docs/releases/v14.0.0-prism-as-foundation.md— what the contract guarantees, why now, and the migration path for systems that have been re-implementing Prism algorithms.
Why a major bump
External systems were already building on Prism algorithms with hand-tuned approximations. Two failure modes when that happens: (1) the consumer's thresholds drift from Prism's over time, and (2) a copy-pasted constant loses its citation in 6 months and nobody remembers why 0.15 was chosen. Formalising the stability contract fixes both.
What's NOT in this release
- No new MCP tools.
- No model changes —
prism-coder:7bandprism-coder:14bunchanged from v13.1.x. - No schema changes.
Tests
- 71 test files / 2147 passing
- Build clean
Full changelog: CHANGELOG.md
v13.0.1 — Prism-Coder fleet release
Release object attached to existing v13.0.1 tag. See CHANGELOG.md for full notes.
v13.0.0 — v13.0.0
See CHANGELOG.md for full notes — Release object created retroactively to fill the gap on the repo page.
v12.5.1 — v12.5.1
See CHANGELOG.md for full notes — Release object created retroactively to fill the gap on the repo page.
v12.0.1 — v12.0.1
See CHANGELOG.md for full notes — Release object created retroactively to fill the gap on the repo page.
v11.5.1 — v11.5.1
See CHANGELOG.md for full notes — Release object created retroactively to fill the gap on the repo page.