Repository navigation
Keep stride benchmark key streams disjoint above 4096 keys #636
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
wallstop commentedon Oct 15, 2026
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.
wallstop commentedon Oct 15, 2026
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.wallstop commentedon Oct 15, 2026
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.
wallstop commentedon Oct 15, 2026
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.wallstop commentedon Oct 15, 2026
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
54946377ff90fc4347de9133285b504a5ba8493999d3bb1fd88225f859f75e2everifies 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.
wallstop commentedon Oct 15, 2026
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.
wallstop commentedon Oct 15, 2026
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.
wallstop commentedon Oct 17, 2026
Current-head CI39020338713 at61a83816 fails the same script-test assertion on Linux, Windows and macOS:
repository catalog source dxToken uses portable LF bytesinil2cpp-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.wallstop commentedon Oct 17, 2026
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.
wallstop commentedon Oct 27, 2026
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.
wallstop commentedon Oct 29, 2026
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.