Reconcile promotion and manifest documentation

This commit is contained in:
2026-08-10 03:04:20 +00:00
parent b556fc2f4f
commit 7cb18a1a40
6 changed files with 62 additions and 16 deletions

View File

@@ -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