@code-migration/wow-migrator 0.1.6 → 0.1.8

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-migration/wow-migrator",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Install KMP migration skills into Claude Code, Codex, Cursor, Gemini, OpenCode, OpenClaw, and JiuwenSwarm via npm install.",
5
5
  "keywords": [
6
6
  "android",
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  name: android-to-kmp-migrator
3
3
  description: |
4
- Module-first Swarm Skill that migrates Legacy Android into an existing KMP target using upstream analyst P6 artifacts, target-project-assistant alignment, planning/prep/implementation roles, global integrate+align phase, and kmp-test-validator handoff — without full-project build during migration.
5
- Use when analyst package P6 exists and the user wants module-first porting then whole-system assembly.
6
- Do NOT use for Legacy Android analysis only, KMP-only feature work, or non-migration refactors.
7
- version: "0.6"
4
+ Module-first Swarm Skill that migrates Legacy Android into an existing KMP target using upstream analyst P6 artifacts, target-project-assistant alignment, planning/prep/implementation roles, global integrate+align phase, and mandatory kmp-test-validator handoff — without full-project build during migration.
5
+ Use only after android-project-analyst has finished and package P6 is ready, when the user wants module-first porting then whole-system assembly followed by validation.
6
+ Do NOT invoke before android-project-analyst completes P6. Do NOT treat migrator completion as final without invoking kmp-test-validator at V0. Do NOT use for Legacy Android analysis only, KMP-only feature work, or non-migration refactors.
7
+ version: "0.7"
8
8
  kind: swarm-skill
9
9
  disable-model-invocation: true
10
10
  roles:
@@ -71,7 +71,19 @@ Module-first migrator for Legacy Android → KMP target assembly.
71
71
  5. **Per module** (assembly_order): TPA `module_anchors` → **planning-gate** → **prep** → review/fix → **implementation `ui`** → review/fix → **implementation `logic`** → review/fix → verification → completion record → readiness → module representation.
72
72
  6. **Global phase `integrate`** → **`align`** + alignment report.
73
73
  7. Global representation + completion-report `report` mode.
74
- 8. **kmp-test-validator** when **V0** ready.
74
+ 8. **kmp-test-validator** — **mandatory** when **V0** ready (MG17).
75
+
76
+ ## Skill Chain (mandatory)
77
+
78
+ ```text
79
+ android-project-analyst (P6) → android-to-kmp-migrator (M0–V0) → kmp-test-validator (V0)
80
+ ```
81
+
82
+ | Order | Skill | Gate | Rule |
83
+ |---|---|---|---|
84
+ | 1 | `android-project-analyst` | **P6** | MUST finish before migrator dispatch. If P6 missing/stale → run analyst first; migrator returns `blocked`. |
85
+ | 2 | `android-to-kmp-migrator` | **M0**–**V0** | Runs only on analyst P6 artifacts; produces `migration_report.*` at **V0**. |
86
+ | 3 | `kmp-test-validator` | **V0** | MUST be invoked after migrator **V0**; migration incomplete without validator dispatch. |
75
87
 
76
88
  ## Roles
77
89
 
@@ -110,6 +122,7 @@ Module-first migrator for Legacy Android → KMP target assembly.
110
122
 
111
123
  ## Shared Rules
112
124
 
125
+ - **Skill chain**: `android-project-analyst` **P6** before migrator; `kmp-test-validator` **after** migrator **V0** — both mandatory.
113
126
  - Analyst **P6** required; TPA owns all target Q&A.
114
127
  - Mode boundaries non-negotiable: `ui`/`logic`, `integrate`/`align`, `review`/`fix`.
115
128
  - No full project build in migrator.
@@ -18,6 +18,9 @@
18
18
 
19
19
  ## Behavioral Constraints
20
20
 
21
+ - **Skill chain (mandatory)**:
22
+ - **Before migrator**: `android-project-analyst` MUST finish and produce package **P6** (`handoff_gates.P6.ready = true`). If P6 is missing or stale, return `blocked` and dispatch analyst — do not start migrator nodes.
23
+ - **After migrator**: when package **V0** is ready, Leader MUST invoke `kmp-test-validator` (MG17). Migrator completion without validator dispatch is invalid.
21
24
  - **Role schedule**: dispatch only role IDs listed in [SKILL.md](SKILL.md).
22
25
  - **Mode discipline**:
23
26
  - `module-implementation`: `ui` then `logic` — separate invocations
@@ -38,6 +41,8 @@
38
41
  | Verification restoration failed | Rerun `module-implementation` or `migration-prep`; no completion record |
39
42
  | Align omissions | Rerun `rerun_modules` or `global-migration-phase integrate` |
40
43
  | Build requested in migrator | Block; route to kmp-test-validator |
44
+ | Migrator invoked before analyst P6 | Block; dispatch `android-project-analyst` first |
45
+ | V0 ready but validator not invoked | Block; dispatch `kmp-test-validator` at MG17 |
41
46
 
42
47
  ## Dependencies
43
48
 
@@ -6,7 +6,18 @@
6
6
  # replaces durable node artifacts or upstream android-project-analyst package P6 inputs.
7
7
  # Full KMP project compile/build is NOT a migrator dependency; kmp-test-validator owns that at package V0.
8
8
 
9
- skills: [] # No local domain-specific skill packages required for active roles.
9
+ # Skill chain (mandatory Leader enforces at Step 0 and MG17)
10
+ skills:
11
+ - name: android-project-analyst
12
+ required: true
13
+ phase: prerequisite
14
+ handoff_package: P6
15
+ must_complete_before: android-to-kmp-migrator
16
+ purpose: |
17
+ android-to-kmp-migrator MUST NOT be invoked until android-project-analyst has
18
+ finished and produced package P6 (handoff_gates.P6.ready = true). If P6 is
19
+ missing or stale, dispatch or re-run android-project-analyst first — do not
20
+ start migrator module dispatch.
10
21
 
11
22
  # Read-only upstream inputs (not MCP — verified at Step 1)
12
23
  upstream_inputs:
@@ -69,6 +80,18 @@ tools:
69
80
  # Target Gradle wrapper: path discovery reference only during migrator.
70
81
  # migration-verification MUST NOT invoke assemble/test; kmp-test-validator uses the wrapper at V0.
71
82
 
83
+ downstream_handoff:
84
+ - consumer: kmp-test-validator
85
+ handoff_package: V0
86
+ required: true
87
+ must_invoke_after: android-to-kmp-migrator
88
+ when: package M6 passed and migration_report.* ready
89
+ purpose: |
90
+ After android-to-kmp-migrator finishes (handoff_gates.V0.ready = true), the Leader
91
+ MUST invoke kmp-test-validator. Migration is incomplete without validator dispatch.
92
+ Do not treat migrator completion as final until validator is invoked or blocked
93
+ with explicit validator blockers recorded in migration_report and workspace ledger.
94
+
72
95
  degraded_modes:
73
96
  - trigger: analyst P6 not ready
74
97
  effect: blocked — do not dispatch migration nodes; repair upstream analyst handoff first
@@ -80,3 +103,5 @@ degraded_modes:
80
103
  effect: migration-prep records resource_gaps for remote media URLs
81
104
  - trigger: jetbrains MCP missing or wrong open project
82
105
  effect: TPA and planning-gate use file-system target evidence only; record MCP gap in migration_report or alignment_report
106
+ - trigger: migrator finished but kmp-test-validator not invoked
107
+ effect: blocked — Leader must dispatch kmp-test-validator at MG17; record validator_handoff pending in workspace ledger
@@ -27,7 +27,19 @@ Per legacy `module_id`, migrator may consume:
27
27
 
28
28
  Record all resolved upstream paths in `run_manifest.json` → `upstream_analyst_artifacts`.
29
29
 
30
- **Fail closed**: if analyst `handoff_gates.P6.ready` is false or paths are missing, migrator returns `blocked` — do not start module dispatch.
30
+ **Fail closed**: if analyst `handoff_gates.P6.ready` is false or paths are missing, migrator returns `blocked` — do not start module dispatch. Dispatch or re-run `android-project-analyst` until **P6** is ready.
31
+
32
+ ## Skill Chain (mandatory)
33
+
34
+ ```text
35
+ android-project-analyst (P6) → android-to-kmp-migrator (M0–V0) → kmp-test-validator (V0)
36
+ ```
37
+
38
+ | Skill | When | Rule |
39
+ |---|---|---|
40
+ | `android-project-analyst` | **Before** migrator | MUST finish; package **P6** required. Migrator MUST NOT be invoked until P6 is ready. |
41
+ | `android-to-kmp-migrator` | Migration body | Consumes P6 artifacts only; produces **V0** via `migration_report.*`. |
42
+ | `kmp-test-validator` | **After** migrator | MUST be invoked when **V0** is true (MG17). Migration is incomplete without validator dispatch. |
31
43
 
32
44
  ---
33
45
 
@@ -208,6 +220,8 @@ output_root = <output_dir or ~/.a2c_agents/migration>/android-to-kmp-migrator
208
220
 
209
221
  **Fail closed**: `kmp-test-validator` MUST NOT start when `V0` is false. It owns full project build, preview, and behavioral tests.
210
222
 
223
+ **Mandatory downstream**: when `V0` is true, the migrator Leader MUST invoke `kmp-test-validator` before treating the migration workflow as complete. Record `validator_handoff.status` in the workspace ledger (`pending | dispatched | blocked`).
224
+
211
225
  ---
212
226
 
213
227
  ## Key Artifact Content Requirements
@@ -303,7 +317,7 @@ Human/agent-readable synthesis of align mode; routes reruns to `migration_module
303
317
  5. Run `global-migration-phase` `align` only after integrate; **no code changes** in align mode.
304
318
  6. Dispatch only role IDs listed in [SKILL.md](SKILL.md).
305
319
  7. Set `handoff_gates` (`M0`–`M6`, `V0`) in workspace ledger and `migration_report.json`.
306
- 8. Invoke `kmp-test-validator` only when `V0` is true.
320
+ 8. **MUST** invoke `kmp-test-validator` when `V0` is true (MG17). Do not end the migration workflow without validator dispatch or explicit validator blockers in `migration_report.json`.
307
321
 
308
322
  ## Invalid Artifact Handling
309
323
 
@@ -26,6 +26,7 @@ Forbidden:
26
26
  - Do not run report mode when module/global representations are missing.
27
27
  - Do not run report mode when package `M6` is false (`global-migration-phase align` / `alignment_report` missing or failed).
28
28
  - Do not mark `ready_for_validation` when `handoff_gates.V0` is false.
29
+ - Do not treat report mode success as final migration completion — Leader must still dispatch `kmp-test-validator` at MG17.
29
30
 
30
31
  Mandatory:
31
32
  - Validate `mode`, `migration_module_id`, module/global representation paths, workspace state, and exact `output_dir`.
@@ -61,6 +62,7 @@ Shared return shape applies.
61
62
  - `completion_readiness.md`: agent-readable readiness handoff containing coverage tables, invariant checks, incomplete markers, rerun routing, blockers, and whether representation/report gates may proceed.
62
63
  - `migration_report.json`: machine-routable final migration handoff containing migration scope, source/target paths, analyst_output_root, upstream_analyst_index, `handoff_gates` (`M0`–`M6`, `V0`), `handoff_package: V0`, module representations, global representation, `alignment_report` path, `global_system_integration` path, changed files by role, coverage summary, validation inputs for kmp-test-validator, `validation_deferred_to: kmp-test-validator`, limitations, blockers.
63
64
  - `migration_report.md`: agent-readable final migration report for `kmp-test-validator` and follow-up agents, preserving exact artifact paths, changed-file ownership, validation handoff context, limitations, and blockers.
65
+ - Report mode success signals Leader to **mandatorily invoke** `kmp-test-validator` — migration is incomplete without validator dispatch.
64
66
 
65
67
  ## Inline Persona for Teammate
66
68
 
@@ -77,6 +77,8 @@ validator_handoff
77
77
 
78
78
  Evaluate handoff packages `M0`–`M6` and `V0` per [output-contract.md](../output-contract.md); persist `handoff_gates` with `ready` and `missing_paths[]`.
79
79
 
80
+ When `handoff_gates.V0.ready` is true, set `validator_handoff.status` to `pending` until Leader dispatches `kmp-test-validator` (then `dispatched`) or records explicit validator blockers (then `blocked`). `overall_status: ready_for_validation` means migrator artifacts are ready but **does not** mean migration is complete — validator dispatch at MG17 is still mandatory.
81
+
80
82
  Calculate `finish_rate` only from verified planned work units:
81
83
 
82
84
  ```text
@@ -2,6 +2,14 @@
2
2
 
3
3
  See [output-contract.md](output-contract.md) and active role IDs in [SKILL.md](SKILL.md).
4
4
 
5
+ ## Skill Chain (mandatory)
6
+
7
+ | Phase | Skill | Gate | Leader rule |
8
+ |---|---|---|---|
9
+ | Prerequisite | `android-project-analyst` | **P6** | MUST finish before `android-to-kmp-migrator` is invoked. Missing/stale P6 → `blocked`; dispatch analyst first. |
10
+ | Migration | `android-to-kmp-migrator` | **M0**–**V0** | Runs only after P6 verified; ends with `migration_report.*` and **V0** ready. |
11
+ | Post-migration | `kmp-test-validator` | **V0** | MUST be invoked after migrator completes **V0** (MG17). Do not end the migration workflow without validator dispatch. |
12
+
5
13
  ## Overview
6
14
 
7
15
  ```mermaid
@@ -43,7 +51,7 @@ graph TD
43
51
  - **Executor**: Leader
44
52
  - **Input**: [dependencies.yaml](dependencies.yaml) — `tools[]` (`rg`, `git`, `curl`), `optional_mcp.jetbrains`, `upstream_inputs` analyst **P6**
45
53
  - **Output**: `run_manifest.json` → `dependency_preflight` (CLI status, MCP availability, P6 readiness pointer)
46
- - **Gate**: missing CLI tools → degraded modes per dependencies.yaml; analyst P6 not ready → **blocked** before module dispatch
54
+ - **Gate**: missing CLI tools → degraded modes per dependencies.yaml; `android-project-analyst` **P6** not ready → **blocked** invoke analyst first, do not dispatch migrator nodes
47
55
 
48
56
  ## Step 1 — Upstream + output root
49
57
 
@@ -92,9 +100,12 @@ Repeat until package **M4**.
92
100
  - **Output**: `global-migration-phase/align/post_integration_alignment.*`, `report/alignment_report.*`
93
101
  - **Gate**: package **M6**; `needs_rerun` → module loop or re-integrate
94
102
 
95
- ## Step 7 — Report + validator
103
+ ## Step 7 — Report + mandatory validator handoff (MG17)
96
104
 
97
- - Global representation + `completion-report` `report` → package **V0** → `kmp-test-validator`
105
+ - Global representation + `completion-report` `report` → package **V0**
106
+ - **Leader MUST invoke `kmp-test-validator`** with `migration_report.*`, analyst SPEC paths, and `kmp_target_project_path`
107
+ - Record `validator_handoff` in workspace ledger (`dispatched | pending | blocked`)
108
+ - Migrator workflow is **incomplete** until validator is dispatched or explicit validator blockers are recorded
98
109
 
99
110
  ## TPA consult
100
111
 
@@ -102,6 +113,8 @@ Any target question → TPA `mode: consult` (append `consultation_log`).
102
113
 
103
114
  ## Acceptance Criteria
104
115
 
116
+ - `android-project-analyst` **P6** verified before any migrator module dispatch.
117
+ - `kmp-test-validator` invoked after **V0** — mandatory MG17 step.
105
118
  - Dispatch only role IDs from `SKILL.md`.
106
119
  - Mode rules: `ui` before `logic`; `integrate` before `align`; `review`/`fix` separate.
107
120
  - `migration-verification` never runs `incremental_build`.