fix: resolve leftover merge-conflict markers breaking analysis/__init__.py (main does not import) - #402
Conversation
main did not import: src/trinity/analysis/__init__.py carried unresolved conflict markers (a botched 3-way merge of the oracle_column and definition_of_done additions), so `import trinity.analysis` raised SyntaxError: invalid character '§' and the ENTIRE test suite failed to collect. The three tangled import blocks are all legitimate, non-overlapping additions, so the resolution keeps all of them: union_diagnostics, oracle_column, and definition_of_done. Their names were already present in __all__ (that region had no markers), so no export changes were needed. After this, `import trinity.analysis` succeeds and the previously-uncollectable analysis tests run again.
…nblocks CI) A botched merge left nested git conflict markers in trinity/analysis/__init__.py (union_diagnostics vs oracle_column vs definition_of_done import blocks), so the package is invalid Python and ruff/import fail on every branch. __all__ already lists the symbols of all three modules, so all three import blocks are intended; keep them. Stacked here only to green this PR's CI while the same repair lands via James-CUDA#402/James-CUDA#405 -- it drops out on rebase once main is fixed.
Three PRs are waiting on this file#415, #416 and #417 are all red solely on these conflict markers — none of them touches Useful context for whoever merges: five PRs carry this exact fixThis resolution is not contested. #402, #405, #407, #408 and #403 all rewrite #407 / #408 / #403 are already green, because they each touch this file for their own feature and resolved it along the way. So there's nothing to arbitrate between the competing fixes — there is only one resolution in play. Merging any one of the five repairs |
… can validate this PR main currently fails Ruff/pytest by itself: src/trinity/analysis/__init__.py carries unresolved merge-conflict markers (James-CUDA#404), so every PR's merge-ref CI is red before it reaches the PR's own changes. This commit applies the only correct resolution — keep all three import blocks (union_diagnostics, oracle_column, definition_of_done), the same resolution James-CUDA#402/James-CUDA#405 propose — purely to unblock CI validation of the scoring fix in this branch. Once the dedicated fix lands on main this resolves to a no-op in the merge (or will be dropped by rebase); credit for the James-CUDA#404 fix belongs to those PRs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nblocks CI) A botched merge left nested git conflict markers in trinity/analysis/__init__.py (union_diagnostics vs oracle_column vs definition_of_done import blocks), so the package is invalid Python and ruff/import fail on every branch. __all__ already lists the symbols of all three modules, so all three import blocks are intended; keep them. Stacked here only to green this PR's CI while the same repair lands via #402/#405 -- it drops out on rebase once main is fixed.
…ate this PR main currently fails Ruff/pytest by itself: src/trinity/analysis/__init__.py carries unresolved merge-conflict markers (#404), so every PR's merge-ref CI is red before it reaches the PR's own changes. This commit applies the only correct resolution — keep all three import blocks (union_diagnostics, oracle_column, definition_of_done), the same resolution #402/#405 propose — purely to unblock CI validation of the scoring fix in this branch. Once the dedicated fix lands on main this resolves to a no-op in the merge (or will be dropped by rebase); credit for the #404 fix belongs to those PRs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Type
General improvement
What does this PR do?
maindoes not import.src/trinity/analysis/__init__.pycarries unresolved merge-conflict markers — a botched 3-way merge of theoracle_columnanddefinition_of_doneadditions — soimport trinity.analysisraises:and the entire test suite fails to collect (every test that imports
trinity.analysiserrors at import). This PR resolves the markers.The three tangled import blocks are all legitimate, non-overlapping additions, so the resolution keeps all of them —
union_diagnostics,oracle_column, anddefinition_of_done. Their names were already present in__all__(that region had no markers), so no export changes were needed.Why is it needed?
CI is red on
mainat collection time; nothing can be tested until the module imports. This restores the analysis package.Checklist
pytest tests/—import trinity.analysisnow succeeds and the previously-uncollectable analysis tests run again (e.g.test_ablations.py,test_ensemble.py,test_per_question_best.py— 36 passed in the affected slice). Before this PR they errored at collection with the SyntaxError above.ruff check src/— clean on the changed file.mypy src/(for changed files).