Skip to content

feat(zcode): add Nowledge Mem plugin [DO NOT MERGE YET] - #484

Closed
IceCodeNew wants to merge 7 commits into
nowledge-co:mainfrom
IceCodeNew:feat/zcode-plugin
Closed

feat(zcode): add Nowledge Mem plugin [DO NOT MERGE YET]#484
IceCodeNew wants to merge 7 commits into
nowledge-co:mainfrom
IceCodeNew:feat/zcode-plugin

Conversation

@IceCodeNew

@IceCodeNew IceCodeNew commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a native ZCode Plugin package with .zcode-plugin/plugin.json
  • bundle Nowledge Mem MCP and six guided Skills
  • register the ZCode plugin in the integration registry and marketplace
  • add static validation and plugin contract coverage
  • document the verified 0.1.0 boundary: guided MCP + Skills and handoff-only threads

Design boundary

This follows the ZCode plugin documentation and the existing ZCode history. ZCode session/transcript lifecycle behavior has not been independently verified, so this PR does not claim automatic recall injection, automatic transcript capture, pre-compaction capture, or save-thread.

The package uses the host-owned ZCode MCP configuration for remote/custom Mem endpoints. No API keys are bundled in the plugin.

Validation

  • node nowledge-mem-zcode-plugin/scripts/validate-plugin.mjs
  • uv run --with pytest pytest tests/plugin_e2e/test_key_plugins_e2e.py::test_registry_connect_contract_points_agent_prompts_to_universal_skill tests/plugin_e2e/test_key_plugins_e2e.py::test_zcode_plugin_static_contract_is_self_contained -q
  • JSON validation ✅
  • git diff --check
  • GPG-signed commit ✅

The complete plugin contract suite still has one pre-existing unrelated failure because the nowledge-mem-gemini-cli checkout lacks package.json.

Manual verification

After merge, add the repository marketplace.json in ZCode via Settings → Plugins → Create → Add marketplace, install nowledge-mem-zcode, enable it, and reload the Agent runtime.

Summary by CodeRabbit

  • New Features
    • Added a marketplace-installable Nowledge Mem plugin for ZCode.
    • Added memory search, working-memory recall, distillation, status checks, integration diagnostics, and explicit handoff capabilities.
    • Added local and remote MCP configuration guidance with secure credential handling.
  • Documentation
    • Added installation, configuration, usage, limitations, security, update, and handoff guidance.
    • Clarified that automatic transcript capture is not supported.
  • Tests
    • Added validation for plugin metadata, marketplace setup, MCP configuration, skills, and documentation.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@IceCodeNew, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 34 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 27bcf0b1-f8d7-48c1-b93c-eaa96b82d3cb

📥 Commits

Reviewing files that changed from the base of the PR and between cd6de93 and 85ebc84.

📒 Files selected for processing (3)
  • nowledge-mem-zcode-plugin/skills/check-integration/SKILL.md
  • nowledge-mem-zcode-plugin/skills/save-handoff/SKILL.md
  • nowledge-mem-zcode-plugin/skills/search-memory/SKILL.md
📝 Walkthrough

Walkthrough

Added a versioned Nowledge Mem ZCode plugin with MCP configuration, six guided skills, marketplace installation, registry updates, documentation, validation tooling, and static contract tests.

Changes

ZCode plugin integration

