fix(learning-harness): say why the proposer had nothing, and stop hard-coding its vendor

The meta-agent round journalled `no_proposal`. The real cause was an
authentication failure: `_model_config` hard-coded the anthropic provider
while the detector was talking to DeepSeek and no ANTHROPIC_API_KEY exists
here. The composition itself was fine -- MetaAgent constructed, evolve
started, budget $5 -- and the trace was thrown away.

`no_proposal` covered two different worlds: a proposer that considered the
facts and declined, and one that could not start at all. The journal now
carries the proposer's own reason, and the vendor comes from
`[harnessx] provider` instead of being assumed.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01T7XD7x5KonMdmGRkp63EQG
This commit is contained in:
Marius Ciepluch
2026-09-06 22:24:40 +02:00
co-authored by Claude Opus 5
parent 84b1ba7a72
commit cde57e4293
7 changed files with 66 additions and 12 deletions
+7 -2
View File
@@ -187,8 +187,13 @@ def test_two_slices_of_one_model_are_two_rows_not_one_overwriting_the_other(tmp_
"taxonomy_version": "1",
"metrics": {
"injection": {
"family": "injection", "scorable": 10, "unscorable": {}, "recall": recall,
"silence": 1.0, "youden": recall, "hierarchical_credit": False,
"family": "injection",
"scorable": 10,
"unscorable": {},
"recall": recall,
"silence": 1.0,
"youden": recall,
"hierarchical_credit": False,
"outcomes": {"pair_correct": 5},
}
},