You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up to #831/#884. Qualify #885/#886 before implementing this change. This targets the outer singleton label/successor Vec, separate from the already-inline SmallWeighted child. No measured net saving, application fit, speedup, or agent token advantage is established.
At source f47b4e2fa, factored/canonical_shared/lexical_successors.rs:332–376 always constructs a Vec, canonical_shared.rs:157–160 stores it in an Exit frame, and lexical_successors/frame_loop.rs:99–189 consumes the singleton through iteration/remove. Consider an owned inline ExitOne row published at the same completed grouping frontier. Preserve empty/many behavior, ordering, child scheduling, signature storage/interning, Rc lifetime/drop point, original work, overflow/cycle/refusal selection, and full final HIR/PLAN results.
Price removed backing/Vec/iterator/remove operations against all new inline payload roles, CanonicalFrame layout changes, and cumulative replacement capacities. Keep zero-byte sticky authentication where a positive request disappears. Collect actual zero/one/many output-label census, singleton signature hit/miss counts, and frame growth capacities. Existing weighted-root entry counts are not output arity. Do not claim a saving before the complete formula is measured.
Freeze the whole immediate current canonicalizer, frame loop, producer, and typed tariffs as the old oracle; preserve every older oracle. Minimum affected checks: zero/one/many labels; distinct children under one label; equal observations in distinct Rc owners; signature hit/miss; cycles/overflow; exact work cuts and six-field diagnostic frontiers; sticky/foreign/restored scopes; frame growth boundary and complete allocation/Drop tuples. Then unchanged native production-library and full-CLI app owners at 64 MiB plus scoped Clippy. No full suites or quality gates; no baseline padding or allowance changes.
Issue #889 source-only screening, 2026-10-18
Base: 530073a.
Worktree: /Volumes/Semaprax/worktrees/canonical-exit-one-20261018.
No Cargo, build, test, allocator measurement or typed-layout execution ran.
No production candidate is retained and no performance/admission claim is made.
lexical_successors.rs:332-409: count, exact outer Vec allocation and One/Many publication.
lexical_successors/frame_loop.rs:99-189: Exit storage, child scheduling, singleton iteration/remove, miss signature key, original Rc Drop point.
lexical_successors/frame_loop/borrowed_single.rs: ITERATOR/MOVE/QUERY/FRESH/COLD/WARM: actual immediate-old receiving terms.
physical_budget.rs:347-394: reserve_vec acquires the full replacement capacity, not the delta, retaining the old reservation.
factored.rs:55-58 and replay.rs:476-480: actual Label / SkeletonTerminal types.
Screened design (unimplemented):
A OneOrVec temporary result from the completed grouping frontier, then an owned ExitOne(state,accepted,(label,childRc)) frame. Singleton misses retain the exact signature allocation, intern, child-id lookup, Rc ownership and Drop timing. Zero/many retain the existing Vec. No limits or work fees change. A direct-frame publication could avoid the intermediate enum but has not been priced or implemented; this report does not rule out every alternative.
Full accounting equation:
old minus candidate = singleton_outer_backing + physically_removed_Vec_or_iterator_or_remove_roles
sum_i(capacity_i * sizeof(NewFrame)) + sum_j(old_capacity_j * sizeof(OldFrame)).
Both capacity sums are cumulative actual replacement capacities, not final capacity or live-frame count. If growth events differ, do not substitute a size delta times one series. Canonicalizer owner/header changes, allocation counts, peak/live/freed totals, signature hit/miss and equal-owner provenance must also be measured. Existing weighted-root widths do not count successor-label arity.
Conservative anticipated 64-bit source screen (UNVERIFIED layouts):
old ITERATOR = 64, MOVE = 114, singleton Row backing = 24: maximum removable subtotal 202 bytes/event.
Expected proposed Frame=48, OneOrVec=32, Row=24 gives 2Frame+2OneOrVec+2*Row=208 bytes/event before larger return transports, selection, Drop and growth. Frame may niche-optimize differently; these are expectations, not measured sizeof results. Even a 40-byte Frame makes that subtotal192, leaving only10 bytes before all additional controls and owned Drop transport. The candidate must carry full typed roles; it cannot count unpriced original frame transport as paid old credit. No padding of the old baseline is permitted.
Disposition:
Do not force this intermediate-enum design into production. Typed diagnostic probe is saved separately and UNEXECUTED. Issue remains open; #885/#886 prerequisite execution and all original app owners remain root qualification work. Whole original canonicalizer directory and typed tariffs are archived byte-for-byte with SHA-256 manifest. The working tree is clean.
Activity
wsdt commentedon Oct 17, 2026
Issue #889 source-only screening, 2026-10-18
Base: 530073a.
Worktree: /Volumes/Semaprax/worktrees/canonical-exit-one-20261018.
No Cargo, build, test, allocator measurement or typed-layout execution ran.
No production candidate is retained and no performance/admission claim is made.
Source basis:
Screened design (unimplemented):
A OneOrVec temporary result from the completed grouping frontier, then an owned ExitOne(state,accepted,(label,childRc)) frame. Singleton misses retain the exact signature allocation, intern, child-id lookup, Rc ownership and Drop timing. Zero/many retain the existing Vec. No limits or work fees change. A direct-frame publication could avoid the intermediate enum but has not been priced or implemented; this report does not rule out every alternative.
Full accounting equation:
old minus candidate = singleton_outer_backing + physically_removed_Vec_or_iterator_or_remove_roles
Both capacity sums are cumulative actual replacement capacities, not final capacity or live-frame count. If growth events differ, do not substitute a size delta times one series. Canonicalizer owner/header changes, allocation counts, peak/live/freed totals, signature hit/miss and equal-owner provenance must also be measured. Existing weighted-root widths do not count successor-label arity.
Conservative anticipated 64-bit source screen (UNVERIFIED layouts):
old ITERATOR = 64, MOVE = 114, singleton Row backing = 24: maximum removable subtotal 202 bytes/event.
Expected proposed Frame=48, OneOrVec=32, Row=24 gives 2Frame+2OneOrVec+2*Row=208 bytes/event before larger return transports, selection, Drop and growth. Frame may niche-optimize differently; these are expectations, not measured sizeof results. Even a 40-byte Frame makes that subtotal192, leaving only10 bytes before all additional controls and owned Drop transport. The candidate must carry full typed roles; it cannot count unpriced original frame transport as paid old credit. No padding of the old baseline is permitted.
Disposition:
Do not force this intermediate-enum design into production. Typed diagnostic probe is saved separately and UNEXECUTED. Issue remains open; #885/#886 prerequisite execution and all original app owners remain root qualification work. Whole original canonicalizer directory and typed tariffs are archived byte-for-byte with SHA-256 manifest. The working tree is clean.
wip: inline canonical singleton owner and immediate old controls (#889)
Complete singleton transport and schedule invoices with whole caller …
Observe real singleton signature hits and misses on distinct states (#…
Preserve canonical frame width with borrowed singleton labels and sha…
Reuse exact caller output places without an extra vector transport (#889