Skip to content

feat(delphi): Q12 carve-out — pin the cold-tick PCA start to ones in both replay drivers#2655

Draft
jucor wants to merge 1 commit into
spr/edge/7ae9c688from
spr/edge/6b40e1bf
Draft

feat(delphi): Q12 carve-out — pin the cold-tick PCA start to ones in both replay drivers#2655
jucor wants to merge 1 commit into
spr/edge/7ae9c688from
spr/edge/6b40e1bf

Conversation

@jucor

@jucor jucor commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Production Clojure draws an UNSEEDED random PCA start vector on the cold
tick (rand-starting-vec, pca.clj:79-82 — the original author's own
'should really throw a [seeded] random number generator in the equation
here... XXX'); with a small eigengap the fixed 100 power iterations keep
a start-dependent residual (~4e-4 on pc-smallmix-01 step 0), so even two
Clojure runs differ on cold ticks. No deterministic reference exists.

Both replay drivers now pin the cold start to the ONES vector — the
exact value power-iteration already pads new-comment columns with
(pca.clj:46-49 / pca.py _power_iteration) — by seeding the conv with a
single-element [1.0] start that the padding expands to any width
(dev/replay.clj certify-cold-start-pca; polismath/replay/driver.py).
Warm ticks take the real previous comps from tick 2 exactly as before.
Logged per run. CLOJURE_QUIRKS.md Q12.

Battery effect: pc-smallmix-01 and pc-midmix-01 went DIVERGENCE -> MATCH;
pc-revote-01's step 0 cleared (residual from step 1 = split-loop
extraction order on tie-dense 15-comment geometry, diagnosed separately).
14/15 MATCH with the five prodclone extractions in the battery.

commit-id:6b40e1bf


Stack:


⚠️ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

This was referenced Jul 22, 2026
…both replay drivers

Production Clojure draws an UNSEEDED random PCA start vector on the cold
tick (rand-starting-vec, pca.clj:79-82 — the original author's own
'should really throw a [seeded] random number generator in the equation
here... XXX'); with a small eigengap the fixed 100 power iterations keep
a start-dependent residual (~4e-4 on pc-smallmix-01 step 0), so even two
Clojure runs differ on cold ticks. No deterministic reference exists.

Both replay drivers now pin the cold start to the ONES vector — the
exact value power-iteration already pads new-comment columns with
(pca.clj:46-49 / pca.py _power_iteration) — by seeding the conv with a
single-element [1.0] start that the padding expands to any width
(dev/replay.clj certify-cold-start-pca; polismath/replay/driver.py).
Warm ticks take the real previous comps from tick 2 exactly as before.
Logged per run. CLOJURE_QUIRKS.md Q12.

Battery effect: pc-smallmix-01 and pc-midmix-01 went DIVERGENCE -> MATCH;
pc-revote-01's step 0 cleared (residual from step 1 = split-loop
extraction order on tie-dense 15-comment geometry, diagnosed separately).
14/15 MATCH with the five prodclone extractions in the battery.

commit-id:6b40e1bf
@jucor
jucor force-pushed the spr/edge/6b40e1bf branch from 98091d8 to 63cdd5b Compare July 22, 2026 10:06
@jucor jucor changed the title feat(delphi): Q12 carve-out — pin the cold-tick PCA start to ones in both replay drivers feat(delphi): Q12 carve-out — pin the cold-tick PCA start to ones in … Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/7ae9c688 to edge July 22, 2026 11:21
@jucor jucor changed the title feat(delphi): Q12 carve-out — pin the cold-tick PCA start to ones in … feat(delphi): Q12 carve-out — pin the cold-tick PCA start to ones in both replay drivers Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/7ae9c688 July 22, 2026 11:21
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