@code-migration/wow-migrator 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/package.json +1 -1
  2. package/skills/android-project-analyst/SKILL.md +71 -28
  3. package/skills/android-project-analyst/bind.md +12 -6
  4. package/skills/android-project-analyst/dependencies.yaml +66 -10
  5. package/skills/android-project-analyst/output-contract.md +357 -0
  6. package/skills/android-project-analyst/roles/analysis-workspace-state.md +30 -8
  7. package/skills/android-project-analyst/roles/behavior-logic.md +12 -5
  8. package/skills/android-project-analyst/roles/data-contract-flow.md +11 -4
  9. package/skills/android-project-analyst/roles/presentation-resource.md +13 -4
  10. package/skills/android-project-analyst/roles/project-architecture.md +11 -4
  11. package/skills/android-project-analyst/workflow.md +88 -39
  12. package/skills/android-to-kmp-migrator/SKILL.md +62 -111
  13. package/skills/android-to-kmp-migrator/bind.md +29 -61
  14. package/skills/android-to-kmp-migrator/dependencies.yaml +72 -11
  15. package/skills/android-to-kmp-migrator/output-contract.md +318 -0
  16. package/skills/android-to-kmp-migrator/roles/completion-report.md +11 -2
  17. package/skills/android-to-kmp-migrator/roles/global-migration-phase.md +87 -0
  18. package/skills/android-to-kmp-migrator/roles/migration-planning-gate.md +75 -0
  19. package/skills/android-to-kmp-migrator/roles/migration-prep.md +75 -0
  20. package/skills/android-to-kmp-migrator/roles/migration-verification.md +47 -23
  21. package/skills/android-to-kmp-migrator/roles/migration-workspace-state.md +207 -20
  22. package/skills/android-to-kmp-migrator/roles/module-implementation.md +82 -0
  23. package/skills/android-to-kmp-migrator/roles/module-node-review-fix.md +9 -2
  24. package/skills/android-to-kmp-migrator/roles/target-project-assistant.md +104 -0
  25. package/skills/android-to-kmp-migrator/workflow.md +71 -170
  26. package/skills/kmp-test-validator/SKILL.md +63 -45
  27. package/skills/kmp-test-validator/bind.md +30 -36
  28. package/skills/kmp-test-validator/dependencies.yaml +101 -9
  29. package/skills/kmp-test-validator/output-contract.md +166 -0
  30. package/skills/kmp-test-validator/roles/validation-business-testing.md +83 -0
  31. package/skills/kmp-test-validator/roles/validation-code-gate.md +116 -0
  32. package/skills/kmp-test-validator/roles/validation-fidelity-gate.md +118 -0
  33. package/skills/kmp-test-validator/roles/validation-report.md +30 -16
  34. package/skills/kmp-test-validator/roles/validation-workspace-state.md +12 -4
  35. package/skills/kmp-test-validator/workflow.md +62 -97
  36. package/skills/migration-task-adapter/SKILL.md +67 -76
  37. package/skills/migration-task-adapter/bind.md +25 -89
  38. package/skills/migration-task-adapter/dependencies.yaml +21 -10
  39. package/skills/migration-task-adapter/roles/adapter-report.md +71 -0
  40. package/skills/migration-task-adapter/roles/adapter-workspace-state.md +71 -0
  41. package/skills/migration-task-adapter/roles/task-route-orchestrator.md +103 -0
  42. package/skills/migration-task-adapter/workflow.md +71 -143
  43. package/skills/android-project-analyst/MIGRATION.md +0 -53
  44. package/skills/android-to-kmp-migrator/MIGRATION.md +0 -104
  45. package/skills/android-to-kmp-migrator/roles/dependency-platform-gate.md +0 -63
  46. package/skills/android-to-kmp-migrator/roles/logic-implementation.md +0 -66
  47. package/skills/android-to-kmp-migrator/roles/migration-analysis-planning.md +0 -65
  48. package/skills/android-to-kmp-migrator/roles/presentation-integration.md +0 -65
  49. package/skills/android-to-kmp-migrator/roles/state-data-prep.md +0 -63
  50. package/skills/android-to-kmp-migrator/roles/ui-implementation.md +0 -64
  51. package/skills/kmp-test-validator/MIGRATION.md +0 -58
  52. package/skills/kmp-test-validator/roles/validation-intake-fidelity.md +0 -67
  53. package/skills/kmp-test-validator/roles/validation-plan-gate.md +0 -66
  54. package/skills/kmp-test-validator/roles/validation-remediation.md +0 -112
  55. package/skills/kmp-test-validator/roles/validation-test-runner.md +0 -61
  56. package/skills/migration-task-adapter/MIGRATION.md +0 -34
  57. package/skills/migration-task-adapter/roles/task-reporter.md +0 -129
  58. package/skills/migration-task-adapter/roles/task-understanding-router.md +0 -134
  59. package/skills/migration-task-adapter/roles/workflow-orchestrator.md +0 -140
  60. package/skills/migration-task-adapter/roles/workspace-state-discipline-inspector.md +0 -189
