Merge pull request 'fix: fitness_flags not propagated to manifest entries for newly admitted candidates (#990)' (#1096) from fix/issue-990 into master
This commit is contained in:
commit
a3de10bf1d
1 changed files with 12 additions and 10 deletions
|
|
@ -834,7 +834,8 @@ for fname in sorted(os.listdir(output_dir)):
|
|||
f'candidate_{int(cand_str):03d}.push3'
|
||||
)
|
||||
if os.path.exists(push3_path):
|
||||
qualifying.append((fitness, push3_path, gen_idx, cand_str))
|
||||
flags = d.get('fitness_flags')
|
||||
qualifying.append((fitness, push3_path, gen_idx, cand_str, flags))
|
||||
except (json.JSONDecodeError, ValueError, TypeError, AttributeError):
|
||||
pass
|
||||
|
||||
|
|
@ -844,7 +845,7 @@ qualifying.sort(key=lambda x: x[0], reverse=True)
|
|||
new_items = [] # (fitness, push3_path, manifest_entry)
|
||||
seen = set(existing_hashes)
|
||||
|
||||
for fitness, push3_path, gen_idx, cand_str in qualifying:
|
||||
for fitness, push3_path, gen_idx, cand_str, flags in qualifying:
|
||||
h = file_hash(push3_path)
|
||||
if h in seen:
|
||||
continue
|
||||
|
|
@ -864,13 +865,14 @@ for fitness, push3_path, gen_idx, cand_str in qualifying:
|
|||
break
|
||||
counter += 1
|
||||
entry = {
|
||||
'file': filename,
|
||||
'fitness': fitness,
|
||||
'origin': 'evolved',
|
||||
'run': run_id,
|
||||
'generation': gen_idx,
|
||||
'date': today,
|
||||
'note': f'Evolved from {seed_name} (run{run_id} gen{gen_idx})',
|
||||
'file': filename,
|
||||
'fitness': fitness,
|
||||
'fitness_flags': flags,
|
||||
'origin': 'evolved',
|
||||
'run': run_id,
|
||||
'generation': gen_idx,
|
||||
'date': today,
|
||||
'note': f'Evolved from {seed_name} (run{run_id} gen{gen_idx})',
|
||||
}
|
||||
new_items.append((fitness, push3_path, entry))
|
||||
|
||||
|
|
@ -903,7 +905,7 @@ pinned = [(effective_fitness(e), e, None) for e in existing
|
|||
evolved = [(effective_fitness(e), e, None) for e in existing
|
||||
if e.get('origin') == 'evolved']
|
||||
for fitness, push3_path, entry in new_items:
|
||||
evolved.append((fitness, entry, push3_path))
|
||||
evolved.append((effective_fitness(entry), entry, push3_path))
|
||||
|
||||
evolved.sort(key=lambda x: x[0], reverse=True)
|
||||
admitted_evolved = evolved[:MAX_EVOLVED]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue