Skip to content

chore(publish): apply per-crate readme override on all 6 publishable crates#381

Merged
githubrobbi merged 2 commits into
mainfrom
chore/publish-readme-override-240
Jun 9, 2026
Merged

chore(publish): apply per-crate readme override on all 6 publishable crates#381
githubrobbi merged 2 commits into
mainfrom
chore/publish-readme-override-240

Conversation

@githubrobbi

Copy link
Copy Markdown
Collaborator

Closes #240.

Problem

All 6 publishable crates ship their own README.md (#237 + #239) but still inherited readme.workspace = true, which resolves to the workspace-root app README via ../../README.md. Every cargo package emitted:

warning: readme `../../README.md` appears to be a path outside of the package,
but there is already a file named `README.md` in the root of the package ...

Fix

  • Flip each of the 6 manifests (uffs-time, uffs-text, uffs-mft, uffs-client, uffs-mcp, uffs-cli) to readme = "README.md" with a rationale comment.
  • Extend KnownExceptions::readme_override_ok from 2 to all 6 entries so manifest-audit invariant 3.5 permits the override.
  • Strengthen the suppression test to iterate the whole 6-crate subset (catches a future regression that drops one).

Verification

  • cargo test -p uffs-manifest-audit: ✅ 24 passed
  • cargo run -p uffs-manifest-audit: ✅ zero findings
  • cargo package -p <each of 6> --list: ✅ no readme warning, README.md still archived
  • lint-pre-push (all gates): ✅

Note on #241

While investigating, confirmed #241's actionable parts are already done: keywords/categories overrides applied (uffs-time/text/client/mcp) and doc_auto_cfg present in all 5 lib.rs files. The remainder of #241 is deliberately publish-day-deferred.

…crates

Closes #240.

All 6 publishable crates (uffs-time, uffs-text, uffs-mft, uffs-client,

uffs-mcp, uffs-cli) ship their own README.md (#237 + #239) but still

inherited readme.workspace = true, which resolves to the workspace-root

app README via ../../README.md.  cargo flagged every cargo package with:

  warning: readme '../../README.md' appears to be a path outside of the

  package, but there is already a file named README.md in the root ...

Fix: flip each of the 6 manifests to readme = README.md (the crate's own

file) and extend KnownExceptions::readme_override_ok from 2 to all 6

entries so manifest-audit invariant 3.5 permits the override.  The

suppression test now iterates the whole 6-crate subset to catch a future

regression that drops one.

Verification:

  cargo test -p uffs-manifest-audit  -> 24 passed

  cargo run  -p uffs-manifest-audit  -> zero findings

  cargo package -p <each of 6> --list -> no readme warning, README.md archived
@githubrobbi githubrobbi enabled auto-merge (squash) June 9, 2026 23:05
@githubrobbi githubrobbi merged commit 8cddd92 into main Jun 9, 2026
28 checks passed
@githubrobbi githubrobbi deleted the chore/publish-readme-override-240 branch June 9, 2026 23:24
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.

chore(publish): apply per-crate readme override on all 6 publishable crates (silence cargo package warning)

1 participant