Filed by the Account-2 read-only amplifier (2026-09-16, HEAD f635e62). Problem: the thunder+cover prelaunch block and the readmeText handling are near-duplicated between the two orchestrators, mirrored only by convention — src/archive.mjs:53-69,167-185 vs src/archive-read.mjs:71-86,240-260 — and they have already diverged: the audio path decodes entities/role names while the read path takes the /pbl/ publisher-from-creators fallback (auditor evidence, med confidence). #18 moved this prelaunch to archive entry on both paths, so the two copies now carry landing-critical behavior each.
Why it matters: duplication is the enemy — the next perf or correctness change to prelaunch must be applied twice or the paths drift silently.
Evaluation question (implementation is NOT the todo): extract a shared prelaunch/readmeText helper (single source for the entry-time shape) or document the divergence as intentional with the reason. Behavior must stay identical: focused archive tests + archive-parallel harness unchanged.
Proposed focus packet: shared helper in src/ (likely archive-common), both orchestrators consume it, divergence points (decodeEntities/roleNames vs /pbl/) become explicit parameters.
Filed by the Account-2 read-only amplifier (2026-09-16, HEAD f635e62). Problem: the thunder+cover prelaunch block and the readmeText handling are near-duplicated between the two orchestrators, mirrored only by convention — src/archive.mjs:53-69,167-185 vs src/archive-read.mjs:71-86,240-260 — and they have already diverged: the audio path decodes entities/role names while the read path takes the /pbl/ publisher-from-creators fallback (auditor evidence, med confidence). #18 moved this prelaunch to archive entry on both paths, so the two copies now carry landing-critical behavior each.
Why it matters: duplication is the enemy — the next perf or correctness change to prelaunch must be applied twice or the paths drift silently.
Evaluation question (implementation is NOT the todo): extract a shared prelaunch/readmeText helper (single source for the entry-time shape) or document the divergence as intentional with the reason. Behavior must stay identical: focused archive tests + archive-parallel harness unchanged.
Proposed focus packet: shared helper in src/ (likely archive-common), both orchestrators consume it, divergence points (decodeEntities/roleNames vs /pbl/) become explicit parameters.