2026-07-29 15:54:02 -04:00
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
import unittest
|
|
|
|
|
|
|
|
|
|
from tools.milestone5_migration import build_migration_evidence
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Milestone5MigrationTests(unittest.TestCase):
|
|
|
|
|
def test_actual_v1_project_index_and_proposal_migrate_exactly(self) -> None:
|
|
|
|
|
evidence = build_migration_evidence()
|
|
|
|
|
|
|
|
|
|
self.assertEqual("v1.0.0", evidence["tag"])
|
2026-08-02 20:52:36 -04:00
|
|
|
self.assertEqual("2.0.0", evidence["current"]["version"])
|
2026-07-29 15:54:02 -04:00
|
|
|
self.assertEqual(1, evidence["current"]["index_schema_before"])
|
|
|
|
|
self.assertEqual(3, evidence["current"]["index_schema_after"])
|
|
|
|
|
self.assertEqual(
|
|
|
|
|
{
|
|
|
|
|
"canonical_bytes_preserved": True,
|
|
|
|
|
"graph_preserved": True,
|
|
|
|
|
"proposal_preserved": True,
|
|
|
|
|
"legacy_index_rebuilt": True,
|
|
|
|
|
"cli_superset": True,
|
|
|
|
|
"mcp_superset": True,
|
|
|
|
|
"v1_version_mismatch_recorded": True,
|
|
|
|
|
},
|
|
|
|
|
evidence["proofs"],
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
unittest.main()
|