Skip to content

[Post-0.31][ABI] Evaluate borrowed witness spans and bounded argument-copy changes #38

Closed

Description

@a19q3

Follow-up to #33 and D4. 0.31 keeps private ownership, normalization and parent-to-adapter copies. 0.32 is a planning target only.

Evaluate borrowing, word-copy changes and staged outer loading as separate experiments. A smaller selected payload does not establish a smaller admissible whole witness.

Acceptance:

  • Document ownership, aliasing, parent-buffer lifetime, nested calls, alignment and tail-access requirements before code changes.
  • Preserve the admitted outer witness set, including optional fields and multiple records.
  • Measure copy/syscall cycles, ELF bytes and static stack separately.
  • Cover exact/truncated/over-bound inputs, first/last records, wide arguments and outgoing stack arguments.
  • Update versioned machine contracts and independent negative mutations for any accepted design; run backend and CI gates.

Activity

  1. added this to the 0.32 milestone on Oct 3, 2026
  2. a19q3 commented on Oct 4, 2026

    @a19q3
    CollaboratorAuthor

    Completed the bounded 0.32 evaluation. Retain private adapter ownership, the byte-copy/normalization contract and the full bounded outer-witness load. No new borrowed ABI or staged decoder is admitted.

    The three experiments have separate decisions:

    • Word copies: 96 byte-versus-word pairs across 12 lengths and all eight source alignments independently compare every destination byte. All pairs either trade cycles for code size (72) or favor byte copies (24). Reject unconditional helper replacement: short copies regress, and disjoint-copy results cannot authorize overlapping normalization.
    • Borrowed spans: 18 pairs cover empty/wide/unaligned payloads, a live parent buffer, a clobbering nested callee and a separate outgoing reservation. The borrowed probe improves its recorded dimensions, but it is a read-only synthetic adapter, not the canonical witness decoder. Defer production adoption until a versioned emitter/checker contract proves alias exclusions and span lifetime for actual callees.
    • Staged loading: 12 pairs / 24 executions vary payload width and both optional fields under the actual scheduler. Every pair trades stack space for cycles and ELF bytes. Retain full loading: the lower-bound probe omits canonical decoding, and a future implementation must additionally validate unselected/late records, optional encodings and the complete admitted witness set.

    The retained production boundary still admits the same bounded 4,096-byte whole witness, validates all records before action execution and preserves private argument storage, fixed-byte values and outgoing arguments. Existing malformed/truncated/over-bound and record-selection tests plus rebound machine/checker mutations remain authoritative. Passing the synthetic probes is not claimed as malformed-witness equivalence for an unimplemented decoder.

    Evidence: ownership and decisions, raw experiment archive, paired frontier, and gate record. Historical clean CI/backend source is 6a453d3015784784a27ba1aa0a4b6b1a73db79a8; all 6,782 comparable metrics passed without changing ceilings. No archive is relabeled as fresh evidence for later unrelated changes.

    Closure audit on 2026-10-04: archive hashes/counts and frontier classifications were independently recomputed. The focused cost_experiments replay (six tests including all three alternatives) and nine policy-artifact-checker tests passed on the 0.32 checkout based on 35bf983d. This closes the evaluation and its retain/reject/defer decisions, not implementation or production admission of the deferred alternatives.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions