Skip to content

v2.2.4 — Mechanical recall gates, M2 identity axis, non-EVM PoC & haltless reliability

Latest

Choose a tag to compare

@PlamenTSV PlamenTSV released this 14 Jul 21:30
· 1 commit to main since this release

Plamen v2.2.4 focuses on recall (finding more real bugs), reliability (the pipeline no longer halts on its own gates), and documentation of the mechanical layer so you can actually understand how and where the recall comes from.

Where the recall comes from: the mechanical deriver/gate layer

Underneath the LLM analysis phases, Plamen now runs a layer of deterministic Python functions — no LLM call — that generate, gate, promote, and reconcile findings directly against a mechanically-built reference graph. This closes recall-miss classes that used to be advisory prose to an LLM (which couldn't verify its own compliance). Every one of these can only add a low-confidence candidate for later verification — it never asserts or deletes a finding outright, and each routes through the existing verify-the-positives filter and material-harm floor.

Three families:

  • Recall-generators — read the reference graph + the finding inventory and emit candidates for co-referencing functions never examined, unaddressed boundary values, unpaired symmetric operations, and un-asserted local invariants a confirmed/refuted finding implicitly relies on.
  • Gates — reconcile candidate/harvested findings against actual verifier execution and route survivors into the report (includes the promotion-completeness harvest and the verifier-prose-vs-mechanical-execution integrity gate).
  • Bake providers — tiered, per-ecosystem reference-graph construction (a precise indexer when the toolchain is available, else a compile-free source parse).

New docs to read this: the architecture guide's "Mechanical Recall Gates" section now carries a generic, protocol-free worked-example table — one row per recall-miss class, showing the kind of bug each mechanism recovers — and the internals guide gains an exhaustive per-function inventory (~50 derivers) with file:line, what each consumes/produces, and its purpose.

New recall mechanisms

  • M2 identity / authorization-subject axis — a sixth risk-coverage axis (theft / liveness / accounting / provenance / boundary / identity) that asks, per hot function, whose consent authorizes the effect (the confused-deputy question). Language-agnostic, applicability-gated.
  • Three recall-miss classes converted from prose to mechanical, graph-grounded gates: sibling/variant coverage (co-referencer + boundary-input + symmetric-operation), external-dependency research (recon bakes a research ledger; external-assumption findings must cite it or escalate), and promotion completeness (content-shaped harvest so a real finding can't silently vanish between phases).
  • Force-by-default PoC gate — a finding with concrete material harm is forced into an executable PoC attempt unless a small closed set of code-grounded blockers applies; the skip decision no longer trusts the verifier's self-declared PoC class.
  • Non-EVM PoC execution for cargo-workspace (Soroban/Solana-adjacent Rust) — correct workspace-member resolution, feature validation, and text-safe subprocess capture.

Reliability — the pipeline stops halting on its own gates

  • report_index false-positive HALT abolished — a negation-blind regex was hard-halting completed audits on honest "carried for human review" dispositions. The gate is now structured (keys on the disposition token position, not prose) and haltless (a genuine mode-limit degrades to a flagged Appendix-B row instead of halting).
  • Resume no longer nukes a completed audit — a stale, already-healed phase-containment quarantine could rewind an entire completed pipeline back to inventory on resume. Resume is now heal-aware by default (the per-phase artifact-gate reconcile remains the precise safety net).
  • Containment move-failure hardened — a rogue foreign artifact that can't be quarantined now fails/re-runs the phase instead of silently persisting.

Tooling

  • Cross-OS CI running the full suite on Linux, Windows, and macOS.
  • Fast / integration test lanes — a parallelized fast inner loop (pytest -m "not integration" -n auto) plus a serial integration lane, and a long-standing suite-hang root-caused and fixed.

Also in this release

M1 assumption-commitment falsifier, L1 (node-client) lane rigor (two waves), a partial DAML language-table entry, blind-first independent-severity capping, a supply-chain pre-execution gate, and a de-overfit sweep re-keying fork-ancestry hazard tables from brand names to generic dependency/vuln classes.


Read more: the full CHANGELOG.md ## [2.2.4] entry, plus docs/architecture.md (§ Mechanical Recall Gates), docs/internals.md (§ Mechanical Derivers), and docs/glossary.md (the canonical legend for the gate/mechanism/axis mnemonics and the Source-ID / evidence tags).

After updating, re-run plamen install so the version banner and re-injected CLAUDE.md pick up 2.2.4.