Layer / File(s) Summary
Plugin package contract
nowledge-mem-zcode-plugin/.zcode-plugin/plugin.json, nowledge-mem-zcode-plugin/marketplace.json, nowledge-mem-zcode-plugin/.mcp.json, nowledge-mem-zcode-plugin/README.md, nowledge-mem-zcode-plugin/CHANGELOG.md
Defines plugin metadata, marketplace registration, the local HTTP MCP endpoint, installation workflows, capability boundaries, and release information.
Guided memory skills
nowledge-mem-zcode-plugin/skills/*
Adds skills for integration checks, memory search, Working Memory, distillation, status, and explicit handoffs with MCP and CLI fallbacks.
Marketplace and registry wiring
integrations.json, README.md, nowledge-mem-npx-skills/skills/check-integration/SKILL.md
Registers ZCode as a versioned plugin+mcp+skills integration and documents marketplace setup, reloads, MCP configuration, and handoff-only thread behavior.
Static plugin contract validation
nowledge-mem-zcode-plugin/scripts/validate-plugin.mjs, tests/plugin_e2e/test_key_plugins_e2e.py
Validates metadata, marketplace consistency, MCP configuration, skills, excluded directories, registry values, documentation, and package contents.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Sequence Diagram(s)

sequenceDiagram
  participant Developer
  participant Marketplace
  participant ZCode
  participant NowledgeMemMCP
  Developer->>Marketplace: Install nowledge-mem-zcode
  Marketplace->>ZCode: Enable plugin and skills
  ZCode->>NowledgeMemMCP: Connect through configured MCP endpoint
  ZCode->>Developer: Provide guided memory and handoff skills
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: adding the Nowledge Mem ZCode plugin; the review-only note does not obscure the purpose.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@IceCodeNew IceCodeNew changed the title feat(zcode): add Nowledge Mem plugin feat(zcode): add Nowledge Mem plugin [DO NOT MERGE YET] Aug 8, 2026
@IceCodeNew

Copy link
Copy Markdown
Contributor Author

Not ready to merge yet.

This PR is intentionally being kept Open and non-Draft so CodeRabbit can review the current implementation. It should not be merged at this stage because:

  • the PR currently has a merge conflict that still needs to be resolved;
  • the marketplace packaging decision is being revised: ZCode's marketplace.json belongs at the root of a marketplace repository, not in the main community repository;
  • the final design is to create a separate ZCode marketplace/plugin Git repository under the IceCodeNew account and import it into this repository via a git submodule, but that repository should not be created until CodeRabbit has reviewed the current implementation and found no issues.

After CodeRabbit review is complete and any valid findings are addressed (with non-applicable findings answered inline), I will create the standalone repository and prepare the follow-up submodule-based PR. This PR is therefore for review only and must not be merged yet.

@IceCodeNew

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

The upstream/main merge conflict has been resolved. Please review the updated PR head. There were no prior inline findings or review threads; any actual findings will be tested against the implementation, fixed when valid and marked resolved, or answered inline when not applicable.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

@IceCodeNew I will review the updated PR head. I will not merge this PR.

⚠️ Action not completed

Already reviewed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@marketplace.json`:
- Around line 11-18: Finalize the ZCode marketplace contract across all three
sites: in marketplace.json (lines 11-18), point source and repository to the
standalone final marketplace repository; in integrations.json (lines 1159-1161),
update command and updateCommand to that same final marketplace URL; and in
nowledge-mem-zcode-plugin/skills/check-integration/SKILL.md (lines 40-42), add
“Step 2 — Install for that host” using the identical install command. Keep the
registry command and Skill installation row synchronized.

In `@nowledge-mem-zcode-plugin/scripts/validate-plugin.mjs`:
- Line 93: Update the frontmatter extraction regex in the validation logic to
accept both LF and CRLF line endings, while preserving the existing frontmatter
boundaries and content capture. Ensure valid SKILL.md files pass regardless of
checkout line-ending style.
- Line 6: Update the pluginRoot initialization to convert the parent module URL
with fileURLToPath() before passing it to resolve(), preserving correct decoded
and platform-specific filesystem paths.

In `@nowledge-mem-zcode-plugin/skills/search-memory/SKILL.md`:
- Around line 32-42: Update the nearby `mem_fs` examples in the skill
documentation to explicitly identify the Knowledge Filesystem surface as
optional and host-specific. Preserve the existing MCP tools as the ZCode
contract, and clarify that the shown `mem_fs` paths and commands are not
universally available or local filesystem paths.

In `@nowledge-mem-zcode-plugin/skills/status/SKILL.md`:
- Around line 20-26: Update the failure guidance in the status skill to separate
ZCode MCP diagnostics from local CLI checks: for remote or custom Mem, direct
users to run `nmem config mcp show --host zcode`, paste the resulting block into
ZCode, and reload ZCode. Keep `nmem --json status` as a distinct local nmem
fallback, and preserve the existing desktop-app and MCP status-tool guidance.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 602dd877-848b-4812-83f9-d223aa19215a

📥 Commits

Reviewing files that changed from the base of the PR and between de31be3 and e5433f8.

📒 Files selected for processing (16)
  • README.md
  • integrations.json
  • marketplace.json
  • nowledge-mem-npx-skills/skills/check-integration/SKILL.md
  • nowledge-mem-zcode-plugin/.mcp.json
  • nowledge-mem-zcode-plugin/.zcode-plugin/plugin.json
  • nowledge-mem-zcode-plugin/CHANGELOG.md
  • nowledge-mem-zcode-plugin/README.md
  • nowledge-mem-zcode-plugin/scripts/validate-plugin.mjs
  • nowledge-mem-zcode-plugin/skills/check-integration/SKILL.md
  • nowledge-mem-zcode-plugin/skills/distill-memory/SKILL.md
  • nowledge-mem-zcode-plugin/skills/read-working-memory/SKILL.md
  • nowledge-mem-zcode-plugin/skills/save-handoff/SKILL.md
  • nowledge-mem-zcode-plugin/skills/search-memory/SKILL.md
  • nowledge-mem-zcode-plugin/skills/status/SKILL.md
  • tests/plugin_e2e/test_key_plugins_e2e.py

Comment thread marketplace.json Outdated
Comment thread nowledge-mem-zcode-plugin/scripts/validate-plugin.mjs Outdated
Comment thread nowledge-mem-zcode-plugin/scripts/validate-plugin.mjs Outdated
Comment thread nowledge-mem-zcode-plugin/skills/search-memory/SKILL.md Outdated
Comment thread nowledge-mem-zcode-plugin/skills/status/SKILL.md Outdated
@IceCodeNew

Copy link
Copy Markdown
Contributor Author

The packaging direction is now corrected:

  • Removed the root marketplace.json from this repository.
  • The ZCode plugin package itself only contains .zcode-plugin/plugin.json, .mcp.json, and its Skills.
  • The README now provides complete macOS/Linux and Windows PowerShell instructions to create a persistent, user-owned local marketplace catalog outside this repository, using a stable path and an absolute directory source.
  • The README documents how to refresh the source after updates and how to add future local plugins.
  • No standalone repository or git submodule is being introduced.

Validation passed for the ZCode package validator and the registry/static contract tests. The PR remains open and non-Draft for CodeRabbit review.

@IceCodeNew

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Please review the latest packaging and manual-installation changes at the new PR head. If you find an actual inline issue, I will reproduce it, fix valid findings and resolve them, or reply inline when the finding is not applicable.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

@IceCodeNew I will review the latest packaging and manual-installation changes. I will not merge this PR.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@IceCodeNew

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

The latest head 8168a74 finalizes the standalone repository contract and addresses the active findings:

  • the standalone package now owns marketplace.json with source . and repository https://github.com/nowledge-co/zcode-plugin;
  • validate-plugin.mjs uses fileURLToPath and accepts LF/CRLF frontmatter;
  • search-memory labels mem_fs as optional/host-specific;
  • status separates local nmem CLI diagnostics from ZCode MCP diagnostics;
  • the community root marketplace remains absent.

Please review the latest head. I will resolve each valid thread after verifying the fix, and reply inline to any finding that is not applicable.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

@IceCodeNew I will review the latest PR head. I will not merge this PR.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@IceCodeNew IceCodeNew closed this Aug 8, 2026
@IceCodeNew IceCodeNew reopened this Aug 8, 2026
@IceCodeNew

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

I authorize updating this PR branch for review. The latest head is 8168a74 and has been locally validated. Please perform a substantive review of the current diff, not only the previous e5433f8 review. The release target is the standalone https://github.com/nowledge-co/zcode-plugin repository; after this PR converges, I will open a separate PR there and close this review PR without merging it.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

@IceCodeNew I will perform a substantive review of the current PR head. I will review the current diff independently of the earlier review. I will not merge this PR.

✅ Action performed

Full review finished.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@integrations.json`:
- Around line 1160-1161: Publish the standalone nowledge-mem-scode package to
the configured https://github.com/nowledge-co/zcode-plugin marketplace source
before advertising installation. In integrations.json lines 1160-1161, retain
the install/update commands only once that target is populated; align the
marketplace URL in nowledge-mem-zcode-plugin/skills/check-integration/SKILL.md
lines 30-34; and update README.md line 58 to advertise standalone installation
only after the package is available.

In `@nowledge-mem-zcode-plugin/scripts/validate-plugin.mjs`:
- Around line 45-47: Update the semantic-version validation regex in the
manifest.version check so prerelease and build metadata suffixes are optional
and independent, accepting combinations such as 1.0.0-rc.1+build.7 while
preserving valid versions without either suffix.

In `@nowledge-mem-zcode-plugin/skills/check-integration/SKILL.md`:
- Line 36: Update the installation guidance in SKILL.md to explicitly refresh
the marketplace and then update nowledge-mem-zcode before enabling it and
reloading the Agent runtime. Keep the existing standalone repository refresh and
reload guidance, using integrations.json as the authoritative source for the
matching update command.

In `@nowledge-mem-zcode-plugin/skills/distill-memory/SKILL.md`:
- Line 40: Update the nmem m update example in the distill-memory instructions
to use the documented --content flag instead of -c, preserving the existing
command and placeholder behavior.

In `@nowledge-mem-zcode-plugin/skills/save-handoff/SKILL.md`:
- Around line 22-28: Remove the unsupported -s generic-agent option from the
fallback nmem t create command in the save-handoff instructions, while
preserving the existing -t and -c arguments and MCP-preferred behavior.

In `@nowledge-mem-zcode-plugin/skills/search-memory/SKILL.md`:
- Around line 44-53: Update the CLI fallback commands in
nowledge-mem-zcode-plugin/skills/search-memory/SKILL.md lines 44-53,
nowledge-mem-zcode-plugin/skills/read-working-memory/SKILL.md lines 26-44, and
nowledge-mem-zcode-plugin/skills/distill-memory/SKILL.md lines 29-38 to
explicitly route operations through the active space by setting NMEM_SPACE or
passing --space. Apply the space-aware form consistently to all fallback
commands so search-memory, read-working-memory, and distill-memory preserve lane
isolation when MCP is unavailable.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e7f2f2c3-02aa-4957-be88-f0106965b5dc

📥 Commits

Reviewing files that changed from the base of the PR and between 20662ce and 8168a74.

📒 Files selected for processing (16)
  • README.md
  • integrations.json
  • nowledge-mem-npx-skills/skills/check-integration/SKILL.md
  • nowledge-mem-zcode-plugin/.mcp.json
  • nowledge-mem-zcode-plugin/.zcode-plugin/plugin.json
  • nowledge-mem-zcode-plugin/CHANGELOG.md
  • nowledge-mem-zcode-plugin/README.md
  • nowledge-mem-zcode-plugin/marketplace.json
  • nowledge-mem-zcode-plugin/scripts/validate-plugin.mjs
  • nowledge-mem-zcode-plugin/skills/check-integration/SKILL.md
  • nowledge-mem-zcode-plugin/skills/distill-memory/SKILL.md
  • nowledge-mem-zcode-plugin/skills/read-working-memory/SKILL.md
  • nowledge-mem-zcode-plugin/skills/save-handoff/SKILL.md
  • nowledge-mem-zcode-plugin/skills/search-memory/SKILL.md
  • nowledge-mem-zcode-plugin/skills/status/SKILL.md
  • tests/plugin_e2e/test_key_plugins_e2e.py

Comment thread integrations.json
Comment thread nowledge-mem-zcode-plugin/scripts/validate-plugin.mjs
Comment thread nowledge-mem-zcode-plugin/skills/check-integration/SKILL.md Outdated
Comment thread nowledge-mem-zcode-plugin/skills/distill-memory/SKILL.md Outdated
Comment thread nowledge-mem-zcode-plugin/skills/save-handoff/SKILL.md Outdated
Comment thread nowledge-mem-zcode-plugin/skills/search-memory/SKILL.md Outdated
@IceCodeNew

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Latest head cd6de93 addresses all six current findings:

  • standalone publication remains a release prerequisite and is explicitly tracked;
  • SemVer validation accepts independent prerelease and build metadata;
  • check-integration documents Refresh then Check for updates;
  • distill-memory uses --content;
  • save-handoff uses the supported --source flag;
  • CLI fallbacks route a known ambient space with --space and omit it for the default lane.

Please review the current head again. I will not treat the old e5433f8 review as a review of this new diff.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

@IceCodeNew I will review the current PR head cd6de935. I will assess the new diff independently. I will not merge this PR.

⚠️ Action not completed

Already reviewed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@IceCodeNew

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Follow-up fix on the latest review: the thread-show CLI fallback now also carries the active --space when known, completing the space-isolation guidance across read/search/distill flows. Local validator and target contract tests pass. Please review the current head again.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- PR metadata and current diff summary ---'
gh pr view 484 --repo nowledge-co/community --json number,headRefOid,baseRefOid,files --jq \
  '.number as $n | "PR #\($n)\nhead: \(.headRefOid)\nbase: \(.baseRefOid)\nfiles:\n" + ([.files[].path] | join("\n"))'

echo '--- working-tree diff against PR base ---'
git diff --find-renames --stat "$(git merge-base HEAD origin/main)" HEAD
git diff --find-renames --unified=80 "$(git merge-base HEAD origin/main)" HEAD -- \
  'nowledge-mem-zcode-plugin/skills/**/*.md' \
  'nowledge-mem-zcode-plugin/scripts/validate-plugin.mjs' \
  'tests/plugin_e2e/test_key_plugins_e2e.py' \
  'integrations.json' \
  'README.md'

