Skip to content

Preserve forked native conditioning in multi-history tokenization - #983

Draft
bradhilton wants to merge 22 commits into
hayek/recorded-token-default-20260926from
hayek/native-nonnested-streams-20260927
Draft

bradhilton wants to merge 22 commits into
hayek/recorded-token-default-20260926from
hayek/native-nonnested-streams-20260927

Conversation

@bradhilton

@bradhilton bradhilton commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Complete recorded exchanges can still fail tokenization when a later native prompt is not an extension of an earlier response's full prompt/output sequence. The existing multi_history=True and internal exchange-training paths now split that history into contiguous native streams, preserving each original conditioned token sequence, logprobs and first sampled ownership. Single-linear APIs retain their strict refusal. No new option is introduced.

Stacked on #977 at 02ca697e7. Existing successful native paths remain first. Refinement requires complete unchanged Chat provenance, exhaustive source-span ownership and authoritative STOP proof. Rendered request-owned ASSISTANT/STOP spans require a sufficient complete recorded prompt; later sampled native bodies retain their recorded authority. A request-owned assistant with no rendered extent adds no guessed role flags. Original and expanded histories retain consumed-evidence/context ledgers and callback authority through final validation. Explicit rendering overrides and incomplete or edited provenance do not authorize refinement.

Validation:

  • Public controls cover forked conditioning, request-owned roles, copies, exact sampled occupancy, NaN/overflow-first ownership, single-linear refusal and callback mutation. A separate public CPU test checks nonzero mixed advantages, actual ART CISPO/PPO loss and shared-parameter gradients against an independent recorded-completion oracle, including causal packing and clipped/unclipped contributions. This uses a tiny causal predictor, not a transformer equivalence test.
  • Final f24d63f86 has 71 passing affected controls and passes lint, formatting and types. Independent composition review verifies all 159 shared parent definitions, the full module inverse, and unchanged six stream helpers/five dispatchers. It receives the parent's decoder-admission and scalar/Enum-slot corrections exactly. Fresh exact-head Astra/Fable reviews and canonical CI are running; predecessor clearances are not current-head approval.
  • The previous Astra empty-assistant counterexample was reproduced with three public controls. Its unrendered boundary remained unsampled context with exact native P/O/LP; when the renderer actually emitted the boundary and identified EOS, it received the correct ASSISTANT/STOP flags. No omitted authorized role was demonstrated. The documented scope is now explicit. The previous Fable timeout produced no verdict.
  • Retained Batch208 evidence at 1886e0d3 verifies 31 encounters/30 unique sources, three histories, 4,139 finite first-owned terms and 29 sampled STOPs. Ef339 at 1c3bade7 verifies 11 original sources, 24,026 finite terms and six STOPs, with serialized result and all four masks equal to the earlier successful result. These remain predecessor invocations, not current-head captured acceptance. Their ordinary-input applicability and unchanged native emission/source-key helpers are recorded separately from the new affected public controls; no private replay was repeated.

The captured normalization check has one trajectory and zero centered advantage, so it does not establish original-group gradient equivalence. Earlier responses outside a stream become request context; universal parity with every old generic OUTPUT/SFT layout is not claimed. Extra streams may repeat context. Generic rendering overhead in the parent remains unresolved; a separate ledger optimization is not included. No production speed, GPU-memory, model-update or fresh learning result is claimed. Current experiments and frozen pins remain unchanged.

@bradhilton
bradhilton marked this pull request as draft September 26, 2026 15:46

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant