Skip to content

Keep stride benchmark key streams disjoint above 4096 keys #636

Closed

Description

Resolution, 2026-10-29

Completed through wallstop's merge of PR619 at 7ee780a5bf58531e6ac3eadee3cbba89769e7cd0.

The post-merge audit reverified all311 sealed original artifacts, the actual native full fixture's40 preserved outcomes plus seven passing boundary cases,100 byte-identical legacy streams across25 family/cardinality combinations, and original host/source/module restoration. Relevant current code differs only by a comment-format change and equivalent primitive-int comparison rewrites. The key-set type, family definitions and assertion helper remain exact; the complete generator and seven regression cases reconcile exactly after those three declared mechanical changes. No arbitrary semantic normalization is used.

Audit SHA-256 a2a6f78715b19d36beac5d1e39d64a75fc6cd47109c672b616ff1f543acd128e, ignored .artifacts/session484/acceptance-audits/636-integration-acceptance.json. The complete benchmark file has other later revisions; it is not claimed byte-identical. Current ordinary/default/internal/comparison selections do not execute this47-case contract fixture, so they are not substituted for the actual retained native fixture and input evidence. The original636patch leaves its published roster unchanged; later unrelated roster revisions are separate. No timing, cost, parity, calibration, full-current-PR-green or release-readiness claim follows. The original local development record below is retained.

Problem

TargetMapBenchmarkKeys.Create(PowerOfTwoStride, 4097) throws an internal duplicate-key exception for key33554432. Its fixed16MiB stream spacing contains only4096 increments of4096. The four generated streams overlap above that cardinality.

Observed while preparing preregistered #503 resize-boundary inputs, before any boundary map or native experiment ran. The existing15-row/default35-row benchmark rosters stay within4096 and are unaffected. The helper accepts positive counts without a stride-specific bound; the failed128-map input attempt remains retained, not repaired in place.

Question and hypothesis

Can stride streams remain deterministic, disjoint and4096-aligned for larger valid counts while preserving every existing input? Keep the registered stream unchanged. Space auxiliary streams by max(4096,keyCount) stride positions. Four streams must fit the2^20 distinct32-bit values at stride4096, so reject counts above2^18 (262144) before generation. Use explicit unchecked arithmetic for the complete signed32-bit keyspace. This is benchmark input tooling, not a runtime map or dispatch change.

RED and GREEN protocol

  • Baseline source equals restored primary and public PR619 head600e77. Preserve the original4097 producer exception and partial files in503-load-half-structural-s467.
  • Add data-driven production-helper regression cases4095/4096/4097/6144/6145/262144, with deterministic four-stream disjointness, fixed step and aligned-low-bit checks. Add an explicit262145 rejection test. Run RED against unchanged generator before implementing the correction.
  • Retain all existing helper cases and assertions. Keep current fixture/test identities stable where possible. Preserve exact existing five-family stream arrays at1/4/16/256/4096, independently comparing frozen hashes/data.
  • Fix only the generator's stride spacing/count guard. No benchmark roster, workload count, map source, timing threshold, test timeout or dispatch behavior changes.
  • Run focused regression scopes and the affected full benchmark contract fixture on actual Unity/NUnit, with exact module/source/raw/framework cleanup ownership. Use actual source in offline checks, not a reimplemented generator. Preserve failure outputs and validate actual finite keyspace boundary.
  • Source edits live in an isolated branch based on600e77. Overlay only the one existing benchmark source for native qualification after fresh clean admission; preserve its meta. Stop unexpected source/logical/ownership failure and guardedly restore original source/modules/pins/scene. No action replay after observation timeout.

