Skip to content

fix(seo): crates.io metadata + drop stale darwin-x64 test assertion#177

Open
7xuanlu wants to merge 2 commits into
mainfrom
feature/cargo-toml-crates-io-seo-2026-05-24
Open

fix(seo): crates.io metadata + drop stale darwin-x64 test assertion#177
7xuanlu wants to merge 2 commits into
mainfrom
feature/cargo-toml-crates-io-seo-2026-05-24

Conversation

@7xuanlu
Copy link
Copy Markdown
Owner

@7xuanlu 7xuanlu commented May 24, 2026

Summary

Two changes shipping together because #1 surfaced #2:

1. crates.io metadata SEO (`crates/origin-mcp/Cargo.toml`, `crates/origin-types/Cargo.toml`)

Cargo.toml descriptions on both published crates had em-dashes ("Origin — personal agent memory layer"). Per no-em-dashes-in-user-facing-text rule and given description renders on crates.io, fixed to comma form and added "local-first" qualifier.

`origin-mcp` Cargo.toml gained missing fields:

`origin-types` Cargo.toml `homepage` moved from github.com to useorigin.app. Added `documentation = "https://docs.rs/origin-types"\`.

2. Test fix: drop stale `origin-darwin-x64` assertion (`crates/origin-cli/tests/distribution.rs`)

PR #168 intentionally dropped macOS x86_64 from release.yml. The distribution test still expected `origin-darwin-x64` and has been failing on main on every PR that touches crates/* code since. My Cargo.toml change tripped this, so fixing the stale test is included here.

Verified locally: `cargo test -p origin --test distribution release_workflow` → `test result: ok. 1 passed.`

Test plan

  • `cargo check -p origin-mcp -p origin-types` green
  • `cargo test -p origin --test distribution release_workflow` passes locally
  • Pre-commit fmt + clippy clean

🤖 Generated with Claude Code

7xuanlu and others added 2 commits May 24, 2026 15:35
…s, em-dash removal

Cargo.toml description on both published crates contained em-dashes
("Origin — personal agent memory layer", "Origin — the personal agent
memory system"). Per project no-em-dashes-in-user-facing-text rule
the description renders on crates.io and crate aggregators; em-dash
got removed in favor of a comma. Description also gains the
"local-first" qualifier matching the website + README v0.6.1 framing.

origin-mcp Cargo.toml gained the keywords + categories arrays it was
missing (only origin-types had them). Plus homepage = useorigin.app,
documentation = docs.rs/origin-mcp, readme = README.md so the
crates.io page renders correctly.

origin-types Cargo.toml homepage moved from github.com to
useorigin.app to match the marketing-side cross-link strategy
(crates.io home link should point at the product surface, not the
repo; the repo link already lives in repository = field). Added
documentation = docs.rs/origin-types.

crates.io ranks search results by keywords + category match +
description relevance + recency. These changes lift discoverability
for "memory", "mcp", "agent", "claude", "origin" queries.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR #168 ("release.yml second pass — drop mac x86") intentionally
removed macOS x86_64 from the release.yml target matrix. The release
matrix is now arm64-only on macOS plus Linux x86_64 + arm64 and
Windows x86_64.

The distribution test in crates/origin-cli/tests/distribution.rs was
not updated and still asserted release.yml contains the string
"origin-darwin-x64", so the test broke on main as of PR #168 and has
been failing on every PR that touches crates/* code since.

Drop the stale assertion and leave a code comment pointing at PR #168
so future readers know the macOS x86 drop was intentional and not a
regression.

Verified locally:
  cargo test -p origin --test distribution release_workflow
  test result: ok. 1 passed; 0 failed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@7xuanlu 7xuanlu changed the title fix(seo): crates.io metadata for origin-mcp + origin-types fix(seo): crates.io metadata + drop stale darwin-x64 test assertion May 24, 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