Files
ARCADIA-Studio/harness/analysis-mixed-acceptance-implementation-20260925.md
T

63 lines
4.1 KiB
Markdown

# Private actual-output rename acceptance
Base `29417130c71f70c4eaefe8ed4c879efba78eb72c`. Implements the parent-selected
`harness/analysis-mixed-acceptance-contract-20260925.md` (root b86c8dbc) within the
private experimental mixed source path. No public source8, save, history,
installation or repeated carried-source emission is enabled.
A consumed PendingRename now verifies its actual complete bundle through the
combined text/entry producer parser and existing complete resolver/admission.
CarriedInput and its slim guard borrow that entire pending owner; covariance
shortens the desired borrow to the verification scope without another parser
lifetime, policy copy in guards, arbitrary tuple constructor or heap wrapper.
Narrow immutable views supply the exact bundle, policy and retained O together.
The existing fixture constructors and old parser modes remain available unchanged.
The actual resolved expression arena supplies E for equality reservation against
its full live storage. Complete actual Project PartialEq compares every field
with desired; old name-exempt equality and pending's original E are not used.
A static entry/default-span diagnostic reports mismatch. Warning inventory uses
an exhaustive borrowed diagnostic-field match, checks empty related/non-Error
shapes and sums checked entries/text. O+W is checked as a componentwise live
subset and against inherited ceilings without resetting or double-charging the
full ledger. Actual model/warnings move after equality; expression/occurrence
arenas, syntax and complete pending guard drop before the bundle moves into
AcceptedRename. Its private fields have read-only accessors, exact policies,
final retained slots and separate verification Usage/numeric work; no input or
desired borrow remains.
Eleven new tests use the acceptance module filter. Independent minimal literal
and whole model verify 152/151 through one unchanged profile; warning literals
and full diagnostics verify 161/160 and final O+W=(2,0,157). Exact policy fields
and a lexical scope dropping all inputs exercise returned ownership. Previously
authored OA/SA/scoped-global swap and UTF-8/CRLF/all-file literals are reused,
including an untouched fourth file. Equal-byte wrong alias/name, malformed
source and parseable containment-cycle corruption separate equality, syntax and
model-admission refusal. Actual E1->3 corruption plus a labeled internal ledger
fault distinguishes reserving3 from trusting old1, without a fabricated late
end-to-end equality cap. Other internal controls cover warning shapes, final
subset and checked inventory overflow.
Scoped 128 KiB workers perform actual verification/assertions/drop for deep128
and wide129 expression nodes (success and target-only mismatch), plus the genuine
151-byte late refusal. All original prerequisites are prepared outside those
workers. Separate E0 target-only deep/wide and signed-zero geometry/scalar/history
cases exercise complete equality. Positive-zero bits in actual returned model
help distinguish moving the parsed model from substituting desired intent.
Before execution, source review prompted correcting the carried module summary;
parent readback caught an unnamed-source test slice, replaced with the exact
independent 71-byte original literal. Local type inspection corrected the f32
geometry bit assertion. These are pre-execution authoring corrections, not
runtime failures. No prior tests or stack sizes are edited. Only touched Rust
files were directly formatted with skip_children; compiler, full prior outcome
comparison, Clippy, format and measured prologue/stack gates belong to the parent.
No runtime result is claimed in this implementation note.
The selected retained/decode/equality domain remains logical, not universal heap
or before-every-allocation accounting. Existing traversal/path-copy, delimiter,
ordinary-open, Pratt and duplicate-name scratch keep their independent controls
and stated exclusions; model/validator/numeric/decoder internals and native stack
remain separate domains. File counts do not tightly bound traversal path bytes.
Actual lifetime coercion and stack headroom still require the parent gates.