[object Object]

← back to Cli Printing Press

chore(cli): drop dead manifest_url + manifest_checksum from registry guidance (#364)

5777d267ac2a02ed48ceae345fc9a64d45ac3e4f · 2026-04-28 10:35:16 -0700 · Trevin Chow

Megamcp was the only consumer of these registry.json fields — it used
manifest_checksum for cache invalidation and manifest_url to fetch
tools-manifest.json over HTTP. With megamcp removed in #363, both fields
are dead weight in every published library entry and in the publish
skill's instructions.

This commit drops them from:

- skills/printing-press-publish/SKILL.md — the example schema and the
  per-field guidance no longer instruct agents to compute or write
  these values. Also drops the cli-only mcp_ready value from the
  example since computeMCPReady stopped emitting it after #359.
- cmd/manifest-gen/main.go — the "For registry.json:" trailer that
  printed manifest_checksum guidance is gone. spec_format now prints
  as a plain "Spec format:" line. The trailing stdout-checksum print
  (used by scripts that piped into registry generation) is removed.

The library repo's existing registry.json entries still carry these
fields; a follow-up PR there strips them. Field readers in
tools/generate-skills/main.go ignore both, so no consumer breaks
during the transition.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit 5777d267ac2a02ed48ceae345fc9a64d45ac3e4f
Author: Trevin Chow <trevin@trevinchow.com>
Date:   Tue Apr 28 10:35:16 2026 -0700

    chore(cli): drop dead manifest_url + manifest_checksum from registry guidance (#364)
    
    Megamcp was the only consumer of these registry.json fields — it used
    manifest_checksum for cache invalidation and manifest_url to fetch
    tools-manifest.json over HTTP. With megamcp removed in #363, both fields
    are dead weight in every published library entry and in the publish
    skill's instructions.
    
    This commit drops them from:
    
    - skills/printing-press-publish/SKILL.md — the example schema and the
      per-field guidance no longer instruct agents to compute or write
      these values. Also drops the cli-only mcp_ready value from the
      example since computeMCPReady stopped emitting it after #359.
    - cmd/manifest-gen/main.go — the "For registry.json:" trailer that
      printed manifest_checksum guidance is gone. spec_format now prints
      as a plain "Spec format:" line. The trailing stdout-checksum print
      (used by scripts that piped into registry generation) is removed.
    
    The library repo's existing registry.json entries still carry these
    fields; a follow-up PR there strips them. Field readers in
    tools/generate-skills/main.go ignore both, so no consumer breaks
    during the transition.
    
    Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---
 cmd/manifest-gen/main.go               | 10 +---------
 skills/printing-press-publish/SKILL.md |  8 ++------
 2 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/cmd/manifest-gen/main.go b/cmd/manifest-gen/main.go
index c57656d3..2211ce05 100644
--- a/cmd/manifest-gen/main.go
+++ b/cmd/manifest-gen/main.go
@@ -11,7 +11,6 @@
 //	manifest-gen -spec ./espn-spec.yaml -format internal -output ./out
 //
 // The tool writes tools-manifest.json to the output directory.
-// It also prints a SHA-256 checksum for use in registry.json.
 package main
 
 import (
@@ -103,15 +102,8 @@ func main() {
 		os.Exit(1)
 	}
 
-	checksum := pipeline.ComputeToolsManifestChecksum(manifestData)
 	fmt.Fprintf(os.Stderr, "\nWrote %s (%d bytes)\n", manifestPath, len(manifestData))
-	fmt.Fprintf(os.Stderr, "Checksum: %s\n", checksum)
-	fmt.Fprintf(os.Stderr, "\nFor registry.json:\n")
-	fmt.Fprintf(os.Stderr, "  \"manifest_checksum\": %q,\n", checksum)
-	fmt.Fprintf(os.Stderr, "  \"spec_format\": %q\n", format)
-
-	// Also print the checksum to stdout for scripting.
-	fmt.Println(checksum)
+	fmt.Fprintf(os.Stderr, "Spec format: %s\n", format)
 }
 
 func loadSpec(source string) ([]byte, error) {
diff --git a/skills/printing-press-publish/SKILL.md b/skills/printing-press-publish/SKILL.md
index c50f129e..637192c1 100644
--- a/skills/printing-press-publish/SKILL.md
+++ b/skills/printing-press-publish/SKILL.md
@@ -619,10 +619,8 @@ The registry file has this structure:
         "public_tool_count": 7,
         "auth_type": "<api_key|none|bearer_token|cookie|composed>",
         "env_vars": ["<ENV_VAR_NAME>"],
-        "mcp_ready": "<full|partial|cli-only>",
-        "manifest_checksum": "<sha256:hex of tools-manifest.json>",
-        "spec_format": "<openapi3|graphql|internal>",
-        "manifest_url": "library/<category>/<api-slug>/tools-manifest.json"
+        "mcp_ready": "<full|partial>",
+        "spec_format": "<openapi3|graphql|internal>"
       }
     }
   ]
@@ -639,9 +637,7 @@ Read `$PUBLISH_REPO_DIR/registry.json`, parse the `entries` array (not the top-l
 - `auth_type`: from manifest `auth_type`
 - `env_vars`: from manifest `auth_env_vars`
 - `mcp_ready`: from manifest `mcp_ready`
-- `manifest_checksum`: SHA-256 hash of the `tools-manifest.json` file in the CLI directory (format: `sha256:<hex>`). Compute with: `sha256sum tools-manifest.json | awk '{print "sha256:" $1}'`. If `tools-manifest.json` does not exist, omit this field.
 - `spec_format`: from manifest `spec_format` (e.g., `openapi3`, `graphql`, `internal`). Omit if empty.
-- `manifest_url`: derived from the entry's `path` field: `<path>/tools-manifest.json`. Omit if `tools-manifest.json` does not exist.
 
 If the manifest has no MCP fields (empty `mcp_binary`), omit the `mcp` block entirely.
 

← 0e1b8508 chore(cli)!: remove megamcp aggregate server and Composio pl  ·  back to Cli Printing Press  ·  fix(cli): add source rate-limit guardrails (#366) 174d23c8 →