# Private retained-entry producer prerequisite Base `97a8703adc75467a7f8e75f5c6cb00ca542b707c`; implements the accepted `harness/analysis-entry-producer-contract-20260925.md` in the parent source tree. This is fixture-only phase/producer evidence, not emitted-output admission. The explicit entry route also enables text producers and derives C and exact policy from the existing carried guard. Budget adds only optional scalar C/M. Existing legacy, carried-phase and text-only entry paths retain their checkpoints. U keeps its original event sites and work-limit precedence; prospective aggregate checks latch without changing totals. F is installed before traversal. Private State helpers reserve unique value-end keys and lexical owner occurrences before mutation. Successful grammar events count projection slots with checked addition. The new route reserves token-end slots and projection together, without the old borrowed-work counting Vec. A scalar quota checks each projected envelope, field and actual value before growth. Synthetic bodies remain included in seven. Per-file actual map/owner lengths and final independent metadata reconcile M; resolver C then U+M transfer and text reconciliation are unchanged. Six tests in `mixed::carried::entry_producer` cover independent literal E and H syntax caps 13/12 and 25/24 separately from resolver 17/16 and 29/28, owner/value prefix refusals 4/7, and the 344-byte nested syntax-only fixture (U13, M89, P30, C1; 103/102). They check node/element envelopes, nested positions and owner order, quota underflow/leftover, direct unchanged collections on refusal and repeated map-key replacement. Labeled arithmetic controls exercise overflow, sticky-first failure, prospective U and work-limit precedence. Whole OA/SA Project, warnings, Usage, numeric work and retained totals are compared with text-only under actual and explicit zero guards. Old-route diagnostics and original bytes are checked. All byte policies are roomy 4096 so earlier text limits do not mask entry tests. Source review identified a possible internal overflow call overwriting an already latched error. The helper now returns the first failure; a direct fault control checks that behavior. Repeated map keys now perform a zero-delta reservation before replacement, preserving a latched refusal without modifying the map; a direct control checks that branch too. These were corrected before compilation, not a runtime bug observation. Test review also caught that the independent inventory walker adds its own existing scratch slots: exact-cap ordinary syntax controls remain at 29/37/103, while a separate roomy owner of the same literal runs that walk. No live policy is widened and no exact-cap resolver success is implied. No prior tests, stack sizes, policies, inherited failure dispositions or unrelated formatting are changed. Only touched Rust files were directly formatted with skip_children. Parent owns compiler, full disposition, Clippy, format and prologue/stack acceptance; no runtime result is claimed here. Allocator overhead, token storage under its existing token ceiling, delimiter and other work stacks, numeric/decoder internals and model/validator heap remain outside this retained metric. The extra shared projector wrapper and scalar Budget/State fields require measured parent stack checks; no heap indirection or larger stack is introduced. Final output acceptance remains a separate task. Initial a629ae01 focused compilation failed before any test ran: the quota control's unwrap_err required Debug on its successful EditDeclaration vector. The test now matches Err explicitly and panics on unexpected Ok, preserving the same assertion without changing production types. Original compiler output and source-bound receipt remain with parent gate evidence.