Skip to content

v2.5.7 — Four interpreted realities, host process, runtime allowlist

Choose a tag to compare

@Kpoiut Kpoiut released this 23 Aug 17:54
· 13 commits to main since this release
v2.5.7

RuleBlast 2.5.7

This is the public npm and GitHub Release of tree 2.5.7. It is the first independently published CLI after 2.5.1. Versions 2.5.2 through 2.5.6 were merged to main and are included in this package. They were not separate npm versions.

npx --yes ruleblast@2.5.7 .
npx --yes ruleblast@2.5.7 diff HEAD~1
npx --yes ruleblast@2.5.7 --mcp

Four actions only: current stacks, diff, explain, case. Four bundled realities: Codex CLI, Claude Code CLI, Copilot CLI, Gemini CLI. No fifth action. No fifth bundled reality. No --pack loader. A model name is never a reality.

Canonical JSON remains schemaVersion: 1 / resolverRevision: 1. Overlay wall is still four baseline analyses and four analysis-plus-overlay samples. Overlay median/p95 add less than 500 ms. The 5 s test clock is unchanged.

Do not overwrite Marketplace 2.2.0 or 2.2.1.


Official lineage

Tree In-repo record Commit Public npm
2.5.1 RELEASED — Copilot interpreted from resolver.json e60fd18ec4a83ce8aff7488b0bb9203ab4a8cedc ruleblast@2.5.1
2.5.2 merged to main — Claude interpreted from resolver.json cda8834b3bc79f52123eb4f05019b35d775c9655 included in 2.5.7
2.5.3 merged to main — Gemini interpreted by composed operations 796c5d9abdde755f5827351358b747ce30260cb1 included in 2.5.7
2.5.4 merged to main — host quoting and macOS verify f4154fd063e99f0f6e43e78b2e62ce2516cbdf0e included in 2.5.7
2.5.5 merged to main — host Git spawn and shared snapshot entry 7b99d529355383977ad4589d746fe83c87a59185 included in 2.5.7
2.5.6 merged to main — runtime IDs, not model names 742e27d07cec76e72a18c40598315e0b11b2b146 included in 2.5.7; gate later replaced
2.5.7 RELEASED — exact runtime allowlist cf6badd2ab376f1aa7f6f9b1d3be9559c1457503 ruleblast@2.5.7

The in-repo changelog keeps 2.5.22.5.6 as development headings. This GitHub Release is the official public history of that work as one published package.


Verified publication receipt

Independently verified external records, not facts inferred from a checkout.

npm ruleblast@2.5.7

  • npm ruleblast@2.5.7
  • integrity sha512-SzTP41slyb4hvPPYZ0KHj97SLf8sesfHz2morW/O55tQ9FTG4QoIhYgprxgNNT1YhXdTq5kQBJKDLD+Wm/eQVQ==
  • shasum ea5280804857851b599539b7fa9b8f9a5b758875
  • tarball 185,439 bytes · SHA-256 8873e179d261ecb7715b88c9268abcd7233720b40fcb7657bbd024f419c5d426
  • unpacked size 1,454,645 bytes
  • exact-tarball publication: registry gitHead is absent rather than invented
  • a registry download of ruleblast@2.5.7 is byte-identical to the packed ruleblast-2.5.7.tgz from cf6badd

GitHub

  • Annotated tag object dd46f4a9c08d10a9de1f113092b6036091e0f2da for v2.5.7 targets commit cf6badd2ab376f1aa7f6f9b1d3be9559c1457503
  • GitHub Release tarball is the same 185,439-byte ruleblast-2.5.7.tgz with SHA-256 8873e179d261ecb7715b88c9268abcd7233720b40fcb7657bbd024f419c5d426
  • Companion ruleblast-companion-2.5.7.vsix 167,204 bytes · SHA-256 afac7b99c17afd07fee7255e6abca78fa04c518416f2cb8a2309b9728b93155e
  • Do not overwrite Marketplace 2.2.0 or 2.2.1

2.5.2 — Claude Code interpreted from resolver.json

Commit cda8834b3bc79f52123eb4f05019b35d775c9655. Merged to main. Not a separate npm version.

Claude Code is no longer a fingerprint-only engine on the catalog path.

