v0.2.3
Changed
- Re-architected the Python codebase to OOP + dependency injection. Logic now
lives in classes with constructor-injected collaborators (coding side:
EventLog,LockStore,Git,Transcripts,Gate,Personas,Playbook,
TechLead,SpecWriter,Engineer,ReviewPanel,Board; metric side:
Lab,ResultsStore,Evaluator,Prompts,ExperimentLoop,LabDoctor,
LabScaffold,InitArchitect,Dashboard).cli.pyis the single
composition root. Behavior is unchanged; thin module-level shims remain for
the tests and the trace recorder.
Fixed
- Honesty model: the isolated acceptance re-run now fails CLOSED on a timeout
and on "no tests collected" (pytest exit 5) — previously a hung or
uncollectable pristine run was treated as honest, letting gamed code through. Git.mergereports failure when the branch carried no changes ("Already up to
date") instead of a false success.- Structured-output parsing extracts NESTED JSON (spec/init replies) wrapped in
prose or code fences via a brace-balanced, string-aware scan. - The metric dashboard detects experiment filenames with hyphens/dots.
Full Changelog: v0.2.2...v0.2.3