test(integration): workflow example 5 — database schema migration with safety nets (review profile) #1042

Merged
hamza.khyari merged 1 commits from test/int-wf05-db-migration into master 2026-03-31 11:26:28 +00:00
Member

Summary

Integration test for Specification Workflow Example 5: Database Schema Migration with Safety Nets. Exercises the review automation profile with mixed resource types, custom skills with database tools, phased child plans, checkpointing, and rollback using mocked providers.

Closes #769

Test Cases (7)

Test What It Exercises
Register Custom Resource Type local/postgres-db with transaction_rollback sandbox, DB roundtrip
Review Automation Profile Behavior Autonomy thresholds: phases auto-start, decisions require approval, apply manual, safety requires sandbox + checkpoints
Create Custom Skill With Database Tools local/database-ops with query_db, execute_migration, backfill_column
Action With Review Profile 4 typed arguments, 4 invariants, plan creation
Checkpoint Creation And Rollback Filesystem snapshot, pre/post migration checkpoints, rollback verification
Phased Subplan Configuration 5-phase sequential migration, fail-fast, SubplanFailureHandler behavior
Plan Lifecycle With Review Profile Strategize -> complete -> execute transition

Files

  • robot/int_wf05_db_migration.robot — 7 test cases using helper pattern
  • robot/helper_int_wf05_db_migration.py — Python helper with command dispatch

Spec Reference

docs/specification.md ~lines 38244-38693 (Workflow Example 5)

## Summary Integration test for Specification Workflow Example 5: Database Schema Migration with Safety Nets. Exercises the `review` automation profile with mixed resource types, custom skills with database tools, phased child plans, checkpointing, and rollback using mocked providers. Closes #769 ## Test Cases (7) | Test | What It Exercises | |------|------------------| | Register Custom Resource Type | `local/postgres-db` with `transaction_rollback` sandbox, DB roundtrip | | Review Automation Profile Behavior | Autonomy thresholds: phases auto-start, decisions require approval, apply manual, safety requires sandbox + checkpoints | | Create Custom Skill With Database Tools | `local/database-ops` with `query_db`, `execute_migration`, `backfill_column` | | Action With Review Profile | 4 typed arguments, 4 invariants, plan creation | | Checkpoint Creation And Rollback | Filesystem snapshot, pre/post migration checkpoints, rollback verification | | Phased Subplan Configuration | 5-phase sequential migration, fail-fast, `SubplanFailureHandler` behavior | | Plan Lifecycle With Review Profile | Strategize -> complete -> execute transition | ## Files - `robot/int_wf05_db_migration.robot` — 7 test cases using helper pattern - `robot/helper_int_wf05_db_migration.py` — Python helper with command dispatch ## Spec Reference `docs/specification.md` ~lines 38244-38693 (Workflow Example 5)
hamza.khyari self-assigned this 2026-03-18 11:42:26 +00:00
hamza.khyari added the
Type
Testing
State
In Review
labels 2026-03-18 11:42:49 +00:00
freemo approved these changes 2026-03-19 04:53:35 +00:00
Dismissed
freemo left a comment
Owner

Code Review — PR #1042 test(integration): workflow example 5 — db schema migration

Clean, well-structured integration test. The 7 Robot test cases cover custom resource type registration, review profile thresholds, skill creation, checkpoint/rollback, phased subplans, and the full lifecycle. Good use of in-memory SQLAlchemy DB for resource type persistence.

Approved with one process note:

  1. Missing milestone — The PR has no milestone assigned, but the linked issue #769 belongs to milestone v3.3.0. Per CONTRIBUTING.md §Pull Request Process item 11, every PR must be assigned to the same milestone as its linked issue. Please assign this to v3.3.0.
## Code Review — PR #1042 `test(integration): workflow example 5 — db schema migration` Clean, well-structured integration test. The 7 Robot test cases cover custom resource type registration, review profile thresholds, skill creation, checkpoint/rollback, phased subplans, and the full lifecycle. Good use of in-memory SQLAlchemy DB for resource type persistence. **Approved** with one process note: 1. **Missing milestone** — The PR has no milestone assigned, but the linked issue #769 belongs to milestone **v3.3.0**. Per CONTRIBUTING.md §Pull Request Process item 11, every PR must be assigned to the same milestone as its linked issue. Please assign this to v3.3.0.
freemo requested review from freemo 2026-03-19 05:21:10 +00:00
freemo requested review from brent.edwards 2026-03-19 05:21:10 +00:00
freemo added this to the v3.3.0 milestone 2026-03-19 05:28:38 +00:00
hamza.khyari force-pushed test/int-wf05-db-migration from f03bde7fe6 to 20e29d7407 2026-03-19 12:58:26 +00:00 Compare
hamza.khyari force-pushed test/int-wf05-db-migration from 20e29d7407 to 998074153a 2026-03-19 13:12:29 +00:00 Compare
hamza.khyari dismissed freemo's review 2026-03-19 13:12:29 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

hamza.khyari force-pushed test/int-wf05-db-migration from 998074153a to 8660182b6a 2026-03-27 14:30:47 +00:00 Compare
hamza.khyari force-pushed test/int-wf05-db-migration from 8660182b6a to 30d2d5a45a 2026-03-27 15:47:27 +00:00 Compare
hamza.khyari scheduled this pull request to auto merge when all checks succeed 2026-03-27 15:51:09 +00:00
hamza.khyari force-pushed test/int-wf05-db-migration from 30d2d5a45a to fa7be71b2b 2026-03-27 16:00:26 +00:00 Compare
hamza.khyari force-pushed test/int-wf05-db-migration from fa7be71b2b to a73dc37806 2026-03-27 16:00:35 +00:00 Compare
hamza.khyari force-pushed test/int-wf05-db-migration from a73dc37806 to f6206171db 2026-03-27 16:14:32 +00:00 Compare
hamza.khyari force-pushed test/int-wf05-db-migration from f6206171db to 68f934f8a4 2026-03-27 16:29:55 +00:00 Compare
hamza.khyari modified the milestone from v3.3.0 to v3.6.0 2026-03-30 10:37:56 +00:00
hamza.khyari force-pushed test/int-wf05-db-migration from 68f934f8a4 to d9bb72098d 2026-03-31 10:41:21 +00:00 Compare
hamza.khyari force-pushed test/int-wf05-db-migration from d9bb72098d to 75d508125c 2026-03-31 10:45:14 +00:00 Compare
hamza.khyari force-pushed test/int-wf05-db-migration from 75d508125c to 3f66221938 2026-03-31 11:03:28 +00:00 Compare
hamza.khyari merged commit 44e5eb9a94 into master 2026-03-31 11:26:28 +00:00
hamza.khyari deleted branch test/int-wf05-db-migration 2026-03-31 11:28:22 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cleveragents/cleveragents-core#1042