Skip to content

Release v2.23.0 console transition - #98

Merged
Lyellr88 merged 1 commit into
MARM-mainfrom
release/v2.23.0
Jul 18, 2026
Merged

Release v2.23.0 console transition#98
Lyellr88 merged 1 commit into
MARM-mainfrom
release/v2.23.0

Conversation

@Lyellr88

@Lyellr88 Lyellr88 commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • remove the legacy bundled marm-dashboard runtime from marm-mcp-server packaging, Docker, auth, and tests
  • carry forward Console memory parity and safe mutation updates
  • update docs, scripts, workflows, and version metadata for v2.23.0

Validation

  • python -m ruff check marm-mcp-server\marm_mcp_server marm-mcp-server\tests marm-console\server marm-console\tests scripts
  • python scripts\run-tests.py --fast --compile
  • python -m pytest marm-console\tests
  • pnpm --filter @workspace/marm-console typecheck
  • pnpm --filter @workspace/marm-console build

Summary by CodeRabbit

  • New Features

    • MARM Console is now the primary local web interface for inspecting and managing memory data.
  • Bug Fixes

    • Removed the legacy dashboard from the MCP server runtime and Docker image.
    • Dashboard routes are no longer publicly mounted or accessible.
  • Documentation

    • Updated installation, troubleshooting, FAQs, roadmap, and contributor guidance to reference MARM Console and direct health checks.
    • Updated release information to version 2.23.0.

Remove the legacy bundled marm-dashboard runtime from the MCP server package, Docker image, auth middleware, tests, and maintenance scripts.

Carry forward Console memory parity and safe mutation work, update public docs toward marm-console, and bump release metadata to v2.23.0.
@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: f6d09282-ec1b-4036-9d3b-8bffca2cb0cb

📥 Commits

Reviewing files that changed from the base of the PR and between 6f394f4 and e6428ea.

📒 Files selected for processing (55)
  • .github/workflows/publish-mcp.yml
  • CHANGELOG.md
  • CONTRIBUTING.md
  • README.md
  • docs/ACKNOWLEDGMENTS.md
  • docs/FAQ.md
  • docs/INSTALL-DOCKER.md
  • docs/INSTALL-LINUX.md
  • docs/INSTALL-PLATFORMS.md
  • docs/INSTALL-WINDOWS.md
  • docs/ROADMAP.md
  • marm-console/README.md
  • marm-console/artifacts/marm-console/src/lib/marm-api.ts
  • marm-console/artifacts/marm-console/src/lib/marm-types.ts
  • marm-console/tests/test_memory_dashboard_gap_routes.py
  • marm-mcp-server/Dockerfile
  • marm-mcp-server/README.md
  • marm-mcp-server/docker-compose.yml
  • marm-mcp-server/marm-docs/FAQ.md
  • marm-mcp-server/marm-docs/README.md
  • marm-mcp-server/marm-docs/ROADMAP.md
  • marm-mcp-server/marm_dashboard/__init__.py
  • marm-mcp-server/marm_dashboard/__main__.py
  • marm-mcp-server/marm_dashboard/auth.py
  • marm-mcp-server/marm_dashboard/config.py
  • marm-mcp-server/marm_dashboard/db.py
  • marm-mcp-server/marm_dashboard/server.py
  • marm-mcp-server/marm_dashboard/static/assets/app.css
  • marm-mcp-server/marm_dashboard/static/assets/app.js
  • marm-mcp-server/marm_dashboard/static/index.html
  • marm-mcp-server/marm_mcp_server/__init__.py
  • marm-mcp-server/marm_mcp_server/config/settings.py
  • marm-mcp-server/marm_mcp_server/core/dashboard_mount.py
  • marm-mcp-server/marm_mcp_server/core/memory_ops.py
  • marm-mcp-server/marm_mcp_server/middleware/auth.py
  • marm-mcp-server/marm_mcp_server/server.py
  • marm-mcp-server/pyproject.toml
  • marm-mcp-server/server.json
  • marm-mcp-server/tests/conftest.py
  • marm-mcp-server/tests/test_concept_endpoints.py
  • marm-mcp-server/tests/test_dashboard_auth.py
  • marm-mcp-server/tests/test_dashboard_compaction.py
  • marm-mcp-server/tests/test_dashboard_db.py
  • marm-mcp-server/tests/test_dashboard_encoder_lock.py
  • marm-mcp-server/tests/test_dashboard_mcp_status.py
  • marm-mcp-server/tests/test_dashboard_mount.py
  • marm-mcp-server/tests/test_docker_static_config.py
  • marm-mcp-server/tests/test_docker_transports.py
  • marm-mcp-server/tests/test_http_app.py
  • marm-mcp-server/tests/test_http_tools.py
  • scripts/check-file-length.py
  • scripts/find-dead-code.py
  • scripts/find-versions.py
  • scripts/run-tests.py
  • skills/marm-init/SKILL.md