The interpreter executes the Claude pack as data:

  • strip-html-comments
  • @path import with lexer claude-markdown-v1 (four import edges)
  • json-exclude-globs on .claude/settings.json
  • frontmatter-glob paths with brace-budget matching
  • same-basename partial for dual root memory (CLAUDE.md / .claude/CLAUDE.md)

Live interpreter projections are byte-identical to createClaudeProfile on every packed Claude fixture. Lab INTERPRET / ORACLE. The adapter remains the test oracle and is not imported by the interpreter.

Frontmatter apply is narrow YAML shared with Copilot applyTo: one mapping field to a string scalar (comma-split) or a string sequence. Maps, aliases, and merge keys fail closed.

Transform admission is the operations the engine executes (byte-budget, strip-html-comments, at-path-import with a named lexer, json-exclude-globs). Markdown tokenize/import and glob-budget matchers live under src/packs/ops-* and are reused by adapters as the same primitive, not a third vendor interpreter.

Interpreter admission is the two executable families:

  • first-per-directory / ordered / byte-budget
  • select-all / unspecified assemble

At 2.5.2 Gemini still fingerprinted on onSymlink (partial-unfollowed) and ordered assemble. Flipping the symlink policy does not admit a third family. Select-all prepares frontmatter, rule parse, and document tokens once, then caches projections.

Lab --detail / --receipt recorded Codex, Copilot, and Claude as INTERPRET / ORACLE and Gemini as FINGERPRINT / ADAPTER with sealed probe counts. Overlay wall and the 5 s clock stayed unchanged. Not a fifth action. Not a fifth bundled reality.


2.5.3 — Gemini interpreted by composed operations

Commit 796c5d9abdde755f5827351358b747ce30260cb1. Merged to main. Not a separate npm version.

Gemini CLI is interpreted by composing operations the engine already had:

  • select.mode all
  • assemble.mode ordered
  • onSymlink partial-unfollowed
  • at-path-import with lexer markdown-v1
  • json-union-names for tracked context.fileName

Live interpreter projections are byte-identical to createGeminiProfile on every packed Gemini fixture and on union-name snapshots. Lab INTERPRET / ORACLE for all four bundled realities. No third interpreter family. The adapter remains the test oracle and is not imported by the interpreter.

Lexer markdown-v1 is the shared markdown mechanism. Pack id is the lookup key on --detail. Compact --receipt keeps badges only. HTML-comment strip is a separate transform. json-union-names has no vendor field branch.

onSymlink selects UNKNOWN vs PARTIAL on one markdown import expander. Ordered-assemble evidence is pack claims plus union parse plus expansion, not interpreter-hardcoded Gemini strings.

Admission checks executable select/assemble/symlink/transform capabilities. Select-all prepares import expansions once and caches ancestor-directory chains for ordered assemble.

Lab --detail prints pack id beside engine, proof, ops, and sealed probe counts so an agent can look up the executing reality. Benchmark 10k/GIF uses catalog interpreters (the CLI path), records all four engines on the same snapshot, and requires four ORACLE rows. Overlay wall and the 5 s clock stayed unchanged. Not a fifth action. Not a fifth bundled reality.


2.5.4 — Host platform quoting and macOS verify

Commit f4154fd063e99f0f6e43e78b2e62ce2516cbdf0e. Merged to main. Not a separate npm version.

Host shell quoting follows the process platform: PowerShell on Windows, POSIX on Linux and macOS. CLI, MCP stdio, companion presentExplain, and GIF explain share hostShellDialect(). MCP no longer hardcodes POSIX CTAs on Windows.

Verify runs ubuntu-latest, windows-latest, and macos-latest on Node 20/22/24/26. Same 20-minute cell clock.

Select-all prepare records the matching discover origin once per captured path instead of scanning origins again.

Overlay wall still four analysis pairs. Not a fifth action. Not a fifth bundled reality. Not a kernel.


2.5.5 — Host Git spawn and shared snapshot entry

Commit 7b99d529355383977ad4589d746fe83c87a59185. Merged to main. Not a separate npm version.

Git analysis and companion Diff From git log share one runGit() with the same lock/fsmonitor flags and windowsHide on Windows. That is not a second Git engine.

Omitted text presentation context uses hostShellDialect(), so companion Show Detail CTAs match the host. CLI and MCP still pass the dialect explicitly.

Interpreter and Codex/Claude adapter prepare capture snapshot entries through ownSnapshotEntry(). Same closed-record check. Four copies of entry validation are one primitive.

Overlay wall still four analysis pairs. Not a fifth action. Not a fifth bundled reality.


2.5.6 — Runtime IDs, not model names (then corrected)

Commit 742e27d07cec76e72a18c40598315e0b11b2b146. Merged to main. Not a separate npm version. The 2.5.6 heading stays in the changelog as the historical record.

2.5.6 introduced a candidate roster keyed by runtime IDs and refused --reality grok-4 as a model name. That direction was right:

  • IDs name CLIs and harnesses, not model products.
  • xai/grok-build-cli is a not-admitted candidate runtime. grok-4, glm-5.3, and gpt-4 are model names.
  • --reality and MCP refuse those with distinct text.
  • Projection of a candidate remains UNEXECUTED. RECORDED is not a passing oracle.
  • No public fifth --reality. No public --pack.

The first implementation was not that gate:

  • a denylist of product names
  • invented empty watch stubs (deepseek/dsh-harness, moonshot/kimi-code-cli)
  • treating xai/grok-build-cli@1 as the unversioned forming candidate

2.5.7 replaces that gate. Empty watch stubs are not inventory. A revision suffix is not implied.


2.5.7 — Exact runtime allowlist and shared host process

Commit cf6badd2ab376f1aa7f6f9b1d3be9559c1457503. This is the tagged package.

Runtime classification is an allowlist of catalog ids and committed candidate ids, exact match only.

  • Modeled public realities remain openai/codex-cli@1, anthropic/claude-code-cli@1, github/copilot-cli@1, google/gemini-cli@1.
  • Forming candidates in this package: xai/grok-build-cli and qwen/qwen-code-cli. Both are NOT_ADMITTED. Projection remains UNEXECUTED. RECORDED is not a passing oracle.
  • xai/grok-build-cli@1 is not the forming candidate. A revision is not implied.
  • Candidate JSON declares surface (cli / harness / agent) as data. The id spelling is not a model detector.
  • --reality grok-4 is unknown, not a classified model product. Catalog IDs name runtimes, not models.
  • Empty watch stubs are not inventory.
  • A denylist of model product names is not a gate.

CLI and MCP share one HostProcess (cwd, env, platform → shell dialect). Companion Show Detail uses the process host default. Not a third host class.

Qwen Code CLI is a forming candidate with official hierarchical QWEN.md evidence and five UNKNOWN fixture axes. Grok Build CLI keeps its five axes. Neither is a public --reality. Grok the model is not Grok Build CLI.

All four bundled realities are INTERPRET / ORACLE. Overlay wall still four analysis pairs. Not a kernel. Not a fifth action. Not a fifth bundled reality.


What this release does not do

  • It does not add a fifth bundled reality.
  • It does not add a fifth action.
  • It does not load arbitrary --pack files at runtime.
  • It does not treat GLM, GPT, Grok-the-model, DeepSeek V4, or Kimi-the-model as realities.
  • It does not keep the 2.5.6 denylist or the invented empty watch stubs.
  • It does not overwrite VS Marketplace 2.2.0 or 2.2.1.
  • It does not raise the overlay wall or the 5 s clock.

Install

Published CLI after independent verification:

npx --yes ruleblast@2.5.7 .
npx --yes ruleblast@2.5.7 diff HEAD~1
npx --yes ruleblast@2.5.7 explain <path> --from HEAD~1 --json
npx --yes ruleblast@2.5.7 case
npx --yes ruleblast@2.5.7 --mcp

Companion: pack ruleblast-companion-2.5.7.vsix with npm run host:pack, or install the GitHub Release asset. Same four actions in VS Code, GitHub Copilot Chat, Cursor, Windsurf, Kiro, Antigravity, Codex IDE, Continue, Cline, and Trae.

The tagged tree is cf6badd. Install pins on main record this independently verified receipt. Do not retag v2.5.7.