@code-migration/wow-migrator 0.1.3 → 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 (59) hide show
  1. package/package.json +1 -1
  2. package/skills/android-project-analyst/SKILL.md +69 -46
  3. package/skills/android-project-analyst/bind.md +10 -5
  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 +25 -8
  7. package/skills/android-project-analyst/roles/behavior-logic.md +6 -2
  8. package/skills/android-project-analyst/roles/data-contract-flow.md +5 -1
  9. package/skills/android-project-analyst/roles/presentation-resource.md +5 -1
  10. package/skills/android-project-analyst/roles/project-architecture.md +5 -1
  11. package/skills/android-project-analyst/workflow.md +75 -29
  12. package/skills/android-to-kmp-migrator/SKILL.md +62 -142
  13. package/skills/android-to-kmp-migrator/bind.md +29 -67
  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 +3 -1
  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 +44 -26
  21. package/skills/android-to-kmp-migrator/roles/migration-workspace-state.md +16 -8
  22. package/skills/android-to-kmp-migrator/roles/module-implementation.md +82 -0
  23. package/skills/android-to-kmp-migrator/roles/target-project-assistant.md +104 -0
  24. package/skills/android-to-kmp-migrator/workflow.md +85 -224
  25. package/skills/kmp-test-validator/SKILL.md +52 -85
  26. package/skills/kmp-test-validator/bind.md +30 -56
  27. package/skills/kmp-test-validator/dependencies.yaml +101 -9
  28. package/skills/kmp-test-validator/output-contract.md +166 -0
  29. package/skills/kmp-test-validator/roles/validation-business-testing.md +83 -0
  30. package/skills/kmp-test-validator/roles/validation-code-gate.md +116 -0
  31. package/skills/kmp-test-validator/roles/validation-fidelity-gate.md +118 -0
  32. package/skills/kmp-test-validator/roles/validation-report.md +23 -14
  33. package/skills/kmp-test-validator/roles/validation-workspace-state.md +5 -2
  34. package/skills/kmp-test-validator/workflow.md +60 -115
  35. package/skills/migration-task-adapter/SKILL.md +65 -92
  36. package/skills/migration-task-adapter/bind.md +25 -92
  37. package/skills/migration-task-adapter/dependencies.yaml +21 -10
  38. package/skills/migration-task-adapter/roles/adapter-report.md +71 -0
  39. package/skills/migration-task-adapter/roles/adapter-workspace-state.md +71 -0
  40. package/skills/migration-task-adapter/roles/task-route-orchestrator.md +103 -0
  41. package/skills/migration-task-adapter/workflow.md +71 -143
  42. package/skills/android-project-analyst/MIGRATION.md +0 -67
  43. package/skills/android-to-kmp-migrator/MIGRATION.md +0 -129
  44. package/skills/android-to-kmp-migrator/roles/dependency-platform-gate.md +0 -68
  45. package/skills/android-to-kmp-migrator/roles/logic-implementation.md +0 -71
  46. package/skills/android-to-kmp-migrator/roles/migration-analysis-planning.md +0 -70
  47. package/skills/android-to-kmp-migrator/roles/presentation-integration.md +0 -70
  48. package/skills/android-to-kmp-migrator/roles/state-data-prep.md +0 -68
  49. package/skills/android-to-kmp-migrator/roles/ui-implementation.md +0 -69
  50. package/skills/kmp-test-validator/MIGRATION.md +0 -84
  51. package/skills/kmp-test-validator/roles/validation-intake-fidelity.md +0 -72
  52. package/skills/kmp-test-validator/roles/validation-plan-gate.md +0 -72
  53. package/skills/kmp-test-validator/roles/validation-remediation.md +0 -117
  54. package/skills/kmp-test-validator/roles/validation-test-runner.md +0 -67
  55. package/skills/migration-task-adapter/MIGRATION.md +0 -49
  56. package/skills/migration-task-adapter/roles/task-reporter.md +0 -134
  57. package/skills/migration-task-adapter/roles/task-understanding-router.md +0 -139
  58. package/skills/migration-task-adapter/roles/workflow-orchestrator.md +0 -145
  59. package/skills/migration-task-adapter/roles/workspace-state-discipline-inspector.md +0 -198
@@ -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": [],
@@ -59,7 +64,7 @@ Shared controller return shape (all nodes): `status`, `node`, `output_files`, `c
59
64
  ```
60
65
  ROLE: Validation Report node subagent in the kmp-test-validator Swarm Skill.
61
66
 
62
- 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)
63
68
  into the final validation status. You do NOT perform new testing or code fixes.
64
69
 
65
70
  CONTROL — validate before you act, verify before you report:
@@ -81,10 +86,11 @@ INPUTS YOU WILL RECEIVE:
81
86
  - migration_scope: {MIGRATION_SCOPE}
82
87
  - validation_brief_path: {VALIDATION_BRIEF_PATH}
83
88
  - validation_workspace_state_path: {VALIDATION_WORKSPACE_STATE_PATH}
