Complete remote publication workstream
This commit is contained in:
@@ -405,6 +405,11 @@ Each mutable lock is an independent strict JSON object at
|
||||
from the exact canonical source. Listing validates every object in that
|
||||
reserved prefix and reports locks sorted by source.
|
||||
|
||||
Upgrades do not read, migrate, or delete the retired `{session_prefix}/locks.yml`
|
||||
object. It has no effect on publication and may be removed manually after
|
||||
verifying lock commands and publication behavior with the upgraded Narratio
|
||||
version. No migration command is required.
|
||||
|
||||
Operational rules:
|
||||
|
||||
- add uses conditional creation and reports an existing lock;
|
||||
|
||||
@@ -202,9 +202,13 @@ the immutable commit manifest, and finally the current commit pointer.
|
||||
`current/commit-pointer.json` is the sole mutable selector and must be written
|
||||
exactly once, last. Failed, incomplete, skipped, or uncommitted publish attempts
|
||||
must not be presented as current remote state. Publish locks remain authoritative
|
||||
and are not bypassed by a forced run. Mutable remote locks use provider-enforced
|
||||
generation preconditions and are revalidated immediately before pointer
|
||||
selection; loss of that check leaves the prior committed snapshot current.
|
||||
and are not bypassed by a forced run. Each mutable remote lock is an independent
|
||||
per-source object; lock mutations use provider-enforced generation preconditions.
|
||||
Publish revalidates every initially unlocked participating source after writing
|
||||
the immutable commit and before pointer selection. A lock observed then leaves
|
||||
the prior committed snapshot current. A lock created after that final check may
|
||||
race the pointer write; the commit protocol does not claim a stronger distributed
|
||||
transaction boundary.
|
||||
|
||||
Automatic local cleanup is permitted only after a successful publish commit,
|
||||
only when explicitly configured, and only through the path-safety guardrails.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Status
|
||||
|
||||
Planned implementation for Workstream 8, **Remote publication, per-artifact
|
||||
Completed implementation for Workstream 8, **Remote publication, per-artifact
|
||||
locks, and publish decomposition**, in [`refactoring.md`](refactoring.md).
|
||||
Workstreams 1 through 7 are complete prerequisites. This plan does not enter
|
||||
Workstream 9's cleanup-stage work.
|
||||
@@ -351,7 +351,7 @@ Independent objects are the sole lock authority.
|
||||
|
||||
## Stage 10 — Align Documentation And Close The Workstream
|
||||
|
||||
**Status:** Pending
|
||||
**Status:** Completed
|
||||
|
||||
### Goal
|
||||
|
||||
|
||||
@@ -363,7 +363,7 @@ without treating private ordering or wording as compatibility behavior.
|
||||
|
||||
### Workstream 8 — Remote publication, per-artifact locks, and publish decomposition
|
||||
|
||||
**Status:** Pending
|
||||
**Status:** Complete
|
||||
|
||||
**Audit sources:** H04, H15, H18, H44, and C05.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user