Skip to content

bantamkit 0.35.8

Choose a tag to compare

@Ink01101011 Ink01101011 released this 15 Oct 05:21
· 86 commits to main since this release
3d0b4c3

bantamkit 0.35.8 contains the job65 bug sweep (PR #193): 47 bugs from the 2026-10-13 PVT audit are fixed in both runtimes. Each fix has conformance cases that compare the two runtimes, plus mutation evidence.

Published on npm as bantamkit-mcp@0.35.8 and on PyPI as bantamkit==0.35.8. Both artifacts were verified by installing them and listing their tools over stdio.

What changed for users

  • Shiftwork
    • The checkpoint is written atomically (#116).
    • Accounting can no longer forge the ledger's own keys (#117).
    • A failed commit hands the brief back (#162).
    • The default clock_in checks readiness (#164).
  • Memory
    • A read-only store still answers recall (#123).
    • A store that cannot be written gives a "not writable" refusal (#141).
    • Concurrent saves all land (#161).
    • A malformed or non-UTF-8 fact costs only that fact, and the file is named (#119, #159).
    • Descriptions must be one line (#155).
    • Names over 128 characters are refused (#156).
    • Lone surrogates are refused (#160).
    • The Node fact codec reads YAML block scalars and flow lists the way PyYAML does (#120).
  • validate_json
    • Local $ref resolves (#125, #126).
    • pattern follows Python re on both runtimes, with a 500 ms budget (#131, #132).
    • Scalar documents validate (#152).
    • Feedback is clipped (#153).
  • Hooks
    • "1 fact" (#188).
    • No raw prompt text goes into the log (#168).
    • Only a real save silences the save nudge (#169).
    • Unreadable files are never ledgered (#192).
    • Filegraph fixes (#166, #167, #190).
  • Install and update
    • Host JSON numbers are kept losslessly (#118, partial).
    • --update installs exactly the version it compared and verifies it (#128).
    • npm registry config is honoured (#135).
  • Status, report and statusline
    • bantamkit_status names the bound store (#142).
    • A missing --start is refused (#142).
    • A tab in config.yaml is refused (#158).
    • The event log never creates the store (#154).
    • Report and statusline fixes (#130, #187).

Changed tool descriptions

  • validate_json: the supported drafts, local $ref, and the pattern dialect and budget.
  • work_plan: four refusals; depends_on is optional.
  • memory_recall.k: a clamp, not min/max.
  • memory_compact.reserve: its formula.
  • shiftwork_clock_out.accounting: the reserved keys.
  • shiftwork_clock_in: the readiness check on the default call.

Not in this release

  • 17 deferred bugs, going to 0.35.9.
  • #133, #120's ruling, the enhancement issues and the documentation issues, going to 0.36.0.

Full changes: v0.35.7...v0.35.8