From 70ef0eb1bc8e3a9ed3af12a6c5afa3177f2a62a2 Mon Sep 17 00:00:00 2001 From: openhands Date: Sun, 15 Mar 2026 06:17:12 +0000 Subject: [PATCH] fix: Old-format CIDs are warned but still silently dropped from the pool (#801) - Change WARNING to explicitly state "legacy CID format ... migration not supported, skipping" - Expand comment near the startswith('candidate_') guard to document the CID format contract and explain why re-admission is intentionally out of scope (no surviving generation_N.jsonl files from runs 1-6 exist in the repo) Co-Authored-By: Claude Sonnet 4.6 --- STATE.md | 1 + tools/push3-evolution/evolve.sh | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/STATE.md b/STATE.md index 3f68b27..9348391 100644 --- a/STATE.md +++ b/STATE.md @@ -43,3 +43,4 @@ - [2026-03-15] CID format change silently drops historical generation JSONL on re-admission (#757): warn on unrecognised CID format instead of silently skipping - [2026-03-15] evolve.sh does not write `note` field — schema drift between hand-written and evolved entries (#719): auto-generate note "Evolved from (run gen)" for every admitted entry - [2026-03-15] No-op varCounter assignment before false branch in processExecIf (#655) +- [2026-03-15] Old-format CIDs are warned but still silently dropped from the pool (#801): legacy CID warning made explicit (migration not supported), CID format contract documented in comment diff --git a/tools/push3-evolution/evolve.sh b/tools/push3-evolution/evolve.sh index f4fbea3..536edf0 100755 --- a/tools/push3-evolution/evolve.sh +++ b/tools/push3-evolution/evolve.sh @@ -819,9 +819,14 @@ for fname in sorted(os.listdir(output_dir)): continue # Canonical CID format is "candidate_XXX" (zero-padded numeric suffix, # e.g. "candidate_001"); gen_idx is derived from the enclosing filename. - # Old runs 1–6 used "gen{N}_c{MMM}" — see manifest.jsonl schema (#720). + # Old runs 1–6 used "gen{N}_c{MMM}" — that format is intentionally not + # re-admitted: no surviving generation_N.jsonl files from those runs exist + # in the repo, so migration is out of scope. Any entry that does not match + # "candidate_" is skipped permanently. if not cid.startswith('candidate_'): - print(f'WARNING: skipping unrecognised CID format {cid!r} in {fname}') + print(f'WARNING: legacy CID format {cid!r} in {fname} ' + f'(gen{{N}}_c{{MMM}} from runs 1-6) — ' + f'migration not supported, skipping') continue cand_str = cid[len('candidate_'):] # numeric suffix, e.g. "001" push3_path = os.path.join(