Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 09:43
· 88 commits to main since this release
5572cd2

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_execute requires confirm_transmission=true; linmas_proof_create requires confirm_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 pack includes the builder's manifest template and all runtime inputs it needs, including plugin/manifest.template.json and package metadata.
  • The packed-artifact test builds a plugin with exactly eleven skills, .mcp.json, mcp/server.mjs, and validates it with validate_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

  1. Build a fresh plugin directory with npm run build:codex-plugin -- --target /absolute/path/to/plugins/linmas.
  2. Run validate_plugin.py against the generated directory.
  3. Use the official Codex plugin reinstall/cachebuster flow for development hosts when authorized.
  4. Restart the Codex desktop/app-server so any MCP child process using an older or deleted cache is terminated.
  5. 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:

  1. Move the current plugin target to a recoverable backup.
  2. 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.
  3. Run validate_plugin.py against the restored plugin.
  4. Reinstall through the official Codex plugin flow for the configured local marketplace.
  5. Restart the Codex desktop/app-server to terminate stale MCP child processes.
  6. 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.