Skip to content

mem-mcp 上架执行 G1–G6(MCP hubs 硬前置,运营派单) #104

Open

Description

@PeterGuy326
schemaVersion: requirement-record.v1
revision: R2
status: ready
priority: P1
productOwner: "@PeterGuy326"
technicalOwner: "unassigned"
userOutcome: "mem-mcp is listed and discoverable on the four MCP channels (official MCP Registry, Smithery, Glama, PulseMCP): installable, searchable, and parseable, with every channel entry evidenced before any external claim."
requirements:
  - REQ-001
  - REQ-002
  - REQ-003
  - REQ-004
  - REQ-005
  - REQ-006
acceptanceCriteria:
  - AC-001
  - AC-002
  - AC-003
  - AC-004
  - AC-005
  - AC-006
parent: null
dependencies: []
supersedes:
  - "R1 free-form ops dispatch record (2026-08-24)"
lastDecisionAt: "2026-08-29T02:30:46Z"

User problem and observable outcome

Ops dispatch (DevRel gap list, 2026-08-24, re-verified by live pull): the org's only MCP asset is this repo's mem-mcp (Go stdio, protocol 2024-11-05, ~20 tools), currently listed on zero channels — no GitHub Release, npm @fullstack-ai-infra/mem-mcp 404, no smithery.yaml, no mcp-server topic, and the tool table only exists in docs/mcp.md (unparseable by PulseMCP). G1–G3 are hard prerequisites: without them none of the four channels can list the server.

Observable outcome: each channel entry is live and evidenced — Release page, parseable README tool table + topic, Smithery validation, npm-installable wrapper, official Registry searchable, and Smithery/mcp.so/PulseMCP submissions receipted.

Requirements (G5 depends on G4; G6 depends on G1–G5)

  • REQ-001 (G1): Publish a GitHub Release with install instructions and artifacts.
  • REQ-002 (G2): README gains a parseable Tools table (extracted from docs/mcp.md) and the repo gains the mcp-server topic.
  • REQ-003 (G3): repo root gains smithery.yaml (stdio launch config incl. MEM_TOKEN env declaration).
  • REQ-004 (G4): npm wrapper package so the Go binary can ride the official Registry (npm carrier); npm i must launch mem-mcp.
  • REQ-005 (G5): publish to the official MCP Registry via mcp-publisher; package.json gains mcpName: io.github.fullstack-ai-infra/mem-mcp.
  • REQ-006 (G6): submit to Smithery and mcp.so; recheck PulseMCP topic (listing window 1–2 weeks; submission receipts posted back to this issue).

Acceptance criteria

  • AC-001: Release page visible with version and install commands.
  • AC-002: README contains a tool name/description table; topics include mcp-server.
  • AC-003: Smithery validation passes for smithery.yaml.
  • AC-004: npm i of the wrapper launches mem-mcp.
  • AC-005: Official Registry search returns the server.
  • AC-006: Smithery/mcp.so submission receipts posted; PulseMCP recheck scheduled with the 1–2 week window recorded.

Channel mechanism notes (verified 2026-08-23)

  • Official Registry stores metadata only: npm package + GitHub login verification; mcpName must carry the io.github.<user>/ prefix → mcp-publisher init generates server.json then publish.
  • PulseMCP lists via topic automatically: requires the mcp-server topic plus a parseable README Tools table; appearance window 1–2 weeks.

Lifecycle, status, priority, blockers, and open decisions

  • status=ready; priority P1 (assigned at formalization; original dispatch carried no priority label); technicalOwner unassigned (implementation via tech line; ops line tracks channel receipts).
  • Suggested timeline from the dispatch: G1–G3 first week (zero external deps); G4–G5 second week; G6 observe 1–2 weeks after submission.
  • Blockers: none for G1–G3.

Evidence plan and discipline

  • Each G carries its own acceptance evidence; channel receipts are posted back to this issue.
  • Discipline (from the dispatch, retained): no external "listed" claim before listing completes; after completion, ops backfills the competitor-radar ledger (P7 observation slot).

Decisions

  • DEC-MEM-104-001 (2026-08-29T02:30:46Z): record formalized to requirement-record.v1 (R2) per founder-approved governance completion batch (2026-08-29); R1 free-form dispatch content restructured without semantic change; status=ready (dispatch fully specified), priority P1 assigned at formalization (no prior priority label). Decision comment: mem-mcp 上架执行 G1–G6(MCP hubs 硬前置,运营派单) #104 (comment)

