v0.5.0
Linmas 0.5.0
Release candidate scope
Linmas 0.5.0 packages the native MCP server and Codex plugin as one bounded release surface. package.json is the canonical version source; the lockfile, generated plugin manifest, MCP serverInfo.version, provider client metadata, builder, tests, and documentation are checked against it. Development cachebusters remain host-artifact metadata and are not part of the canonical version.
Native MCP
- Adds six bounded MCP tools: review preparation, capsule comparison, policy evaluation, proof verification, proof creation, and provider-backed review execution.
- Offline tools do not transmit data.
linmas_review_executerequiresconfirm_transmission=true;linmas_proof_createrequiresconfirm_write=true. - Every result remains advisory and reports that human review is required.
- Stdio input uses a byte-bounded newline JSON reader that handles fragmented UTF-8, LF/CRLF, multiple messages per chunk, malformed JSON, and deterministic oversized-line rejection.
Packaging and security boundary
npm packincludes the builder's manifest template and all runtime inputs it needs, includingplugin/manifest.template.jsonand package metadata.- The packed-artifact test builds a plugin with exactly eleven skills,
.mcp.json,mcp/server.mjs, and validates it withvalidate_plugin.py. - Provider cancellation uses an abort/deadline signal. Late provider responses are rejected before normalization, policy evaluation, temporary output creation, and atomic final writes. Temporary files and staged proof bundles are cleaned on cancellation.
- Credentials, raw provider responses, request IDs, and sensitive provider diagnostics remain excluded from result output.
Migration
- Build a fresh plugin directory with
npm run build:codex-plugin -- --target /absolute/path/to/plugins/linmas. - Run
validate_plugin.pyagainst the generated directory. - Use the official Codex plugin reinstall/cachebuster flow for development hosts when authorized.
- Restart the Codex desktop/app-server so any MCP child process using an older or deleted cache is terminated.
- Start a fresh Codex task before treating plugin discovery as verified. Starting a new task without restarting a stale app-server may continue to reuse the old MCP child process.
Direct stdio verification, plugin-cache verification, and Codex fresh-task discovery are separate claims. The latter requires invocation evidence tied to this exact 0.5.0 artifact.
Known limitations
- Node.js 24 or newer is required.
- Native MCP and direct stdio are verified on Linux. Native Windows MCP is not claimed.
- Live-provider verification is not claimed by this release candidate; offline and injected-fixture paths remain the deterministic verification surface.
- Human review remains mandatory. A policy pass, empty comparison, verified bundle, or successful tool status is not approval, certification, remediation proof, or proof that software is secure.
Rollback
The validated rollback artifact is linmas-0.4.0-reconstructed-rollback.tar.gz, reconstructed from the official linmas@0.4.0 npm package. It contains exactly the eleven skills and an Interactive/Read Codex plugin manifest, with no MCP declaration, apps, or hooks. It is not claimed to be byte-identical to a historical Codex plugin bundle.
Provenance:
- npm package:
linmas@0.4.0 - npm registry tarball:
https://registry.npmjs.org/linmas/-/linmas-0.4.0.tgz - npm
gitHead:09d982a484daa121aff238fb575b7af67f6b0ccb - npm
dist.integrity:sha512-wOHw3LEyPmGzA+UtAfYitr8xPcmIoXCaI7ycpOuhv9+C7Gy2+ivy+TCa8UP81xLDyrUbeUQ/F/X6mGYa7AEakw== - reconstructed archive SHA-256:
13abcd3d8011d9547f7a171a09a04e6e3ab9068f2a6c025ade0a15bbe5e4adca
The binary archive and plugin backup are release assets, not source files, and must remain excluded from the source commit and npm package. Before relying on the archive, obtain the release asset and verify its SHA-256 against the value above.
Rollback procedure:
- Move the current plugin target to a recoverable backup.
- Verify the reconstructed archive SHA-256, then restore it as the complete plugin directory so no native-MCP files remain alongside the skills-only tree.
- Run
validate_plugin.pyagainst the restored plugin. - Reinstall through the official Codex plugin flow for the configured local marketplace.
- Restart the Codex desktop/app-server to terminate stale MCP child processes.
- Start a fresh Codex task and verify discovery of all eleven skills. The rollback artifact intentionally exposes no MCP tools.
Source rollback is performed with a revert commit after the release commit exists; git reset --hard is not part of the rollback procedure.