@code-migration/wow-migrator 0.1.1 → 0.1.3

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 (78) hide show
  1. package/package.json +1 -1
  2. package/skills/android-project-analyst/MIGRATION.md +51 -21
  3. package/skills/android-project-analyst/SKILL.md +74 -44
  4. package/skills/android-project-analyst/bind.md +24 -15
  5. package/skills/android-project-analyst/dependencies.yaml +8 -4
  6. package/skills/android-project-analyst/roles/analysis-workspace-state.md +123 -0
  7. package/skills/android-project-analyst/roles/behavior-logic.md +166 -0
  8. package/skills/android-project-analyst/roles/data-contract-flow.md +170 -0
  9. package/skills/android-project-analyst/roles/presentation-resource.md +301 -0
  10. package/skills/android-project-analyst/roles/project-architecture.md +174 -0
  11. package/skills/android-project-analyst/workflow.md +123 -72
  12. package/skills/android-to-kmp-migrator/MIGRATION.md +87 -2
  13. package/skills/android-to-kmp-migrator/SKILL.md +126 -133
  14. package/skills/android-to-kmp-migrator/bind.md +43 -15
  15. package/skills/android-to-kmp-migrator/dependencies.yaml +3 -3
  16. package/skills/android-to-kmp-migrator/roles/completion-report.md +79 -0
  17. package/skills/android-to-kmp-migrator/roles/dependency-platform-gate.md +68 -0
  18. package/skills/android-to-kmp-migrator/roles/logic-implementation.md +71 -0
  19. package/skills/android-to-kmp-migrator/roles/migration-analysis-planning.md +70 -0
  20. package/skills/android-to-kmp-migrator/roles/migration-verification.md +83 -0
  21. package/skills/android-to-kmp-migrator/roles/migration-workspace-state.md +210 -19
  22. package/skills/android-to-kmp-migrator/roles/module-node-review-fix.md +81 -0
  23. package/skills/android-to-kmp-migrator/roles/presentation-integration.md +70 -0
  24. package/skills/android-to-kmp-migrator/roles/state-data-prep.md +68 -0
  25. package/skills/android-to-kmp-migrator/roles/ui-implementation.md +69 -0
  26. package/skills/android-to-kmp-migrator/workflow.md +215 -149
  27. package/skills/kmp-test-validator/MIGRATION.md +44 -3
  28. package/skills/kmp-test-validator/SKILL.md +93 -77
  29. package/skills/kmp-test-validator/bind.md +29 -9
  30. package/skills/kmp-test-validator/dependencies.yaml +3 -3
  31. package/skills/kmp-test-validator/roles/validation-intake-fidelity.md +72 -0
  32. package/skills/kmp-test-validator/roles/validation-plan-gate.md +72 -0
  33. package/skills/kmp-test-validator/roles/validation-remediation.md +14 -9
  34. package/skills/kmp-test-validator/roles/validation-report.md +15 -12
  35. package/skills/kmp-test-validator/roles/validation-test-runner.md +67 -0
  36. package/skills/kmp-test-validator/roles/validation-workspace-state.md +9 -4
  37. package/skills/kmp-test-validator/workflow.md +106 -118
  38. package/skills/migration-task-adapter/MIGRATION.md +49 -0
  39. package/skills/migration-task-adapter/SKILL.md +152 -0
  40. package/skills/migration-task-adapter/bind.md +116 -0
  41. package/skills/migration-task-adapter/dependencies.yaml +26 -0
  42. package/skills/migration-task-adapter/roles/task-reporter.md +134 -0
  43. package/skills/migration-task-adapter/roles/task-understanding-router.md +139 -0
  44. package/skills/migration-task-adapter/roles/workflow-orchestrator.md +145 -0
  45. package/skills/migration-task-adapter/roles/workspace-state-discipline-inspector.md +198 -0
  46. package/skills/migration-task-adapter/workflow.md +183 -0
  47. package/skills/android-project-analyst/roles/android-ecosystem.md +0 -141
  48. package/skills/android-project-analyst/roles/api-list.md +0 -136
  49. package/skills/android-project-analyst/roles/architecture-pattern.md +0 -131
  50. package/skills/android-project-analyst/roles/data-flow.md +0 -143
  51. package/skills/android-project-analyst/roles/logic-understand.md +0 -154
  52. package/skills/android-project-analyst/roles/resource-understand.md +0 -151
  53. package/skills/android-project-analyst/roles/ui-understand.md +0 -136
  54. package/skills/android-to-kmp-migrator/roles/api-contract-parity.md +0 -95
  55. package/skills/android-to-kmp-migrator/roles/dataflow-logic-implementation.md +0 -130
  56. package/skills/android-to-kmp-migrator/roles/dependency-resolution.md +0 -106
  57. package/skills/android-to-kmp-migrator/roles/incremental-build-check.md +0 -105
  58. package/skills/android-to-kmp-migrator/roles/legacy-spec-delta-review.md +0 -104
  59. package/skills/android-to-kmp-migrator/roles/migration-alignment.md +0 -119
  60. package/skills/android-to-kmp-migrator/roles/migration-report.md +0 -108
  61. package/skills/android-to-kmp-migrator/roles/module-node-migration-fix.md +0 -111
  62. package/skills/android-to-kmp-migrator/roles/module-node-migration-review.md +0 -108
  63. package/skills/android-to-kmp-migrator/roles/navigation-migration.md +0 -104
  64. package/skills/android-to-kmp-migrator/roles/platform-api-replacement.md +0 -104
  65. package/skills/android-to-kmp-migrator/roles/prd-completion-check.md +0 -124
  66. package/skills/android-to-kmp-migrator/roles/resource-migration.md +0 -109
  67. package/skills/android-to-kmp-migrator/roles/source-set-placement-guard.md +0 -95
  68. package/skills/android-to-kmp-migrator/roles/state-model-mapping.md +0 -109
  69. package/skills/android-to-kmp-migrator/roles/target-project-understand.md +0 -118
  70. package/skills/android-to-kmp-migrator/roles/theme-design-system-mapping.md +0 -101
  71. package/skills/android-to-kmp-migrator/roles/ui-mockup-implementation.md +0 -121
  72. package/skills/android-to-kmp-migrator/roles/ui-render-fidelity-check.md +0 -100
  73. package/skills/kmp-test-validator/roles/android-kmp-fidelity-audit.md +0 -102
  74. package/skills/kmp-test-validator/roles/build-preview-gate.md +0 -109
  75. package/skills/kmp-test-validator/roles/kmp-validation-plan.md +0 -108
  76. package/skills/kmp-test-validator/roles/test-case-decomposition.md +0 -103
  77. package/skills/kmp-test-validator/roles/test-execution.md +0 -104
  78. package/skills/kmp-test-validator/roles/validation-input-contract.md +0 -111
@@ -4,7 +4,7 @@
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 node outputs (fidelity, build, preview, tests, 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 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.
8
8
 
9
9
  ## Success Criteria
10
10
 
@@ -24,7 +24,7 @@ You are the `validation-report` node subagent dispatched by the `kmp-test-valida
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, fidelity, plan, build/preview, test inventory/results, remediation, migration report) and treat missing/stale/contradictory inputs as `blocking_gaps` or `rerun_requests`.
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`.
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
 
@@ -49,12 +49,17 @@ You are the `validation-report` node subagent dispatched by the `kmp-test-valida
49
49
 
50
50
  Shared controller return shape (all nodes): `status`, `node`, `output_files`, `changed_files`, `stale_upstream_inputs`, `rerun_requests`, `blocking_gaps`.
51
51
 
52
+ ## Output Files And Contents
53
+
54
+ - `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.
55
+ - `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.
56
+
52
57
  ## Inline Persona for Teammate
53
58
 
54
59
  ```
55
60
  ROLE: Validation Report node subagent in the kmp-test-validator Swarm Skill.
56
61
 
57
- You synthesize verified node outputs (fidelity, build, preview, tests, remediation, workspace state)
62
+ You synthesize verified reduced-role outputs (intake/fidelity, plan/build gate, test runner, remediation, workspace state)
58
63
  into the final validation status. You do NOT perform new testing or code fixes.
59
64
 
60
65
  CONTROL — validate before you act, verify before you report:
@@ -76,11 +81,9 @@ INPUTS YOU WILL RECEIVE:
76
81
  - migration_scope: {MIGRATION_SCOPE}
77
82
  - validation_brief_path: {VALIDATION_BRIEF_PATH}
78
83
  - validation_workspace_state_path: {VALIDATION_WORKSPACE_STATE_PATH}
79
- - android_kmp_fidelity_audit_path: {ANDROID_KMP_FIDELITY_AUDIT_PATH}
80
- - kmp_validation_plan_path: {KMP_VALIDATION_PLAN_PATH}
81
- - build_preview_gate_paths: {BUILD_PREVIEW_GATE_PATHS}
82
- - test_case_inventory_path (when available): {TEST_CASE_INVENTORY_PATH}
83
- - test_execution_results_paths (when available): {TEST_EXECUTION_RESULTS_PATHS}
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}
84
87
  - validation_remediation_paths (when fixes applied): {VALIDATION_REMEDIATION_PATHS}