echo '--- relevant file outlines ---'
fd -t f -a 'SKILL.md|validate-plugin\.mjs|test_key_plugins_e2e\.py' . \
  | rg 'nowledge-mem-zcode-plugin|tests/plugin_e2e/test_key_plugins_e2e\.py' \
  | while IFS= read -r file; do
      echo "### $file"
      case "$file" in
        *.mjs) ast-grep outline "$file" --items all ;;
        *.py) ast-grep outline "$file" --items all ;;
        *) sed -n '1,220p' "$file" ;;
      esac
    done

Length of output: 91879


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- latest follow-up commit ---'
git show --format=fuller --find-renames --stat HEAD
git diff --find-renames --unified=60 HEAD^ HEAD -- \
  'nowledge-mem-zcode-plugin/**' \
  'tests/plugin_e2e/test_key_plugins_e2e.py' \
  'integrations.json'

echo '--- ZCode package manifests ---'
for file in \
  nowledge-mem-zcode-plugin/.zcode-plugin/plugin.json \
  nowledge-mem-zcode-plugin/marketplace.json \
  nowledge-mem-zcode-plugin/.mcp.json; do
  echo "### $file"
  jq . "$file"
done

echo '--- ZCode README ---'
cat -n nowledge-mem-zcode-plugin/README.md

