Verify native behavior creation recovery and source authoring contracts
This commit is contained in:
@@ -3,7 +3,8 @@
|
||||
Independent checker: `harness/behavior-creation-contract.rs`. The contract was
|
||||
prepared before reading any created output on 2026-09-11. Its direct-rustc build,
|
||||
self-check and unchanged-baseline comparison pass; native creation acceptance
|
||||
is not implied.
|
||||
is not implied. Use the corrected **v2** checker: the initial version published
|
||||
in `4bb4aaf` incorrectly rejected files safely retained on disk after Undo.
|
||||
|
||||
Use a whole-directory copy of the preserved input:
|
||||
`.local/native-qa/palette-20260910-v3/checkpoint-transition-reopen/project.arcadia`.
|
||||
@@ -32,8 +33,8 @@ Build only within a coordinated direct-rustc writer window. This imports
|
||||
|
||||
```powershell
|
||||
. .local/toolchain/env.ps1
|
||||
rustc --edition 2024 -D warnings --crate-name behavior_creation_contract harness/behavior-creation-contract.rs --extern oa_core=.local/target-gnullvm/debug/deps/liboa_core-3e81c616fea1d901.rlib -L dependency=.local/target-gnullvm/debug/deps -C linker=clang.exe -o .local/behavior-creation-oracle-20260911/behavior-creation-contract.exe
|
||||
$oracle = '.local/behavior-creation-oracle-20260911/behavior-creation-contract.exe'
|
||||
rustc --edition 2024 -D warnings --crate-name behavior_creation_contract harness/behavior-creation-contract.rs --extern oa_core=.local/target-gnullvm/debug/deps/liboa_core-3e81c616fea1d901.rlib -L dependency=.local/target-gnullvm/debug/deps -C linker=clang.exe -o .local/behavior-creation-oracle-20260911/behavior-creation-contract-v2.exe
|
||||
$oracle = '.local/behavior-creation-oracle-20260911/behavior-creation-contract-v2.exe'
|
||||
$base = '.local/native-qa/palette-20260910-v3/checkpoint-transition-reopen/project.arcadia'
|
||||
& $oracle self-check $base
|
||||
& $oracle check baseline $base $base $base
|
||||
@@ -42,13 +43,15 @@ $base = '.local/native-qa/palette-20260910-v3/checkpoint-transition-reopen/proje
|
||||
& $oracle check machine $base PATH_TO_MACHINE_ENTRY PATH_TO_MACHINE_ENTRY
|
||||
```
|
||||
|
||||
After each creation, Undo once and Save into a fresh checkpoint; `same` must
|
||||
compare that checkpoint with the preceding accepted stage (the initial baseline
|
||||
for Process). Redo once and Save into another fresh checkpoint. For Redo and
|
||||
After each creation, Undo once and Save into a fresh checkpoint; `same` compares
|
||||
it with the preceding accepted stage (the initial baseline for Process). Supply
|
||||
the first committed creation checkpoint as the explicit `UNDO_FROM` argument:
|
||||
the safe saver preserves newly detached files instead of deleting them. Redo
|
||||
once and Save into another fresh checkpoint. For Redo and
|
||||
reopen, pass the **first committed checkpoint** as the final role argument:
|
||||
|
||||
```powershell
|
||||
& $oracle same PREVIOUS_ACCEPTED_ENTRY UNDO_ENTRY
|
||||
& $oracle same PREVIOUS_ACCEPTED_ENTRY UNDO_ENTRY FIRST_COMMITTED_ENTRY
|
||||
& $oracle check machine $base REDO_ENTRY FIRST_MACHINE_ENTRY
|
||||
& $oracle same FIRST_MACHINE_ENTRY REOPEN_ENTRY
|
||||
```
|
||||
@@ -58,16 +61,29 @@ UUIDs across history; using a redo file as its own role carrier would not prove
|
||||
identity retention. A cancellation has no predicted addition: compare its
|
||||
checkpoint with the accepted pre-cancellation checkpoint using `same`.
|
||||
|
||||
For Undo, the complete reachable Project and SourceBundle must still equal the
|
||||
previous accepted stage. The complete disk `.arcadia` file map must equal the
|
||||
exact `UNDO_FROM` file map with those expected reachable files overlaid. Thus
|
||||
only known retained paths with exact previously committed bytes are accepted;
|
||||
unknown files, changed or missing retained files, or changed reachable bytes
|
||||
fail. The supplied first-commit checkpoint must itself contain exactly its
|
||||
reachable files. Ordinary creation, cancellation and reopen checks retain that
|
||||
strict file-set rule; there is no arbitrary detached-file exemption.
|
||||
|
||||
The checker borrows only unique fresh UUIDv4 values with exact literal
|
||||
kind/layer/name, view projection/name, or diagram/element placement roles.
|
||||
Descriptions, aliases, parents, viewpoint/context, body defaults and geometry
|
||||
are independently constructed. It compares complete Project and SourceBundle,
|
||||
rejects detached extra `.arcadia` files, and uses pinned six-file byte lengths
|
||||
checks the exact disk-file policy above, and uses pinned six-file byte lengths
|
||||
and FNV-1a fingerprints to refuse a substituted baseline. SHA-256 provenance
|
||||
is recorded in `harness/release-behavior-creation-oracle-20260911.md`.
|
||||
|
||||
Self-checks use deliberately false metadata/geometry in the role carrier, then
|
||||
reject changed scenario semantics, unrelated edits, extra objects/files and
|
||||
source-only comment drift. Native focus, readable labels, minimum/wide layout,
|
||||
source-only comment drift. V2 additionally accepts an independently constructed
|
||||
valid Undo retention case and rejects unknown, changed or missing detached
|
||||
files. The existing immutable transition Undo also passes with four reachable
|
||||
sources and six exact disk files; real isolated copies with an unknown or
|
||||
modified detached file fail. Native focus, readable labels, minimum/wide layout,
|
||||
selection of the new owner/view, and one-step Undo/Redo are separate observations;
|
||||
saved equality alone cannot establish them.
|
||||
|
||||
Reference in New Issue
Block a user