85
88
  - migration_report_path: {MIGRATION_REPORT_PATH}
86
89
  - changed_files: {CHANGED_FILES}
@@ -89,15 +92,15 @@ INPUTS YOU WILL RECEIVE:
89
92
  HANDLER (how you process):
90
93
  1. Summarize migration validation scope and input evidence.
91
94
  2. Report fidelity audit results across UI, logic, data flow, control flow.
92
- 3. Report build and preview/renderability gate status with commands and log paths.
93
- 4. Report test inventory and execution statistics.
95
+ 3. Report plan/build/preview gate status with commands and log paths.
96
+ 4. Report test runner inventory and execution statistics.
94
97
  5. Report remediation changes and verify each fix was followed by required reruns.
95
98
  6. List remaining failures, blockers, skipped cases, limitations, and manual checks.
96
99
  7. Decide final status (passed | failed | blocked).
97
100
 
98
101
  OUTPUTS (write under output_dir, exact names):
99
- - kmp_validation_report.json (schema below)
100
- - kmp_validation_report.md
102
+ - kmp_validation_report.json (machine final verdict: fidelity/build/preview/test/remediation summaries, failures, blockers)
103
+ - kmp_validation_report.md (agent report: evidence-backed verdict, command/log paths, remaining failures, limitations)
101
104
 
102
105
  kmp_validation_report.json schema:
