Skip to content

Releases: consensus-tools/toolkit

v0.10.0 — LLM Persona Mode Fixes

28 Mar 18:24

Choose a tag to compare

Highlights

@consensus-tools/universal — LLM Persona Mode

Policy-aware action determination. LLM mode now uses resolveConsensus scores to drive allow/block/escalate instead of raw vote counting. WEIGHTED_REPUTATION uses reputation-weighted scores. supermajority and unanimous map to APPROVAL_VOTE with threshold enforcement. Previously all 9 policies produced identical behavior (simple majority).

Feedback wiring. consensus.wrap() in LLM mode returns an AugmentedExecutor with a .feedback(signal) method that sends human feedback directly to the ReputationManager. onFeedback fires as a notification hook after reputation updates. Previously onFeedback was accepted but silently ignored.

Audit storage in LLM mode. LLM deliberations now write audit entries to the configured storage backend after each decision, matching the regex mode format. Audit write errors are routed to onError with phase: "audit_write". Custom IStorage backends are initialized eagerly via store.init().

New exports: AugmentedExecutor type, resolvePolicyType, classifyTool, deliberate, ReputationManager, DEFAULT_PACK.

Documentation

README rewritten to cover both regex and LLM modes. 8 factual errors corrected via adversarial cross-model review (Claude + Codex). Key correction: regex mode is post-execution review (tool runs first, reviewers evaluate output), not pre-execution screening.

All packages bumped to 0.10.0

@consensus-tools/universal, core, schemas, guards, storage, wrapper, personas, policies, workflows, telemetry, evals, sdk-client, sdk-node, cli, secrets, ai-sdk, langchain, mcp, openclaw, integrations, notifications

Full Changelog: v0.9.1...v0.10.0

v0.9.1

28 Mar 00:21

Choose a tag to compare

Full Changelog: v0.9.0...v0.9.1

v0.9.0

27 Mar 23:27

Choose a tag to compare

What's Changed

  • feat: @consensus-tools/universal — drop-in governance facade by @kaicianflone in #29

Full Changelog: v0.8.0...v0.9.0

v0.8.0 — Audit & Observability

26 Mar 01:53

Choose a tag to compare

Highlights

Audit & Observability

  • explainDecision() in @consensus-tools/core — Human-readable decision narratives with vote normalization and optional LLM enrichment (T14)
  • audit.explain MCP tool — Expose decision explanations to LLM agents (T14)
  • cli explain <auditId> — CLI command for human-readable decision narratives (T14)
  • Cross-guard audit view — Summarize all guard decisions across a workflow (T9)

Developer Experience

  • Shared LLM factory — Extracted common LLM configuration to reduce duplication (T16)
  • Type-safe CLI config — Strongly-typed CLI configuration (T17)
  • skill-version-eval: GITHUB_TOKEN auth + enriched 401 errors (T13)

Infrastructure

  • Bun → vitest migration — skill-version-eval, skill-sandbox, wrapper-demo all migrated from Bun to Node + vitest (T15)
  • LLM SDK deps moved to devDependencies to pass dep-check CI
  • consensus-engineer skill published to ClawHub/skills.sh with metadata.json

All packages bumped to 0.8.0

@consensus-tools/core, schemas, mcp, cli, guards, policies, workflows, wrapper, sdk-node, sdk-client, evals, personas, ai-sdk, langchain, openclaw, notifications, telemetry, integrations, storage

Full Changelog: v0.7.0...v0.8.0

v0.7.0 — Personas, Templates, LangChain + AI SDK Adapters

21 Mar 00:40
830667d

Choose a tag to compare

New Packages

  • @consensus-tools/personas — Unified persona lifecycle: types, 3 persona packs, reputation engine, respawn logic
  • @consensus-tools/langchain — LangChain adapter: guards as DynamicStructuredTools, LangSmith tracer
  • @consensus-tools/ai-sdk — Vercel AI SDK adapter: createGuardedGenerate() + createGuardedStream()

Template System

Create custom guard domains, consensus policies, and wrapper gates consumable through all 3 interfaces:

// Custom guard domain
const loanGuard = createGuardTemplate("loan_approval", {
  rules: (payload) => { /* your evaluator logic */ },
  hardBlockPatterns: [/fraud/i],
});

// Use via wrapper
const safeLoan = createWrapperTemplate("safe_loan", {
  reviewers: [loanGuard.asReviewer()],
  strategy: { strategy: "threshold", threshold: 0.7 },
});

// Use via LangChain
const tools = createGuardTools(undefined, [loanGuard]);

/consensus-engineer Skill

Interactive 6-phase guided experience for integrating consensus-tools:

  • 2200+ line llms.txt system reference
  • Detects guards vs wrapper vs hybrid patterns
  • Scaffolds setup based on your project stack

Stats

  • 32 packages, 203 modules, 378 dependencies, 0 tier violations
  • 577 tests passing (128 new)
  • Full monorepo build: 22/22 packages

Install

pnpm add @consensus-tools/guards @consensus-tools/personas
# Or for LangChain:
pnpm add @consensus-tools/langchain
# Or for Vercel AI SDK:
pnpm add @consensus-tools/ai-sdk