84
- - validation_intake_fidelity_path: {VALIDATION_INTAKE_FIDELITY_PATH}
85
- - validation_plan_gate_paths: {VALIDATION_PLAN_GATE_PATHS}
86
- - validation_test_runner_paths (when available): {VALIDATION_TEST_RUNNER_PATHS}
87
- - 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}
88
94
  - migration_report_path: {MIGRATION_REPORT_PATH}
89
95
  - changed_files: {CHANGED_FILES}
90
96
  - output_dir: {OUTPUT_DIR}
@@ -92,11 +98,12 @@ INPUTS YOU WILL RECEIVE:
92
98
  HANDLER (how you process):
93
99
  1. Summarize migration validation scope and input evidence.
94
100
  2. Report fidelity audit results across UI, logic, data flow, control flow.
95
- 3. Report plan/build/preview gate status with commands and log paths.
96
- 4. Report test runner inventory and execution statistics.
97
- 5. Report remediation changes and verify each fix was followed by required reruns.
98
- 6. List remaining failures, blockers, skipped cases, limitations, and manual checks.
99
- 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.
100
107
 
101
108
  OUTPUTS (write under output_dir, exact names):
102
109
  - kmp_validation_report.json (machine final verdict: fidelity/build/preview/test/remediation summaries, failures, blockers)
@@ -106,6 +113,8 @@ kmp_validation_report.json schema:
106
113
  { "status": "passed | failed | blocked", "node": "validation-report", "migration_scope": "",
107
114
  "fidelity_summary": { "ui": "pass | fail | blocked", "logic": "pass | fail | blocked", "data_flow": "pass | fail | blocked", "control_flow": "pass | fail | blocked" },
108
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": {} },
109
118
  "test_statistics": { "total": 0, "passed": 0, "failed": 0, "skipped": 0, "blocked": 0 },
110
119
  "remediation_summary": [], "changed_files": [], "remaining_failures": [], "blocking_gaps": [], "report_path": "" }
111
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,6 +40,9 @@ 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
  ```
@@ -1,139 +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. Validation outputs are stored parallel to migration outputs under a `validation` base location.
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<br/>lock validation output_root] --> 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
- ## Strict Output Roots
26
+ ## Steps
26
27
 
27
- Validation output is parallel to migration output:
28
+ ### Step 0 Pre-flight
28
29
 
29
- ```text
30
- validation_base = <output_dir or ~/.a2c_agents/validation>
31
- output_root = <validation_base>/kmp-test-validator
32
- workspace_state_dir = <output_root>/workspace-state
33
- intake_dir = <output_root>/intake-fidelity
34
- plan_gate_dir = <output_root>/plan-gate
35
- test_runner_dir = <output_root>/test-runner
36
- remediation_dir = <output_root>/remediation
37
- report_dir = <output_root>/report
38
- logs_dir = <output_root>/logs
39
- ```
30
+ Verify migrator `V0`; write `upstream_migration_index.json`; lock `output_root` (`VG0`).
31
+
32
+ ### Step 1 — Workspace State
40
33
 
41
- When `migration_output_root` is known, it is a read-only input. If it lives under a `migration` base, the validator should choose the sibling `validation` base and must not write validator artifacts under the migration output root.
34
+ Initialize ledger with `handoff_gates` VG0–VG5; track `fix_cycles` and `migrator_supplement_cycles`.
42
35
 
43
- ## Detailed Steps
36
+ ### Step 2 — Fidelity Gate `trust`
44
37
 
45
- ### Step 0 Pre-flight
38
+ - **Executor**: `validation-fidelity-gate` mode `trust`
39
+ - **Output**: `fidelity-gate/trust/validation_fidelity_trust.*`
40
+ - **Gate**: `VG1`
46
41
 
47
- - **Executor**: Leader
48
- - **Input**: [dependencies.yaml](dependencies.yaml)
49
- - **Action**: verify optional tools; target Gradle wrapper drives build/test. Lock `output_root = <output_dir or ~/.a2c_agents/validation>/kmp-test-validator` and write `run_manifest.json`.
50
- - **Output**: `<output_root>/run_manifest.json` with validation scope, KMP target path, Android source/SPEC paths, migration report path, migration output root, validation output root, allowed roots, dependency-preflight status, and timestamp.
51
- - **Gate**: missing optional tools are recorded as degraded behavior.
42
+ ### Step 3 — Code Gate `build`
52
43
 
53
- ### Step 1 Workspace State
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`
54
49
 
