Persist tracker provenance before mirroring external lifecycle state #12

Merged
toasterson merged 2 commits from fix/external-mirror-provenance into main 2026-09-18 08:25:39 +00:00
Owner

Vesta traced recurring sia-action-failures to external status-change mail attempting to move draft items without stored external provenance. All reconciliation paths now pass their stable tracker reference to the Anima client. The client first commits an external_ref-only update, then mirrors the canonical status/phase pair; any provenance failure stops before the lifecycle call. Blank references are rejected and unknown statuses remain no-ops. Existing Anima draft and lifecycle guards remain intact.

Validation: all 7 sia-anima/sia-agent tests pass, including ordered masked updates and missing-provenance regressions; scoped Clippy with -D warnings and rustfmt pass. Includes default initialization for newly added optional Anima request fields, the local proto SHA dependency lock alignment, and a narrow allow for the pre-existing reconciliation function length lint. No production mailbox replay or deployment performed.

Release follow-up: remote CI exposed a pre-existing documentation lint and workspace formatting drift. Corrected both in 3012b55. Full local workspace: 181 tests pass, Clippy -D warnings and rustfmt pass. User authorized deployment; awaiting exact-head remote CI before merge.

Vesta traced recurring sia-action-failures to external status-change mail attempting to move draft items without stored external provenance. All reconciliation paths now pass their stable tracker reference to the Anima client. The client first commits an external_ref-only update, then mirrors the canonical status/phase pair; any provenance failure stops before the lifecycle call. Blank references are rejected and unknown statuses remain no-ops. Existing Anima draft and lifecycle guards remain intact. Validation: all 7 sia-anima/sia-agent tests pass, including ordered masked updates and missing-provenance regressions; scoped Clippy with -D warnings and rustfmt pass. Includes default initialization for newly added optional Anima request fields, the local proto SHA dependency lock alignment, and a narrow allow for the pre-existing reconciliation function length lint. No production mailbox replay or deployment performed. Release follow-up: remote CI exposed a pre-existing documentation lint and workspace formatting drift. Corrected both in 3012b55. Full local workspace: 181 tests pass, Clippy -D warnings and rustfmt pass. User authorized deployment; awaiting exact-head remote CI before merge.
Persist tracker provenance before mirroring external lifecycle state
Some checks failed
CI / test (push) Failing after 9m22s
CI / docker (push) Has been skipped
CI / test (pull_request) Failing after 16m38s
CI / docker (pull_request) Has been skipped
c6f276a50e
Clear workspace lint and formatting release gates
All checks were successful
CI / test (push) Successful in 7m27s
CI / docker (push) Has been skipped
CI / test (pull_request) Successful in 15m38s
CI / docker (pull_request) Has been skipped
3012b550d3
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
toasterson/sia!12
No description provided.