Record verified private emission and parser stack repair

This commit is contained in:
2026-09-24 18:34:34 -07:00
parent b2ef3f5457
commit d5b37f13fd
14 changed files with 909 additions and 3 deletions
+27
View File
@@ -639,3 +639,30 @@ This changes representation without new heap storage or weaker tests. Prefer
this to boxing policy or introducing an external policy-owner lifetime. The
debugger identifies the active parsing path; it does not prove a sole cause or
establish that the representation repair passes before it is actually tested.
## 2026-09-25 — separate owned emission from accepted rewritten output
The [emission contract](analysis-mixed-emission-contract-20260925.md) consumes
the validated plan. A no-op returns its original owner; changed emission reserves
the complete output map and UTF-8 storage while the old plan is live, then copies
each file once in original edit coordinates. It drops old auxiliary ownership
before constructing the private pending result. Exact policies and the desired
whole Project survive, but no parse, adoption, save or public editing authority
is granted. Reject any borrowed carried owner on the changed path: dropping a
guard cannot free the externally owned allocation. A future owning transition
must consume that allocation or account for its continued lifetime explicitly.
The [source-bound Windows evidence](experiments/analysis-mixed-emission-20260925/README.md)
preserves an initial full-run stack abort and the successful repair. Split the
existing iterative binding driver's prefix and continuation operations rather
than changing arithmetic, increasing stack sizes, boxing state or weakening
tests. Independent review establishes mechanical equivalence; actual rebuilt
prologues and unchanged runtime controls support the bounded stack reduction.
This does not close the older, separately unrerun full-pipeline setup limitation.
Final acceptance still requires parsing and resolving actual output bytes,
complete Project equality under justified scratch bounds, explicit parser
producer timing and an owner retaining the accepted bundle. Original expression
counts alone do not bound an arbitrary faulty output. Logical auxiliary usage
continues to exclude the established model/serde/validator and allocator domains;
no process-wide memory guarantee follows from this private milestone.