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

Merged
hamza.khyari merged 1 commit 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)
freemo approved these changes 2026-03-19 04:53:35 +00:00
Dismissed
freemo left a comment

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 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
All checks were successful
CI / lint (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 30s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 1m7s
CI / security (pull_request) Successful in 1m8s
CI / unit_tests (pull_request) Successful in 3m6s
CI / docker (pull_request) Successful in 16s
CI / integration_tests (pull_request) Successful in 3m48s
CI / e2e_tests (pull_request) Successful in 3m54s
CI / coverage (pull_request) Successful in 7m13s
CI / benchmark-regression (pull_request) Successful in 37m57s
to 20e29d7407
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 45s
CI / security (pull_request) Successful in 54s
CI / unit_tests (pull_request) Successful in 3m16s
CI / docker (pull_request) Successful in 9s
CI / integration_tests (pull_request) Successful in 3m37s
CI / e2e_tests (pull_request) Successful in 5m15s
CI / coverage (pull_request) Successful in 7m28s
CI / benchmark-regression (pull_request) Has been cancelled
2026-03-19 12:58:26 +00:00
Compare
hamza.khyari force-pushed test/int-wf05-db-migration from 20e29d7407
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 45s
CI / security (pull_request) Successful in 54s
CI / unit_tests (pull_request) Successful in 3m16s
CI / docker (pull_request) Successful in 9s
CI / integration_tests (pull_request) Successful in 3m37s
CI / e2e_tests (pull_request) Successful in 5m15s
CI / coverage (pull_request) Successful in 7m28s
CI / benchmark-regression (pull_request) Has been cancelled
to 998074153a
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 19s
CI / build (pull_request) Successful in 19s
CI / quality (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 53s
CI / security (pull_request) Successful in 54s
CI / integration_tests (pull_request) Successful in 3m35s
CI / unit_tests (pull_request) Successful in 3m46s
CI / docker (pull_request) Successful in 9s
CI / e2e_tests (pull_request) Successful in 5m49s
CI / coverage (pull_request) Successful in 6m58s
CI / benchmark-regression (pull_request) Successful in 38m41s
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
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 19s
CI / build (pull_request) Successful in 19s
CI / quality (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 53s
CI / security (pull_request) Successful in 54s
CI / integration_tests (pull_request) Successful in 3m35s
CI / unit_tests (pull_request) Successful in 3m46s
CI / docker (pull_request) Successful in 9s
CI / e2e_tests (pull_request) Successful in 5m49s
CI / coverage (pull_request) Successful in 6m58s
CI / benchmark-regression (pull_request) Successful in 38m41s
to 8660182b6a
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 26s
CI / lint (pull_request) Successful in 3m38s
CI / typecheck (pull_request) Successful in 4m5s
CI / quality (pull_request) Successful in 3m54s
CI / security (pull_request) Successful in 4m23s
CI / unit_tests (pull_request) Successful in 4m6s
CI / docker (pull_request) Successful in 1m7s
CI / integration_tests (pull_request) Successful in 4m57s
CI / e2e_tests (pull_request) Successful in 12m30s
CI / coverage (pull_request) Successful in 11m22s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-regression (pull_request) Successful in 1h3m46s
2026-03-27 14:30:47 +00:00
Compare
hamza.khyari force-pushed test/int-wf05-db-migration from 8660182b6a
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 26s
CI / lint (pull_request) Successful in 3m38s
CI / typecheck (pull_request) Successful in 4m5s
CI / quality (pull_request) Successful in 3m54s
CI / security (pull_request) Successful in 4m23s
CI / unit_tests (pull_request) Successful in 4m6s
CI / docker (pull_request) Successful in 1m7s
CI / integration_tests (pull_request) Successful in 4m57s
CI / e2e_tests (pull_request) Successful in 12m30s
CI / coverage (pull_request) Successful in 11m22s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-regression (pull_request) Successful in 1h3m46s
to 30d2d5a45a
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 35s
CI / lint (pull_request) Successful in 3m21s
CI / quality (pull_request) Successful in 3m48s
CI / security (pull_request) Successful in 4m24s
CI / typecheck (pull_request) Successful in 4m32s
CI / unit_tests (pull_request) Successful in 7m12s
CI / integration_tests (pull_request) Successful in 7m42s
CI / docker (pull_request) Successful in 1m25s
CI / coverage (pull_request) Has been cancelled
CI / e2e_tests (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
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
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 35s
CI / lint (pull_request) Successful in 3m21s
CI / quality (pull_request) Successful in 3m48s
CI / security (pull_request) Successful in 4m24s
CI / typecheck (pull_request) Successful in 4m32s
CI / unit_tests (pull_request) Successful in 7m12s
CI / integration_tests (pull_request) Successful in 7m42s
CI / docker (pull_request) Successful in 1m25s
CI / coverage (pull_request) Has been cancelled
CI / e2e_tests (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
to fa7be71b2b
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / integration_tests (pull_request) Has been cancelled
CI / e2e_tests (pull_request) Has been cancelled
CI / lint (pull_request) Has been cancelled
CI / security (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / quality (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
2026-03-27 16:00:26 +00:00
Compare
hamza.khyari force-pushed test/int-wf05-db-migration from fa7be71b2b
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / integration_tests (pull_request) Has been cancelled
CI / e2e_tests (pull_request) Has been cancelled
CI / lint (pull_request) Has been cancelled
CI / security (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / quality (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
to a73dc37806
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 13s
CI / lint (pull_request) Successful in 3m18s
CI / quality (pull_request) Successful in 3m41s
CI / typecheck (pull_request) Successful in 3m55s
CI / security (pull_request) Successful in 4m2s
CI / integration_tests (pull_request) Failing after 6m16s
CI / unit_tests (pull_request) Successful in 9m25s
CI / docker (pull_request) Successful in 1m9s
CI / e2e_tests (pull_request) Successful in 11m53s
CI / coverage (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
2026-03-27 16:00:35 +00:00
Compare
hamza.khyari force-pushed test/int-wf05-db-migration from a73dc37806
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 13s
CI / lint (pull_request) Successful in 3m18s
CI / quality (pull_request) Successful in 3m41s
CI / typecheck (pull_request) Successful in 3m55s
CI / security (pull_request) Successful in 4m2s
CI / integration_tests (pull_request) Failing after 6m16s
CI / unit_tests (pull_request) Successful in 9m25s
CI / docker (pull_request) Successful in 1m9s
CI / e2e_tests (pull_request) Successful in 11m53s
CI / coverage (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
to f6206171db
Some checks failed
CI / build (pull_request) Successful in 16s
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 3m18s
CI / integration_tests (pull_request) Failing after 3m36s
CI / quality (pull_request) Successful in 3m45s
CI / typecheck (pull_request) Successful in 3m55s
CI / unit_tests (pull_request) Successful in 3m57s
CI / security (pull_request) Successful in 4m3s
CI / docker (pull_request) Successful in 1m8s
CI / e2e_tests (pull_request) Successful in 8m28s
CI / coverage (pull_request) Successful in 11m25s
CI / benchmark-regression (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
2026-03-27 16:14:32 +00:00
Compare
hamza.khyari force-pushed test/int-wf05-db-migration from f6206171db
Some checks failed
CI / build (pull_request) Successful in 16s
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 3m18s
CI / integration_tests (pull_request) Failing after 3m36s
CI / quality (pull_request) Successful in 3m45s
CI / typecheck (pull_request) Successful in 3m55s
CI / unit_tests (pull_request) Successful in 3m57s
CI / security (pull_request) Successful in 4m3s
CI / docker (pull_request) Successful in 1m8s
CI / e2e_tests (pull_request) Successful in 8m28s
CI / coverage (pull_request) Successful in 11m25s
CI / benchmark-regression (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
to 68f934f8a4
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 19s
CI / build (pull_request) Successful in 19s
CI / quality (pull_request) Successful in 3m46s
CI / typecheck (pull_request) Successful in 3m54s
CI / security (pull_request) Successful in 4m2s
CI / unit_tests (pull_request) Successful in 4m5s
CI / docker (pull_request) Successful in 1m8s
CI / integration_tests (pull_request) Successful in 6m55s
CI / e2e_tests (pull_request) Successful in 9m25s
CI / benchmark-regression (pull_request) Failing after 32m50s
CI / coverage (pull_request) Failing after 32m51s
CI / status-check (pull_request) Has been cancelled
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
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 19s
CI / build (pull_request) Successful in 19s
CI / quality (pull_request) Successful in 3m46s
CI / typecheck (pull_request) Successful in 3m54s
CI / security (pull_request) Successful in 4m2s
CI / unit_tests (pull_request) Successful in 4m5s
CI / docker (pull_request) Successful in 1m8s
CI / integration_tests (pull_request) Successful in 6m55s
CI / e2e_tests (pull_request) Successful in 9m25s
CI / benchmark-regression (pull_request) Failing after 32m50s
CI / coverage (pull_request) Failing after 32m51s
CI / status-check (pull_request) Has been cancelled
to d9bb72098d
Some checks failed
CI / security (pull_request) Failing after 2s
CI / typecheck (pull_request) Successful in 46s
CI / quality (pull_request) Successful in 43s
CI / build (pull_request) Successful in 22s
CI / helm (pull_request) Successful in 40s
CI / integration_tests (pull_request) Has been cancelled
CI / e2e_tests (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / benchmark-publish (pull_request) Has been cancelled
CI / lint (pull_request) Failing after 2s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Waiting to run
CI / status-check (pull_request) Failing after 2s
2026-03-31 10:41:21 +00:00
Compare
hamza.khyari force-pushed test/int-wf05-db-migration from d9bb72098d
Some checks failed
CI / security (pull_request) Failing after 2s
CI / typecheck (pull_request) Successful in 46s
CI / quality (pull_request) Successful in 43s
CI / build (pull_request) Successful in 22s
CI / helm (pull_request) Successful in 40s
CI / integration_tests (pull_request) Has been cancelled
CI / e2e_tests (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / benchmark-publish (pull_request) Has been cancelled
CI / lint (pull_request) Failing after 2s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Waiting to run
CI / status-check (pull_request) Failing after 2s
to 75d508125c
Some checks failed
CI / benchmark-publish (pull_request) Waiting to run
CI / status-check (pull_request) Blocked by required conditions
CI / e2e_tests (pull_request) Has started running
CI / lint (pull_request) Successful in 24s
CI / build (pull_request) Successful in 31s
CI / helm (pull_request) Failing after 3s
CI / typecheck (pull_request) Successful in 1m1s
CI / benchmark-regression (pull_request) Waiting to run
CI / quality (pull_request) Successful in 3m43s
CI / security (pull_request) Successful in 4m9s
CI / integration_tests (pull_request) Failing after 6m15s
CI / unit_tests (pull_request) Failing after 6m31s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Has started running
2026-03-31 10:45:14 +00:00
Compare
hamza.khyari force-pushed test/int-wf05-db-migration from 75d508125c
Some checks failed
CI / benchmark-publish (pull_request) Waiting to run
CI / status-check (pull_request) Blocked by required conditions
CI / e2e_tests (pull_request) Has started running
CI / lint (pull_request) Successful in 24s
CI / build (pull_request) Successful in 31s
CI / helm (pull_request) Failing after 3s
CI / typecheck (pull_request) Successful in 1m1s
CI / benchmark-regression (pull_request) Waiting to run
CI / quality (pull_request) Successful in 3m43s
CI / security (pull_request) Successful in 4m9s
CI / integration_tests (pull_request) Failing after 6m15s
CI / unit_tests (pull_request) Failing after 6m31s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Has started running
to 3f66221938
All checks were successful
CI / build (pull_request) Successful in 25s
CI / helm (pull_request) Successful in 29s
CI / lint (pull_request) Successful in 3m47s
CI / typecheck (pull_request) Successful in 4m20s
CI / quality (pull_request) Successful in 4m23s
CI / security (pull_request) Successful in 4m49s
CI / integration_tests (pull_request) Successful in 7m27s
CI / unit_tests (pull_request) Successful in 8m11s
CI / docker (pull_request) Successful in 1m31s
CI / coverage (pull_request) Successful in 12m17s
CI / e2e_tests (pull_request) Successful in 22m57s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 54m40s
2026-03-31 11:03:28 +00:00
Compare
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
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core!1042
No description provided.