103
106
  { "status": "passed | failed | blocked", "node": "validation-report", "migration_scope": "",
@@ -0,0 +1,67 @@
1
+ # Role: Validation Test Runner
2
+
3
+ ## Identity
4
+
5
+ > "I turn validation requirements into Android-anchored cases and execute them through the project's own conventions."
6
+
7
+ You are the `validation-test-runner` node subagent. You merge test case decomposition and test execution.
8
+
9
+ ## Success Criteria
10
+
11
+ - `validation_test_runner.json` and `validation_test_runner.md` are written under `output_dir`.
12
+ - Every provided validation requirement is decomposed into atomic cases or explicitly skipped/blocked.
13
+ - Cases are anchored to Android source/SPEC evidence.
14
+ - Tests run only after `validation-plan-gate` passed.
15
+ - Results include expected vs actual, command, log file, and failure routing.
16
+
17
+ ## Boundary
18
+
19
+ Forbidden:
20
+ - Do not run tests before build/preview gate passes.
21
+ - Do not invent expected behavior.
22
+ - Do not apply production-code fixes or issue final verdict.
23
+
24
+ Mandatory:
25
+ - Validate intake/fidelity output, plan/gate output, migration report, and validation requirements.
26
+ - Treat a KMP pass that contradicts Android evidence as failure.
27
+ - Keep any created tests within target project conventions.
28
+
29
+ ## Output Schema
30
+
31
+ ```json
32
+ {
33
+ "status": "passed | failed | blocked",
34
+ "node": "validation-test-runner",
35
+ "test_cases": [],
36
+ "results": [],
37
+ "changed_files": [],
38
+ "log_files": [],
39
+ "rerun_requests": [],
40
+ "blocking_gaps": []
41
+ }
42
+ ```
43
+
44
+ Shared return shape applies.
45
+
46
+ ## Output Files And Contents
47
+
48
+ - `validation_test_runner.json`: machine-routable test artifact containing Android/SPEC-anchored test cases, execution results, expected vs actual evidence, commands, log files, changed test files, rerun requests, and blockers.
49
+ - `validation_test_runner.md`: agent-readable test handoff containing case decomposition, evidence anchors, execution summary, pass/fail/skip/blocker tables, command/log paths, created/reused tests, failure routing, and blockers.
50
+ - Logs and changed test files: command output logs and any created tests following target project conventions. Every log and changed file must be listed in JSON.
51
+
52
+ ## Inline Persona for Teammate
53
+
54
+ ```text
55
+ ROLE: validation-test-runner node.
56
+
57
+ Decompose validation requirements into atomic Android-anchored cases, then execute them through trusted project conventions after validation-plan-gate passes. A KMP pass that contradicts Android evidence is a failure.
58
+
59
+ INPUTS: kmp_target_project_path, migration_scope, validation_intake_fidelity_path, validation_plan_gate_path, migration_report_path, validation_requirements, changed_files, output_dir.
60
+
61
+ OUTPUTS:
62
+ - validation_test_runner.json (machine test artifact: cases, results, expected/actual, commands/logs, changed tests)
63
+ - validation_test_runner.md (agent handoff: case table, execution summary, failure routing, blockers)
64
+ - logs and changed test files when created (paths referenced in JSON)
65
+
66
+ Return passed only when all runnable cases pass or are justified skips.
67
+ ```
@@ -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 `android-kmp-fidelity-audit`.
22
- - Do NOT run builds, previews, or tests, and do NOT fix code — those are the gate/execution/remediation nodes.
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`.
23
23
  - Do NOT issue the final validation verdict — that is `validation-report`.
24
24
 
25
25
  **Mandatory**:
@@ -46,6 +46,11 @@ You are the `validation-workspace-state` node subagent dispatched by the `kmp-te
46
46
 
47
47
  Shared controller return shape (all nodes): `status`, `node`, `output_files`, `changed_files`, `stale_upstream_inputs`, `rerun_requests`, `blocking_gaps`.
48
48
 
49
+ ## Output Files And Contents
50
+
51
+ - `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.
52
+ - `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.
53
+
49
54
  ## Inline Persona for Teammate
50
55
 
51
56
  ```
@@ -87,8 +92,8 @@ HANDLER (how you process):
87
92
  5. Identify the next safe controller action.
88
93
 
89
94
  OUTPUTS (write under output_dir, exact names):
90
- - validation_workspace_state.json (schema below)
91
- - validation_workspace_state.md
95
+ - validation_workspace_state.json (machine ledger: node status, output inventory, stale inputs, changed-file ownership, reruns, blockers)
96
+ - validation_workspace_state.md (agent handoff: status/stale/rerun/blocker tables and next safe action)
92
97
 
93
98
  validation_workspace_state.json schema:
94
99
  { "status": "completed | blocked", "node": "validation-workspace-state", "current_controller_step": "",
@@ -1,135 +1,121 @@
1
- # Workflow: migrated KMP target + Android source/SPEC verified validation verdict
1
+ # Workflow: migrated KMP target + Android source/SPEC -> verified validation verdict
2
2
 
3
- This Swarm Skill is a **specialization pipeline (C) with a remediation loop**. The `kmp-test-validator` controller (Leader) gates the migration scenario, then dispatches validation nodes in a hard dependency order: input contract → fidelity audit → validation plan → build/preview gate test decomposition → test execution → remediation (looping back to gate/tests) → validation report. The fidelity audit comes before tests are trusted, the build gate comes before behavioral tests, and a KMP pass that contradicts Android source/SPEC is a validation failure. The `validation-workspace-state` ledger is refreshed after each node group so no node consumes a stale artifact.
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.
4
4
 
5
5
  ## Overview
6
6
 
7
7
  ```mermaid
8
8
  graph TD
9
- L0[Leader: Step 0 pre-flight deps] --> WS[validation-workspace-state]
10
- WS --> IC[validation-input-contract]
11
- IC -->|migration trigger?| GT{migration validation scenario?}
12
- GT -- No --> STOP[Stop: blocked, not a migration validation task]
13
- GT -- Yes --> FA[android-kmp-fidelity-audit]
14
- FA -->|test-trust blockers?| GF{fidelity trustworthy?}
15
- GF -- "blocker" --> STOP2[Stop/route: blocked or to migration node]
16
- GF -- Yes --> VP[kmp-validation-plan]
17
- VP -->|commands resolved?| GC{trusted build/test command?}
18
- GC -- No --> STOP3[Stop: blocked, no trustworthy command]
19
- GC -- Yes --> BG[build-preview-gate]
20
- BG -->|build/preview failed| REM
21
- BG -->|passed| TD[test-case-decomposition]
22
- TD --> TE[test-execution]
23
- TE -->|failures| REM[validation-remediation]
24
- REM -->|required_reruns| BG
25
- REM -->|required_reruns| TE
26
- REM -->|blocked| STOP4[Route to migration node / user / environment]
27
- TE -->|all pass / none requested| VR[validation-report]
28
- REM -->|fixed + reruns pass| VR
29
- VR --> OUT[Leader: final verdict passed / failed / blocked]
30
-
31
- WS -. refreshed after each node group .-> VR
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
21
+ VR --> OUT[passed / failed / blocked]
22
+ WS -. refreshed after each group .-> VR
32
23
  ```
33
24
 
34
- The remediation loop is: `build-preview-gate` or `test-execution` failure → `validation-remediation` fixes within `allowed_files` → the node's `required_reruns` re-run the affected gate/tests → repeat until pass or `blocked` (max cycles per [bind.md](bind.md)).
25
+ ## Strict Output Roots
26
+
27
+ Validation output is parallel to migration output:
28
+
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
+ ```
40
+
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.
35
42
 
36
43
  ## Detailed Steps
37
44
 
38
- ### Step 0 — Pre-flight: dependency check
45
+ ### Step 0 — Pre-flight
39
46
 
40
47
  - **Executor**: Leader
41
48
  - **Input**: [dependencies.yaml](dependencies.yaml)
42
- - **Action**: verify each `tools[]` entry; the target Gradle wrapper drives builds/tests.
43
- - **Output**: pre-flight note to the user
44
- - **Quality gate**: all deps `required: false`; the run proceeds with degraded behavior recorded. User decides go/no-go on anything missing.
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.
45
52
 
46
- ### Step 1 — Initialize workspace state
53
+ ### Step 1 — Workspace State
47
54
 
48
55
  - **Executor**: `validation-workspace-state`
49
- - **Input**: target path, optional Android path, scope, known node outputs/changed files
50
- - **Action**: initialize the validation ledger; refreshed after each later node group.
51
- - **Output**: `validation_workspace_state.*`
52
- - **Serial / Parallel**: serial (first, and re-run between groups)
53
- - **Quality gate**: ledger written and non-empty; no node proceeds when its required upstream input is marked stale.
54
-
55
- ### Step 2 — Input contract gate
56
-
57
- - **Executor**: `validation-input-contract`
58
- - **Input**: target path, Android source/SPEC, migration report/completion evidence, changed files, validation requirements
59
- - **Action**: verify this is a post-migration validation scenario; normalize paths; confirm KMP evidence; produce the validation brief.
60
- - **Output**: `validation_input_contract.json` + `validation_brief.md`
61
- - **Serial / Parallel**: serial
62
- - **Quality gate**: `trigger_verified: true` with KMP + migration evidence proceed; missing migration evidence `blocked` (never downgrade to generic testing).
63
-
64
- ### Step 3 — Fidelity audit (before tests are trusted)
65
-
66
- - **Executor**: `android-kmp-fidelity-audit`
67
- - **Input**: validation brief, SPEC, migration report, changed files
68
- - **Action**: compare Android source/SPEC vs migrated KMP across UI, logic, data flow, control flow; classify gaps; flag test-trust blockers.
69
- - **Output**: `android_kmp_fidelity_audit.*`
70
- - **Serial / Parallel**: serial
71
- - **Quality gate**: blocker-severity gaps route to the migration node/user before tests are trusted; `needs_rerun`/`blocked` halts the trusted-test path.
72
-
73
- ### Step 4 Validation plan
74
-
75
- - **Executor**: `kmp-validation-plan`
76
- - **Input**: validation brief, fidelity audit, migration report, optional user commands
77
- - **Action**: discover structure/source sets/frameworks; resolve build/preview/test commands (user → project scripts/CI → verified Gradle tasks); map scope to targets.
78
- - **Output**: `kmp_validation_plan.*`
79
- - **Serial / Parallel**: serial
80
- - **Quality gate**: at least one trustworthy build/test command resolved with `command_sources`; else `blocked` (no invented command).
81
-
82
- ### Step 5 Build/preview gate (before behavioral tests)
83
-
84
- - **Executor**: `build-preview-gate`
85
- - **Input**: validation brief, validation plan, fidelity audit, changed files
86
- - **Action**: run the resolved build command; when UI is in scope, the resolved Compose preview/renderability gate; capture logs.
87
- - **Output**: `build_preview_gate.*` + log files
88
- - **Serial / Parallel**: serial — gates the test stage
89
- - **Quality gate**: `passed` → Step 6; `failed` route fixable target-code failures to `validation-remediation` (Step 8) and do NOT run behavioral tests; `blocked` → surface with evidence.
90
-
91
- ### Step 6 — Test case decomposition
92
-
93
- - **Executor**: `test-case-decomposition`
94
- - **Input**: validation brief, fidelity audit, validation plan, build/preview gate, migration report, validation requirements
95
- - **Action**: decompose user tests / SPEC acceptance / migration validation inputs into atomic, Android-anchored cases.
96
- - **Output**: `test_case_inventory.*`
97
- - **Serial / Parallel**: serial (runs when test cases/use cases/acceptance criteria exist)
98
- - **Quality gate**: each case atomic with Android evidence + execution channel; Android-vs-SPEC conflict → `blocked` (no fabricated expectations).
99
-
100
- ### Step 7 Test execution
101
-
102
- - **Executor**: `test-execution`
103
- - **Input**: validation brief, fidelity audit, validation plan, build/preview gate (passed), test inventory
104
- - **Action**: run each atomic case via the project's convention; capture evidence; a KMP pass that contradicts Android evidence is a failure.
105
- - **Output**: `test_execution_results.*` + logs + any created test files
106
- - **Serial / Parallel**: serial — only after the build gate passes
107
- - **Quality gate**: `passed` → Step 9; `failed` → route to `validation-remediation` (Step 8).
108
-
109
- ### Step 8 — Remediation loop (on confirmed failures)
110
-
111
- - **Executor**: `validation-remediation`, then re-run the affected gate/tests
112
- - **Input**: failing build/preview gate or test results, `allowed_files`, failure IDs, fidelity audit, validation plan
113
- - **Action**: confirm each failure is a target KMP issue, apply the narrowest Android/SPEC-anchored fix in `allowed_files`, and emit `required_reruns`.
114
- - **Output**: `validation_remediation.*` + changed files
115
- - **Serial / Parallel**: serial loop with Steps 5/7
116
- - **Quality gate**: every fix is followed by its `required_reruns`; loop until gate+tests pass or `blocked` (max cycles per [bind.md](bind.md)); non-target failures route to migration node/user/environment.
117
-
118
- ### Step 9 — Final: validation report
119
-
120
- - **Executor**: `validation-report`, then Leader
121
- - **Input**: workspace state, fidelity, plan, build/preview, test inventory/results, remediation, migration report
122
- - **Action**: synthesize the final status; Leader returns the verdict.
123
- - **Output**: `kmp_validation_report.*` + the completion summary below
124
- - **Quality gate**: report runs only when the latest workspace state shows no stale required inputs.
125
-
126
- #### Final Report Format
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.
103
+
104
+ ### Step 6 Final Report
105
+
106
+ - **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
127
113
 
128
114
  ```json
129
115
  {
130
116
  "status": "passed | failed | blocked",
131
- "migration_scope": "...",
132
- "kmp_target_project_path": "...",
117
+ "migration_scope": "",
118
+ "kmp_target_project_path": "",
133
119
  "fidelity_summary": { "ui": "", "logic": "", "data_flow": "", "control_flow": "" },
134
120
  "build_summary": {},
135
121
  "preview_or_renderability_summary": {},
@@ -137,15 +123,17 @@ The remediation loop is: `build-preview-gate` or `test-execution` failure → `v
137
123
  "remediation_summary": [],
138
124
  "remaining_failures": [],
139
125
  "blocking_gaps": [],
140
- "report_path": "..."
126
+ "report_path": ""
141
127
  }
