The amortize_research_costs() SELECT was missing prompt_version and agent_role — the two fields added in the INSERT as part of the v0.19.4 pv/role fix. PHP 8.x treats accessing an undefined property on stdClass as E_WARNING; PHPUnit converts warnings to exceptions, which the reap() try/catch captures as 'DB error', leaving reaped=0 and breaking ResearchReaperTest on all 3 PHP versions. Fix: extend the SELECT column list to include the two new fields so $research_row has them populated. Update the ResearchReaperTest get_row mock to return prompt_version and agent_role from fixtures (defaults null/''). Agent-Session: engineer-prab-maint-fix-20260612
10 KiB
10 KiB