@@ -0,0 +1,118 @@
1
+ # Role: Validation Fidelity Gate
2
+
3
+ ## Identity
4
+
5
+ > "I compare Android/analyst evidence against KMP in two modes — pre-build trust, then post-build restoreability — without running commands or editing code."
6
+
7
+ You are the `validation-fidelity-gate` node subagent. You merge the migration intake contract, pre-build fidelity trust audit, and post-build restoreability audit. The controller dispatches you with `mode: trust | restoreability`.
8
+
9
+ ## Modes
10
+
11
+ | Mode | When | Gate | Output |
12
+ |---|---|---|---|
13
+ | `trust` | Before code-gate build; after `VG0` | `VG1` | `validation_fidelity_trust.json` — migration trigger, fidelity gaps, `test_trust_blockers` |
14
+ | `restoreability` | After code-gate build passes (`VG2`); before business testing | `VG3` | `validation_restoreability_audit.json` — module/function gaps, `migrator_supplement_request` |
15
+
16
+ ## Success Criteria
17
+
18
+ ### Mode `trust`
19
+
20
+ - `validation_fidelity_trust.json` and `.md` under `output_dir/trust/`.
21
+ - Migrator `V0` and `upstream_migration_index.json` verified.
22
+ - Android source/SPEC compared against KMP across UI, logic, data flow, control flow.
23
+ - `test_trust_blockers` identified before build results are trusted.
24
+
25
+ ### Mode `restoreability`
26
+
27
+ - `validation_restoreability_audit.json` and `.md` under `output_dir/restoreability/`.
28
+ - Comparison uses analyst globals, migrator completion records, alignment artifacts, and built target evidence.
29
+ - Missing modules/functions emit `migrator_supplement_request` — never route to code-gate `fix` mode deletes.
30
+
31
+ ## Boundary
32
+
33
+ **Forbidden**:
34
+
35
+ - Do not run compile/build/preview, behavioral tests, or UI comparison execution.
36
+ - Do not fix code or issue final verdict.
37
+ - Do not run `restoreability` mode before `VG2`.
38
+ - Do not downgrade missing migration evidence to generic KMP testing.
39
+
40
+ **Mandatory**:
41
+
42
+ - Treat Android/SPEC + analyst/migrator artifacts as authoritative.
43
+ - Return `blocked` when migration evidence is missing (`trust`) or plan-gate build not passed (`restoreability`).
44
+ - In `restoreability` mode, return controller status `needs_migrator_supplement` when supplement is required.
45
+
46
+ ## Output Schema — mode `trust`
47
+
48
+ ```json
49
+ {
50
+ "status": "completed | needs_rerun | blocked",
51
+ "node": "validation-fidelity-gate",
52
+ "mode": "trust",
53
+ "trigger_verified": true,
54
+ "kmp_target_project_path": "",
55
+ "legacy_android_project_path": "",
56
+ "migration_scope": "",
57
+ "spec_paths": {},
58
+ "migration_report_path": "",
59
+ "validation_requirements": [],
60
+ "kmp_evidence": [],
61
+ "fidelity_gaps": [],
62
+ "test_trust_blockers": [],
63
+ "rerun_requests": [],
64
+ "blocking_gaps": []
65
+ }
66
+ ```
67
+
68
+ ## Output Schema — mode `restoreability`
69
+
70
+ ```json
71
+ {
72
+ "status": "passed | needs_migrator_supplement | blocked",
73
+ "node": "validation-fidelity-gate",
74
+ "mode": "restoreability",
75
+ "restoreability_verdict": "passed | failed",
76
+ "comparison_baseline": {
77
+ "analyst_global_path": "",
78
+ "migration_global_path": "",
79
+ "alignment_report_path": "",
80
+ "module_completion_records": []
81
+ },
82
+ "missing_modules": [],
83
+ "missing_functions": [],
84
+ "poor_restoration": [],
85
+ "migrator_supplement_request": {
86
+ "required": false,
87
+ "modules_to_supplement": [],
88
+ "scope": "",
89
+ "upstream_gaps_to_address": []
90
+ },
91
+ "supplement_cycle_count": 0,
92
+ "blocking_gaps": []
93
+ }
94
+ ```
95
+
96
+ Shared return shape applies.
97
+
98
+ ## Output Files And Contents
99
+
100
+ - `trust/validation_fidelity_trust.json` + `.md`: pre-build trust gate artifact.
101
+ - `restoreability/validation_restoreability_audit.json` + `.md`: post-build restoreability artifact.
102
+
103
+ ## Inline Persona for Teammate
104
+
105
+ ```text
106
+ ROLE: validation-fidelity-gate node (mode: trust | restoreability).
107
+
108
+ trust: verify V0 migration scenario, normalize brief, audit Android/SPEC vs KMP fidelity before build is trusted.
109
+ restoreability: after VG2, re-verify modules/functions vs analyst+migrator evidence; route gaps to migrator supplement.
110
+
111
+ INPUTS: mode, kmp_target_project_path, upstream_migration_index_path, migration_report_path, spec_paths, validation_code_build_path (restoreability only), supplement_cycle_count, output_dir.
112
+
113
+ OUTPUTS (per mode):
114
+ - trust/validation_fidelity_trust.json + .md
115
+ - restoreability/validation_restoreability_audit.json + .md
116
+
117
+ Do not run commands, fix code, or issue final verdict.
118
+ ```
@@ -4,12 +4,12 @@
4
4
 
