22
33## Status
44
5- Status: paused
5+ Status: completed
66
7- Sub-state: publish-ready; blocked on crates.io credentials .
7+ Sub-state: published to crates.io; release tags pending commit/tag push .
88
99## Requirements
1010
@@ -42,10 +42,8 @@ Inferences:
4242
4343Unknowns:
4444
45- - Whether valid crates.io credentials are available in this environment.
46- - Whether crates.io will accept every package name at publish time. The local
47- index says the names are currently unused, but publish-time registry checks
48- are authoritative.
45+ - None remaining for this SOW. Crates.io accepted every planned package name
46+ and version.
4947
5048### Acceptance Criteria
5149
@@ -286,6 +284,16 @@ Failure handling:
286284- Rechecked planned package-name availability; all planned names still returned
287285 not found in the crates.io index.
288286- Paused before publishing because Cargo has no registry credential configured.
287+ - Resumed after the user configured Cargo registry credentials locally.
288+ - Published crates in dependency order:
289+ ` systemd-journal-sdk-common ` , ` systemd-journal-sdk-registry ` ,
290+ ` systemd-journal-sdk-core ` , ` systemd-journal-sdk-log-writer ` ,
291+ ` systemd-journal-sdk-index ` , ` systemd-journal-sdk-engine ` , and
292+ ` systemd-journal-sdk ` .
293+ - Crates.io rate-limited new crate publication twice. The release waited until
294+ the registry-provided retry time and retried the affected package without
295+ changing package contents.
296+ - Verified all seven packages with ` cargo info ` .
289297
290298## Validation
291299
@@ -311,6 +319,7 @@ Acceptance criteria evidence:
311319 ` systemd-journal-sdk-log-writer ` , ` systemd-journal-sdk-index ` , and
312320 ` systemd-journal-sdk-engine ` . Publish-time registry checks remain
313321 authoritative.
322+ - ` cargo info ` confirms all planned packages now exist at version ` 0.6.0 ` .
314323
315324Tests or equivalent validation:
316325
@@ -325,6 +334,8 @@ Tests or equivalent validation:
325334 accepted manifest defect.
326335- Publication credential check: blocked. No Cargo registry token or Cargo
327336 credential file is configured in this environment.
337+ - Crates.io publication: PASS. All seven planned crates were accepted and are
338+ visible to ` cargo info ` at version ` 0.6.0 ` .
328339- ` git diff --check ` : PASS.
329340- ` .agents/sow/audit.sh ` : PASS.
330341
@@ -423,9 +434,8 @@ Artifact maintenance gate:
423434- End-user/operator docs: ` README.md ` and ` rust/README.md ` updated with Rust
424435 crates.io dependency examples.
425436- End-user/operator skills: no output/reference skill is affected.
426- - SOW lifecycle: this SOW remains in ` current/ ` and ` Status: paused ` because
427- crates.io credentials are an external blocker. It must not move to ` done/ `
428- until publication/tagging succeeds or the user explicitly changes the scope.
437+ - SOW lifecycle: ` Status: completed ` ; this file is moved to ` .agents/sow/done/ `
438+ together with the release evidence commit.
429439- SOW-status.md: root and detailed SOW status ledgers updated.
430440
431441Specs update:
@@ -458,14 +468,20 @@ Lessons:
458468
459469Follow-up mapping:
460470
461- - No deferred implementation item is accepted for this SOW. Publication itself
462- remains blocked on crates.io credentials .
471+ - No deferred implementation item remains for this SOW. Consumer documentation
472+ and GitHub wiki publication are tracked separately by SOW-0100 .
463473
464474## Outcome
465475
466- Paused: publish-ready changes are implemented, validated, reviewed, and ready
467- for crates.io publication once a Cargo registry token is provided in the
468- environment or Cargo credentials are configured.
476+ Completed: Rust SDK packages were published to crates.io at version ` 0.6.0 ` :
477+
478+ - ` systemd-journal-sdk `
479+ - ` systemd-journal-sdk-common `
480+ - ` systemd-journal-sdk-core `
481+ - ` systemd-journal-sdk-registry `
482+ - ` systemd-journal-sdk-log-writer `
483+ - ` systemd-journal-sdk-index `
484+ - ` systemd-journal-sdk-engine `
469485
470486## Lessons Extracted
471487
@@ -475,10 +491,10 @@ environment or Cargo credentials are configured.
475491 exists in crates.io.
476492- Publication credentials are an operational prerequisite and must be checked
477493 before the irreversible publish step.
494+ - crates.io enforces a rate limit on new crate creation. Multi-crate first
495+ publication may need timed waits between uploads even when all package
496+ manifests are valid.
478497
479498## Followup
480499
481- - Resume this SOW after crates.io credentials are configured. Required next
482- commands are the publish sequence in
483- ` .agents/skills/project-release-tagging/SKILL.md ` , followed by final SOW
484- completion, commit/tag push, and remote tag verification.
500+ - None for this SOW.
0 commit comments