Skip to content

Releases: m0n0x41d/quint-code

v4.1.1

02 Jan 09:00
bf3adca

Choose a tag to compare

Merge pull request #22 from sh4i-yurei/fix/mcp-stdout-to-stderr

fix(mcp): redirect warnings to stderr to preserve MCP JSON integrity

v4.1.0

21 Dec 20:01

Choose a tag to compare

Added

  • DRR Linking (FPF E.9): Decision records now create graph relations to hypotheses.

    • quint_decide accepts new rejected_ids parameter for rejected alternatives.
    • Creates selects relation: DRR → winner hypothesis.
    • Creates rejects relations: DRR → each rejected alternative.
    • Enables queries: "What alternatives were considered for this DRR?"
  • Context Markdown Formatting: quint_record_context now normalizes input to proper markdown.

    • Vocabulary entries formatted as definition list (- **Term**: definition).
    • Invariants formatted as numbered list with line breaks.
  • Audit Tree Shows MemberOf Relations: quint_audit_tree now displays memberOf groupings.

    • Decision context alternatives are shown under [members] section.
    • Member R scores displayed for comparison (no WLNK propagation per FPF spec).
  • Improved Tool Descriptions: quint_propose parameters now have actionable descriptions.

    • depends_on: Explains WLNK impact and when to use.
    • decision_context: Explains grouping purpose and when to use.
    • q1-hypothesize.md: Added "Linking Checklist" before proposing hypotheses.
  • Merged /q-audit into /q-query: Simplified command set.

    • /q-query now shows R_eff and dependency trees for found holons.
    • Removed standalone /q-audit utility (redundant with enhanced /q-query).
    • /q4-audit (FPF phase) remains unchanged.
  • sqlc Integration: Type-safe database queries generated from SQL.

    • All database operations now use sqlc-generated code with proper type safety.
    • New db/store.go wrapper provides clean API while preserving schema bootstrap.
    • Added comprehensive test suite for database operations (db/store_test.go).
  • GetHolon Query: Added query to fetch hypothesis metadata by ID (foundation for future Kind-CAL work).

  • New MCP Tools for Trust Calculus (B.3):

    • quint_audit_tree: Visualize assurance tree with R scores, dependencies, and CL penalties.
    • quint_calculate_r: Compute R_eff with detailed breakdown (self score, weakest link, decay penalties).
    • quint_check_decay: Identify holons with expired evidence (epistemic debt detection).
  • Parent ID Chain (FPF Enforcement):

    • Added parent_id foreign key to holons table for L0→L1→L2 progression tracking.
    • New queries: GetHolonsByParent, GetHolonLineage for traversing hypothesis chains.
    • CreateHolon now accepts parent_id parameter for linking hypothesis progression.
    • Enables auditable chain from L2 decision back to original L0 hypothesis.
  • Derived Phase (FPF Enforcement):

    • Phase is now computed from holons.layer data instead of stored in state.json.
    • New DerivePhase() method computes phase from database state.
    • New GetPhase() returns derived phase when DB available, falls back to State.Phase.
    • Prevents AI bypass of FPF phase controls via direct file manipulation.
  • Audit Logging (FPF Enforcement):

    • New audit_log table tracks all MCP tool invocations.
    • Captures: tool name, operation, actor, target ID, input hash, result, and details.
    • Instrumented tools: quint_propose, quint_verify, quint_decide, quint_move.
    • Enables detection of FPF bypasses through audit trail analysis.
    • Context-aware logging supports multi-session isolation.
  • Self-Healing Signed Projections (FPF Enforcement):

    • All hypothesis/evidence/DRR files now include content_hash in YAML frontmatter.
    • New WriteWithHash() function adds cryptographic hash (SHA-256 truncated) on write.
    • New ValidateFile() detects tampering by comparing stored vs computed hash.
    • New ReadWithValidation() on Tools automatically detects and logs tampering.
    • When tampering detected: regenerates file from DB (DB is source of truth).
    • Tampering events logged to audit_log for violation tracking.
  • DRR Holon Tracking:

    • FinalizeDecision now creates DRR holon in database (enables derived phase detection).
    • DRR holons linked to winner hypothesis via parent_id.
  • Tool Preconditions (FPF Enforcement):

    • All MCP tools now validate preconditions before execution.
    • quint_propose: Validates title, content, and kind fields.
    • quint_verify: Confirms hypothesis exists in L0, validates verdict.
    • quint_test: Ensures hypothesis is in L1 (not L0), validates verdict.
    • quint_audit: Confirms hypothesis is in L2 before audit.
    • quint_decide: Requires L2 hypotheses exist, validates winner_id and title.
    • quint_calculate_r / quint_audit_tree: Validates holon existence in DB.
    • Precondition failures logged to audit_log with BLOCKED status.
    • Each error includes actionable suggestion for the user.
  • Command Contracts (FPF Enforcement):

    • All FPF command prompts (q0-q5) now include formal enforcement contracts.
    • YAML frontmatter with pre, post, invariant, and required_tools fields.
    • RFC 2119 bindings (MUST, MUST NOT, SHALL) for mandatory behaviors.
    • "Invalid Behaviors" section explicitly lists protocol violations.
    • "Checkpoint" section with verification checklist before phase transition.
    • Success/failure path examples with few-shot learning.
    • "State machine executor" mechanical persona to reduce AI improvisation.
    • Defense in depth: soft gate (prompts) + hard gate (preconditions).
  • Inline Schema Migrations:

    • Existing databases automatically upgraded on startup.
    • Adds parent_id and cached_r_score columns to existing holons table.
    • Safe to run multiple times (idempotent).
  • Holon Linking in quint_propose:

    • New depends_on parameter to declare dependencies on other holons.
    • New decision_context parameter to group alternatives under a decision.
    • New dependency_cl parameter (1-3) for congruence level of dependencies.
    • Creates ComponentOf relations for system holons, ConstituentOf for episteme.
    • Creates MemberOf relations for decision grouping (no R propagation).
    • Added SQL indexes for efficient WLNK traversal.
    • Documented structural relations (B.1.1) in CLAUDE.md.
  • Evidence Freshness Management (FPF B.3.4):

    • New waivers table for tracking temporary risk acceptance with full audit trail.
    • quint_check_decay now supports three modes:
      • Report mode (default): Shows freshness report with STALE/FRESH/WAIVED holons.
      • Deprecate mode: Downgrades hypothesis (L2→L1 or L1→L0) when evidence is terminally stale.
      • Waive mode: Records explicit risk acceptance with rationale and expiration date.
    • quint_test now accepts L2 hypotheses for evidence refresh (L2 + PASS stays L2 with fresh evidence).
    • Freshness report now shows individual evidence IDs (not just counts) for actionable output.
    • Implements WLNK principle: one expired evidence item = entire holon is STALE.
    • Natural language support: users can say "waive the benchmark until February" and the agent handles ID resolution.
    • New documentation: docs/evidence-freshness.md — practical guide to managing stale evidence.
    • Updated command documentation: q-decay.md and q3-validate.md.
  • CI/CD Pipeline:

    • New GitHub Actions workflow (.github/workflows/ci.yml) for pull requests.
    • Triggers on PRs and pushes to main and dev branches.
    • Runs tests with race detector and coverage reporting.
    • Runs golangci-lint for code quality (errcheck, govet, staticcheck, unused, misspell).
    • Uses golangci-lint-action@v7 with golangci-lint v2 config schema.
    • Added .golangci.yml configuration for consistent linting.
  • Pre-commit Hooks:

    • Added .pre-commit-config.yaml for use with pre-commit tool.
    • Added .githooks/pre-commit for simple git-native hooks (no dependencies).
    • Hooks include: gofmt, goimports, go build, go test, golangci-lint.
    • Setup via ./scripts/setup-hooks.sh or ./scripts/setup-hooks.sh --precommit.
    • Also checks: trailing whitespace, end-of-file, yaml syntax, large files, merge conflicts, private keys.

Changed

  • Updated FPF Commands: Commands now leverage new MCP tools for computed data:

    • /q4-audit: Now calls quint_calculate_r and quint_audit_tree before recording findings.
    • /q5-decide: Now uses quint_calculate_r for final R_eff comparison before decision.
    • /q-audit: Updated to use visualization tools.
    • /q-decay: Updated to use quint_check_decay for proactive decay detection.
    • /q-status: Now proactively checks for expired evidence.
  • SQLite Driver Migration: Replaced CGO-based mattn/go-sqlite3 with pure Go modernc.org/sqlite.

    • Enables CGO_ENABLED=0 builds for simplified cross-compilation.
    • Cross-compilation now works for linux/amd64, linux/arm64, darwin/*, windows/amd64.
    • Unblocks single-runner GoReleaser builds.
    • No functional changes to database behavior.
  • FSM Phase Derivation: CanTransition() now uses GetPhase() (derived from DB) instead of State.Phase.

    • Phase transitions are validated against actual database state.
    • Hardens FPF enforcement against state.json manipulation.

Fixed

  • Evidence Decay Bug: Evidence was stored with NULL valid_until, making /q-decay always report "no expired evidence."

    • ManageEvidence now sets a default 90-day validity period when validUntil is empty.
    • Affects all evidence added via quint_verify, quint_test, and quint_audit.
  • Go Module Import Paths: Standardized import paths to use the correct module name across all packages. (PR #16, @blib)


v4.0.0

18 Dec 19:11

Choose a tag to compare

Added

  • MCP Server Architecture:
    • This release introduces the MCP (Model Context Protocol) server as the core of Quint Code, replacing the previous prompt-only approach. The server provides structured tools for AI assistants to interact with the FPF knowledge base.
    • The MCP server has been restructured into cmd and internal packages for better organization and maintainability.
  • New Commands:
    • /q-audit: Visualize assurance tree with R-scores.
    • /q-decay: Calculate epistemic debt from expired evidence.
  • Command Updates:
    • /q-actualize: Reconcile the knowledge base with recent code changes. This command has been updated for better performance and accuracy.
  • Renamed Commands:
    • /q2-check is now /q2-verify.
    • /q3-research and /q3-test are consolidated into /q3-validate.
    • /q1-add has been added for manually adding hypotheses.
  • SQLite Database (quint.db):
    • The project now uses SQLite for deterministic FPF, ensuring consistency and reproducibility.
    • holons table now includes scope, kind, and cached_r_score columns to support advanced FPF features.
    • evidence table now includes a valid_until column for evidence decay tracking.
    • relations table now includes a congruence_level column for WLNK calculation.
  • Trust & Assurance Calculator (B.3):
    • Implemented the FPF B.3 standard for calculating trust and assurance.
    • Weakest Link (WLNK): R-score is now capped by the lowest-scoring dependency in the evidence chain.
    • Congruence Penalty: Low-congruence relations between artifacts now reduce the overall reliability score.
    • Evidence Decay: Expired evidence, as determined by the valid_until field, now penalizes the R-score, introducing the concept of "epistemic debt."
    • Cycle Detection: The calculator now detects and flags circular dependencies in the evidence graph.
  • Typed Reasoning (Kind-CAL):
    • Hypotheses are now classified by kind as either system (for code and architecture) or episteme (for knowledge and theory).
    • Validation logic now branches based on the hypothesis kind, allowing for more targeted and relevant analysis.
  • Characteristic Space (C.16):
    • Success metrics are now defined upfront, before testing, as part of the Characteristic Space.
    • These metrics are measured during the induction phase (/q3-validate).
    • The results are recorded in the Design Rationale Record (DRR) for full traceability.
  • CI/CD:
    • A new GitHub Actions workflow has been added to automate the build and release process.
  • Testing:
    • Added integration tests for the assurance calculator to ensure correctness and stability.
  • Error Handling:
    • Improved error handling to surface previously-silent errors with warnings.

Changed

  • Project Directory: Renamed from .fpf to .quint. Migration: run /q-actualize to migrate, then delete .fpf.
  • Multi-platform Support:
    • Installer now supports Claude Code, Cursor, Gemini CLI, and Codex CLI.
    • Commands are now sourced from src/commands/ and built to platform-specific formats in dist/.

Removed

  • Redundant Agents: Removed legacy standalone agent files for a cleaner codebase.

Release: 3.2.0

15 Dec 09:52

Choose a tag to compare

Added: Process Hardening & Flexibility

Strict Phase Gating (FPF Integrity)

  • Hard Block in /q1-hypothesize: Explicitly forbids generating new hypotheses if the cycle has passed Deduction. This prevents the "Helpfulness Bias" vulnerability where AI assistants might break process integrity to be "nice".
  • Conditional Logic in /q2-check: The cycle phase now only advances to DEDUCTION_COMPLETE when all active L0 hypotheses are resolved. If any remain unchecked, the door stays open for extensions.

New Command: /q1-extend

  • Legitimate Extension Path: A dedicated command to add a missed hypothesis during the ABDUCTION_COMPLETE phase.
  • Safety Rails: Strictly blocked once DEDUCTION_COMPLETE is reached, ensuring evidence integrity (WLNK validity) during testing.

Changed

  • Updated /q-status: State machine visualization now includes the (q1-extend) loop.
  • Refined /q3-test & /q3-research: Reinforced checks to ensure testing only happens after deduction is fully complete.

Release 3.1.0

14 Dec 19:41
b141b64

Choose a tag to compare

Accumulated release.

  1. Major up to 3.0.0 due to rebranding of tool and commands (read the changelog for details)

  2. Release 3.1.0

Added: Deep Reasoning Capabilities

  1. Context Slicing (A.2.6)

Structured Context: .fpf/context.md is now structured into explicit slices:

  • Slice: Grounding (Infrastructure, Region)
  • Slice: Tech Stack (Language, Frameworks)
  • Slice: Constraints (Compliance, Budget, Team)

Context-Aware Init: /q0-init now scans package.json, Dockerfile, etc., to auto-populate slices.

  1. Explicit Role Injection (A.2)

Role-Swapping Prompts: Commands now enforce specific FPF roles to prevent "AI drift":

  • /q1-hypothesize: ExplorerRole (Creative, Abductive)
  • /q2-check: LogicianRole (Strict, Deductive)
  • /q4-audit: AuditorRole (Adversarial, Normative)

Context Drift Analysis

  • New Audit Step: /q4-audit now includes a mandatory Context Drift Check.
  • Validation: Verifies that hypotheses generated in step 1 still match the constraints in step 4 (preventing "works on my machine" architecture).

Changed

Command Prompts: Updated q0, q1, q2, q4 to enforce the new reasoning standards.

Release: 2.2.0

14 Dec 10:52
67117ab

Choose a tag to compare

Multi-Platform Support 🔥

Crucible Code now works with four AI coding tools:

  • Claude Code
  • Cursor
  • Gemini CLI
  • Codex CLI

One-Liner Install

Global (all projects)

curl -fsSL https://raw.githubusercontent.com/m0n0x41d/crucible-code/main/install.sh | bash -s -- -g

Per-project (commit to repo)

curl -fsSL https://raw.githubusercontent.com/m0n0x41d/crucible-code/main/install.sh | bash

Interactive TUI lets you pick which platforms to install.

What's New

Multi-Platform Architecture

  • Adapter-based build: src/commands/ → dist/{platform}/
  • Platform-specific formats (TOML for Gemini, Markdown for others)
  • CI/CD ensures dist/ stays in sync

TUI Installer

  • Interactive platform selection with arrow keys or vim motions (j/k)
  • Global (-g) or per-project install
  • Bash 3.x compatible (works on macOS out of the box)
  • Uninstall support (--uninstall)

Visual Refresh

  • Melted steel gradient (red → white) for ASCII banner
  • New SVG banner for GitHub README

Upgrade

Just re-run the installer to get the latest commands. No breaking changes to .fpf/ structure.

Release: 2.1.0

13 Dec 13:37

Choose a tag to compare

Release v2.1.0 Summary

Here is what has been upgraded in your codebase:

  1. Agentic Initialization (/fpf-0-init)

    • Now scans the repo (package.json, Dockerfile, etc.) to infer the Tech Stack.
    • Interviews the user to fill in the gaps (Scale, Budget).
    • Creates a living .fpf/context.md file that acts as the "Base Slice" for all future reasoning.
  2. Strict Method/Work Distinction (/fpf-1-hypothesize)

    • The hypothesis template is now split into "1. The Method" (Plan) and "2. The Validation" (Execution).
    • This enforces FPF Pattern A.15 without forcing the user to learn the ontology.
  3. NQD & Formality Tracking

    • Hypotheses now carry formality: [0-9] and novelty/complexity tags in frontmatter.
    • /fpf-status (via the logic update we discussed earlier) will calculate Min/Max Formality and Trust Index.
  4. Context Awareness

    • Research and Test commands now automatically read .fpf/context.md to ensure evidence congruence is calculated against the actual project
      reality, not an abstract one.

Release: 2.0.0

13 Dec 12:45

Choose a tag to compare

Version 2.0.0 is a major release that transforms FPF from advisory guidance into an enforced reasoning framework. The core change: phases are now gates, not suggestions.

Headline Changes

1. Phase Gate Enforcement

  • Commands now block invalid phase transitions. You can't /fpf-2-check without hypotheses, can't gather evidence without L1 claims.
  • The ADI cycle is strictly sequential for phases 1→2→3. Audit (phase 4) can be skipped to go directly to /fpf-5-decide, but this is not recommended.

2. Transformer Mandate Enforcement

  • Explicit "AWAIT HUMAN INPUT" sections at all decision points
  • Claude generates options, presents analysis, then stops and waits
  • No more implicit decisions buried in command output

3. Quantitative WLNK Analysis

  • R_eff = R_base - Φ(CL) formula now calculated in audit
  • Evidence chain tables show exactly where your argument is weakest
  • Congruence penalties formalized: High=0.00, Medium=0.15, Low=0.35

4. Plausibility Filters

  • Hypotheses assessed against four filters: Simplicity, Explanatory Power, Consistency, Falsifiability
  • Clear verdicts: PLAUSIBLE / MARGINAL / IMPLAUSIBLE
  • Ranking table for comparison

5. Better Learning Preservation

  • /fpf-discard now captures key insights before cleanup
  • Evidence validity windows mandatory
  • Epistemic debt tracking in /fpf-decay

Breaking Changes

None. Existing .fpf/ directories work without modification.

Recommended migration:

  1. Run /fpf-decay to identify evidence needing validity dates
  2. Add congruence assessment to existing external evidence
  3. Existing DRRs remain valid

What's New in Documentation

  • README updated with phase strictness explanation and visual diagram annotations
  • Commands Reference table now shows which phases are required vs optional
  • "Common Mistakes to Avoid" sections in each command
  • Anti-pattern tables with explanations

Upgrade Path

cd crucible-code
git pull origin main
./install.sh /path/to/your/project

Existing FPF sessions continue working. New sessions get enforced gates

Release: 1.0.0

13 Dec 08:01

Choose a tag to compare

First, the somehow stable release of crucible-code includes a basic ADI reasoning cycle from FPF, which has proven to be valuable for engineering work.