55
- - **Executor**: `validation-workspace-state`
56
- - **Action**: initialize ledger and refresh after each major group.
57
- - **Output**: `<workspace_state_dir>/validation_workspace_state.json`, `.md`. Artifacts contain validator node status, output files, changed-file ownership, stale upstream inputs, rerun history, blockers, and next safe action.
58
- - **Gate**: no role consumes stale required inputs.
59
-
60
- ### Step 2 Intake And Fidelity Trust Gate
61
-
62
- - **Executor**: `validation-intake-fidelity`
63
- - **Action**:
64
- - verify post-migration validation trigger.
65
- - normalize validation brief.
66
- - verify KMP evidence and migration evidence.
67
- - compare Android source/SPEC vs migrated KMP across UI, logic, data flow, and control flow.
68
- - flag `test_trust_blockers`.
69
- - **Output**: `<intake_dir>/validation_intake_fidelity.json`, `.md`. Artifacts contain migration trigger evidence, validation brief, KMP evidence, fidelity gaps across UI/logic/data/control flow, test-trust blockers, rerun requests, and blockers.
70
- - **Gate**: missing migration evidence or blocking fidelity gaps stop trusted tests and route to user/migration/remediation.
71
-
72
- ### Step 3 — Validation Plan And Build/Preview Gate
73
-
74
- - **Executor**: `validation-plan-gate`
75
- - **Action**:
76
- - discover target modules/source sets/test frameworks.
77
- - resolve commands from user input, project scripts/docs/CI, or verified Gradle tasks.
78
- - run resolved build command.
79
- - run preview/renderability gate when UI is in scope.
80
- - classify failures and route by owner.
81
- - **Output**: `<plan_gate_dir>/validation_plan_gate.json`, `.md`, plus `<logs_dir>/plan-gate/*` when commands run. Artifacts contain target structure, source sets, test frameworks, trusted command resolution, build/preview results, log paths, routed failures, and blockers.
82
- - **Gate**: behavioral tests do not run unless required build/preview gates pass.
83
-
84
- ### Step 4 — Test Runner
85
-
86
- - **Executor**: `validation-test-runner`
87
- - **Action**:
88
- - decompose validation requirements and migration report inputs into atomic Android-anchored cases.
89
- - reuse existing tests when possible.
90
- - create minimal project-convention tests only when needed.
91
- - execute through trusted commands/channels.
92
- - record pass/fail/skip/blocker evidence.
93
- - **Output**: `<test_runner_dir>/validation_test_runner.json`, `.md`, plus `<logs_dir>/test-runner/*` and changed test files when created. Artifacts contain Android/SPEC-anchored cases, expected vs actual results, commands, log paths, created/reused tests, failure routing, skipped/blocked reasons.
94
- - **Gate**: a KMP pass that contradicts Android evidence is a failure.
95
-
96
- ### Step 5 — Remediation Loop
97
-
98
- - **Executor**: `validation-remediation`
99
- - **Input**: failed plan/build gate or test runner outputs, `allowed_files`, failure IDs, fidelity evidence
100
- - **Action**: fix only confirmed target KMP failures inside allowed files.
101
- - **Output**: `<remediation_dir>/<cycle_id>/validation_remediation.json`, `.md`. Artifacts contain confirmed target KMP failures, Android/SPEC evidence for each fix, fixed/unfixed failures, changed files, diagnostics, required reruns, and blockers.
102
- - **Gate**: every remediation emits `required_reruns`; the controller reruns `validation-plan-gate` and/or `validation-test-runner` until pass or blocked.
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
103
65
 
104
66
  ### Step 6 — Final Report
105
67
 
106
68
  - **Executor**: `validation-report`
107
- - **Input**: workspace state, intake/fidelity, plan/gate, test runner, remediation, migration report
108
- - **Action**: synthesize the final validation verdict.
109
- - **Output**: `<report_dir>/kmp_validation_report.json`, `.md`. Artifacts contain the final verdict, fidelity summary, build/preview summary, test statistics, remediation summary, changed files, remaining failures, blockers, and report path.
110
- - **Gate**: report runs only when latest workspace state shows no stale required inputs.
111
-
112
- ## Final Report Format
113
-
114
- ```json
115
- {
116
- "status": "passed | failed | blocked",
117
- "migration_scope": "",
118
- "kmp_target_project_path": "",
119
- "fidelity_summary": { "ui": "", "logic": "", "data_flow": "", "control_flow": "" },
120
- "build_summary": {},
121
- "preview_or_renderability_summary": {},
122
- "test_statistics": { "total": 0, "passed": 0, "failed": 0, "skipped": 0, "blocked": 0 },
123
- "remediation_summary": [],
124
- "remaining_failures": [],
125
- "blocking_gaps": [],
126
- "report_path": ""
127
- }
128
- ```
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` |
129
77
 
130
78
  ## Acceptance Criteria
131
79
 
132
- - Active dispatch uses only the 6 reduced role IDs.
133
- - All validator outputs are under `<validation_base>/kmp-test-validator`, parallel to the migration output location, and migration artifacts are consumed read-only by path.
134
- - Intake/fidelity trust gate completes before build/test results are trusted.
135
- - Build/preview gate passes before behavioral tests run.
136
- - Commands are trusted and never invented.
137
- - Test cases are Android/SPEC anchored; contradictory KMP passes are failures.
138
- - Every remediation fix is followed by required reruns.
139
- - `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.