142
128
  ```
143
129
 
144
130
  ## Acceptance Criteria
145
131
 
146
- - Every dispatched node returned output matching its role `## Output Schema` and the shared return shape; any `[ROLE MISSING]` is recorded per [bind.md](bind.md).
147
- - **Gate check (C-pattern)**: the input contract verified the migration scenario before any audit; the fidelity audit ran before tests were trusted; the build/preview gate passed before behavioral tests ran.
148
- - **Loop check**: every remediation fix was followed by its `required_reruns`; no fix counts as resolved without a passing rerun.
149
- - A KMP pass that contradicts Android source/SPEC is recorded as a failure, not a pass.
150
- - Build/test commands came from user input, project scripts, target understanding, or verified Gradle discovery — none invented.
151
- - `validation-report` runs only when no required input is stale and decides `passed | failed | blocked`; if `blocked`, the final response lists blockers and exact missing evidence.
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.
@@ -0,0 +1,49 @@
1
+ # Migration Task Adapter Notes
2
+
3
+ The `migration-task-adapter` is a control-plane skill. It decides which existing workflow should run for a user task and records the evidence needed for downstream agents. It does not replace the existing controller skills.
4
+
5
+ ## Downstream Workflow Mapping
6
+
7
+ | Adapter route | Downstream workflow | Required handoff |
8
+ |---|---|---|
9
+ | `only_understand_ui` | `android-project-analyst` | Analyst output root, `presentation-resource` artifacts, module/global representation, SPEC verification |
10
+ | `only_understand_logic` | `android-project-analyst` | Analyst output root, verified Stage A artifacts, `behavior-logic` artifacts, module/global representation |
11
+ | `only_understand_architecture` | `android-project-analyst` | Analyst output root, `project-architecture` artifacts, module/global representation |
12
+ | `only_understand_overview` | `android-project-analyst` | Analyst output root, module inventory, module/global representation, SPEC package |
13
+ | `migration` | `android-project-analyst` then `android-to-kmp-migrator` | Fresh analyst SPEC before migrator; migration report before validation handoff |
14
+ | `validation_handoff` | `kmp-test-validator` | Migration report plus Android source/SPEC and KMP target evidence; validator output root is the parallel `validation` location |
15
+
16
+ ## Required Adapter Records
17
+
18
+ Every adapter run must preserve:
19
+
20
+ - `task_understanding_router.*` for the route decision.
21
+ - `workflow_orchestration.*` for downstream contracts and observations.
22
+ - `workspace_state_discipline.*` for freshness, rerun, blocker, and path discipline.
23
+ - `stage_inspection.*` for every applicable stage boundary.
24
+ - `intermediate_asset_records.*` for every durable artifact consumed by a later stage.
25
+ - `task_adapter_report.*` for the final machine-routable result.
26
+
27
+ ## Migration-Specific Gate
28
+
29
+ For migration tasks, the adapter must not invoke `android-to-kmp-migrator` until one of these is true:
30
+
31
+ - Fresh `android-project-analyst` SPEC artifacts are provided and recorded in intermediate asset records.
32
+ - The adapter first routes and observes an `android-project-analyst` migration-mode run that produces fresh SPEC artifacts.
33
+
34
+ If the migrator returns `ready_for_validation`, the adapter records the migration report and either routes `kmp-test-validator` or returns `ready_for_validation` with an explicit validation handoff requirement.
35
+
36
+ ## Output Contract Refinement
37
+
38
+ The active adapter docs now distinguish output filenames from output content responsibilities. `SKILL.md` and `workflow.md` define the artifact schedule and content matrix, while each role file states the exact JSON/Markdown filenames and the evidence each artifact must contain.
39
+
40
+ Role ownership is explicit:
41
+
42
+ - `task_understanding_router.*` records the task interpretation, route, focus, inputs, artifact evidence, downstream sequence, and required inspections/assets.
43
+ - `workflow_orchestration.*` records downstream dispatch contracts, output roots, expected/observed artifacts, stage requests, asset updates, reruns, and blockers.
44
+ - `workspace_state_discipline.*` records adapter discipline state, artifact inventory, path/freshness checks, reruns, blockers, and next actions.
45
+ - `stage_inspection.*` records a single stage gate with checked inputs/outputs, compliance, freshness, asset coverage, reruns, blockers, and next stage.
46
+ - `intermediate_asset_records.*` records every consumed adapter/downstream artifact with producer, path, status, freshness, consumers, evidence, and gaps.
47
+ - `task_adapter_report.*` records the final verified adapter status, downstream summaries, stage/asset summaries, readiness, reruns, blockers, and next action.
48
+
49
+ The adapter must reject artifacts that have the correct filename but contain another role's work, generic downstream summaries without machine-routable evidence, or downstream validator paths written under the migration output root instead of the parallel `validation` output root.