feat(cli): prototype publish/archive contract for Dora packages#1471
feat(cli): prototype publish/archive contract for Dora packages#1471Harsh-Sahu43 wants to merge 1 commit into
Conversation
|
Hi @Harsh-Sahu43, closing this as a companion to #1467 — same direction call, not a quality judgment. The publish/archive contract here only has value if the broader package-management track is being built, which is the call we just made on #1467 and #1402 (the umbrella RFC, also being closed). Package management is a long-term roadmap item but the project isn't committing to the design space right now — we'd rather start with fresh thinking against whatever the ecosystem looks like when we do revisit, instead of carrying half-resolved contract surface forward. Same offer as on #1467: your other contributions land beautifully when the target is a concrete pain point. The recent rescue stack (#1855, #1859, #1861, #1864, #1865, #1869, #1870, #1818, #1820) is a good shape to mirror — defensive fixes, CI gaps, CLI ergonomics, edge cases in features users actually exercise today. Thanks for the work and patience. |
Closes #1470
Context
Dora’s package-management work has started defining:
Dora.toml)However, the publish side of the system is still undefined.
Issue #1470 proposes introducing a minimal publish/archive contract to define how a node package is packaged, described, and validated before entering a registry.
This PR implements that proposal.
What this PR does
This PR introduces a minimal publish/archive contract for Dora node packages inside the CLI crate.
It defines:
.tar.gz)This establishes the publisher-side contract that complements existing registry-read and metadata-normalization work.
Added
publish_metadata.rsDefines publish-facing metadata and normalization:
PublishManifestDora.tomlPublishedDependencyPublishedPackageRecordBehavior
Dora.tomlinto a publishable manifestpathgitpackage_archive.rsDefines the package artifact and validation:
.tar.gzarchive from a package directorysha256checksum for the archiveDora.tomlfrom archiveValidation guarantees
Dora.tomlWhy this matters
This PR defines the missing publish-side contract for Dora packages.
It connects:
This complements existing work:
#1451 / #1453 / #1467 → metadata normalization + registry read side
this PR → publish + artifact + integrity validation
Together, these form the foundation for: