Prepare registry parity and marketplace submissions#93
Conversation
Commit notes: Add repeatable offline MCP contract and compatibility checks, an opt-in live validation bridge, a versioned quality report, and release/registry consumers. All local quality gates pass; live OSF validation remains opt-in.
Commit notes: classify registry routes with dated evidence, explicit auth and cost fields, and conservative deprioritization of unverifiable targets.
Commit notes: link worthwhile registry packets and dedicated provider tracks while explicitly deprioritizing unverifiable routes.
Commit notes: close the evidence-backed registry sweep, reconcile issue #49, and preserve external submission gates as explicit follow-up work.
Commit notes: document source-backed OSF Sync parity, preserve safe one-shot transfer behavior, and defer continuous sync pending a durable conflict and recovery contract.
Commit notes: close OSF Sync parity evidence, reconcile issue #13, and defer continuous synchronization pending a durable conflict and recovery contract.
Commit notes: document source-backed research-plugins parity, preserve existing OSF preprint and explicit file workflows, and defer automatic full-text retrieval pending a provenance and safety contract.
Commit notes: close the source-backed OSF parity assessment, record issue #16 reconciliation, and preserve the deferred full-text contract as the next explicit opt-in design task.
Commit notes: correct the dated upstream star-count evidence identified during conductor review.
Commit notes: benchmark the archived Paperclip MCP server, retain existing safe OSF discovery and explicit file workflows, and defer arbitrary PDF retrieval pending a bounded provenance and parser contract.
… complete Commit notes: close the dated Paperclip parity benchmark, reconcile issue #45, and record the deferred full-text retrieval contract.
Commit notes: document osfclient storage parity, retain explicit OSF transfer and secret-handling boundaries, and reject implicit clone and local credential persistence.
Commit notes: close the source-backed osfclient CLI benchmark, reconcile issue #9, and preserve explicit transfer and secret-handling contracts.
Commit notes: document osfr entity and conflict parity, retain typed explicit OSF contracts, and defer generic entity expansion to shared API coverage.
Commit notes: close the source-backed osfr entity benchmark, reconcile issue #10, and route generic entity expansion through shared API coverage.
Commit notes: document pyosf one-shot sync parity, preserve explicit transfer and credential boundaries, and defer continuous synchronization to the shared contract.
Commit notes: close the source-backed pyosf sync benchmark, reconcile issue #11, and defer continuous synchronization to the shared contract.
Commit notes: document PresQT OSF transfer and preservation parity, retain OSF-only safety boundaries, and defer cross-target metadata and provenance writes.
Commit notes: close the source-backed PresQT parity benchmark, reconcile issue #19, and defer cross-target preservation metadata until a provider-neutral contract exists.
Commit notes: add the Cline install guide and 400x400 logo, add the release-aligned LobeHub manifest, and record the provider authentication boundary without claiming publication.
Commit notes: link the official Cline Marketplace receipt and preserve the submitted-versus-approved status boundary.
Commit notes: record successful M2M device registration while preserving the user-auth requirement for plugin publication.
Commit notes: record authenticated import, ownership, publication, public verification, and passing repository gates for edithatogo-osf-cli-go.
There was a problem hiding this comment.
Code Review
This pull request updates the OSF MCP server's registry adoption landscape, completes several benchmark tracks (including osfclient, osfr, pyosf, osf-sync, research-plugins, presqt, and paperclip), adds a new MCP quality evaluation harness, and prepares/publishes marketplace submission packets for Cline and LobeHub. Feedback on these changes highlights broken references to a missing PNG logo asset in lhm.plugin.json and the Cline submission packet, duplicate tasks in the PresQT plan, and opportunities to optimize the sameNames helper in the quality tool while removing an unused import.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
I am having trouble creating individual review comments. Click here to see my feedback.
lhm.plugin.json (11)
The icon URL references assets/osf-mcp-logo.png, which is not present in the repository (only assets/osf-mcp-logo.svg was added). This will cause a 404 error when fetching the icon. Please commit the PNG file or update the reference to point to the SVG file.
registry/cline-submission-packet.md (8)
This line references assets/osf-mcp-logo.png, but only assets/osf-mcp-logo.svg is present in the repository. This will lead to a broken link. Please commit the PNG file or update the reference to point to the SVG file.
tools/checkmcpquality/main.go (4-16)
Remove the unused "bytes" import to prevent a compilation error after refactoring sameNames to use a direct slice comparison.
import (
"encoding/json"
"errors"
"flag"
"fmt"
"os"
"os/exec"
"path/filepath"
"sort"
"strings"
"time"
)tools/checkmcpquality/main.go (264-271)
The sameNames function can be implemented more efficiently and idiomatically by directly comparing the sorted slice elements instead of marshaling both slices to JSON and comparing the bytes. This also allows removing the unused mustJSON helper.
func sameNames(got, want []string) bool {
if len(got) != len(want) {
return false
}
gotCopy, wantCopy := append([]string(nil), got...), append([]string(nil), want...)
sort.Strings(gotCopy)
sort.Strings(wantCopy)
for i := range gotCopy {
if gotCopy[i] != wantCopy[i] {
return false
}
}
return true
}
conductor/tracks/presqt-osf-parity_20260711/plan.md (5-9)
These lines contain duplicate uncompleted tasks that are already marked as completed above. Removing the duplicate lines keeps the plan clean and accurate.
- [x] Task: Audit Lucy-Family-Institute/presqt capabilities, activity, license, tests, release maturity, and user workflows
- [x] Capture source URLs and dated evidence
- [x] Compare against current CLI, API, MCP, packaging, and documentation
Commit notes: add a dedicated codecov/patch job that uploads coverage and satisfies the master quality-gate contract.
Summary
Validation
go run ./tools/checkfeaturematrixgo run ./tools/checkregistriesgo run ./tools/checkreleasecontractgo run ./tools/checkmcpqualitygo run ./tools/checkstubsgo test -race ./...go vet ./...git diff --checkThe Cline Marketplace submission is tracked in cline/mcp-marketplace#2024. The LobeHub listing is published at https://market.lobehub.com/s/plugins/edithatogo-osf-cli-go.