echo '--- ZCode transport and CLI fallback references ---'
rg -n -C 3 \
  -e 'mcp\+skills' \
  -e 'plugin\+mcp\+skills' \
  -e 'nmem --json t show' \
  -e 'nmem --json t create' \
  -e 'nmem --json m update' \
  nowledge-mem-zcode-plugin integrations.json tests/plugin_e2e/test_key_plugins_e2e.py

echo '--- comparable CLI command forms in existing package documentation ---'
rg -n -C 2 \
  -e 'nmem --json t show' \
  -e 'nmem --json t create' \
  -e 'nmem --json m update' \
  -g 'SKILL.md' \
  -g 'README.md' \
  .

Length of output: 38071


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- CLI help and documented thread-create space usage ---'
rg -n -C 4 \
  -e 't create.*--space' \
  -e 't create.*space' \
  -e '--source.*--space' \
  -e 'thread.*--space' \
  -e '"space"' \
  -g '*.md' -g '*.py' -g '*.ts' -g '*.js' -g '*.json' \
  . | head -n 500

echo '--- marketplace source objects and schemas in repository ---'
rg -n -C 5 \
  -e '"source"\s*:\s*\{' \
  -e '"source"\s*:\s*"\."' \
  -e '"source"\s*:\s*"directory"' \
  -e 'marketplace.*schema' \
  -g 'marketplace.json' -g '*.md' -g '*.json' \
  .

