m3_002_merge_invariants_and_a5_006 and m9_003_plan_result_success_column
were both unmerged heads after the invariants branch was rebased onto a
master that had gained m9_003. Add a no-op merge migration
m9_004_merge_invariants_branch that points to both, restoring a single
head so create_template_db.py can run and unblock all three test gates.
ISSUES CLOSED: #8524
This PR implements the Invariant data model and database schema for the
v3.2.0 milestone. The Invariant feature enables the system to define, store,
and manage invariant rules that can be evaluated against system state.
- Alembic migration m3_001_invariants_table creates the invariants table
with columns: id (UUID), description (text), created_at (timestamp),
is_active (bool, default True), with index on is_active for efficiency
- SQLAlchemy ORM InvariantModel in
cleveragents.infrastructure.database.models.InvariantModel
- M3 merge migration to resolve Alembic head conflict
- BDD Behave scenarios (10 test cases) in features/invariant_model.feature
- Robot Framework integration tests in robot/invariant_model.robot
- Updated CHANGELOG.md and CONTRIBUTORS.md
- Restored status-check CI aggregation job
ISSUES CLOSED: #8524