Skip to content

Make cma production-ready, relocate to a personal account, upgrade MCP - #13

Merged
lluvr merged 1 commit into
mainfrom
personal-relocation-and-mcp-upgrade
Jul 16, 2026
Merged

Make cma production-ready, relocate to a personal account, upgrade MCP#13
lluvr merged 1 commit into
mainfrom
personal-relocation-and-mcp-upgrade

Conversation

@lluvr

@lluvr lluvr commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Summary

Makes cma production-ready, relocates it to a personal account (lluvr/cma), and upgrades the MCP server to the current protocol.

Root and structure

  • Trim the repository root to 10 files: the deep-dive docs (DESIGN, ARCHITECTURE, DATA, DECISIONS, GOVERNANCE) move under docs/, and test.sh / bench.sh move under scripts/. Every internal reference, workflow path, generated-README URL, and doc link is updated. Committed build artifacts removed.

Self-contained and personal

  • Neutralize references to the private Lodestone repository that resolved to 404 for adopters, keeping the public sibling links (Touchstone, frame-check) and the blog.
  • Move self-references to lluvr/cma and drop the organization publisher and author framing. The citation shipped in every MCP payload now reads (L. Lucic, 2026).
  • Remove the Zenodo DOI references from both CITATION.cff files and soften the publisher-identity claim in SECURITY.md, pending re-issuance under the new account.

MCP upgrade

  • initialize negotiates the protocol version (echo a supported revision, otherwise the newest: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05) instead of hard-coding 2024-11-05; per-call provenance reports the revision negotiated for the session.
  • Every tool declares a three-section outputSchema, and tool calls return structuredContent (validated against it) alongside the text block, so clients on 2025-06-18 or newer consume structured output while older clients keep the text form. Server instructions rewritten to stand alone.

Hardening

  • gitleaks exempts the canon detector and its self-test fixtures (they carried the forbidden patterns by construction); .gitignore covers .ruff_cache and .claude/settings.local.json; PEP 740 attestations pinned in the publish workflow; stale versions and counts and a false wheel-bundling claim corrected; punctuation normalized to plain ASCII across committed content.

Test plan

Ran the CI-equivalent locally, all green:

  • scripts/test.sh: 143 pass
  • pytest: 57 pass
  • shellcheck 0.10.0 on all six shell files: clean
  • canon_audit.sh --self-test and scan: clean
  • wheel build plus a clean-venv install smoke: the installed cma-mcp --version and --test console script works (protocol_version: 2025-11-25, citation (L. Lucic, 2026))
  • jsonschema validation of structuredContent against the advertised outputSchema

Related-project impact

Touchstone and frame-check public links kept; Lodestone references neutralized (private repo). No cross-repo coordination required.

Trim the repository root to 10 files: move the deep-dive docs
(DESIGN, ARCHITECTURE, DATA, DECISIONS, GOVERNANCE) under docs/ and the
test and bench harnesses under scripts/, then update every internal
reference, workflow path, generated-README URL, and doc link so nothing
breaks. Remove committed build artifacts.

Present cma as a self-contained, methodology-agnostic tool. Neutralize
references to the private Lodestone repository that resolved to 404 for
adopters, keeping the public sibling links (Touchstone, frame-check) and
the blog. Move self-references to lluvr/cma and drop the organization
publisher and author framing; the citation shipped in every MCP payload
now reads "(L. Lucic, 2026)". Remove the Zenodo DOI references from both
CITATION.cff files and soften the publisher-identity claim in SECURITY.md
pending re-issuance under the new account.

Upgrade the MCP server to the current protocol. The initialize handshake
negotiates the protocol version (echo a supported revision, otherwise the
newest: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05) rather than
hard-coding 2024-11-05, and per-call provenance reports the revision
negotiated for the session. Every tool declares a three-section
outputSchema and tool calls return structuredContent, so clients on
2025-06-18 or newer consume and validate structured output while the text
block stays for older clients. Rewrite the server instructions to stand
alone.

Harden and tidy. Exempt the canon detector and its self-test fixtures
from gitleaks (they carried the forbidden patterns by construction), add
.ruff_cache and .claude/settings.local.json to .gitignore, pin PEP 740
attestations in the publish workflow so the SECURITY.md provenance
promise cannot regress, correct stale versions and counts and a false
wheel-bundling claim, and normalize punctuation to plain ASCII across
committed content.

Verified: 143 bash tests, 57 MCP tests, canon audit, ruff, all workflow
YAML, a wheel build, and a jsonschema validation of structuredContent
against the advertised outputSchema.

Signed-off-by: Lovro Lucic <11740211+lluvr@users.noreply.github.com>
@lluvr
lluvr merged commit 6a5db67 into main Jul 16, 2026
9 of 10 checks passed
@lluvr
lluvr deleted the personal-relocation-and-mcp-upgrade branch July 16, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant