Summary
While validating a closed-loop inheritance experiment (Pi coding agent → evolver ingest --distill → review → inject → Pi round 2), we found that evolver inject session-start emits only the gene's summary label, not the actionable strategy text. As a result the distilled fix never reaches the next session, and observed "avoidance" gains vanish.
Environment
- @evomap/evolver 2.0.30 (npm), offline mode, asset store at
~/.evomap/assets/
- Transcript format: generic-chat JSONL
Evidence (re-verified today on 2.0.30)
The approved gene in genes.jsonl contains the actionable fix:
strategy: ["The file is GBK-encoded, not UTF-8. Let me fix the script:", ...]
But evolver inject session-start output contains only:
evolver memory — use these learned hints silently ...
- gene_distilled_65dec53a [repair]: Auto-drafted from generic-chat session (UNPROVEN — curate via review): bash, exception
grep -ci "gbk\|encoding" on the inject output = 0. evolver inject prompt-recall --hook-stdin with a matching prompt ("the file fails with UnicodeDecodeError; how to read it?") also returns {}.
Impact (measured, N=5 controlled runs, same trap/model/task)
| injection channel |
trap-specific errors R1→R2 |
token Δ |
| inject session-start only (labels) |
4→6 (no benefit) |
+13.8% (worse than no injection) |
| labels + strategy text (workaround: read genes.jsonl directly) |
11→4 |
-55.3% (5/5 runs improved) |
Full report: https://github.com/stwhwing/pi-evox-lab/blob/main/docs/experiment-report.md (§16.1)
Suggestion
- Include the (approved-only)
strategy text in inject session-start output, ideally behind a flag (e.g. --include-strategy) for callers who want the full fix;
- Or document that integrators must read
genes.jsonl themselves to materialize strategies.
Summary
While validating a closed-loop inheritance experiment (Pi coding agent →
evolver ingest --distill→ review → inject → Pi round 2), we found thatevolver inject session-startemits only the gene's summary label, not the actionablestrategytext. As a result the distilled fix never reaches the next session, and observed "avoidance" gains vanish.Environment
~/.evomap/assets/Evidence (re-verified today on 2.0.30)
The approved gene in
genes.jsonlcontains the actionable fix:But
evolver inject session-startoutput contains only:grep -ci "gbk\|encoding"on the inject output = 0.evolver inject prompt-recall --hook-stdinwith a matching prompt ("the file fails with UnicodeDecodeError; how to read it?") also returns{}.Impact (measured, N=5 controlled runs, same trap/model/task)
Full report: https://github.com/stwhwing/pi-evox-lab/blob/main/docs/experiment-report.md (§16.1)
Suggestion
strategytext ininject session-startoutput, ideally behind a flag (e.g.--include-strategy) for callers who want the full fix;genes.jsonlthemselves to materialize strategies.