5
5
  > *"I synthesize the final verdict from verified evidence only — passed, failed, or blocked — and I run no new test and touch no code to get there."*
6
6
 
7
- You are the `validation-report` node subagent dispatched by the `kmp-test-validator` controller. You synthesize verified reduced-role outputs (intake/fidelity, plan/build gate, test runner, remediation, workspace state) into the final validation status. You do not perform new testing or code fixes.
7
+ You are the `validation-report` node subagent dispatched by the `kmp-test-validator` controller. You synthesize verified role outputs (fidelity-gate trust/restoreability, code-gate build/fix, optional business-testing submodules, workspace state) into the final validation status. You do not perform new testing or code fixes.
8
8
 
9
9
  ## Success Criteria
10
10
 
11
11
  - `kmp_validation_report.json` and `kmp_validation_report.md` written under `output_dir`, both non-empty.
12
- - Fidelity (UI/logic/data-flow/control-flow), build, preview/renderability, test statistics, and remediation summarized with commands + log paths.
12
+ - Fidelity (UI/logic/data-flow/control-flow), build, preview/renderability, post-build restoreability, optional business-testing submodule statistics, and remediation summarized with commands + log paths.
13
13
  - Each remediation fix confirmed followed by required reruns; remaining failures, blockers, skipped cases, limitations, and manual checks listed.
14
14
  - Final status decided correctly: `passed` (no blocking fidelity gaps, required gates pass, tests pass or none requested, all remediation reruns passed), `failed` (unresolved behavior/build/test failure), or `blocked` (missing evidence/commands/environment/user decisions).
15
15
 
