Found reviewing #241.
research/traits/metabolism/cellulolysis-deep-research-codex.md is tracked in git and is an outlier in three ways at once:
- The only report with no citations sidecar. All 353 falcon reports have one; this has none.
- Not in the manifest.
reports/trait_graph_audit_manifest.tsv has 714 rows covering 353 distinct traits and 353 distinct output paths; this file appears in none of them. The manifest is described as a spend record, and here is an artifact with no record of what produced it or when.
- The only trait with two providers.
cellulolysis has both -deep-research-falcon.md and -deep-research-codex.md.
It is why find research/traits -name '*-deep-research-*.md' returns 354 while the sweep's own count is 353.
It collides with #233
#233's fix has to change the renderer from an exact <slug>.md lookup to a <slug>-deep-research-*.md glob, "picking one deterministically if several providers have run — sorting by name and taking the first keeps the render reproducible." cellulolysis is the one trait where that tie-break actually fires, and sorting by name makes codex win over falcon — so the single trait with a hand-made, unrecorded, uncited artifact would be the one trait whose page renders something other than the sweep output.
Decide, don't drift
Either it is a legitimate second-provider artifact, in which case it needs a manifest row, a sidecar, and a stated provider-precedence rule that #233 can implement; or it is a leftover from an earlier manual run, in which case delete it. Right now it is neither, and #233 will silently pick it.
Related: #244, #246.
Found reviewing #241.
research/traits/metabolism/cellulolysis-deep-research-codex.mdis tracked in git and is an outlier in three ways at once:reports/trait_graph_audit_manifest.tsvhas 714 rows covering 353 distinct traits and 353 distinct output paths; this file appears in none of them. The manifest is described as a spend record, and here is an artifact with no record of what produced it or when.cellulolysishas both-deep-research-falcon.mdand-deep-research-codex.md.It is why
find research/traits -name '*-deep-research-*.md'returns 354 while the sweep's own count is 353.It collides with #233
#233's fix has to change the renderer from an exact
<slug>.mdlookup to a<slug>-deep-research-*.mdglob, "picking one deterministically if several providers have run — sorting by name and taking the first keeps the render reproducible."cellulolysisis the one trait where that tie-break actually fires, and sorting by name makescodexwin overfalcon— so the single trait with a hand-made, unrecorded, uncited artifact would be the one trait whose page renders something other than the sweep output.Decide, don't drift
Either it is a legitimate second-provider artifact, in which case it needs a manifest row, a sidecar, and a stated provider-precedence rule that #233 can implement; or it is a leftover from an earlier manual run, in which case delete it. Right now it is neither, and #233 will silently pick it.
Related: #244, #246.