refactor: organize pilot packages

Group review, feedback, evaluation, observability, and entrypoint code into packages. Keep thin top-level compatibility shims for existing scripts and imports, and mirror the structure in the tests.
This commit is contained in:
Claude
2026-09-01 00:59:51 +00:00
parent 3a110ab52c
commit 7a510a926d
66 changed files with 8174 additions and 8039 deletions
+9
View File
@@ -0,0 +1,9 @@
"""Make the pilot package roots available to every categorized test."""
from __future__ import annotations
import os
import sys
PILOT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "pilot"))
if PILOT_ROOT not in sys.path:
sys.path.insert(0, PILOT_ROOT)
+1
View File
@@ -0,0 +1 @@
"""Entrypoint tests."""
@@ -5,7 +5,7 @@ import sys
import threading
HERE = os.path.dirname(os.path.abspath(__file__))
ROOT = os.path.abspath(os.path.join(HERE, "..", ".."))
ROOT = os.path.abspath(os.path.join(HERE, "..", "..", ".."))
sys.path.insert(0, os.path.join(ROOT, "pilot"))
import webhook_server as ws # noqa: E402
+1
View File
@@ -0,0 +1 @@
"""Evaluation tests."""
@@ -4,7 +4,7 @@ import sqlite3
import sys
import urllib.parse
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "pilot"))
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "pilot"))
import eval_bootstrap as eb # noqa: E402
@@ -2,7 +2,7 @@
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "pilot"))
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "pilot"))
import eval_experiment as ex # noqa: E402
@@ -4,7 +4,7 @@ import sys
import pytest
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "pilot"))
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "pilot"))
import eval_scores as es # noqa: E402
+1
View File
@@ -0,0 +1 @@
"""Feedback tests."""
@@ -16,7 +16,7 @@ import tempfile
import unittest
HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, os.path.join(HERE, "..", "..", "pilot"))
sys.path.insert(0, os.path.join(HERE, "..", "..", "..", "pilot"))
import feedback # noqa: E402
import feedback_analyze # noqa: E402
@@ -228,4 +228,4 @@ class TestPosthashAggregation(unittest.TestCase):
if __name__ == "__main__":
unittest.main()
unittest.main()
@@ -17,7 +17,7 @@ import unittest
from unittest.mock import patch
HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, os.path.join(HERE, "..", "..", "pilot"))
sys.path.insert(0, os.path.join(HERE, "..", "..", "..", "pilot"))
import ai_review # noqa: E402
import feedback # noqa: E402
@@ -240,4 +240,4 @@ class TestParseHelpers(unittest.TestCase):
if __name__ == "__main__":
unittest.main()
unittest.main()
@@ -11,7 +11,7 @@ import unittest
from unittest.mock import patch
HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, os.path.join(HERE, "..", "..", "pilot"))
sys.path.insert(0, os.path.join(HERE, "..", "..", "..", "pilot"))
import feedback # noqa: E402
import feedback_analyze # noqa: E402
@@ -94,4 +94,4 @@ class TestDeliver(unittest.TestCase):
if __name__ == "__main__":
unittest.main()
unittest.main()
@@ -4,7 +4,7 @@ import sys
import pytest
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "pilot"))
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "pilot"))
import feedback # noqa: E402
import feedback_scores as fs # noqa: E402
@@ -0,0 +1 @@
"""Observability tests."""
@@ -3,7 +3,7 @@ import os
import sys
HERE = os.path.dirname(os.path.abspath(__file__))
ROOT = os.path.abspath(os.path.join(HERE, "..", ".."))
ROOT = os.path.abspath(os.path.join(HERE, "..", "..", ".."))
sys.path.insert(0, os.path.join(ROOT, "pilot"))
import cost_model as cm # noqa: E402
@@ -8,7 +8,7 @@ import os
import sys
HERE = os.path.dirname(os.path.abspath(__file__))
ROOT = os.path.abspath(os.path.join(HERE, "..", ".."))
ROOT = os.path.abspath(os.path.join(HERE, "..", "..", ".."))
sys.path.insert(0, os.path.join(ROOT, "pilot"))
import langfuse_trace as lt # noqa: E402
+1
View File
@@ -0,0 +1 @@
"""Review tests."""
@@ -6,7 +6,7 @@ import sys
# Allow running without install: add repo root to path.
HERE = os.path.dirname(os.path.abspath(__file__))
ROOT = os.path.abspath(os.path.join(HERE, "..", ".."))
ROOT = os.path.abspath(os.path.join(HERE, "..", "..", ".."))
sys.path.insert(0, os.path.join(ROOT, "pilot"))
import ai_review # noqa: E402
@@ -2149,4 +2149,3 @@ def test_format_review_body_confidence_clamps_out_of_range():
body_lo = format_review_body("- x", "glm-5.2:cloud", "abcdef1234567890", confidence=0)
assert "Merge confidence: 1/5 🔴" in body_lo
@@ -4,7 +4,7 @@ import re
import sys
HERE = os.path.dirname(os.path.abspath(__file__))
ROOT = os.path.abspath(os.path.join(HERE, "..", ".."))
ROOT = os.path.abspath(os.path.join(HERE, "..", "..", ".."))
sys.path.insert(0, os.path.join(ROOT, "pilot"))
import diff_compress # noqa: E402
@@ -6,7 +6,7 @@ import sys
import tarfile
HERE = os.path.dirname(os.path.abspath(__file__))
ROOT = os.path.abspath(os.path.join(HERE, "..", ".."))
ROOT = os.path.abspath(os.path.join(HERE, "..", "..", ".."))
sys.path.insert(0, os.path.join(ROOT, "pilot"))
import opencode_review as oc # noqa: E402
@@ -9,7 +9,7 @@ import os
import sys
HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, os.path.abspath(os.path.join(HERE, "..", "..", "pilot")))
sys.path.insert(0, os.path.abspath(os.path.join(HERE, "..", "..", "..", "pilot")))
import ai_review # noqa: E402