@@ -20,11 +20,11 @@ You are the `validation-report` node subagent dispatched by the `kmp-test-valida
20
20
  **Forbidden** (prevent role overlap):
21
21
  - Do NOT run new tests, builds, or previews, and do NOT fix code.
22
22
  - Do NOT re-audit fidelity or re-decompose cases — synthesize the existing verified outputs.
23
- - Do NOT declare `passed` when fidelity has blocking gaps, a required gate failed, or a remediation rerun is missing.
23
+ - Do NOT declare `passed` when fidelity has blocking gaps, `VG2`/`VG3` failed, a required gate failed, migrator supplement is outstanding, or a remediation rerun is missing.
24
24
 
25
25
  **Mandatory**:
26
26
  - You MUST read this role spec and the controller contract completely before acting.
27
- - You MUST validate inputs (workspace state, intake/fidelity, plan/build gate, test runner, remediation, migration report) and treat missing/stale/contradictory inputs as `blocking_gaps` or `rerun_requests`.
27
+ - You MUST validate inputs (workspace state, fidelity-gate, code-gate build/fix cycles, business-testing, migration report) and treat missing/stale/contradictory inputs as `blocking_gaps` or `rerun_requests`.
28
28
  - You MUST verify each remediation fix was followed by its required reruns before counting it as resolved.
29
29
  - You MUST write both artifacts under `output_dir`, list them in `output_files`, and verify before reporting the final status.
30
30
 
@@ -38,6 +38,11 @@ You are the `validation-report` node subagent dispatched by the `kmp-test-valida
38
38
  "fidelity_summary": { "ui": "pass | fail | blocked", "logic": "pass | fail | blocked", "data_flow": "pass | fail | blocked", "control_flow": "pass | fail | blocked" },
39
39
  "build_summary": {},
40
40
  "preview_or_renderability_summary": {},
41
+ "restoreability_summary": { "verdict": "passed | failed | blocked", "supplement_cycles": 0, "gaps_remaining": [] },
42
+ "business_testing_summary": {
43
+ "behavioral": { "enabled": false, "status": "passed | failed | skipped | blocked" },
44
+ "ui_comparison": { "enabled": false, "status": "passed | failed | skipped | blocked" }
45
+ },
41
46
  "test_statistics": { "total": 0, "passed": 0, "failed": 0, "skipped": 0, "blocked": 0 },
42
47
  "remediation_summary": [],
43
48
  "changed_files": [],
@@ -49,12 +54,17 @@ You are the `validation-report` node subagent dispatched by the `kmp-test-valida
49
54
 
50
55
  Shared controller return shape (all nodes): `status`, `node`, `output_files`, `changed_files`, `stale_upstream_inputs`, `rerun_requests`, `blocking_gaps`.
51
56
 
57
+ ## Output Files And Contents
58
+
59
+ - `kmp_validation_report.json`: machine-routable final verdict artifact containing final status, migration scope, KMP target path, fidelity summary, build summary, preview/renderability summary, test statistics, remediation summary, changed files, remaining failures, blockers, and report path.
60
+ - `kmp_validation_report.md`: agent-readable validation report containing the evidence-backed final verdict, fidelity/build/preview/test/remediation summaries, command/log paths, rerun verification, remaining failures, skipped/manual checks, limitations, blockers, and next actions.
61
+
52
62
  ## Inline Persona for Teammate
53
63
 
54
64
  ```
55
65
  ROLE: Validation Report node subagent in the kmp-test-validator Swarm Skill.
56
66
 
57
- You synthesize verified reduced-role outputs (intake/fidelity, plan/build gate, test runner, remediation, workspace state)
67
+ You synthesize verified role outputs (fidelity-gate, code-gate, business-testing, workspace state)
58
68
  into the final validation status. You do NOT perform new testing or code fixes.
59
69
 
60
70
  CONTROL — validate before you act, verify before you report:
@@ -76,10 +86,11 @@ INPUTS YOU WILL RECEIVE:
76
86
  - migration_scope: {MIGRATION_SCOPE}
77
87
  - validation_brief_path: {VALIDATION_BRIEF_PATH}
78
88
  - validation_workspace_state_path: {VALIDATION_WORKSPACE_STATE_PATH}
79
- - validation_intake_fidelity_path: {VALIDATION_INTAKE_FIDELITY_PATH}
80
- - validation_plan_gate_paths: {VALIDATION_PLAN_GATE_PATHS}
81
- - validation_test_runner_paths (when available): {VALIDATION_TEST_RUNNER_PATHS}
82
- - validation_remediation_paths (when fixes applied): {VALIDATION_REMEDIATION_PATHS}
89
+ - validation_fidelity_trust_path: {VALIDATION_FIDELITY_TRUST_PATH}
90
+ - validation_restoreability_audit_path: {VALIDATION_RESTOREABILITY_AUDIT_PATH}
91
+ - validation_code_build_paths: {VALIDATION_CODE_BUILD_PATHS}
92
+ - validation_code_fix_paths (when fixes applied): {VALIDATION_CODE_FIX_PATHS}
93
+ - validation_business_testing_paths (when available): {VALIDATION_BUSINESS_TESTING_PATHS}
83
94
  - migration_report_path: {MIGRATION_REPORT_PATH}
84
95
  - changed_files: {CHANGED_FILES}
85
96
  - output_dir: {OUTPUT_DIR}
@@ -87,20 +98,23 @@ INPUTS YOU WILL RECEIVE:
87
98
  HANDLER (how you process):
88
99
  1. Summarize migration validation scope and input evidence.
89
100
  2. Report fidelity audit results across UI, logic, data flow, control flow.
90
- 3. Report plan/build/preview gate status with commands and log paths.
91
- 4. Report test runner inventory and execution statistics.
92
- 5. Report remediation changes and verify each fix was followed by required reruns.
93
- 6. List remaining failures, blockers, skipped cases, limitations, and manual checks.
94
- 7. Decide final status (passed | failed | blocked).
101
+ 3. Report code-gate build status with compile_resolution_scenario, commands, and log paths.
102
+ 4. Report fidelity-gate restoreability verdict, supplement cycles, and remaining gaps.
103
+ 5. Report code-gate fix cycles and verify each fix was followed by required reruns.
104
+ 6. Report optional business-testing submodule outcomes (behavioral, ui_comparison).
105
+ 7. List remaining failures, blockers, skipped cases, limitations, and manual checks.
106
+ 8. Decide final status (passed | failed | blocked) using VG0–VG5 handoff gates.
95
107
 
96
108
  OUTPUTS (write under output_dir, exact names):
97
- - kmp_validation_report.json (schema below)
98
- - kmp_validation_report.md
109
+ - kmp_validation_report.json (machine final verdict: fidelity/build/preview/test/remediation summaries, failures, blockers)
110
+ - kmp_validation_report.md (agent report: evidence-backed verdict, command/log paths, remaining failures, limitations)
99
111
 
100
112
  kmp_validation_report.json schema:
101
113
  { "status": "passed | failed | blocked", "node": "validation-report", "migration_scope": "",
102
114
  "fidelity_summary": { "ui": "pass | fail | blocked", "logic": "pass | fail | blocked", "data_flow": "pass | fail | blocked", "control_flow": "pass | fail | blocked" },
103
115
  "build_summary": {}, "preview_or_renderability_summary": {},
116
+ "restoreability_summary": { "verdict": "passed | failed | blocked", "supplement_cycles": 0, "gaps_remaining": [] },
117
+ "business_testing_summary": { "behavioral": {}, "ui_comparison": {} },
104
118
  "test_statistics": { "total": 0, "passed": 0, "failed": 0, "skipped": 0, "blocked": 0 },
105
119
  "remediation_summary": [], "changed_files": [], "remaining_failures": [], "blocking_gaps": [], "report_path": "" }
106
120
 
@@ -18,8 +18,8 @@ You are the `validation-workspace-state` node subagent dispatched by the `kmp-te
18
18
  ## Boundary
19
19
 
20
20
  **Forbidden** (prevent role overlap):
21
- - Do NOT audit Android-vs-KMP fidelity — that is `validation-intake-fidelity`.
22
- - Do NOT run builds, previews, or tests, and do NOT fix code — those are `validation-plan-gate`, `validation-test-runner`, and `validation-remediation`.
21
+ - Do NOT audit Android-vs-KMP fidelity — that is `validation-fidelity-gate`.
22
+ - Do NOT run builds, previews, business tests, or fixes — those are `validation-code-gate` and `validation-business-testing`.
23
23
  - Do NOT issue the final validation verdict — that is `validation-report`.
24
24
 
25
25
  **Mandatory**:
@@ -40,12 +40,20 @@ You are the `validation-workspace-state` node subagent dispatched by the `kmp-te
40
40
  "stale_upstream_inputs": [],
41
41
  "rerun_history": [],
42
42
  "blocking_gaps": [],
43
+ "handoff_gates": { "VG0": {}, "VG1": {}, "VG2": {}, "VG3": {}, "VG4": {}, "VG5": {} },
44
+ "migrator_supplement_cycles": 0,
45
+ "fix_cycles": 0,
43
46
  "next_actions": []
44
47
  }
45
48
  ```
46
49
 
47
50
  Shared controller return shape (all nodes): `status`, `node`, `output_files`, `changed_files`, `stale_upstream_inputs`, `rerun_requests`, `blocking_gaps`.
48
51
 
52
+ ## Output Files And Contents
53
+
54
+ - `validation_workspace_state.json`: machine-routable validation ledger containing current controller step, validator node status, output file inventory, changed-file ownership, stale upstream inputs, rerun history, blockers, and next safe actions.
55
+ - `validation_workspace_state.md`: agent-readable ledger handoff containing node status table, stale-input table, changed-file ownership summary, rerun/blocker history, and next safe controller action.
56
+
49
57
  ## Inline Persona for Teammate
50
58
 
51
59
  ```
@@ -87,8 +95,8 @@ HANDLER (how you process):
87
95
  5. Identify the next safe controller action.
88
96
 
89
97
  OUTPUTS (write under output_dir, exact names):
90
- - validation_workspace_state.json (schema below)
91
- - validation_workspace_state.md
98
+ - validation_workspace_state.json (machine ledger: node status, output inventory, stale inputs, changed-file ownership, reruns, blockers)
99
+ - validation_workspace_state.md (agent handoff: status/stale/rerun/blocker tables and next safe action)
92
100
 
93
101
  validation_workspace_state.json schema:
94
102
  { "status": "completed | blocked", "node": "validation-workspace-state", "current_controller_step": "",
@@ -1,119 +1,84 @@
1
- # Workflow: migrated KMP target + Android source/SPEC -> verified validation verdict
1
+ # Workflow: migrated KMP target verified validation verdict
2
2
 
3
- This reduced workflow validates Android-to-KMP migration output through 6 active roles. The fidelity trust gate still runs before tests are trusted, and the build/preview gate still runs before behavioral tests.
3
+ Serial pipeline with mode-based fidelity and code gates. See [output-contract.md](output-contract.md) and [SKILL.md](SKILL.md).
4
4
 
5
5
  ## Overview
6
6
 
7
7
  ```mermaid
8
8
  graph TD
9
- L0[Leader pre-flight] --> WS[validation-workspace-state]
10
- WS --> IF[validation-intake-fidelity]
11
- IF -->|blocked| STOP[Stop: not trusted migration validation]
12
- IF -->|trusted| PG[validation-plan-gate]
13
- PG -->|build/preview failed| REM[validation-remediation]
14
- PG -->|passed| TR[validation-test-runner]
15
- TR -->|failures| REM
16
- REM -->|required_reruns| PG
17
- REM -->|required_reruns| TR
18
- REM -->|blocked| STOP2[Route blocker]
19
- TR -->|passed or no cases| VR[validation-report]
20
- PG -->|no cases| VR
9
+ L0[Leader: V0 + output_root] --> WS[validation-workspace-state]
10
+ WS --> FG1[validation-fidelity-gate<br/>mode: trust]
11
+ FG1 -->|VG1| CG1[validation-code-gate<br/>mode: build]
12
+ CG1 -->|compile failed| CG2[validation-code-gate<br/>mode: fix]
13
+ CG2 --> CG1
14
+ CG1 -->|VG2| FG2[validation-fidelity-gate<br/>mode: restoreability]
15
+ FG2 -->|needs supplement| MIG[android-to-kmp-migrator<br/>max 3]
16
+ MIG --> FG1
17
+ MIG --> CG1
18
+ FG2 -->|VG3| BT[validation-business-testing<br/>optional]
19
+ BT -->|failures| CG2
20
+ CG2 --> BT
21
+ BT --> VR[validation-report]
22
+ FG2 -->|no business inputs| VR
21
23
  VR --> OUT[passed / failed / blocked]
22
- WS -. refreshed after each group .-> VR
23
24
  ```
24
25
 
25
- ## Detailed Steps
26
+ ## Steps
26
27
 
27
28
  ### Step 0 — Pre-flight
28
29
 
29
- - **Executor**: Leader
30
- - **Input**: [dependencies.yaml](dependencies.yaml)
31
- - **Action**: verify optional tools; target Gradle wrapper drives build/test.
32
- - **Gate**: missing optional tools are recorded as degraded behavior.
30
+ Verify migrator `V0`; write `upstream_migration_index.json`; lock `output_root` (`VG0`).
33
31
 
34
32
  ### Step 1 — Workspace State
35
33
 
36
- - **Executor**: `validation-workspace-state`
37
- - **Action**: initialize ledger and refresh after each major group.
38
- - **Output**: `validation_workspace_state.json`, `validation_workspace_state.md`
39
- - **Gate**: no role consumes stale required inputs.
40
-
41
- ### Step 2 — Intake And Fidelity Trust Gate
42
-
43
- - **Executor**: `validation-intake-fidelity`
44
- - **Action**:
45
- - verify post-migration validation trigger.
46
- - normalize validation brief.
47
- - verify KMP evidence and migration evidence.
48
- - compare Android source/SPEC vs migrated KMP across UI, logic, data flow, and control flow.
49
- - flag `test_trust_blockers`.
50
- - **Output**: `validation_intake_fidelity.json`, `validation_intake_fidelity.md`
51
- - **Gate**: missing migration evidence or blocking fidelity gaps stop trusted tests and route to user/migration/remediation.
52
-
53
- ### Step 3 — Validation Plan And Build/Preview Gate
54
-
55
- - **Executor**: `validation-plan-gate`
56
- - **Action**:
57
- - discover target modules/source sets/test frameworks.
58
- - resolve commands from user input, project scripts/docs/CI, or verified Gradle tasks.
59
- - run resolved build command.
60
- - run preview/renderability gate when UI is in scope.
61
- - classify failures and route by owner.
62
- - **Output**: `validation_plan_gate.json`, `validation_plan_gate.md`, log files
63
- - **Gate**: behavioral tests do not run unless required build/preview gates pass.
64
-
65
- ### Step 4 — Test Runner
66
-
67
- - **Executor**: `validation-test-runner`
68
- - **Action**:
69
- - decompose validation requirements and migration report inputs into atomic Android-anchored cases.
70
- - reuse existing tests when possible.
71
- - create minimal project-convention tests only when needed.
72
- - execute through trusted commands/channels.
73
- - record pass/fail/skip/blocker evidence.
74
- - **Output**: `validation_test_runner.json`, `validation_test_runner.md`, logs, changed test files when created
75
- - **Gate**: a KMP pass that contradicts Android evidence is a failure.
76
-
77
- ### Step 5 — Remediation Loop
78
-
79
- - **Executor**: `validation-remediation`
80
- - **Input**: failed plan/build gate or test runner outputs, `allowed_files`, failure IDs, fidelity evidence
81
- - **Action**: fix only confirmed target KMP failures inside allowed files.
82
- - **Output**: `validation_remediation.json`, `validation_remediation.md`
83
- - **Gate**: every remediation emits `required_reruns`; the controller reruns `validation-plan-gate` and/or `validation-test-runner` until pass or blocked.
34
+ Initialize ledger with `handoff_gates` VG0–VG5; track `fix_cycles` and `migrator_supplement_cycles`.
35
+
36
+ ### Step 2 — Fidelity Gate `trust`
37
+
38
+ - **Executor**: `validation-fidelity-gate` mode `trust`
39
+ - **Output**: `fidelity-gate/trust/validation_fidelity_trust.*`
40
+ - **Gate**: `VG1`
41
+
42
+ ### Step 3 — Code Gate `build`
43
+
44
+ - **Executor**: `validation-code-gate` mode `build`
45
+ - **Compile scenarios**: `user_specified` `global_tool_search` → `default_gradle_kmp`
46
+ - **Output**: `code-gate/build/validation_code_build.*`, `logs/code-gate/*`
47
+ - **On failure**: dispatch code-gate mode `fix` → rerun `build` (max 3 fix cycles)
48
+ - **Gate**: `VG2`
49
+
50
+ ### Step 4 — Fidelity Gate `restoreability`
51
+
52
+ - **Executor**: `validation-fidelity-gate` mode `restoreability`
53
+ - **Prerequisite**: `VG2`
54
+ - **Output**: `fidelity-gate/restoreability/validation_restoreability_audit.*`
55
+ - **On gaps**: migrator supplement loop (max 3) → refresh upstream → rerun trust/build as scoped
56
+ - **Gate**: `VG3`
57
+
58
+ ### Step 5 Business Testing (optional)
59
+
60
+ - **Executor**: `validation-business-testing`
61
+ - **Prerequisite**: `VG3`
62
+ - **Submodules**: `behavioral` (user test cases), `ui_comparison` (Figma refs)
63
+ - **Output**: `business-testing/validation_business_testing.*`
64
+ - **Gate**: `VG4` or explicit skip
84
65
 
85
66
  ### Step 6 — Final Report
86
67
 
87
68
  - **Executor**: `validation-report`
88
- - **Input**: workspace state, intake/fidelity, plan/gate, test runner, remediation, migration report
89
- - **Action**: synthesize the final validation verdict.
90
- - **Output**: `kmp_validation_report.json`, `kmp_validation_report.md`
91
- - **Gate**: report runs only when latest workspace state shows no stale required inputs.
92
-
93
- ## Final Report Format
94
-
95
- ```json
96
- {
97
- "status": "passed | failed | blocked",
98
- "migration_scope": "",
99
- "kmp_target_project_path": "",
100
- "fidelity_summary": { "ui": "", "logic": "", "data_flow": "", "control_flow": "" },
101
- "build_summary": {},
102
- "preview_or_renderability_summary": {},
103
- "test_statistics": { "total": 0, "passed": 0, "failed": 0, "skipped": 0, "blocked": 0 },
104
- "remediation_summary": [],
105
- "remaining_failures": [],
106
- "blocking_gaps": [],
107
- "report_path": ""
108
- }
109
- ```
69
+ - **Gate**: `VG5`
70
+
71
+ ## Controller Loops
72
+
73
+ | Loop | Max | Trigger |
74
+ |---|---|---|
75
+ | Code fix | 3 | `validation-code-gate` build failed or business-testing failures |
76
+ | Migrator supplement | 3 | fidelity-gate `restoreability` → `migrator_supplement_request.required` |
110
77
 
111
78
  ## Acceptance Criteria
112
79
 
113
- - Active dispatch uses only the 6 reduced role IDs.
114
- - Intake/fidelity trust gate completes before build/test results are trusted.
115
- - Build/preview gate passes before behavioral tests run.
116
- - Commands are trusted and never invented.
117
- - Test cases are Android/SPEC anchored; contradictory KMP passes are failures.
118
- - Every remediation fix is followed by required reruns.
119
- - `validation-report` decides `passed | failed | blocked` only from verified outputs.
80
+ - Dispatch only role IDs from `SKILL.md`.
81
+ - Fidelity-gate `trust` before code-gate `build`; `restoreability` after `VG2`.
82
+ - Only code-gate mode `fix` edits production code.
83
+ - Business testing skipped (not passed) when no user inputs.
84
+ - Final verdict evidence-backed from verified artifacts.