Acceptance

  • RED reproduces the high-cardinality overlap through actual helper tests.
  • All valid fixed regression counts generate deterministic, disjoint, aligned stride streams, including the finite keyspace boundary.
  • The first impossible count throws a clear argument exception before generation.
  • All existing five-family stream inputs at the published cardinalities stay byte-identical; default benchmark roster stays unchanged.
  • Focused and full affected native scopes pass with comparable before/after reports; original host is restored.
  • Local reviewable source, checks and evidence are retained; wallstop adopted the correction through PR619 at7ee780a5. See the post-merge source and scoped acceptance reconciliation above.

Evidence .artifacts/perf-lab/636-stride-key-streams-s467 (number-adjusted if needed). Same session467 cutoff2026-10-15 13:59:46UTC. No new PR or additional push is planned for this local correction during the current session. #503's failed input attempt stays stopped; a new source-specific input revision needs its own freeze after this fix qualifies.

Activity

  1. wallstop commented on Oct 15, 2026

    @wallstop
    CollaboratorAuthor

    Tests-only source freeze BEFORE RED data: TargetMapBenchmarks.cs80,209 bytes/SHA256 595787531621e16719eb9ea26711eb458cde5d83cbdab04a606538c46e7b3e75. The actual generator enum/keyset/class declarations are byte-identical after newline normalization to original source; no correction exists yet. Seven regression cases use the frozen counts. Existing five family cases keep their names/signatures and every condition, through a shared assertion helper with parameter diagnostics. No benchmark roster or budget change.

    Offline project links literal actual source slices: factory7,035 bytes/60a21c70ba4b66f9a3ffd1911a4777f8bafe3e87e89dd03f7f6f34a1306363ff; tests5,762 bytes/31035562cf1f935247ecb4f9fbf94c83e7ddc2c9e83fa6419cd86085fd101826; projectd7c6baafd9ba198e978ea55d377fe8967a58c0ededb90b6b95f523314cc70a09. No reimplemented generator logic. Select all12 literal cases: five existing controls plus seven regressions. Expected RED failures are validcounts4097/6144/6145/262144 and the262145 exception-contract case;4095/4096 and oldcontrols should pass. Retain exact outcomes.

    Actual native original full TargetMapBenchmarkContractTests baseline runs before any source overlay. Then only the tests-only benchmark source is overlaid, meta unchanged, with fresh benchmark and exact six original dependencies/SDK9b/default5000. Native RED selects the seven new names; no candidate correction before RED. Preserve raw/framework cleanup and restore/guard ownership on unexpected failure. After RED, freeze a separate corrected source before candidate data; keep assertions, cases, oldinputs and budgets unchanged. Local work remains unpublished on codex/467-stride-key-streams atbase600e77.

  2. wallstop commented on Oct 15, 2026

    @wallstop
    CollaboratorAuthor

    RED qualifies before correction. Original native full fixture GUID5cf562f4-40b2-4aae-84ad-ab11237b8368 passes all40 leaves/nodes with exact raw/framework cleanup. Tests-only native7-case GUID1e556276-80b8-412b-b908-d3c764a61c91 reports2PASS/5declaredFAIL, matching offline12-case scope7PASS/5FAIL. Failures are counts4097/6144/6145/262144 and the262145 exception contract. No generator correction has been implemented.

    Native RED retains exact cleanup marker error: result has no passes or contains failed/inconclusive nodes; cleanupJSON identities/path/scene/inactive framework/error-empty fields qualify and passive ownership clears. It is a failed run, not green. The analysis parser was corrected from an assumed short error marker to the exact runner-defined string; no source/test/data/assertion/budget changed.

    Freeze legacy capture producer BEFORE invocation:2,909 bytes/SHA256 4410b62d63a79ade84793168f5239104f07404e813f3927460596591c2167686. It invokes ONLY actual owned-package key-generator Create for allfivefamilies at1/4/16/256/4096, writes25 CreateNew four-stream binaries and manifest, records source/MVID and two owned methodILs. No SDK-private reflection, bus emission, counter, timer or forcedGC. Tests-only module2988/source59578753 remain exact. After original capture qualifies, implement the already-stated spacing/maxcount correction, freeze new source and run the unchanged cases. Candidate capture uses a new directory and its own admitted module/source; require all25 binaries byte-identical.

  3. wallstop commented on Oct 15, 2026

    @wallstop
    CollaboratorAuthor

    Correction source freeze BEFORE candidate data: full TargetMapBenchmarks.cs80,966 bytes/SHA256 b22e01b6810f3d0e4dae09d192da623f880ca4d54a6589970520f46fe800317b; patch8,326 bytes/af6672f669fb3a53323252990ce2b49e636b1dcaab0de93625781afae6a353ea. Only generator logic changes from the RED source: stride width=max(4096,keyCount), explicit unchecked address arithmetic, and a stride-only262144 upper bound checked before capacity calculation/arrays. The registered origin/step and every old<=4096 stream stay unchanged by construction; actual byte comparisons remain required.

    All contract test source is byte-identical to the tests-only source after newline normalization. The literal offline regression slice stays5,762 bytes/SHA31035562; corrected actual factory slice7,777 bytes/7fbbb63a45433a257ad232f6a4a329c17ef60e3554b476ecb2d964c8af743524. Exact RED source and compiled DLL/PDB/dependency inputs are retained separately before rebuilding. No failed result, case or assertion is overwritten.

    Original native legacy capture qualifies25 keysets/100streams at1/4/16/256/4096 across allfivefamilies. Every binary matches its complete indexed original input from the separately retained partial producer; this does not make the full128-input attempt valid. Candidate must reproduce all25 exact binaries. Next run all12 offline cases, then the unchanged seven actual native regressions and full47-case contract fixture. Require all40 old outcomes preserved plus7new passes, no skip. Preserve module/source/meta/SDK/default-budget/cleanup gates; restore the one owned source afterward. This local correction remains unpublished.

  4. wallstop commented on Oct 15, 2026

    @wallstop
    CollaboratorAuthor

    Candidate offline12/12PASS and actual native7/7PASS, no skips/failures. Native GUID27903c82-f8c8-4c5c-9af0-cbed06b8a552; every node Passed, raw/framework cleanup exact and markerdone. The finite262144-per-stream case completes normally;262145 rejects with the exact parameter/value contract. Actual sourceb22e01b6, fresh benchmark70a44f66 and six original dependency DLLs qualify via unique late admission output after unchanged5000ms timeout, no replay. Source tests/assertions/cases remain identical to RED. CSharpier1file/spelling1file/repository validation pass.

    Freeze candidate legacy producer BEFORE invocation: SHA256 9d97f6dcb51a384f76ee0f7dcd1b356d41faebbe5de911c2859b49e328415849. It differs from the original producer only by the admitted module/source and unique candidate output directory. Same25 keysets/100streams, actual owned-package Create and CreateNew files. Require exact25binary equality aftercapture. Then full47-case fixture with40oldoutcomes preserved+7newpasses under unchanged budgets; final guarded source/module/pin/scene restoration remains required.

  5. wallstop commented on Oct 15, 2026

    @wallstop
    CollaboratorAuthor

    Local correction COMPLETE and reviewable at commit 7ee5385e40f09be3a60c49ee34795a73cb5b4877, branchcodex/467-stride-key-streams, parentpublic600e77. One benchmark source file changes. The generator spaces streams by max(4096,keyCount) stride positions and rejects PowerOfTwoStride counts above262144 before generation. Explicit unchecked arithmetic preserves the full signed32-bit cycle. Core, benchmark rosters and timing/timeout policy are unchanged. Source SHA256b22e01b6.

    RED: original full native fixture40PASS; tests-only native1e556276 reports2PASS/5expectedFAIL, matching offline12-case7PASS/5FAIL. Keep failed cleanup marker/error and complete raw records; cleanupJSON/source/GUID/scene/ownership qualify. No failed observation is replaced. Test source/assertions/cases remain byte-identical across the generator correction.

    GREEN: literal actual-source offline12PASS; actual native focused27903c82 sevenPASS; fullnative dce1b833-4f35-45e1-bd06-5215bdfc920047PASS. All40old names/outcomes stay identical and exactly7declared new cases pass, no skips/failures/inconclusives. The262144 boundary exercises allfour streams and signed wrap;262145 throws the required parameter/value exception. All result nodes and raw/framework cleanup gates pass.

    Actual native before/after captures preserve ALL25 five-family keysets/100streams at1/4/16/256/4096 BYTE-FOR-BYTE, with exact file hashes read back. They also reproduce complete indexed cases from the prior partial producer; the failed full128-input attempt remains invalid. Default15/35 benchmark inventories remain unchanged and their existing contract tests pass.

    CSharpier, spelling, repository validation, diff checks and normal commit hooks pass. Worktree is clean. Source bundle2042bytes/SHA256 54946377ff90fc4347de9133285b504a5ba8493999d3bb1fd88225f859f75e2e verifies against600e77. Benchmark tooling does not earn a package consumer changelog entry under the repository rule.

    The one owned benchmark source restores exactlyd2d726da, originalmeta untouched. Allseven original module/DLL records and original40-case metadata restore09:29:43UTC via unique late output after unchanged5000ms timeout, no replay. All331pins344sources/tenoriginaldirtyfiles/originalscene match; no active overlay/test/capture/child/proof.

    Evidence636-stride-key-streams-s467 retains source versions, actual compiled RED inputs, raw reports/captures, exact comparisons, commit/bundle and restoration. Local seal follows; this is not immutable remote publication. Source remains LOCAL/UNPUBLISHED, with no newPR/additionalpush. Wallstop review and applicable CI remain required before closure. Host qualification is localUnity6000.4.6f1 Mono plus.NET9, not all supported floors. #503 can now prepare a NEW source-specific128-input revision while preserving the original failure.

  6. wallstop commented on Oct 15, 2026

    @wallstop
    CollaboratorAuthor

    Combined review qualification found three C# style violations in the held benchmark fixb22e01b6. At clean local combined2a32e6f8, full generator tests report293PASS/1FAIL in the existing repository-style contract: descending comparisons at TargetMapBenchmarks.cs:744/1551 and multiline // prose at720. Native47PASS and original bounded-stream evidence remain valid for their exact old source; that does not satisfy this additional style gate.

    Stop and separate correction protocol: preserve all old branches/bundles/evidence; a NEW local sibling changes only those two pure comparison orientations and the required block-comment form. No assertion/input/bound/arithmetic changes. Require focused style and full generator/docs/plain.NET checks, formatting/spelling/package validation/hooks. A separately guarded fresh native47-case run may qualify the revised fixture; do not relabel prior native evidence. No source push/new PR/merge/closure/publication; wallstop review and final backend/CI gates remain open.

  7. wallstop commented on Oct 15, 2026

    @wallstop
    CollaboratorAuthor

    The separate three-site style correction is qualified in clean local review head b050264 on public600e77. TargetMapBenchmarks is now80992bytes, SHA-256e1313863fe6445f184aa984fc6e0b2286aea3201db8d9fe0b705578702c798de. Exact reversal of the block-comment and two pure comparison edits restores prior b22e01b6; no inputs/assertions/bounds/arithmetic change.

    Existing focused style1PASS; full generator294/docs693/plain.NET28PASS. Fresh native full47PASS, GUID6ca232b8-85aa-408d-aa63-572b64dd984c, all prior47name/outcomes exact and terminal framework cleanup. Benchmark16c2b67e/DLLe4b6349d/sourcee131 and six original dependencies admitted; SDK/default5000 unchanged. Original40baseline evidence is explicitly reused after fresh exact module/source/metadata binding. Host fully restored at12:41:09UTC: original7DLL/MVID/40case metadata,331pins344sources10dirty and clean scene. Prior293PASS1styleFAIL stays sealed separately.

    Concrete local review branch467-held-fixes-style also contains #634/#617; one verified bundle6364bytes SHA-256fd486dfd292f90f6b41dc7f49771673433f93021abe2b782232c253b71103a2b requires public600e77. No source push/new PR/merge/closure/publication. Wallstop review, integrated backend CI and broader release qualification remain pending; this is revised-fixture native evidence on the original host.

  8. wallstop commented on Oct 17, 2026

    @wallstop
    CollaboratorAuthor

    Current-head CI39020338713 at61a83816 fails the same script-test assertion on Linux, Windows and macOS: repository catalog source dxToken uses portable LF bytes in il2cpp-profile.test.ps1. Every other static job, including dotnet tests, passes. The #639 Runtime token changed, but the comparison evidence catalog still pins its prior normalized source hash. No runtime failure or heartbeat failure is established by these logs.

    Repair protocol before editing: retain all three exact job logs; reproduce the actual unchanged PowerShell test in50fresh processes and compare every repository catalog source's LF-normalized SHA256. Hypothesis: only dxToken's stored hash is stale. Candidate changes only that catalog hash to the actual committed source's portable-LF digest; production/tests/assertions remain unchanged. GREEN requires ten fresh focused passes, the full Node script scope, relevant formatting/repository checks and unchanged final Runtime/source identities. Stop if any other source identity differs, another failure appears or the minimal hash-only premise fails. No assertion, threshold, retry, skip or timeout change. Evidence: .artifacts/perf-lab/636-token-catalog-refresh-s469/. Existing draft PR619 will receive one coherent correction after qualification.

  9. wallstop commented on Oct 17, 2026

    @wallstop
    CollaboratorAuthor

    Routing correction: comment6232213564 describes the token-source catalog hash follow-up for #639. It was posted under this stride-key issue by mistake. The original protocol/data remain retained and unchanged; the follow-up is being routed to #639. The stride generator, its inputs and this issue's acceptance criteria are unchanged.

  10. wallstop commented on Oct 27, 2026

    @wallstop
    CollaboratorAuthor

    Acceptance audit against the existing fixed protocol is in progress. I will recheck the retained RED/GREEN and restoration/source evidence, compare the exact corrected methods/tests with integrated PR619 source, and verify the applicable current checks. Wallstop's existing authorization covers PR619 and future commits. This is a read-only audit, with no new experiment or source change. Current73b qualification is incomplete because the6.5leg was cancelled before starting; closure will wait for complete current checks. Any unmatched source or missing acceptance evidence keeps this issue open. A completed audit would resolve only this bounded defect in draft source, with no merged/published or release-readiness claim.

  11. wallstop commented on Oct 29, 2026

    @wallstop
    CollaboratorAuthor

    Closed completed after the narrower post-merge acceptance audit. Wallstop's adoption commit is 7ee780a5bf58531e6ac3eadee3cbba89769e7cd0.

    All311 sealed artifacts verify. Original actual native scope preserves40 old outcomes plus seven passing boundary cases; all100 legacy streams/25 family-cardinality combinations remain byte-identical, and original host/modules/source are restored. The current relevant generator/regressions reconcile exactly with the qualified source after only three enumerated mechanical edits: block-comment formatting and two equivalent primitive-int comparison reversals. Key-set type, family enum and assertion helper are unchanged.

    Audit a2a6f78715b19d36beac5d1e39d64a75fc6cd47109c672b616ff1f543acd128e, .artifacts/session484/acceptance-audits/636-integration-acceptance.json. Current ordinary selections do not run this47-case contract fixture and are not claimed to do so. Other later benchmark code/roster revisions are separated from this correction; no new native run, timing/cost/parity, source-wide byteidentity, currentPRfullgreen or readiness claim.

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

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions