Skip to content

feat(lsp-mcp): permanent pinned toolchain presets (rust-analyzer standing) - #76

Merged
hyperpolymath merged 2 commits into
mainfrom
feat/permanent-dev-toolchain
May 18, 2026
Merged

feat(lsp-mcp): permanent pinned toolchain presets (rust-analyzer standing)#76
hyperpolymath merged 2 commits into
mainfrom
feat/permanent-dev-toolchain

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Stops the recurring re-assembly of the Rust LSP every session.

What

  • lsp-mcp lsp_start now accepts {"preset":"rust"} → resolves to the canonical pinned rust-analyzer (/dev/tools/.../cargo-home/bin/rust-analyzer). Backward compatible: explicit command still wins.
  • Root cause of the recurring pain: that path was a rustup proxy with no component installed. Installed it (rust-analyzer 1.95.0).
  • cartridges/lsp-mcp/presets.json — pinned presets (only verified-installed servers; no unresolved entries).
  • .machine_readable/dev-toolchain.a2ml — single source of truth for the whole standing loop (rust lsp/build/lint/test, zig, julia, idris) with verified paths. LSP wired now; bsp-mcp/dap-mcp adopt the same pattern (declared, honest).
  • cartridge.json schema updated (preset input; one of command|preset).

Verified

deno check clean; functional: preset rust→200 starts rust-analyzer, bad preset→helpful 400, no-args→400, explicit command→200 (compat).

🤖 Generated with Claude Code

hyperpolymath and others added 2 commits May 18, 2026 02:24
…ding)

No more re-assembling the Rust LSP every session. lsp_start now accepts
{preset:'rust'} → resolves to the canonical /dev/tools rust-analyzer
(installed the missing rustup component: rust-analyzer 1.95.0).
Backward compatible (explicit command still wins). Added the standing
dev-toolchain manifest (.machine_readable/dev-toolchain.a2ml) as the
single source of truth for the whole recurring loop (rust lsp/build/
lint/test, zig, julia, idris) — lsp wired now, bsp/dap adopt same.

Verified: preset rust→200 starts rust-analyzer; bad preset→helpful 400;
no-args→400; explicit command→200 (compat). deno check clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyperpolymath
hyperpolymath merged commit 9a6e326 into main May 18, 2026
12 of 19 checks passed
@hyperpolymath
hyperpolymath deleted the feat/permanent-dev-toolchain branch May 18, 2026 05:07
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 28 issues detected

Severity Count
🔴 Critical 17
🟠 High 4
🟡 Medium 7

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Stale AI session file -- delete",
    "type": "stale",
    "file": "GEMINI.md",
    "action": "delete",
    "rule_module": "root_hygiene",
    "severity": "medium"
  },
  {
    "reason": "Issue in quality.yml",
    "type": "missing_workflow",
    "file": "quality.yml",
    "action": "create",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in security-policy.yml",
    "type": "missing_workflow",
    "file": "security-policy.yml",
    "action": "create",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/sanctify-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/academic-workflow-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/fireflag-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/ephapax-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/bofig-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/hesiod-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

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