echo '--- tracked documentation or fixtures for ZCode marketplace behavior ---'
rg -n -i -C 4 \
  -e 'ZCode.*marketplace' \
  -e 'marketplace.*ZCode' \
  -e 'Add marketplace' \
  -e 'source.*directory' \
  README.md nowledge-mem-zcode-plugin tests docs 2>/dev/null || true

Length of output: 63342


🤖 web_search executed:

ZCode plugin marketplace.json schema source directory path Add marketplace

Length of output: 15438


@IceCodeNew I completed the review of head 1f4299699dec7301d4ea1d70a1909990d15c1de3.

The thread-show fallback now correctly carries --space when an ambient space is known. The local marketplace directory source form is also valid.

I found two remaining issues:

  1. High — Preserve the ambient space when save-handoff uses the CLI fallback.
    In nowledge-mem-zcode-plugin/skills/save-handoff/SKILL.md, the nmem --json t create command has no --space argument. If MCP is unavailable and ZCode has an active ambient space, the handoff saves in the Default lane. The other fallbacks read, search, and distill in the active lane. Add --space "<space name>" when the space is known, and state that the argument must be omitted for the default lane.

  2. Medium — Correct the registry transport description.
    In nowledge-mem-zcode-plugin/skills/check-integration/SKILL.md, the capability contract states that the registry remains mcp+skills. integrations.json and the static contract test declare plugin+mcp+skills. Update the Skill to use plugin+mcp+skills, or remove the transport literal. The current text describes the shipped plugin as a connector-only integration.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@IceCodeNew

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

