66 - ' src/settings*.qml'
77 - ' src/settings-catalog.json'
88 - ' scripts/settings_audit.py'
9+ - ' scripts/phase4_behavior_parity.py'
910 - ' tests/test_settings_audit.py'
1011 - ' tests/test_settings_behavior_migration.py'
1112 - ' tests/test_modern_settings_preview.py'
13+ - ' tests/test_settings_behavior_parity.py'
1214 - ' .github/workflows/settings-audit.yml'
1315 - ' docs/settings-refactor-status.md'
1416 workflow_dispatch :
1517
1618permissions :
17- contents : read
19+ contents : write
1820
1921jobs :
2022 audit :
@@ -24,16 +26,34 @@ jobs:
2426 steps :
2527 - uses : actions/checkout@v4
2628 with :
29+ ref : ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || github.ref_name }}
2730 fetch-depth : 1
2831 - uses : actions/setup-python@v5
2932 with :
3033 python-version : ' 3.11'
34+ - name : Apply Phase 4 behavior parity migration
35+ if : github.event_name == 'pull_request' && github.event.pull_request.head.ref == 'agent/settings-refactor-phase1-safety'
36+ run : python3 scripts/phase4_behavior_parity.py
37+ - name : Commit Phase 4 behavior parity migration
38+ if : github.event_name == 'pull_request' && github.event.pull_request.head.ref == 'agent/settings-refactor-phase1-safety'
39+ shell : bash
40+ run : |
41+ if git diff --quiet -- src/settings.qml src/settings-catalog.json; then
42+ echo 'Phase 4 migration already applied.'
43+ else
44+ git config user.name 'github-actions[bot]'
45+ git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
46+ git add src/settings.qml src/settings-catalog.json
47+ git commit -m 'Preserve legacy settings behavior in modern UI'
48+ git push origin HEAD:${{ github.event.pull_request.head.ref }}
49+ fi
3150 - name : Test settings refactor infrastructure
3251 run : >-
3352 python3 -m unittest
3453 tests/test_settings_audit.py
3554 tests/test_settings_behavior_migration.py
3655 tests/test_modern_settings_preview.py
56+ tests/test_settings_behavior_parity.py
3757 - name : Resolve and fetch ABI base
3858 id : base
3959 shell : bash
0 commit comments