💤 Files with no reviewable changes (20)
  • marm-mcp-server/marm_mcp_server/core/dashboard_mount.py
  • marm-mcp-server/marm_dashboard/init.py
  • marm-mcp-server/marm_dashboard/main.py
  • marm-mcp-server/marm_dashboard/static/assets/app.css
  • marm-mcp-server/tests/test_dashboard_auth.py
  • marm-mcp-server/tests/test_dashboard_mcp_status.py
  • marm-mcp-server/tests/test_docker_transports.py
  • marm-mcp-server/tests/test_dashboard_encoder_lock.py
  • scripts/check-file-length.py
  • marm-mcp-server/marm_dashboard/config.py
  • marm-mcp-server/tests/test_dashboard_mount.py
  • .github/workflows/publish-mcp.yml
  • marm-mcp-server/tests/test_dashboard_compaction.py
  • marm-mcp-server/marm_dashboard/auth.py
  • marm-mcp-server/marm_dashboard/db.py
  • marm-mcp-server/tests/test_dashboard_db.py
  • marm-mcp-server/marm_dashboard/static/assets/app.js
  • marm-mcp-server/marm_dashboard/server.py
  • marm-mcp-server/marm_mcp_server/core/memory_ops.py
  • marm-mcp-server/marm_dashboard/static/index.html
📜 Recent review details
🧰 Additional context used
📓 Path-based instructions (10)
**/*.md

⚙️ CodeRabbit configuration file

**/*.md: Only flag documentation issues that are materially wrong, misleading for installation/release behavior, or inconsistent with live MCP behavior. Skip style, phrasing, formatting, and wording preferences.

Files:

  • docs/ACKNOWLEDGMENTS.md
  • docs/INSTALL-PLATFORMS.md
  • docs/INSTALL-DOCKER.md
  • marm-console/README.md
  • docs/FAQ.md
  • docs/INSTALL-LINUX.md
  • docs/INSTALL-WINDOWS.md
  • marm-mcp-server/marm-docs/FAQ.md
  • marm-mcp-server/marm-docs/ROADMAP.md
  • CONTRIBUTING.md
  • skills/marm-init/SKILL.md
  • docs/ROADMAP.md
  • CHANGELOG.md
  • marm-mcp-server/marm-docs/README.md
  • README.md
  • marm-mcp-server/README.md
marm-mcp-server/marm_mcp_server/**/*.py

📄 CodeRabbit inference engine (AGENTS.md)

marm-mcp-server/marm_mcp_server/**/*.py: All memory writes must use the serialized asynchronous write queue; do not bypass it.
A marm_log_entry semantic-store failure must never fail the corresponding log write.
Never share database connections between the memory SQLite database and the concept-graph SQLite database.
Graph and concept failures must not break the seven core memory tools; the graph supervisor starts lazily and operates degraded on failure.
Use one lazy-loaded all-MiniLM-L6-v2 fastembed encoder serialized behind a lock; writes must succeed when embeddings are unavailable.
Prefer the smallest implementation that solves the problem; avoid speculative abstractions and unrequested configuration flags.
Use minimal comments only for non-obvious rationale; do not add comments narrating the next line.
Keep orchestration in its current owner file and extract modules only at genuine boundaries.

Files:

  • marm-mcp-server/marm_mcp_server/config/settings.py
  • marm-mcp-server/marm_mcp_server/__init__.py
  • marm-mcp-server/marm_mcp_server/server.py
  • marm-mcp-server/marm_mcp_server/middleware/auth.py
marm-mcp-server/{pyproject.toml,server.json,marm_mcp_server/__init__.py,marm_mcp_server/config/settings.py,marm_mcp_server/server.py,Dockerfile,docker-compose.yml}

📄 CodeRabbit inference engine (AGENTS.md)

When bumping the version, update every listed version occurrence and audit with python scripts/find-versions.py.

Files:

  • marm-mcp-server/marm_mcp_server/config/settings.py
  • marm-mcp-server/docker-compose.yml
  • marm-mcp-server/marm_mcp_server/__init__.py
  • marm-mcp-server/pyproject.toml
  • marm-mcp-server/server.json
  • marm-mcp-server/marm_mcp_server/server.py
  • marm-mcp-server/Dockerfile
**/*.py

⚙️ CodeRabbit configuration file

**/*.py: Prioritize runtime correctness, async/concurrency safety, SQLite transaction safety, auth/rate-limit behavior, release-breaking packaging issues, and MCP protocol compatibility.

Files:

  • marm-mcp-server/marm_mcp_server/config/settings.py
  • marm-mcp-server/marm_mcp_server/__init__.py
  • scripts/run-tests.py
  • marm-mcp-server/tests/test_docker_static_config.py
  • marm-mcp-server/tests/test_concept_endpoints.py
  • marm-console/tests/test_memory_dashboard_gap_routes.py
  • marm-mcp-server/tests/test_http_tools.py
  • scripts/find-dead-code.py
  • marm-mcp-server/tests/test_http_app.py
  • marm-mcp-server/marm_mcp_server/server.py
  • marm-mcp-server/marm_mcp_server/middleware/auth.py
  • marm-mcp-server/tests/conftest.py
  • scripts/find-versions.py
marm-mcp-server/tests/**/*.py

📄 CodeRabbit inference engine (AGENTS.md)

marm-mcp-server/tests/**/*.py: Run tests with pytest from marm-mcp-server/; tests should use real FastAPI endpoints and real SQLite, mocking only when it closely matches real behavior.
Every new MARM Console API route must have at least one happy-path FastAPI response-contract test with the MCP adapter stubbed.
Do not write existence-check or coded-to-pass tests; prefer deep tests exercising real paths over broad shallow coverage.
Use pytest.mark.skip only for genuinely unavailable dependencies, never merely to avoid implementation effort.

Files:

  • marm-mcp-server/tests/test_docker_static_config.py
  • marm-mcp-server/tests/test_concept_endpoints.py
  • marm-mcp-server/tests/test_http_tools.py
  • marm-mcp-server/tests/test_http_app.py
  • marm-mcp-server/tests/conftest.py
