Reconcile promotion and manifest documentation
This commit is contained in:
@@ -2,12 +2,14 @@
|
||||
|
||||
## Status
|
||||
|
||||
Complete.
|
||||
Pending native promotion validation.
|
||||
|
||||
The completed implementation sequence is retained in
|
||||
The implementation sequence is retained in
|
||||
[implementation.md](implementation.md) as decision and delivery history.
|
||||
Current behavior is documented in the canonical configuration, CLI,
|
||||
operations, integration, and internal references linked from this roadmap.
|
||||
The extraction feature is implemented, but completion remains pending until
|
||||
atomic promotion has run successfully in native Linux, macOS, and Windows CI.
|
||||
|
||||
## Purpose
|
||||
|
||||
@@ -249,9 +251,10 @@ skipped session-stage and run-stage outcome rather than a successful empty
|
||||
stage. Skipped stages are reconsidered on later invocations, so subsequently
|
||||
enabling Notarius causes extraction to run without requiring force.
|
||||
|
||||
A genuine self-skip clears any older outputs for that stage before persisting
|
||||
the new skipped state. Downstream consumers cannot resolve artifacts retained
|
||||
from an earlier extraction after the stage is disabled.
|
||||
A genuine self-skip clears any older outputs, logs, generated configuration
|
||||
references, and metadata before persisting the new skipped state and its own
|
||||
bounded metadata. Downstream consumers cannot resolve artifacts retained from
|
||||
an earlier extraction after the stage is disabled.
|
||||
|
||||
### Resume Validation
|
||||
|
||||
@@ -301,6 +304,14 @@ transitive content of files owned by Notarius.
|
||||
- A failed, skipped, stale, or interrupted extract stage never supplies current
|
||||
extraction sources.
|
||||
|
||||
When a replacement attempt starts, the current session-stage record drops the
|
||||
prior result payload before it is persisted as running. Failed and skipped
|
||||
transitions enforce the same clearing invariant directly, and a later success
|
||||
contains only details produced by that attempt. Merely marking a record stale
|
||||
retains its prior details for resume validation and diagnosis until execution
|
||||
actually begins. Immutable invocation run manifests and previously promoted
|
||||
bundles preserve the historical successful result.
|
||||
|
||||
## Bundle Storage And Commit
|
||||
|
||||
### Run-Local Execution
|
||||
@@ -319,9 +330,13 @@ artifacts/notarius/<narratio-run-id>/
|
||||
```
|
||||
|
||||
The destination is unique and must not already exist. Promotion uses a sibling
|
||||
temporary directory on the same filesystem, recursively copies only regular
|
||||
files and directories, rejects symlinks and special files, preserves relative
|
||||
layout, and renames the completed temporary tree into place.
|
||||
temporary directory on the same filesystem, traverses the source through
|
||||
confined directory handles, recursively copies only regular files and
|
||||
directories, rejects symlinks and special files, and preserves relative
|
||||
layout. It verifies that each opened root, directory, and file is the same
|
||||
object that was inspected, rejecting path replacement during traversal. The
|
||||
completed temporary tree is then renamed into place without replacing a
|
||||
destination created by another writer.
|
||||
|
||||
Atomic no-replace promotion is implemented on Linux, macOS, and Windows. On
|
||||
other operating systems extraction reports an unsupported-capability error
|
||||
@@ -558,12 +573,13 @@ for:
|
||||
|
||||
- strict configuration, defaults, normalization, cross-source validation, and
|
||||
maintained examples;
|
||||
- stage result dispositions and clearing of self-skipped outputs;
|
||||
- stage result dispositions and clearing of superseded session-result payloads
|
||||
when execution starts, fails, or skips while retaining stale diagnostics;
|
||||
- backward-compatible artifact metadata serialization;
|
||||
- exact adapter arguments, streams, cancellation, timeout, exit behavior,
|
||||
receipt/index compatibility, and every path-confinement boundary;
|
||||
- recursive promotion safety, atomic visibility, cleanup on failure, symlink
|
||||
rejection, and immutable destination behavior;
|
||||
- recursive promotion safety, source-replacement detection, atomic visibility,
|
||||
cleanup on failure, symlink rejection, and immutable destination behavior;
|
||||
- required-lane policy, descriptor compatibility, JSON syntax, checksums, and
|
||||
provenance;
|
||||
- canonical order, single-stage selection, force, staleness, resume
|
||||
|
||||
Reference in New Issue
Block a user