Skip to content

fix: scope internal crate names, pin path-dep versions for crates.io publish - #100

Merged
getappz merged 1 commit into
masterfrom
fix/scope-crate-names-and-publish-versions
Jul 8, 2026
Merged

fix: scope internal crate names, pin path-dep versions for crates.io publish#100
getappz merged 1 commit into
masterfrom
fix/scope-crate-names-and-publish-versions

Conversation

@getappz

@getappz getappz commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Summary

The workspace was recently split into agentflare + ponytail + agent-registry + skill-registry, but no crates.io release has completed since — release-plz's publish step has been failing (including last night's scheduled run) because path dependencies lacked a version requirement, which crates.io's publish verification requires:

error: all dependencies must have a version requirement specified when publishing
  • Add version = ... to every internal path dependency (root Cargo.toml's ponytail/agent-registry/skill-registry deps, skill-registry's own agent-registry dep).
  • Rename the generic, easily-confused crate names to be agentflare-scoped: agent-registry -> agentflare-agent-registry, skill-registry -> agentflare-skill-registry. Mirrors mise's convention (checked their actual repo): purely-internal crates get the tool's prefix (mise-sigstore, mise-shim), while crates wrapping an independent upstream identity don't (vfox, aqua-registry) — ponytail here is the latter case (it mirrors the separate DietrichGebert/ponytail JS project), so it keeps its name.
  • Dependents keep importing them under their original short names via Cargo's package = "..." remap, so no call-site changes were needed anywhere except skill-registry's own integration test (which imports its crate under its real package name, not a dependency alias).

Context

ponytail@0.1.0 and agent-registry@0.1.0 are already published to crates.io from today's release attempt. agent-registry should be yanked separately once this merges (needs crates.io credentials): cargo yank --version 0.1.0 agent-registry.

Test plan

  • cargo build --workspace
  • cargo test --workspace (190 passed, no regressions)
  • cargo clippy --workspace --all-targets — no new errors
  • cargo publish --dry-run for agentflare-agent-registry succeeds
  • cargo publish --dry-run for agentflare-skill-registry fails only because agentflare-agent-registry isn't on crates.io yet (expected — release-plz publishes in dependency order, same as it did for ponytail -> agent-registry today)

Summary by CodeRabbit

  • Chores
    • Updated crate/package names and dependency references for consistency across the workspace.
    • Adjusted test imports to match the new crate naming.

…publish

The workspace was recently split into agentflare + ponytail +
agent-registry + skill-registry, but nobody completed a crates.io
release since — the release-plz publish step has been failing (even
the scheduled run last night) because path dependencies had no
`version` requirement, which crates.io's publish verification
requires ("all dependencies must have a version requirement
specified when publishing").

- Add `version = ...` to every internal path dependency (root
  Cargo.toml's ponytail/agent-registry/skill-registry deps,
  skill-registry's agent-registry dep).
- Rename the generic, easily-confused crate names to be
  agentflare-scoped: agent-registry -> agentflare-agent-registry,
  skill-registry -> agentflare-skill-registry (mirrors mise's own
  convention: purely-internal crates get the tool's prefix, while
  crates wrapping an independent upstream identity, like ponytail
  here mirroring the DietrichGebert/ponytail JS project, don't).
  Dependents keep importing them under their original short names via
  Cargo's `package = "..."` remap, so no call-site changes were
  needed anywhere except skill-registry's own integration test, which
  imports its crate under its real name.

`ponytail@0.1.0` and `agent-registry@0.1.0` were already published to
crates.io today under a failed release attempt; `agent-registry`
should be yanked separately (requires crates.io credentials this
session doesn't have) since agentflare-agent-registry replaces it.
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The agent-registry and skill-registry crates are renamed to agentflare-agent-registry and agentflare-skill-registry respectively. The workspace and skill-registry Cargo.toml files are updated with explicit versions and a package override, and a test file's import path is updated to match.

Changes

Crate renaming and dependency updates

Layer / File(s) Summary
Package renames and dependency declarations
crates/agent-registry/Cargo.toml, crates/skill-registry/Cargo.toml, Cargo.toml
Package names changed to agentflare-agent-registry and agentflare-skill-registry; workspace and skill-registry dependency entries gain explicit version fields and a package override for agent-registry.
Test import path update
crates/skill-registry/tests/golden_queries.rs
Test imports switched from skill_registry::... to agentflare_skill_registry::....

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • getappz/agentflare#60: Both PRs adjust workspace/crate wiring around the agent-registry crate, including Cargo.toml dependency paths.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: scoping internal crate names and pinning path dependency versions for publishing.
Description check ✅ Passed The description includes Summary, Test plan, and reviewer context, and it covers the main changes and why they were made.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/scope-crate-names-and-publish-versions

Comment @coderabbitai help to get the list of available commands.

@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.

🧹 Nitpick comments (1)
crates/skill-registry/Cargo.toml (1)

16-16: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Duplicated version pin risks drift from workspace declaration.

This entry repeats package, path, and version for agentflare-agent-registry that's already declared in the root [workspace.dependencies] (Cargo.toml Line 60). Consider using workspace inheritance (agent-registry = { workspace = true }) to keep the version single-sourced.

♻️ Suggested refactor
-agent-registry = { package = "agentflare-agent-registry", path = "../agent-registry", version = "0.1.0" }
+agent-registry.workspace = true
🤖 Prompt for 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.

In `@crates/skill-registry/Cargo.toml` at line 16, The `agent-registry` dependency
in `skill-registry` is duplicating the `package`, `path`, and `version` settings
already defined in the workspace dependencies. Update the `Cargo.toml` entry to
use workspace inheritance for `agent-registry` so it is single-sourced from the
root `[workspace.dependencies]`, and keep the dependency name aligned with the
existing `agent-registry` key.
🤖 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.

Nitpick comments:
In `@crates/skill-registry/Cargo.toml`:
- Line 16: The `agent-registry` dependency in `skill-registry` is duplicating
the `package`, `path`, and `version` settings already defined in the workspace
dependencies. Update the `Cargo.toml` entry to use workspace inheritance for
`agent-registry` so it is single-sourced from the root
`[workspace.dependencies]`, and keep the dependency name aligned with the
existing `agent-registry` key.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: a1a37d2d-adc5-4619-a31c-f9d6dd51d703

📥 Commits

Reviewing files that changed from the base of the PR and between 68cd5dd and a5c4ed4.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (4)
  • Cargo.toml
  • crates/agent-registry/Cargo.toml
  • crates/skill-registry/Cargo.toml
  • crates/skill-registry/tests/golden_queries.rs

@getappz
getappz merged commit 91dcebb into master Jul 8, 2026
10 checks passed
@getappz
getappz deleted the fix/scope-crate-names-and-publish-versions branch July 8, 2026 09:05
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