**/tests/**

⚙️ CodeRabbit configuration file

**/tests/**: Focus on tests that are flaky, non-isolated, incorrectly asserting behavior, or missing coverage for a changed high-risk path. Skip minor naming, comments, and layout preferences.

Files:

  • marm-mcp-server/tests/test_docker_static_config.py
  • marm-mcp-server/tests/test_concept_endpoints.py
  • marm-console/tests/test_memory_dashboard_gap_routes.py
  • marm-mcp-server/tests/test_http_tools.py
  • marm-mcp-server/tests/test_http_app.py
  • marm-mcp-server/tests/conftest.py
marm-mcp-server/server.json

📄 CodeRabbit inference engine (AGENTS.md)

When adding or removing an MCP tool, update the tools array.

Files:

  • marm-mcp-server/server.json
marm-mcp-server/marm_mcp_server/server.py

📄 CodeRabbit inference engine (AGENTS.md)

marm-mcp-server/marm_mcp_server/server.py: HTTP MCP tools must be whitelisted in MCP_TOOL_OPERATIONS; unlisted tools do not exist over HTTP.
When adding or removing an MCP tool, update its HTTP route and MCP_TOOL_OPERATIONS whitelist.

Files:

  • marm-mcp-server/marm_mcp_server/server.py
{README.md,docs/PROTOCOL.md,docs/PROTOCOL-LITE.md,marm-mcp-server/marm-docs/README.md,marm-mcp-server/marm-docs/docs/PROTOCOL.md,marm-mcp-server/marm-docs/docs/PROTOCOL-LITE.md}

📄 CodeRabbit inference engine (AGENTS.md)

Keep full MCP tool lists synchronized across the root documentation and their marm-mcp-server/marm-docs/ copies, including FAQ tool counts.

Files:

  • marm-mcp-server/marm-docs/README.md
  • README.md
{README.md,marm-mcp-server/README.md,marm-mcp-server/marm-docs/README.md}

📄 CodeRabbit inference engine (AGENTS.md)

README mirrors are generated: edit root README.md as the source of truth and regenerate the PyPI and text-only variants; never hand-edit mirrors.

Files:

  • marm-mcp-server/marm-docs/README.md
  • README.md
  • marm-mcp-server/README.md
🪛 ast-grep (0.44.1)
marm-mcp-server/tests/test_docker_static_config.py

[warning] 174-174: Regex pattern passed to re is built from a non-literal (variable, call, concatenation, or f-string) value. If that value is attacker-controlled it can introduce a malicious pattern with catastrophic backtracking (ReDoS). Use a hardcoded literal pattern, or validate/escape untrusted input with re.escape() and bound the regex complexity before compiling.
Context: re.search(rf"^{package_dir}/?\s*$", DOCKERIGNORE, re.MULTILINE)
Note: [CWE-1333] Inefficient Regular Expression Complexity.

(redos-non-literal-regex-python)

🪛 SkillSpector (2.3.11)
skills/marm-init/SKILL.md

[info] 58: [RP1] null: pip install without ==version installs the latest release, which could include malicious changes.

Remediation: Pin the version: pip install package==1.2.3

(MCP Rug Pull (RP1))


[warning] 60: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 143: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 144: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 147: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 229: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 7: [AS3] Skill Enumeration: Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Remediation: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.

(Agent Snooping (AS3))


[warning] 139: [E1] External Transmission: Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Remediation: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.

(Data Exfiltration (E1))


[info] 58: [RP1] null: pip install without ==version installs the latest release, which could include malicious changes.

Remediation: Pin the version: pip install package==1.2.3

(MCP Rug Pull (RP1))


[warning] 60: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 143: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 144: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 147: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 229: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 7: [AS3] Skill Enumeration: Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Remediation: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.

(Agent Snooping (AS3))


[warning] 139: [E1] External Transmission: Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Remediation: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.

(Data Exfiltration (E1))


[info] 58: [RP1] null: pip install without ==version installs the latest release, which could include malicious changes.

Remediation: Pin the version: pip install package==1.2.3

(MCP Rug Pull (RP1))


[warning] 60: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 143: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 144: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 147: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 229: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 7: [AS3] Skill Enumeration: Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Remediation: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.

(Agent Snooping (AS3))


[warning] 139: [E1] External Transmission: Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Remediation: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.

(Data Exfiltration (E1))


[info] 58: [RP1] null: pip install without ==version installs the latest release, which could include malicious changes.

Remediation: Pin the version: pip install package==1.2.3

(MCP Rug Pull (RP1))


[warning] 60: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 143: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 144: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 147: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 229: [RP1] null: Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Remediation: Pin the image: image:tag or image@sha256:abc123

(MCP Rug Pull (RP1))


[warning] 7: [AS3] Skill Enumeration: Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Remediation: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.

(Agent Snooping (AS3))


[warning] 139: [E1] External Transmission: Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Remediation: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.

(Data Exfiltration (E1))

🔇 Additional comments (36)
scripts/find-dead-code.py (1)

23-27: LGTM!

Also applies to: 331-331

scripts/find-versions.py (1)

43-48: LGTM!

Also applies to: 267-272, 416-417, 428-431, 441-442, 451-452, 468-469

scripts/run-tests.py (1)

185-186: LGTM!

skills/marm-init/SKILL.md (1)

3-6: LGTM!

Also applies to: 26-26, 226-226, 237-246

marm-console/tests/test_memory_dashboard_gap_routes.py (1)

73-76: LGTM!

marm-mcp-server/Dockerfile (1)

11-15: LGTM!

Also applies to: 68-68

marm-mcp-server/marm_mcp_server/server.py (1)

8-8: LGTM!

Also applies to: 118-119

marm-mcp-server/marm_mcp_server/middleware/auth.py (1)

7-8: LGTM!

Also applies to: 11-18

marm-mcp-server/pyproject.toml (1)

7-7: LGTM!

Also applies to: 82-82

marm-mcp-server/tests/conftest.py (1)

37-41: LGTM!

Also applies to: 63-67

marm-mcp-server/tests/test_docker_static_config.py (1)

169-177: LGTM!

marm-mcp-server/tests/test_http_app.py (1)

107-122: LGTM!

marm-mcp-server/tests/test_concept_endpoints.py (1)

834-837: LGTM!

marm-mcp-server/tests/test_http_tools.py (1)

571-571: LGTM!

Also applies to: 1457-1461

CHANGELOG.md (1)

6-6: LGTM!

Also applies to: 19-29

README.md (1)

8-8: LGTM!

Also applies to: 29-29, 41-42, 79-79, 523-523, 761-761, 876-883, 910-910

marm-mcp-server/README.md (1)

1-10: 📐 Maintainability & Code Quality | 💤 Low value

Verify that this file was auto-generated.

Please confirm that this file was generated via the packaging script. As per coding guidelines, README mirrors must be generated from the root README.md as the source of truth; never hand-edit mirrors.

Source: Coding guidelines

docs/INSTALL-DOCKER.md (1)

5-5: LGTM!

docs/INSTALL-LINUX.md (1)

5-5: LGTM!

Also applies to: 323-323

docs/INSTALL-PLATFORMS.md (1)

1-1: LGTM!

docs/INSTALL-WINDOWS.md (1)

5-5: LGTM!

Also applies to: 296-296

marm-mcp-server/docker-compose.yml (1)

6-8: LGTM!

Also applies to: 21-21

marm-mcp-server/marm_mcp_server/config/settings.py (1)

124-124: LGTM!

marm-mcp-server/marm_mcp_server/__init__.py (1)

17-20: 📐 Maintainability & Code Quality

Version bump is consistent across the repo.

marm-mcp-server/marm-docs/README.md (1)

1-1: LGTM!

Also applies to: 47-47, 491-491, 838-845, 872-872

CONTRIBUTING.md (2)

5-5: LGTM!


117-117: 📐 Maintainability & Code Quality

Reconcile the archived dashboard path CONTRIBUTING.md points to marm_dashboard/, while marm-console/README.md points to docs/archived/; that archive path is not present in this tree. Align the docs to a single real location.

docs/ACKNOWLEDGMENTS.md (1)

7-7: LGTM!

docs/FAQ.md (1)

17-17: LGTM!

Also applies to: 74-74

docs/ROADMAP.md (1)

12-14: LGTM!

Also applies to: 28-28, 60-60, 117-121, 137-137, 150-165, 184-184

marm-console/README.md (1)

16-16: LGTM!

Also applies to: 104-104

marm-mcp-server/marm-docs/FAQ.md (1)

17-17: LGTM!

Also applies to: 74-74

marm-mcp-server/marm-docs/ROADMAP.md (1)

12-14: LGTM!

Also applies to: 28-28, 60-60, 117-121, 137-137, 150-165, 184-184

marm-console/artifacts/marm-console/src/lib/marm-api.ts (1)

1-5: LGTM!

marm-console/artifacts/marm-console/src/lib/marm-types.ts (1)

2-4: LGTM!

marm-mcp-server/server.json (1)

6-6: 📐 Maintainability & Code Quality

Version bump is consistent across all tracked files.


📝 Walkthrough

Walkthrough

MARM v2.23.0 removes the bundled dashboard from the MCP server and Docker package, unmounts /dashboard, updates authentication and tests, aligns release metadata, and revises documentation and tooling around MARM Console.

Changes

Dashboard runtime retirement

Layer / File(s) Summary
Runtime removal and route validation
marm-mcp-server/marm_mcp_server/..., marm-mcp-server/marm_dashboard/..., marm-mcp-server/tests/...
Removes dashboard mounting, packaging, authentication exemptions, fixtures, and dashboard-specific tests; verifies /dashboard is absent and protected.
Docker and maintenance scope
marm-mcp-server/Dockerfile, marm-mcp-server/tests/..., scripts/...
Stops shipping or scanning dashboard files and updates Docker/source validation accordingly.

Release and Console transition

Layer / File(s) Summary
Release metadata and publishing
marm-mcp-server/{pyproject.toml,server.json,Dockerfile,docker-compose.yml}, marm-mcp-server/marm_mcp_server/..., docs/INSTALL-*, .github/workflows/...
Bumps release metadata to 2.23.0 and updates publication output and installation examples.
Documentation and setup flow
README.md, marm-mcp-server/README.md, docs/..., marm-mcp-server/marm-docs/..., skills/marm-init/SKILL.md
Replaces dashboard references with MARM Console, removes dashboard documentation, adds direct health-check guidance, and revises setup steps.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Lyellr88
Lyellr88 merged commit 910dc37 into MARM-main Jul 18, 2026
7 checks passed
@Lyellr88
Lyellr88 deleted the release/v2.23.0 branch July 18, 2026 06:48
@coderabbitai coderabbitai Bot mentioned this pull request Jul 26, 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