feat(cartridges): sync bug-filing-mcp adapter/ into the bundled snapshot#286
Conversation
Verbatim sync from the canonical boj-server-cartridges cartridge (companion PR there): adds the missing adapter/ (unified protocol bridge, ADR-0004 internal-only, transaction-gated), the exposure-gate proof in abi/BugFilingMcp/SafeBugFiling.idr, and the pub export fix in ffi/bug_filing_mcp_ffi.zig needed for Zig 0.15 cross-module import. Also documents the ABI=Idris2/FFI=Zig/Adapter=Zig baseline in .claude/CLAUDE.md, grounded in this repo's own cartridge conventions (gossamer-mcp template, k9iser-mcp reference implementation). Verified independently (not just copied): idris2 --typecheck clean; zig build test green for both ffi and adapter (0.15.2); boot_smoke still OK (68 tools) confirming the bundle change doesn't affect bridge boot. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017LDhR8gtnittEWSafunnrq
|
Same SonarQube failure as #285/#90 — scanner bootstrap 403s ( Generated by Claude Code |
| @@ -0,0 +1,299 @@ | |||
| // SPDX-License-Identifier: MPL-2.0 | |||
🔍 Hypatia Security ScanFindings: 218 issues detected
View findings[
{
"reason": "Action actions/checkout@v4 needs attention",
"type": "unpinned_action",
"file": "pages-deploy.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in build.yml",
"type": "missing_timeout_minutes",
"file": "build.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in pages-deploy.yml",
"type": "missing_timeout_minutes",
"file": "pages-deploy.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in push-email-notify.yml",
"type": "missing_timeout_minutes",
"file": "push-email-notify.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in scorecard-enforcer.yml",
"type": "missing_timeout_minutes",
"file": "scorecard-enforcer.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in scorecard-enforcer.yml",
"type": "scorecard_publish_with_run_step",
"file": "scorecard-enforcer.yml",
"action": "split_scorecard_publish_job",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in instant-sync.yml",
"type": "secret_action_without_presence_gate",
"file": "instant-sync.yml",
"action": "peter-evans/repository-dispatch",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in codeql.yml",
"type": "codeql_missing_actions_language",
"file": "codeql.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"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 |
|
CI triage:
Generated by Claude Code |
…r (CWE-704) Same fix as the companion boj-server-cartridges PR: the three @ptrCast calls at the adapter's dispatch call site were unnecessary — Zig's [*c] pointer parameters accept array/slice/scalar pointers via implicit C-pointer coercion. Verified: zig build test green. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017LDhR8gtnittEWSafunnrq
🔍 Hypatia Security ScanFindings: 218 issues detected
View findings[
{
"reason": "Action actions/checkout@v4 needs attention",
"type": "unpinned_action",
"file": "pages-deploy.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in build.yml",
"type": "missing_timeout_minutes",
"file": "build.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in pages-deploy.yml",
"type": "missing_timeout_minutes",
"file": "pages-deploy.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in push-email-notify.yml",
"type": "missing_timeout_minutes",
"file": "push-email-notify.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in scorecard-enforcer.yml",
"type": "missing_timeout_minutes",
"file": "scorecard-enforcer.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in scorecard-enforcer.yml",
"type": "scorecard_publish_with_run_step",
"file": "scorecard-enforcer.yml",
"action": "split_scorecard_publish_job",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in instant-sync.yml",
"type": "secret_action_without_presence_gate",
"file": "instant-sync.yml",
"action": "peter-evans/repository-dispatch",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in codeql.yml",
"type": "codeql_missing_actions_language",
"file": "codeql.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"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 |
|
Checked this directly: Generated by Claude Code |
Summary
Syncs the bundled
bug-filing-mcpcartridge to match the canonical cartridge's newadapter/completion (companion PR inboj-server-cartridges), and documents the ABI=Idris2/FFI=Zig/Adapter=Zig baseline in.claude/CLAUDE.md.Changes
cartridges/bug-filing-mcp/adapter/(new) — verbatim sync of the unified protocol-bridge adapter (ADR-0004 internal-only, transaction-gated, REST/SSE/GraphQL/gRPC-compat).cartridges/bug-filing-mcp/abi/BugFilingMcp/SafeBugFiling.idr— synced exposure-gate proof.cartridges/bug-filing-mcp/ffi/bug_filing_mcp_ffi.zig— syncedpub exportfix (Zig 0.15 cross-module import requirement)..claude/CLAUDE.md— the baseline documented, grounded in this repo's own cartridge conventions.RSR Quality Checklist
Required
idris2 --typecheckclean;zig build testgreen for ffi + adapter;boot_smokestill OK — 68 tools)unsafeblocks without// SAFETY:commentsbelieve_me,unsafeCoerce,Obj.magic,Admitted,sorry) —SafeBugFiling.idrremains%default totalwith zero escape hatches.envfiles includedAs Applicable
.machine_readable/STATE.a2ml— no project-state change (catalogue content only).machine_readable/ECOSYSTEM.a2ml— no integration changeTOPOLOGY.md— no architecture changeCHANGELOG— deferring to the squash-merge summarysrc/abi/andffi/zig/consistent) — this PR only touches the bundled cartridge snapshot, not the server's own core ABI/FFITesting
Verified independently, not just copied:
idris2 --typecheckclean (0.7.0);zig build testgreen for bothffi/andadapter/(0.15.2);deno run mcp-bridge/tests/boot_smoke.jsstillOK: serverInfo.name=boj-server, tools=68, exit=0.Refs
Companion PR in
boj-server-cartridges(canonical adapter completion, extends #85). Part of #274.🤖 Generated with Claude Code
https://claude.ai/code/session_017LDhR8gtnittEWSafunnrq
Generated by Claude Code