Skip to content

Releases: mbachaud/MaxExpressKit

v0.1.3 — lint honesty + approvals privacy

11 May 17:00
e5857fd

Choose a tag to compare

Two dogfood findings shipped together.

Fixed

  • score_lint confidence honesty. Previously the scorer returned (0.99, 1.0) — high confidence, fabricated score — whenever ruff failed to launch or its output couldn't be parsed. Now returns the same (0.0, 0.0) "unmeasured" sentinel that score_security uses. Also switched the invocation from bare \"ruff\" to sys.executable -m ruff for PATH-resolution consistency with the other v0.1.2 scorers. Surfaced when running /mek-drift init on a project where ruff wasn't installed — lint_score reported confidence 1.0 while every other dim correctly reported 0.0.

Added

  • Privacy default for HITL approvals. /mek-init now drops a compliance/.gitignore that ignores approvals/ by default. HITL records often carry names, infrastructure details, and rationale that don't belong in public git history. Opt specific (redacted) approvals into tracking via !approvals/<file> negations.
  • /mek-compliance-audit privacy check. Surfaces files currently tracked under compliance/approvals/ as an advisory warning. Pass --strict to fail the audit on any tracked approval.
  • docs/compliance.md hardening section. Documents both the static-block pattern (repo_visibility_flip = \"block\" in mek.toml) and a conditional-block recipe (project-local hook that escalates only when approvals exist on disk).

Bonus

  • .markdownlint.json with MD024 siblings_only=true so Keep-a-Changelog's repeated ### Added / ### Fixed headings stop firing lint warnings on every release.
  • docs/compliance.md updated to enumerate all six risky-op categories (was still listing five — drift since v0.1.2 added repo_visibility_flip).
  • .mek/drift-baseline.json re-seeded with the corrected lint scorer behavior.

Testing

97 tests passing (up from 92): 4 new unit tests for the lint sentinel, 1 new integration test for the scaffold gitignore. All four CI legs green (ubuntu/windows × py3.11/3.12).

Install

/plugin marketplace add mbachaud/MaxExpressKit
/plugin install maxexpresskit@mek-marketplace
/reload-plugins

v0.1.2 — dogfood-driven hardening

11 May 07:53

Choose a tag to compare

Second patch release, driven by dogfooding the compliance and drift subagents on the MEK repo itself.

Added

  • repo_visibility_flip risky-op category — the compliance classifier now matches gh repo edit <repo> --visibility (public|internal). Effectively irreversible due to search-index/Wayback caching, so it deserves the same HITL nudge as force_push_main. Default gate: warn.
  • Real score_security in the python drift presetbandit runs against lib/ and hooks/. Medium severity costs 0.1, high costs 0.5. Previously a silent no-op stub (auto=0.0, confidence=0.0).
  • .mek/drift-baseline.json seeded for MEK itself — checked in at the repo root. Manual grades left null so users can hand-grade later; current auto-scores: tests=1.0, lint=1.0, coverage=0.76, security=1.0.

Fixed

  • lib/source_app_detect.has_cosmictasha now refuses non-http/https URLs (bandit B310). Previously file:// and other schemes would have been accepted.
  • lib/drift_scoring/python_preset.py now uses sys.executable instead of literal "python" when spawning subprocesses — fixes the case where PATH resolves python to a different interpreter than the one running MEK.

Dependencies

  • New dev dep: bandit>=1.7. CI install via pip install -e ".[dev]" already covers it.

Testing

92 tests passing (up from 88). Full suite green on local Python 3.14. CI matrix covers Ubuntu + Windows × Python 3.11 + 3.12.

Install

/plugin marketplace add mbachaud/MaxExpressKit
/plugin install maxexpresskit@mek-marketplace
/reload-plugins

v0.1.1 — ledger contract hardening

11 May 07:35

Choose a tag to compare

First patch release. Surfaced by dogfooding the new maxexpresskit:ledger subagent on lib/decimal_math.py itself.

Fixed

  • to_decimal rejects float with TypeError. Previously it silently routed floats through str(value), contradicting the module's "no floats" contract and giving callers a quiet bypass.
  • sum_money quantizes on exit to MONEY_PLACES. Public contract is now strictly "money in, money out" — 4 decimal places always.
  • rebalance edge cases:
    • Empty weightsValueError("weights must not be empty") (was returning [total]).
    • Negative weights → ValueError("weights must be non-negative") (was producing nonsensical splits).
    • Residual bucket now quantized — previously carried excess precision when total had > 4 decimal places.

Testing

22 ledger unit tests (up from 17). Full suite: 88/88 passing on local Python 3.14. CI matrix covers Ubuntu + Windows × Python 3.11 + 3.12.

Install

/plugin marketplace add mbachaud/MaxExpressKit   # public form
/plugin install maxexpresskit@mek-marketplace

v0.1.0 — initial release

11 May 06:25

Choose a tag to compare

First public release of MaxExpressKit — three guardrails for Claude Code: compliance, drift, ledger.

Added

  • Three distilled guardrails: compliance, drift, ledger.
  • Three named subagents matching each guardrail.
  • using-mek entry skill.
  • Slash commands: /mek-init, /mek-status, /mek-drift, /mek-compliance-audit.
  • Layer 2 wrapper stubs: /mek-books, /mek-soc2.
  • Hooks: pre_risky_op.py (warn-only default), money_math_guard.py, post_task_drift.py.
  • lib/decimal_math.py ported from BookKeeper with new helpers (sum_money, pct_of, rebalance).
  • lib/drift_scoring/ (grades, baseline, python preset).
  • lib/source_app_detect.py for CosmicTasha / ScoreRift / BookKeeper.
  • lib/config.py for mek.toml.
  • scaffold/ payload for /mek-init.
  • Docs: concepts + per-guardrail + source-app integration.
  • CI: pytest + ruff on Ubuntu + Windows, Python 3.11 and 3.12.

Stubbed

  • skills/ledger-companion/ — placeholder for the v0.2.0 mini-ledger.
  • Full Layer 2 pass-through wrappers — v0.2.0.

Known limitations

  • Drift preset is Python-only.
  • CosmicTasha integration is a localhost probe, not a full handshake.
  • No telemetry. Noise suppression is config-driven (mek.toml > [compliance.gates]).

83 tests passing on local Python 3.14; CI matrix covers Ubuntu + Windows on 3.11 and 3.12.