Skip to content

feat(codebase-memory-mcp): add pinned container image - #45

Closed
xnoto wants to merge 2 commits into
mainfrom
add-codebase-memory-mcp
Closed

feat(codebase-memory-mcp): add pinned container image#45
xnoto wants to merge 2 commits into
mainfrom
add-codebase-memory-mcp

Conversation

@xnoto

@xnoto xnoto commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a new container image codebase-memory-mcp wrapping upstream DeusData/codebase-memory-mcp v0.10.8 — a pure-C, self-contained stdio MCP server that indexes mounted repositories into a SQLite knowledge graph (tree-sitter across 162 languages, bundled local embeddings, read-only Cypher queries). It will back the makeitwork-codebase-memory ToolHive MCPServer in kustomize-cluster/workloads/mcp-gateway, succeeding the makeitwork-repo-search filesystem backend (owner decision 2026-09-09).

Fixes # N/A — stage 1 of an owner-directed migration; the assessment is recorded in agent-knowledge docs/agents/makeitwork/codebase-memory-mcp-gateway-assessment.md.

Type of change

  • Bug fix
  • Feature / enhancement
  • Documentation
  • Infrastructure (OpenTofu root or module)
  • GitOps desired state (manifests, kustomize, charts, SOPS/KSOPS secrets)
  • Container image
  • CI / reusable workflow
  • Refactor / cleanup
  • Breaking change

Validation

  • Required pull-request checks pass — buildah run 34305183984: completed / success on head eb0d38e (pre-commit with hadolint, gitleaks, actionlint; detect; build-only buildah build of the new image; registry push correctly skipped for a PR).
  • Generated or centrally distributed files were regenerated by their owning automation, not hand-edited — not applicable; new hand-authored image directory.

Pre-PR review gate (both closed):

  • Infrastructure-security: independently verified the pinned archive SHA-256 (6eef4965…) against the official v0.10.8 checksums.txt (exact match). Raised one High — upstream auto-enables the embedded graph-UI HTTP listener (loopback :9749) on first run when the cache directory has no UI config (upstream docs/CONFIGURATION.md §3), which is every start on an emptyDir-backed CBM_CACHE_DIR. Resolved in eb0d38e by baking --ui=false into the ENTRYPOINT.
  • Adversarial: initial HOLD pending executed-check evidence; after CI completion, full re-review with complete inputs returned PASS — no Critical/High/Medium/Low findings, with the CI run independently verified.

Impact and rollout

Producer: merge publishes ghcr.io/makeitworkcloud/codebase-memory-mcp:{latest,<sha>}. Consumers: none yet — the kustomize-cluster stage-2 PR adding the MCPServer is gated on this merge and will pin the published digest. Upstream moves quickly (~10 releases in three weeks); the README documents the two-ARG bump procedure and requires preserving --ui=false. Rollback: remove the directory and do not select the image; no runtime consumer exists today.

Safety and secrets

  • Contains no plaintext secrets, decrypted SOPS values, state files, kubeconfigs, tokens, or private endpoints
  • No local OpenTofu init/plan/apply/destroy/import/state operations were run or claimed — plans come from pull-request checks
  • Breaking or irreversible effects: none; publication is additive and consumer-free until stage 2 selects a digest

AI-assisted change: an OpenCode agent materially produced this change, and adversarial plus infrastructure-security reviews were dispatched and closed before merge. Reviewers should verify the pinned checksum, the --ui=false mitigation, and hadolint compliance.

Adds the codebase-memory-mcp image (upstream DeusData/codebase-memory-mcp
v0.10.8, fully static linux-amd64-portable release asset, archive SHA-256
pinned from the official release checksums.txt) for the upcoming
makeitwork-codebase-memory MCPServer backend in kustomize-cluster, which
succeeds the repo-search filesystem backend per the owner decision of
2026-09-09.
Infra-security review (2026-09-09): upstream auto-enables the embedded
graph-UI HTTP listener (loopback :9749) on first run when the cache
directory has no UI config file, which is every start on an emptyDir-backed
CBM_CACHE_DIR. Bake --ui=false into the ENTRYPOINT so the listener can
never activate regardless of cache state.
@xnoto
xnoto requested a review from a team as a code owner September 9, 2026 02:56
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Image CI passed

Pre-commit validation passed. View the workflow run.

@xnoto xnoto closed this Sep 9, 2026
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