The two remaining findings from the latest review are fixed in the new head:

  • save-handoff now passes the known ambient --space and explicitly omits it for the default lane;
  • check-integration now reports the shipped plugin+mcp+skills transport instead of the old connector-only value.

Local validator, JSON checks, and target contract tests pass. Please review this latest head.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- PR head and latest commit ---'
gh pr view 484 --repo nowledge-co/community --json number,headRefOid,baseRefOid \
  --jq '"PR #\(.number)\nhead: \(.headRefOid)\nbase: \(.baseRefOid)"'
git show --format=fuller --find-renames --stat HEAD
git diff --find-renames --unified=100 HEAD^ HEAD -- \
  'nowledge-mem-zcode-plugin/skills/save-handoff/SKILL.md' \
  'nowledge-mem-zcode-plugin/skills/check-integration/SKILL.md' \
  'nowledge-mem-zcode-plugin/skills/read-working-memory/SKILL.md' \
  'nowledge-mem-zcode-plugin/skills/search-memory/SKILL.md' \
  'nowledge-mem-zcode-plugin/skills/distill-memory/SKILL.md' \
  'integrations.json' \
  'tests/plugin_e2e/test_key_plugins_e2e.py'

echo '--- affected Skills ---'
for file in \
  nowledge-mem-zcode-plugin/skills/save-handoff/SKILL.md \
  nowledge-mem-zcode-plugin/skills/check-integration/SKILL.md; do
  echo "### $file"
  cat -n "$file"
done

echo '--- all ZCode CLI fallback and transport references ---'
rg -n -C 4 \
  -e 'nmem --json t create' \
  -e 'nmem --json t show' \
  -e 'nmem --json m (search|update|add)' \
  -e 'plugin\+mcp\+skills' \
  -e 'mcp\+skills' \
  nowledge-mem-zcode-plugin integrations.json tests/plugin_e2e/test_key_plugins_e2e.py

echo '--- static contract area ---'
rg -n -C 30 \
  -e 'nowledge-mem-zcode-plugin' \
  -e 'plugin\+mcp\+skills' \
  tests/plugin_e2e/test_key_plugins_e2e.py

Length of output: 31652


@IceCodeNew I reviewed head 85ebc848d48d03190afa46070e9c682722dfcc83.

The save-handoff CLI fallback now uses --space "<space name>" when an ambient space exists. It also instructs users to omit --space for the default lane.

The check-integration transport value now matches integrations.json and the static contract: plugin+mcp+skills.

I found no new issue in the latest diff.

You are interacting with an AI system.

@IceCodeNew

Copy link
Copy Markdown
Contributor Author

The standalone repository PR is now open: nowledge-co/zcode-plugin#1. It contains the converged ZCode package, root marketplace.json, .zcode-plugin/plugin.json, MCP config, Skills, validator, README, and changelog. The final publication blocker thread is resolved. Per the agreed flow, this review PR is now being closed without merging; after the standalone PR merges, a separate community PR will introduce the git submodule.

@IceCodeNew IceCodeNew closed this Aug 8, 2026
@IceCodeNew
IceCodeNew deleted the feat/zcode-plugin branch August 8, 2026 16:18
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