Revision history

Activity

  1. PeterGuy326 commented on Aug 25, 2026

    @PeterGuy326
    CollaboratorAuthor

    分诊处置:保留(运营线执行载体,清库留痕,CEO 派单 2026-08-26)

    裁决:mem-mcp 上架执行 G1–G6 为运营负责人/DevRel 线的在途派单载体(MCP hubs 硬前置),产品线不按偏离关闭。
    产品锚点:mem-mcp 作为记忆能力外化通道,未来与 org-workbench 簇 #37⑥(网盘=项目大脑)的挂接另行立项评估;G1–G6 执行与验收口径维持运营线既定安排。

    —— 产品经理 P9(triage 裁决)

  2. PeterGuy326 commented on Aug 26, 2026

    @PeterGuy326
    CollaboratorAuthor

    现势核验单回执(技术 P9 · 任务 #10,8/27 前回收)

    基线:main @ 4c714aa(2026-08-23);核验执行 2026-08-26,独立 worktree + 本地复跑 + main CI 留痕。证据刻度 E1(文档阅读)→ E2(单测本地绿)→ E4(main CI head 级绿)。

    ① 工具清单一致性:一致,且口径需更正。 实现注册 26 工具(TestRegisterAll_RegistersExpectedToolNames 钉死,本地复跑 PASS),docs/mcp.md 表格 26 工具与实现集合 diff 为空。派单中"约 20 工具"为过时口径,现势 26,外宣须用 26(附基线)。mem_ask 已退役,口径干净。

    ② grant-revoke-forget + provenance 验证状态:

    • forget ✅:MCP/API/CLI 三面齐;墓碑无活体载荷、forget 后 GET 404、PostgreSQL SQL 级擦除校验均在 acceptance 内,main CI 绿。
    • provenance ✅:mem_put source_metadata 为规范溯源对象(source_kind/source_name/captured_at/location),MCP/CLI/API 三面测试齐。
    • grant/revoke ⏳:API 服务端+端点、token revoke(API/CLI)、Web PermissionsPage(feat(web): add admin permissions management page for tokens and recall grants #100)实现齐,TestDurableContextPostgres 覆盖 revoke/跨 workspace 边界/forgotten 不可授予(本次本地复跑绿);但 durable-context grant/revoke 无 CLI 命令、grant→recall-scoping→revoke 端到端验收未立、PermissionsPage vitest 未接 CI——三缺口记录在案。

    ③ 一核四通道可复现范围(现势):

    通道 结论 关键证据
    API ✅ E2+E4 go test(api/durablecontext/tools)本地绿;ci.yml recall/go(-race)main 绿
    MCP ✅ E4 mcp_acceptance.go stdio 全链路(握手/recall/lifecycle/state_version==5)acceptance job 绿
    CLI ✅ E2+E4(grant 面无命令) cmd/mem 测试绿;acceptance 含 checkpoint path-scoping
    UI ✅ E4(vitest 未接 CI) Playwright 五套验收(i18n/theme/enrichment/memory/transfer)绿
    端到端 ✅ E4 acceptance_agent_memory.sh(PG+S3 隔离);"Validate Agent memory" @ 4c714aa SUCCESS

    宣言回填口径(供 DevRel):mem core across API/MCP/CLI/UI 可升 ✅ 已验证(基线 4c714aa);grant/revoke 治理面标 ⏳ 不写 works;MCP distribution 维持 ⏳(G1–G6 在途、零上架,上架前不得宣称)。

    全文存档:workspace outputs/mem-核验单-证据等级-2026-08-26.md(含最小复现命令集)。

    —— 技术 P9

  3. PeterGuy326 commented on Aug 29, 2026

    @PeterGuy326
    CollaboratorAuthor
    schemaVersion: requirement-decision.v1
    canonicalIssue: "https://github.com/fullstack-ai-infra/mem/issues/104"
    previousRevision: R1
    resultingRevision: R2
    decisionType: additive
    oldDecision: "R1 free-form record without requirement-record.v1 structure"
    newDecision: "R2 carries the same scope as a requirement-record.v1 record (numbered REQ/AC, Decisions, revision history); status=ready; priority P1 assigned at formalization (no prior priority label)"
    reason: "Founder-approved governance completion batch (2026-08-29): the two mem open issues without requirement records are formalized; formalization only — no semantic change to scope"
    impact: "Governance structure only; scope, acceptance, and validation unchanged"
    approver: "@PeterGuy326"
    decidedAt: "2026-08-29T02:30:46Z"
  4. added
    type:maintenanceMaintenance, tooling, refactoring, or repository work
    priority:p1Important after the immediate critical path
    on Aug 29, 2026
  5. PeterGuy326 commented on Aug 30, 2026

    @PeterGuy326
    CollaboratorAuthor

    Decision comment (Tech P9) — ownership routing for the six permission-gated steps from PR #105's "Who has to do what", requested in the ops thread 2026-08-29.

    # Step Gate Owner Status
    1 mcp-server repo topic (G2) org admin Tech P9 (org admin) DONE 2026-08-30 — topic added; with the README Tools table merged via #105, G2 is complete and the PulseMCP preconditions (topic + parseable table) are satisfied
    2 Tag → GitHub Release (G1) contents:write Tech P9 (org admin) Ready to execute under RELEASING.md / release-flow (dedicated release issue, version adjudication, tag-on-squash verification, three-channel evidence). First mem release version is pending adjudication; propose v0.1.0, aligned with npm/package.json
    3 npm publish @fullstack-ai-infra/mem-mcp (G4) org npm token Founder line to provide token or run publish Package side ready: wrapper 0.1.0, os linux/darwin/win32, postinstall downloader aligned with Release assets, platform map single-sourced in npm/platforms.js
    4 Official MCP Registry via mcp-publisher (G5) org GitHub auth Tech P9 attempts with the org account; falls back to founder line if an interactive device flow is mandatory mcpName: io.github.fullstack-ai-infra/mem-mcp already in place (merged via #105); runs after G1 + G4
    5 Smithery submission (G6) external account DevRel / ops line After G3 validation; receipt to be posted back here
    6 mcp.so submission (G6) external account DevRel / ops line Receipt to be posted back here

    Dependencies unchanged: G5 depends on G4; G6 depends on G1–G5. Discipline retained from the dispatch: no external "listed" claim until each channel is evidenced; after completion ops backfills the competitor-radar ledger.

  6. added a commit that references this issue on Aug 30, 2026
  7. PeterGuy326 commented on Aug 30, 2026

    @PeterGuy326
    CollaboratorAuthor

    G1 (GitHub Release) — DONE, evidence read back

    mem-mcp v0.1.0 released via the release workflow (run 33324440841, all jobs green). Tag v0.1.0 → commit d2dd534 (GOFLAGS fix #115 + download-artifact SHA fix #117).

    Release assets (7):

    • mem-mcp-checksums.txt (SHA256SUMS)
    • mem-mcp-linux-amd64, mem-mcp-linux-arm64
    • mem-mcp-darwin-amd64, mem-mcp-darwin-arm64
    • mem-mcp-windows-amd64.exe, mem-mcp-windows-arm64.exe

    Release: https://github.com/fullstack-ai-infra/mem/releases/tag/v0.1.0

    Remaining gates

    • G4 (npm publish) — blocked on the org npm token. The @fullstack-ai-infra/mem-mcp wrapper (npm/ , v0.1.0) downloads the release binaries at install time. Needs a publish token for the fullstack-ai-infra npm org.
    • G5 (official MCP Registry) — depends on G4 (mcpName io.github.fullstack-ai-infra/mem-mcp already in npm/server.json).
    • G6 (Smithery / mcp.so) — DevRel/ops line; receipts to be posted here.

    Discipline held: no external "listed" claim until each channel is evidenced.

  8. waterbro-8 commented on Aug 31, 2026

    @waterbro-8
    Collaborator

    独立核验回执:上架渠道代码侧已就绪,剩余全卡 npm token(技术核验)

    核验范围:main @ d2dd534(v0.1.0),本地复跑 + 四渠道实查,执行 2026-08-31。证据刻度 E1(制品阅读)→ E2(本地复跑绿)→ E3(外部渠道实查)。

    ① G1–G3 代码侧:完成

    门 结论 关键证据
    G1 Release ✅ v0.1.0,7 asset(linux/darwin/win32 × amd64/arm64 + checksums),Release 页可见
    G2 README 工具表 + topic ✅ README 26 行可解析表,与 npm/server.json 26 工具集合 diff 为空;repo 已带 mcp-server topic
    G3 smithery.yaml ✅ 文件就绪,格式正确 startCommand/commandFunction/configSchema 结构与 microsoft/mcp smithery.yaml 一致(当前 Smithery schema)。校验回执需 Smithery 账号 smithery mcp publish 产出,无法离线取证

    ② G4 npm wrapper:代码完成,端到端本地验证通过,发布阻塞于 org npm token

    E3 本地链路复跑(npm pack → tarball 安装 → postinstall → 启动):

    • npm pack 产出 6 文件 tarball(package.json/install.js/mem-mcp/platforms.js/README/LICENSE)
    • postinstall 从 v0.1.0 Release 成功下载 mem-mcp-linux-amd64
    • mem-mcp --help 经 wrapper 正常启动二进制,输出 -server/-token/-workspace 用法

    结论:wrapper 代码路径可用,npm i 即装即跑在代码层已成立。唯一缺口 = @fullstack-ai-infra npm org 的 publish token(G4 owner = founder line)。

    ③ 四渠道现势实查(E3):零上架确认

    渠道 结论
    Official MCP Registry 未收录(npm 未发布,mcpName io.github.fullstack-ai-infra/mem-mcp 已就位待发)
    Smithery 未收录(smithery mcp search mem 仅返回无关的 mem.ai)
    Glama 未收录
    PulseMCP topic 已加,1–2 周窗口待观察(尚未到窗口)

    ④ 结论:无可提 PR,瓶颈是凭证不是代码

    四渠道串联依赖 npm 发布:G5 以 npm 为载体;G6 Smithery stdio 模式靠 commandFunction 装 npm 包本地运行,npm 没发则提交也装不上;mcp.so 同理。只要 org 不给 npm token,四渠道一个都动不了。

    #120(checksum 校验,0.1.1 前置)与 #118(download-artifact pin)已覆盖 npm wrapper 健壮性缺口,不另提 PR。

    ⑤ 一个口径缺口(记录层,非代码)

    #104 的 user outcome 列四渠道为「Registry、Smithery、Glama、PulseMCP」,但 G6 REQ 写的是「Smithery 和 mcp.so」——Glama 在任何 REQ/AC 无对应项。建议 owner 定夺 Glama 是否纳入 G6。

    下一步(需 owner 执行)

    1. founder line 给 @fullstack-ai-infra npm org 的 publish token → 发 v0.1.1(勿发 0.1.0,fix(npm): verify release binary checksums #120 警示)
    2. Tech P9 跑 mcp-publisher(mcpName 已就位)
    3. DevRel 线 smithery mcp publish + mcp.so,回执贴回本 issue
    4. G3 校验回执折叠进 G6 smithery mcp publish 流程一并产出
  9. sun-970 commented on Sep 1, 2026

    @sun-970
    Contributor

    口径缺口提示(外部贡献者审阅)

    在跟进 #104 上架执行时,发现两个口径不一致,供 owner 定夺:

    ① Glama 在 REQ/AC 中缺失

    issue body 的 userOutcome 列四渠道为「official MCP Registry, Smithery, Glama, PulseMCP」,但 REQ-006 / AC-006 仅覆盖「Smithery 和 mcp.so」——Glama 没有任何 REQ/AC 对应项。核验者 waterbro-8 的独立核验回执也指出了同一缺口(「建议 owner 定夺 Glama 是否纳入 G6」)。

    建议 owner 明确裁决:

    • 纳入:补充 REQ-007 / AC-007(或修订 REQ-006 覆盖 Glama),并记录 Glama 的上架机制(Glama 是否通过 topic 自动发现,还是需要单独提交?)。
    • 不纳入:修订 userOutcome 将 Glama 移除,使四渠道与 REQ/AC 一致。

    ② npm 包名 / mcpName 与仓库坐标的一致性

    当前状态:

    • npm 包名:@fullstack-ai-infra/mem-mcp
    • mcpName:io.github.fullstack-ai-infra/mem-mcp(npm/server.json、npm/package.json)
    • 仓库 URL:https://github.com/bytefolk/mem(已迁移)

    Official MCP Registry 要求 mcpName 携带 io.github.<user>/ 前缀,其中 <user> 是 GitHub 登录名。请 owner 确认:

    • 如果 GitHub org 登录名仍为 fullstack-ai-infra(bytefolk 是显示名或 alias),则当前 mcpName 正确,无需改动。
    • 如果 org 已正式更名为 bytefolk,则 mcpName 应更新为 io.github.bytefolk/mem-mcp,npm 包名也需相应调整(@bytefolk/mem-mcp),并在 v0.1.1 发布前完成。

    这两项不影响 G1–G3 的已完成验收,但会在 G5(Registry 发布)和 G6 提交时成为阻塞项,建议尽早裁决。

  10. sun-970 commented on Sep 1, 2026

    @sun-970
    Contributor

    跟进:② 已由 #142 解决,① 仍待裁决

    PR #142(10d4bf7,2026-09-01 合入)已将仓库 URL 统一迁移到 bytefolk/mem,npm 包名和 mcpName 按 cutover 计划暂保留 fullstack-ai-infra 坐标,等 org rename 窗口完成后统一切换。② 已关闭。

    ① Glama 缺口仍待 owner 裁决:userOutcome 列 Glama 为四渠道之一,但 REQ/AC 无对应项。请 owner 明确纳入或移除,以便 G6 执行口径完整。

  11. PeterGuy326 commented on Sep 1, 2026

    @PeterGuy326
    CollaboratorAuthor

    G1 release evidence (founder 08-30 ruling: G1 = v0.1.0) — read back

    Release: https://github.com/fullstack-ai-infra/mem/releases/tag/v0.1.0
    (resolves via the org fork parent to bytefolk/mem; same release object)
    Tag v0.1.0 → commit d2dd534 (GOFLAGS #115 + download-artifact SHA #117). Release workflow run 33324440841 all green.

    SHA256SUMS (mem-mcp-checksums.txt):

    24cfd2a8a8d0e44d3e0931a12f64b4b7d6899473ca9af8a31ffeb143a0f81a33  mem-mcp-darwin-amd64
    c6550ea8e40afc83e9fc54cc1b8c722818ccd9b293d35b9d641ba85b60ff6930  mem-mcp-darwin-arm64
    379a4564e29351f1a78877766d80696884cc5b3bbe64a8be48da7e609139ab78  mem-mcp-linux-amd64
    e817f4ee6a7b8c0e06d62845c224cdf00b1a042a1f44a898771e5953e6bcd5d6  mem-mcp-linux-arm64
    189e867d3b3d19e385f513d307a508ac43dc3162041e88c9c73e9a5d97b35c5e  mem-mcp-windows-amd64.exe
    a02c32c78eacdb3adcabc4a24e7e98acf04b5b6db16c6530b06bca108404b0d0  mem-mcp-windows-arm64.exe
    

    6 platform binaries + checksums published. mem has no npm/GHCR channel in release.yml (per repo channel discipline, G1 = GitHub Release is the published channel).

    Downstream: G5 (official Registry) depends on G1+G4; G6 depends on G1–G5 (DevRel fire-ready). G4 (npm publish) pending org npm token (browser 2FA in progress).

  12. PeterGuy326 commented on Sep 1, 2026

    @PeterGuy326
    CollaboratorAuthor

    G4 (npm publish) — implementation landed as dedicated workflow; two founder action-items

    Implemented (PR #152): npm-publish.yml — OIDC Trusted Publishing for @fullstack-ai-infra/mem-mcp:

    • permissions: contents: read + id-token: write; no NPM_TOKEN/NODE_AUTH_TOKEN
    • cd npm && npm publish --provenance --access public
    • checkout pinned to the same SHA as existing steps; node 22
    • requires the GitHub Release (G1) to exist before publish (gh release view gate), holding the G1→G4 dependency

    Why a separate workflow, not release.yml: scripts/test_release_guards.sh (the release safety guard) explicitly forbids npm publish inside release.yml and requires --draft=false to be release.yml's final command. Adding npm-publish to release.yml fails that guard. So G4 lives in its own workflow, triggered by release: published / workflow_dispatch (version input). release.yml is untouched and its guard still passes.

    Founder action-item 1 (npmjs Trusted Publisher): your npmjs Trusted Publisher config must reference workflow = npm-publish.yml (not release.yml), org=fullstack-ai-infra / repo=mem / no environment.

    Founder action-item 2 (review): PR #152 touches .github/workflows/, which CODEOWNERS assigns to Bindy-lbb (third independent reviewer). --admin does not bypass it. It needs Bindy-lbb's review, or your explicit bypass.

    G1 (v0.1.0 GitHub Release) remains published and is the G4 prerequisite (install.js pulls binaries from the Release).

  13. waterbro-8 commented on Sep 3, 2026

    @waterbro-8
    Collaborator

    渠道实测回读(2026-09-03,against main@1332bf4)

    先把话说在前面:这条只是把 AC-001…AC-006 逐条拿去对可外部读回的事实,不是验收、不代表任何一票、不隐含合并或关单。合与关由 owner 定。里面也包含一条对我自己 09-01 那条评论的更正(当时说"本机跑不了安装测试",今天网络条件变了,跑通了)。

    已达成(可回读)

    • AC-002 (G2) ✅ — main 的 README.md:81 起是 26 行可解析的工具表;mcp-server 在 topics 里(ai-agents, ai-infrastructure, knowledge-management, mcp, mcp-server, memory, self-hosted)。顺手核了一致性,结论是正面的:npm/server.json 的 tools 数组与 README 表逐名相等(各 26 条,双向零差异),两份渠道元数据不会互相打脸。
    • AC-004 (G4) ✅,并且第一次拿到本机实测 — 在全新 prefix、全新 cache、全新 $HOME、--userconfig=/dev/null(不给 --allow-scripts)的条件下装 @fullstack-ai-infra/mem-mcp@0.1.1:rc=0、added 1 package, and audited 2 packages、found 0 vulnerabilities、没有任何 lifecycle script 被跑、node_modules/.bin/mem-mcp 正常存在。首次显式调用 mem-mcp --help:stdout 0 字节,320 字节诊断全部落在 stderr。所以 userOutcome 里"装的时候不用批准依赖 lifecycle script""诊断不污染 MCP stdio"这两句,在已发布的 0.1.1 制品上成立,不只是在单测里成立。

    部分达成

    • AC-001 (G1) ◐ — v0.1.0(2026-08-30T17:10Z)与 v0.1.1(2026-08-31T06:34Z)均为非 draft / 非 prerelease,tag 都在,各带 6 个平台二进制 + mem-mcp-checksums.txt。但 REQ-001 那句 "with install instructions" 没满足:两个 release 的正文都只有变更日志(v0.1.1 是从 CHANGELOG [0.1.1] 段落渲染出来的,v0.1.0 是自动生成的 What's Changed 列表),页面上一条安装命令都没有。所以"Release 页看得到版本"成立,"带安装指引"这半句要么补进 release 模板、要么由 owner 明确说不在 G1 范围内。
    • AC-003 (G3) ◐ — smithery.yaml 在仓库根,stdio launch config 与必填 memToken 都在。"Smithery validation passes" 仍是未验证:那需要他们的 validator,本机没有账号,所以这一格不能打勾。

    未达成

    • AC-005 (G5) ❌ 决定性负证据。 官方 MCP Registry 的公开 API 直接查:

      • search=io.github.fullstack-ai-infra → {"servers":[],"metadata":{"count":0}}
      • search=bytefolk → count:0
      • search=mem-mcp 只回第三方 io.github.Bumblebiber/hmem-mcp

      根因不止"没人跑 mcp-publisher":npm/server.json 的 mcpName 仍然是 io.github.fullstack-ai-infra/mem-mcp,而 org 已经改名 bytefolk。G5 发布前必须先定坐标 —— 这和 [Release] Migrate mem-mcp to @bytefolk/mem-mcp v0.1.2 #153 / chore(npm): migrate to @bytefolk/mem-mcp v0.1.2 (#153) #154 是同一次动作,分头做会做出一个带旧坐标的 registry 记录。

    • AC-006 (G6) ❌ 但要把"没做"和"还没到期"分开。 这个线程里没有任何 Smithery / mcp.so 的提交回执,而 AC-006 要求的就是"回执贴回本 issue",所以这半条确定没做。PulseMCP 那半边不该算失败:可解析工具表与 smithery.yaml 是随 feat(mcp): MCP distribution packaging — G1–G6 for mem-mcp publishing #105 在 2026-08-29T16:44Z 落地的,mcp-server topic 属于仓库设置项、没法从 PR 定日期(只能确定不晚于今天),所以窗口起点按 08-29 算起,今天第 5 天,还没到 1–2 周窗。我用限定站点的方式在 pulsemcp.com / mcp.so / smithery.ai / glama.ai 搜 mem-mcp 是零命中,但搜索引擎的收录滞后会让这个读数失真,所以它只算指示性证据,不算结论。

    一个仍待裁决的口径问题

    @sun-970 在 2026-09-01 提的那条还没人回:userOutcome 把 Glama 列为四渠道之一,但 REQ / AC 里没有对应项,G6 的执行范围因此是不完整的。要么补一条 REQ/AC,要么把它从 userOutcome 移除。

    结论

    建议 保持 open。按上面的证据,G2 与 G4 可以打勾;G1 缺 Release 页的安装指引、G3 缺一次 validator 回读;剩下的大头是 G5/G6 的实际提交与回执,而这两步同时被 npm 坐标迁移(#153)和 bytefolk/.github#22 的 npm 凭据 HOLD 挡着。userOutcome 那句"listed on zero channels"目前仍然成立,但性质变了:从"东西没有"变成"东西都造好了、还没交出去"。

    一条需要更正的记录(免得有人照它开 bug)

    已发布的 0.1.1 里 install.js 实际下载走的是 https://github.com/fullstack-ai-infra/mem/releases/download/v0.1.1/...,看着像"安装器还指着旧 org"。这不是源码缺陷:main:npm/install.js:34 已经是 bytefolk/mem,那串旧坐标来自 2026-08-31 发布的不可变制品自己。它现在靠 org 改名重定向存活,下一次发布会自动带走 —— 不用为它单开 issue,但它是"下一个版本越早发越好"的又一个理由(#122 的 OIDC 实测需要同一个版本)。

  14. waterbro-8 commented on Sep 3, 2026

    @waterbro-8
    Collaborator

    The Glama gap is not new: @sun-970 raised it on 2026-09-01 (#5489824037, followed up in #5489897162) and I restated it in the 2026-09-03 read-back (#5519961115). What changed is that it is now a decision to be made rather than an observation -- the founder's instruction today is "要么把 Glama 从 userOutcome 删掉,要么在 R2 里补对应的 REQ/AC,产品定,别挂着". This comment exists to make that one-edit decidable, and adds one fact nobody has written down yet.

    New fact: the mismatch runs both ways

    channel in userOutcome REQ AC mechanism verified in this record
    official MCP Registry yes REQ-005 AC-005 yes
    Smithery yes REQ-003, REQ-006 AC-003, AC-006 no
    Glama yes none none no
    PulseMCP yes REQ-006 AC-006 yes
    mcp.so no REQ-006 AC-006 no

    Glama is promised and unspecced. mcp.so is specced and not promised. Removing only Glama therefore leaves the record inconsistent in the opposite direction rather than fixing it -- AC-006 would still require a receipt for a channel the stated outcome never mentions. Any resolution needs both names settled in the same pass.

    Also unchanged so far: with R2 as written there is no criterion whose failure would tell a reviewer Glama was skipped, which is why "every channel entry evidenced before any external claim" is currently unverifiable for that channel.

    Option A -- drop Glama (edit-only, no new work)

    In the requirement-record.v1 block, userOutcome becomes three channels and mcp.so is named:

    -userOutcome: "mem-mcp is listed and discoverable on the four MCP channels (official MCP Registry, Smithery, Glama, PulseMCP): installable, searchable, and parseable, with every channel entry evidenced before any external claim."
    +userOutcome: "mem-mcp is listed and discoverable on the four MCP channels (official MCP Registry, Smithery, mcp.so, PulseMCP): installable, searchable, and parseable, with every channel entry evidenced before any external claim."

    Cost: zero implementation work. Requirement and acceptance lists stay as they are, because REQ-006/AC-006 already specced mcp.so -- this edit makes the outcome match the plan instead of the reverse. The "four" count survives unchanged.

    Option B -- keep Glama (one AC plus one unverified prerequisite)

    requirements gains REQ-007, acceptanceCriteria gains AC-007:

    • REQ-007 (G7): submit mem-mcp to Glama.
    • AC-007: submission receipt posted back to this issue, and the listing confirmed by live pull.

    Before AC-007 can be written honestly, Glama's entry mechanism has to be verified and recorded under "Channel mechanism notes" the way the Registry and PulseMCP mechanisms were. Nothing in this issue establishes whether Glama auto-discovers from the mcp-server topic, imports from the official Registry, or needs its own submission -- and that determines whether G7 is a submission task or a monitoring task. An AC for an unverified mechanism produces a criterion nobody can satisfy, which is exactly the shape the 1-2 week window note in G6 exists to prevent. mcp.so needs the same mechanism note either way, since it is already specced and still unverified.

    Either way

    This should land as R3 with a Decisions entry, the way DEC-MEM-104-001 recorded R2 (#5459795704) rather than as an unattributed body edit -- userOutcome and the REQ/AC lists live inside the machine-readable block, so the revision and the decision record are how anyone downstream learns the outcome changed.

    Recorded ownership: productOwner: @PeterGuy326, technicalOwner: unassigned. I have not edited this issue's body, opened a PR against it, changed status, or picked an option -- A and B are not equivalent in cost and that trade-off is the product call.

  15. waterbro-8 commented on Sep 17, 2026

    @waterbro-8
    Collaborator

    No change to the 2026-09-03 read-back. I cannot finish G5/G6 from this environment.

    Still true:

    • G2/G4 packaging is on main (README tools table, mcp-server topic, npm wrapper, smithery.yaml).
    • G1 Release pages exist for 0.1.0/0.1.1 but still lack install commands in the release body.
    • G5 official Registry search is empty; mcpName is io.github.bytefolk/mem-mcp in source, blocked on npm scope migration [Release] Migrate mem-mcp to @bytefolk/mem-mcp v0.1.2 #153 / chore(release): prepare ByteFolk mem-mcp 0.1.2 #193 and org npm credentials.
    • G6 has no Smithery/mcp.so receipts in this thread. Glama vs mcp.so in userOutcome is still an unmade product decision (A vs B in the 2026-09-03 comment).

    I will not claim any channel listing. Keep open.

  16. waterbro-8 commented on Sep 18, 2026

    @waterbro-8
    Collaborator

    G5 按约定顺序推进,停在 founder 凭据,没有宣称已上架。

    1. npm / Trusted Publisher(本环境做不了) — npm whoami 仍是 ENEEDAUTH;@bytefolk/mem-mcp 仍 404。Parent .github#22 HOLD。需要 org 绑定 Trusted Publisher:repo=bytefolk/mem,workflow=npm-publish.yml,environment=npm-release。
    2. 0.1.2 代码 rebase — chore(release): prepare ByteFolk mem-mcp 0.1.2 #193 对 main DIRTY。已 rebase 到当前 main,并加上 Registry OIDC workflow:**https://github.com/bytefolk/mem/pull/222**(`@bytefolk/mem-mcp@0.1.2` + io.github.bytefolk/mem-mcp)。无 tag、无 npm publish、不 deprecate 0.1.1。
    3. 发 v0.1.2 + OIDC npm — 等 222 合入且步骤 1 完成后,按 docs/maintainers/releasing.md 打 tag(维护者动作,这条 PR 不打)。
    4. G5 — 222 新增 MCP Registry Publish(mcp-publisher login github-oidc)。npm 上还没有 @bytefolk/mem-mcp 时 job 会主动失败,避免写出坏的 Registry 记录。
    5. 回执 — Registry search 有结果后再贴本 issue。现在 search 仍空,不声称 listed。
  17. waterbro-8 commented on Sep 19, 2026

    @waterbro-8
    Collaborator

    G5 预备 PR #222 head 72b9347:独立技术 Approve(wadrzl / sun-970),hosted CI 21 pass,MERGEABLE。仍 未合(CODEOWNER;崔泽生 CHANGES_REQUESTED 挂在旧 head b57cf1c)。不打 tag、不 npm publish、不 dispatch Registry。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority:p1Important after the immediate critical pathtype:maintenanceMaintenance, tooling, refactoring, or repository work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions