@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.
- package/package.json +1 -1
- package/skills/android-project-analyst/MIGRATION.md +51 -21
- package/skills/android-project-analyst/SKILL.md +74 -44
- package/skills/android-project-analyst/bind.md +24 -15
- package/skills/android-project-analyst/dependencies.yaml +8 -4
- package/skills/android-project-analyst/roles/analysis-workspace-state.md +123 -0
- package/skills/android-project-analyst/roles/behavior-logic.md +166 -0
- package/skills/android-project-analyst/roles/data-contract-flow.md +170 -0
- package/skills/android-project-analyst/roles/presentation-resource.md +301 -0
- package/skills/android-project-analyst/roles/project-architecture.md +174 -0
- package/skills/android-project-analyst/workflow.md +123 -72
- package/skills/android-to-kmp-migrator/MIGRATION.md +87 -2
- package/skills/android-to-kmp-migrator/SKILL.md +126 -133
- package/skills/android-to-kmp-migrator/bind.md +43 -15
- package/skills/android-to-kmp-migrator/dependencies.yaml +3 -3
- package/skills/android-to-kmp-migrator/roles/completion-report.md +79 -0
- package/skills/android-to-kmp-migrator/roles/dependency-platform-gate.md +68 -0
- package/skills/android-to-kmp-migrator/roles/logic-implementation.md +71 -0
- package/skills/android-to-kmp-migrator/roles/migration-analysis-planning.md +70 -0
- package/skills/android-to-kmp-migrator/roles/migration-verification.md +83 -0
- package/skills/android-to-kmp-migrator/roles/migration-workspace-state.md +210 -19
- package/skills/android-to-kmp-migrator/roles/module-node-review-fix.md +81 -0
- package/skills/android-to-kmp-migrator/roles/presentation-integration.md +70 -0
- package/skills/android-to-kmp-migrator/roles/state-data-prep.md +68 -0
- package/skills/android-to-kmp-migrator/roles/ui-implementation.md +69 -0
- package/skills/android-to-kmp-migrator/workflow.md +215 -149
- package/skills/kmp-test-validator/MIGRATION.md +44 -3
- package/skills/kmp-test-validator/SKILL.md +93 -77
- package/skills/kmp-test-validator/bind.md +29 -9
- package/skills/kmp-test-validator/dependencies.yaml +3 -3
- package/skills/kmp-test-validator/roles/validation-intake-fidelity.md +72 -0
- package/skills/kmp-test-validator/roles/validation-plan-gate.md +72 -0
- package/skills/kmp-test-validator/roles/validation-remediation.md +14 -9
- package/skills/kmp-test-validator/roles/validation-report.md +15 -12
- package/skills/kmp-test-validator/roles/validation-test-runner.md +67 -0
- package/skills/kmp-test-validator/roles/validation-workspace-state.md +9 -4
- package/skills/kmp-test-validator/workflow.md +106 -118
- package/skills/migration-task-adapter/MIGRATION.md +49 -0
- package/skills/migration-task-adapter/SKILL.md +152 -0
- package/skills/migration-task-adapter/bind.md +116 -0
- package/skills/migration-task-adapter/dependencies.yaml +26 -0
- package/skills/migration-task-adapter/roles/task-reporter.md +134 -0
- package/skills/migration-task-adapter/roles/task-understanding-router.md +139 -0
- package/skills/migration-task-adapter/roles/workflow-orchestrator.md +145 -0
- package/skills/migration-task-adapter/roles/workspace-state-discipline-inspector.md +198 -0
- package/skills/migration-task-adapter/workflow.md +183 -0
- package/skills/android-project-analyst/roles/android-ecosystem.md +0 -141
- package/skills/android-project-analyst/roles/api-list.md +0 -136
- package/skills/android-project-analyst/roles/architecture-pattern.md +0 -131
- package/skills/android-project-analyst/roles/data-flow.md +0 -143
- package/skills/android-project-analyst/roles/logic-understand.md +0 -154
- package/skills/android-project-analyst/roles/resource-understand.md +0 -151
- package/skills/android-project-analyst/roles/ui-understand.md +0 -136
- package/skills/android-to-kmp-migrator/roles/api-contract-parity.md +0 -95
- package/skills/android-to-kmp-migrator/roles/dataflow-logic-implementation.md +0 -130
- package/skills/android-to-kmp-migrator/roles/dependency-resolution.md +0 -106
- package/skills/android-to-kmp-migrator/roles/incremental-build-check.md +0 -105
- package/skills/android-to-kmp-migrator/roles/legacy-spec-delta-review.md +0 -104
- package/skills/android-to-kmp-migrator/roles/migration-alignment.md +0 -119
- package/skills/android-to-kmp-migrator/roles/migration-report.md +0 -108
- package/skills/android-to-kmp-migrator/roles/module-node-migration-fix.md +0 -111
- package/skills/android-to-kmp-migrator/roles/module-node-migration-review.md +0 -108
- package/skills/android-to-kmp-migrator/roles/navigation-migration.md +0 -104
- package/skills/android-to-kmp-migrator/roles/platform-api-replacement.md +0 -104
- package/skills/android-to-kmp-migrator/roles/prd-completion-check.md +0 -124
- package/skills/android-to-kmp-migrator/roles/resource-migration.md +0 -109
- package/skills/android-to-kmp-migrator/roles/source-set-placement-guard.md +0 -95
- package/skills/android-to-kmp-migrator/roles/state-model-mapping.md +0 -109
- package/skills/android-to-kmp-migrator/roles/target-project-understand.md +0 -118
- package/skills/android-to-kmp-migrator/roles/theme-design-system-mapping.md +0 -101
- package/skills/android-to-kmp-migrator/roles/ui-mockup-implementation.md +0 -121
- package/skills/android-to-kmp-migrator/roles/ui-render-fidelity-check.md +0 -100
- package/skills/kmp-test-validator/roles/android-kmp-fidelity-audit.md +0 -102
- package/skills/kmp-test-validator/roles/build-preview-gate.md +0 -109
- package/skills/kmp-test-validator/roles/kmp-validation-plan.md +0 -108
- package/skills/kmp-test-validator/roles/test-case-decomposition.md +0 -103
- package/skills/kmp-test-validator/roles/test-execution.md +0 -104
- package/skills/kmp-test-validator/roles/validation-input-contract.md +0 -111
|
@@ -1,167 +1,231 @@
|
|
|
1
|
-
# Workflow: Legacy Android SPEC + target KMP project
|
|
1
|
+
# Workflow: Legacy Android SPEC + target KMP project -> migrated, validation-ready KMP code
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This workflow uses the reduced 10-role module-first migrator. Adjacent responsibilities are consolidated, but gates remain explicit through role modes, check IDs, exact output paths, and a workspace-state progress ledger that tracks per-module finish rates, plan-vs-code gaps, and rerun hooks.
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
7
|
```mermaid
|
|
8
8
|
graph TD
|
|
9
|
-
L0[Leader
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
TH[theme-design-system-mapping]
|
|
21
|
-
RS[resource-migration]
|
|
22
|
-
NV[navigation-migration]
|
|
23
|
-
PA[platform-api-replacement]
|
|
24
|
-
SM[state-model-mapping]
|
|
9
|
+
L0[Leader pre-flight] --> ROOT[LockOutputRoot<br/>run_manifest.json]
|
|
10
|
+
ROOT --> INV[MigrationModuleInventory]
|
|
11
|
+
INV --> WS[migration-workspace-state<br/>progress ledger]
|
|
12
|
+
WS --> LOOP[ForEachMigrationModule]
|
|
13
|
+
LOOP --> PLAN[migration-analysis-planning]
|
|
14
|
+
PLAN --> DP[dependency-platform-gate]
|
|
15
|
+
DP --> PREP
|
|
16
|
+
|
|
17
|
+
subgraph PREP[Prep fan-out]
|
|
18
|
+
PI[presentation-integration]
|
|
19
|
+
SD[state-data-prep]
|
|
25
20
|
end
|
|
26
21
|
|
|
27
|
-
PREP -->
|
|
28
|
-
|
|
29
|
-
UI -->
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
22
|
+
PREP --> RF1{module-node-review-fix<br/>review/fix/re-review}
|
|
23
|
+
RF1 --> UI[ui-implementation]
|
|
24
|
+
UI --> RF2{module-node-review-fix}
|
|
25
|
+
RF2 --> LOGIC[logic-implementation]
|
|
26
|
+
LOGIC --> RF3{module-node-review-fix}
|
|
27
|
+
RF3 --> VER[migration-verification<br/>source_set api_contract ui_render incremental_build]
|
|
28
|
+
VER -->|failed| RESP[Re-dispatch responsible reduced role<br/>from rerun_hook]
|
|
29
|
+
RESP --> RF1
|
|
30
|
+
VER -->|passed| READY[completion-report<br/>mode readiness]
|
|
31
|
+
READY -->|needs_rerun| RESP
|
|
32
|
+
READY -->|ready_for_validation| MODREP[module_migration_representation.*]
|
|
33
|
+
MODREP --> ALL{all modules represented?}
|
|
34
|
+
ALL -- No --> LOOP
|
|
35
|
+
ALL -- Yes --> GLOB[global_migration_representation.*]
|
|
36
|
+
GLOB --> REPORT[completion-report<br/>mode report]
|
|
37
|
+
REPORT --> KV[kmp-test-validator]
|
|
38
|
+
```
|
|
41
39
|
|
|
42
|
-
|
|
43
|
-
VER -->|all passed| PC[prd-completion-check]
|
|
44
|
-
PC -- needs_rerun --> RESP
|
|
45
|
-
PC -- blocked --> BLK
|
|
46
|
-
PC -- ready_for_validation --> MR[migration-report]
|
|
47
|
-
MR -- ready_for_validation --> KV[Leader invokes kmp-test-validator]
|
|
48
|
-
MR -- blocked --> BLK
|
|
40
|
+
## Strict Output Roots
|
|
49
41
|
|
|
50
|
-
|
|
42
|
+
```text
|
|
43
|
+
output_root = <output_dir or ~/.a2c_agents/migration>/android-to-kmp-migrator
|
|
44
|
+
module_index_dir = <output_root>/module-index
|
|
45
|
+
module_root = <output_root>/modules/<migration_module_id>
|
|
46
|
+
node_result_dir = <module_root>/node-results/<node_id>
|
|
47
|
+
module_representation_dir = <module_root>/representation
|
|
48
|
+
global_dir = <output_root>/global
|
|
49
|
+
report_dir = <output_root>/report
|
|
51
50
|
```
|
|
52
51
|
|
|
53
|
-
The review→fix loop (`RFa/RFb/RFc`) is: `module-node-migration-review` → if `needs_fix`, `module-node-migration-fix` → mandatory re-review → repeat until `approved` or `blocked`. The `migration-workspace-state` ledger is refreshed after major node completions to flag stale upstream artifacts.
|
|
54
|
-
|
|
55
52
|
## Detailed Steps
|
|
56
53
|
|
|
57
|
-
### Step 0 — Pre-flight
|
|
54
|
+
### Step 0 — Pre-flight
|
|
58
55
|
|
|
59
56
|
- **Executor**: Leader
|
|
60
57
|
- **Input**: [dependencies.yaml](dependencies.yaml)
|
|
61
|
-
- **Action**:
|
|
62
|
-
- **Output**: pre-flight
|
|
63
|
-
- **
|
|
64
|
-
|
|
65
|
-
### Step 1 — Trigger
|
|
66
|
-
|
|
67
|
-
- **Executor**: Leader
|
|
68
|
-
- **Input**: `
|
|
69
|
-
- **Action**:
|
|
70
|
-
- **Output**:
|
|
71
|
-
- **
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
- **
|
|
77
|
-
- **
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
- **
|
|
82
|
-
|
|
83
|
-
### Step 3 —
|
|
84
|
-
|
|
85
|
-
- **Executor**: `
|
|
86
|
-
- **Input**:
|
|
87
|
-
- **Action**:
|
|
88
|
-
- **Output**:
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
### Step
|
|
111
|
-
|
|
112
|
-
- **Executor**: `
|
|
113
|
-
- **Input**:
|
|
114
|
-
- **Action**:
|
|
115
|
-
- **Output**:
|
|
116
|
-
- **
|
|
117
|
-
- **
|
|
118
|
-
|
|
119
|
-
### Step
|
|
120
|
-
|
|
121
|
-
- **Executor**: `
|
|
122
|
-
- **Input**:
|
|
123
|
-
- **Action**:
|
|
124
|
-
- **Output**:
|
|
125
|
-
- **
|
|
126
|
-
- **
|
|
127
|
-
|
|
128
|
-
### Step
|
|
129
|
-
|
|
130
|
-
- **
|
|
131
|
-
- **
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
- **
|
|
135
|
-
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
- **
|
|
143
|
-
- **
|
|
144
|
-
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
- **
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
58
|
+
- **Action**: check optional tools (`rg`, `git`, `curl`) and report degraded behavior.
|
|
59
|
+
- **Output**: pre-flight status recorded in `run_manifest.json` and later workspace-state artifacts.
|
|
60
|
+
- **Gate**: missing optional tools do not skip nodes; the controller records degraded evidence.
|
|
61
|
+
|
|
62
|
+
### Step 1 — Trigger + Output Root
|
|
63
|
+
|
|
64
|
+
- **Executor**: Leader
|
|
65
|
+
- **Input**: `legacy_android_project_path` or completed SPEC, `kmp_target_project_path`, `migration_scope`, optional `output_dir`
|
|
66
|
+
- **Action**: verify migration trigger, verify analyst completion, lock `output_root`, write `<output_root>/run_manifest.json`.
|
|
67
|
+
- **Output**: `<output_root>/run_manifest.json` containing Android/SPEC inputs, KMP target path, migration scope, output root, allowed roots, dependency-preflight status, schedule version, and timestamp.
|
|
68
|
+
- **Gate**: stop if target is not KMP-compatible or analyst completion is missing/stale.
|
|
69
|
+
|
|
70
|
+
### Step 2 — Migration Module Inventory
|
|
71
|
+
|
|
72
|
+
- **Executor**: Leader
|
|
73
|
+
- **Action**: divide the requested migration into deterministic `migration_module_id` slices.
|
|
74
|
+
- **Output**:
|
|
75
|
+
- `<module_index_dir>/migration_module_inventory.json`: module ids/order, scope slices, target placement hints, allowed files/source sets, module output roots, blockers.
|
|
76
|
+
- `<module_index_dir>/migration_module_inventory.md`: agent-readable module schedule and boundary evidence.
|
|
77
|
+
- `<module_root>/module_brief.json` for every scheduled module: module dispatch contract, evidence paths, role hints, allowed files/source sets, assumptions.
|
|
78
|
+
- **Gate**: every module has `module_scope`, UI/logic/data/resource scope, target placement hints, `allowed_target_files`, and `allowed_source_sets`.
|
|
79
|
+
|
|
80
|
+
### Step 3 — Workspace State
|
|
81
|
+
|
|
82
|
+
- **Executor**: `migration-workspace-state`
|
|
83
|
+
- **Input**: migration module inventory, module briefs, node outputs, changed files, planning outputs, implementation outputs, review outputs, verification outputs, representation outputs, source change/timestamp evidence, rerun reports, blockers.
|
|
84
|
+
- **Action**: initialize and refresh a progress ledger. Track per-module current stage, stage status, planned/completed work units, `finish_rate`, changed-file ownership, plan-vs-code gaps, stale outputs, rerun hooks, blockers, and next safe actions.
|
|
85
|
+
- **Output**:
|
|
86
|
+
- `<global_dir>/node-results/migration-workspace-state/migration_workspace_state.json`, `.md`: global/module progress ledger, aggregate finish rate, stale/blocked modules, rerun hooks.
|
|
87
|
+
- `<module_root>/node-results/migration-workspace-state/migration_workspace_state.json`, `.md`: module stage status, finish rate, changed-file ownership, plan-vs-code gaps, stale outputs, rerun hooks.
|
|
88
|
+
- **Gate**: stale upstream outputs, failed stages, missing review/verification, or non-empty `rerun_hooks` must be routed before downstream consumption. A downstream stage may consume a module only when the latest module progress record marks its required upstream stages fresh and usable.
|
|
89
|
+
|
|
90
|
+
### Workspace State Refresh Points
|
|
91
|
+
|
|
92
|
+
The Leader refreshes `migration-workspace-state` after each major stage, and before any downstream role consumes newly produced artifacts:
|
|
93
|
+
|
|
94
|
+
| Refresh point | Required progress evidence |
|
|
95
|
+
|---|---|
|
|
96
|
+
| After module inventory | module list, module briefs, planned stage schedule |
|
|
97
|
+
| After planning | planned work units, source-to-target map, expected artifacts |
|
|
98
|
+
| After dependency/platform gate | dependency/platform readiness and blockers |
|
|
99
|
+
| After prep fan-out | presentation/state-data prep outputs and changed-file ownership |
|
|
100
|
+
| After every review/fix/re-review | latest review status, fix ownership, unresolved findings |
|
|
101
|
+
| After UI implementation | UI coding artifacts, plan coverage, review hook if needed |
|
|
102
|
+
| After logic implementation | logic coding artifacts, plan coverage, review hook if needed |
|
|
103
|
+
| After verification | check status, failed check routing, verification-required gaps |
|
|
104
|
+
| After readiness/module representation | module status and representation artifacts |
|
|
105
|
+
| After global representation/report | aggregate finish rate, stale module list, validation handoff readiness |
|
|
106
|
+
|
|
107
|
+
### Step 4 — Module Analysis And Planning
|
|
108
|
+
|
|
109
|
+
- **Executor**: `migration-analysis-planning`
|
|
110
|
+
- **Input**: module brief, SPEC paths, analyst artifacts, target path, workspace state
|
|
111
|
+
- **Action**: verify SPEC/raw-source deltas, capture target KMP context/reuse inventory, produce source-to-target map and ordered implementation plan.
|
|
112
|
+
- **Output**: `<module_root>/node-results/migration-analysis-planning/migration_analysis_planning.json`, `.md`. The artifacts must contain SPEC/raw-source deltas, target KMP evidence, reuse inventory, source-to-target map, resource project map, integration scaffold, ordered implementation tasks, blockers.
|
|
113
|
+
- **Gate**: target KMP evidence and source-to-target map must exist before dependency/platform work.
|
|
114
|
+
- **Workspace-state update**: record planned work units and initial `finish_rate` basis. If the plan is incomplete, `migration-workspace-state` emits a rerun hook to `migration-analysis-planning`.
|
|
115
|
+
|
|
116
|
+
### Step 5 — Dependency And Platform Gate
|
|
117
|
+
|
|
118
|
+
- **Executor**: `dependency-platform-gate`
|
|
119
|
+
- **Input**: planning output, target baseline, allowed files/source sets
|
|
120
|
+
- **Action**: apply minimal-change dependency gate and define/implement safe platform boundaries when required.
|
|
121
|
+
- **Output**: `<module_root>/node-results/dependency-platform-gate/dependency_platform_gate.json`, `.md`. The artifacts must contain capability map, dependency/build decisions, platform capability boundaries, expect/actual/source-set plan, changed files, implementation constraints, blockers.
|
|
122
|
+
- **Gate**: returns `ready_for_implementation` or `blocked`; no prep/implementation proceeds on blocked platform/dependency capability.
|
|
123
|
+
- **Workspace-state update**: record dependency/platform stage status and pause downstream consumers when blocked.
|
|
124
|
+
|
|
125
|
+
### Step 6 — Prep Fan-Out
|
|
126
|
+
|
|
127
|
+
- **Executors**: `presentation-integration`, `state-data-prep`
|
|
128
|
+
- **Action**:
|
|
129
|
+
- `presentation-integration`: theme tokens, resource migration/modeling, navigation routes.
|
|
130
|
+
- `state-data-prep`: state holders, models, mappers, API/data expectations, logic handoff.
|
|
131
|
+
- **Output**:
|
|
132
|
+
- `<module_root>/node-results/presentation-integration/presentation_integration.json`, `.md`: token/component/resource/media/route mappings, UI handoff, changed files, presentation gaps.
|
|
133
|
+
- `<module_root>/node-results/state-data-prep/state_data_prep.json`, `.md`: state holders, UI state/events/effects, model/mappers, API/data contract expectations, logic handoff, changed files.
|
|
134
|
+
- **Gate**: every file-changing prep slice enters review/fix before UI or logic consumes it.
|
|
135
|
+
- **Workspace-state update**: record changed-file ownership and plan-vs-code gaps for prep outputs; emit review rerun hooks when file-changing slices lack review approval.
|
|
136
|
+
|
|
137
|
+
### Step 7 — Review/Fix Loop
|
|
138
|
+
|
|
139
|
+
- **Executor**: `module-node-review-fix`
|
|
140
|
+
- **Modes**:
|
|
141
|
+
- `review`: read-only review of one module/node slice.
|
|
142
|
+
- `fix`: scoped edit of explicit `must_fix` findings inside `allowed_files`.
|
|
143
|
+
- **Gate**: every fix must be followed by a fresh review. Downstream nodes may consume only slices whose latest review is `approved`.
|
|
144
|
+
- **Output**:
|
|
145
|
+
- Review mode: `<module_root>/node-results/module-node-review-fix/<owning_node>/review/module_node_review.json`, `.md` with read-only findings, reviewed files, approval/needs-fix status, blockers.
|
|
146
|
+
- Fix mode: `<module_root>/node-results/module-node-review-fix/<owning_node>/fix/module_node_fix.json`, `.md` with fixed/unfixed findings, changed files, `requires_re_review: true`, blockers.
|
|
147
|
+
- **Workspace-state update**: record review status by owner node and planned work unit. `needs_fix` and missing re-review produce rerun hooks.
|
|
148
|
+
|
|
149
|
+
### Step 8 — UI Implementation
|
|
150
|
+
|
|
151
|
+
- **Executor**: `ui-implementation`
|
|
152
|
+
- **Action**: implement visible UI surface first, including states/resources and binding surfaces.
|
|
153
|
+
- **Output**: `<module_root>/node-results/ui-implementation/ui_implementation.json`, `.md` with changed UI/resource files, UI coverage, fidelity notes, binding surfaces, diagnostics, blockers.
|
|
154
|
+
- **Gate**: UI output is reviewed/approved before logic implementation.
|
|
155
|
+
- **Workspace-state update**: record UI implementation progress, changed files, missing planned UI work, unplanned UI changes, and required review hooks.
|
|
156
|
+
|
|
157
|
+
### Step 9 — Logic Implementation
|
|
158
|
+
|
|
159
|
+
- **Executor**: `logic-implementation`
|
|
160
|
+
- **Action**: implement repositories/use cases/API integration/business logic bound to approved UI surfaces.
|
|
161
|
+
- **Output**: `<module_root>/node-results/logic-implementation/logic_implementation.json`, `.md` with changed logic/data/API files, architecture alignment, platform boundaries, data flows, API integrations, logic coverage, diagnostics, blockers.
|
|
162
|
+
- **Gate**: logic output is reviewed/approved before verification.
|
|
163
|
+
- **Workspace-state update**: record logic implementation progress, changed files, missing planned logic work, unplanned logic changes, and required review hooks.
|
|
164
|
+
|
|
165
|
+
### Step 10 — Verification
|
|
166
|
+
|
|
167
|
+
- **Executor**: `migration-verification`
|
|
168
|
+
- **Required `check_ids`**:
|
|
169
|
+
- `source_set`
|
|
170
|
+
- `api_contract`
|
|
171
|
+
- `ui_render`
|
|
172
|
+
- `incremental_build`
|
|
173
|
+
- **Output**: `<module_root>/node-results/migration-verification/migration_verification.json`, `.md`, plus log files when commands run. The artifacts must contain stable `check_results`, evidence, failures, routed owner nodes, command/log paths, blockers.
|
|
174
|
+
- **Gate**: failures route to the responsible reduced role and re-enter review/fix.
|
|
175
|
+
- **Workspace-state update**: record verification status, failed check ids, `route_to_node`, and rerun hooks that pause readiness until resolved.
|
|
176
|
+
|
|
177
|
+
### Step 11 — Readiness And Module Representation
|
|
178
|
+
|
|
179
|
+
- **Executor**: `completion-report` in `mode: readiness`, then Leader
|
|
180
|
+
- **Action**: decide module readiness; write module representation.
|
|
181
|
+
- **Output**:
|
|
182
|
+
- `<module_root>/node-results/completion-report/readiness/completion_readiness.json`, `.md`: requirement coverage, invariants, review/verification status, rerun requests, blockers.
|
|
183
|
+
- `<module_representation_dir>/module_migration_representation.json`: machine synthesis of verified module migration outputs, changed files by role, coverage, gaps, evidence.
|
|
184
|
+
- `<module_representation_dir>/module_migration_representation.md`: agent-readable module migration handoff and traceability.
|
|
185
|
+
- **Gate**: blocked modules still write a representation with blockers.
|
|
186
|
+
- **Workspace-state update**: record module representation artifacts, final module finish rate, and remaining blockers without issuing the final report verdict.
|
|
187
|
+
|
|
188
|
+
### Step 12 — Global Representation
|
|
189
|
+
|
|
190
|
+
- **Executor**: Leader
|
|
191
|
+
- **Input**: all module representations
|
|
192
|
+
- **Output**:
|
|
193
|
+
- `<global_dir>/global_migration_representation.json`: machine synthesis of module representations, cross-module target changes, shared ownership, coverage, blockers.
|
|
194
|
+
- `<global_dir>/global_migration_representation.md`: agent-readable global migration handoff and validation prerequisites.
|
|
195
|
+
- **Gate**: final report cannot run until global representation exists and is non-empty.
|
|
196
|
+
- **Workspace-state update**: record aggregate finish rate, represented modules, blocked/stale modules, and report blockers.
|
|
197
|
+
|
|
198
|
+
### Step 13 — Final Report And Validation Handoff
|
|
199
|
+
|
|
200
|
+
- **Executor**: `completion-report` in `mode: report`, then Leader
|
|
201
|
+
- **Output**:
|
|
202
|
+
- `<report_dir>/migration_report.json`: validation-ready machine handoff with scope, paths, module/global representations, changed files by role, coverage, validation inputs, limitations, blockers.
|
|
203
|
+
- `<report_dir>/migration_report.md`: agent-readable migration report for validator and follow-up agents.
|
|
204
|
+
- **Gate**: report mode may return `ready_for_validation` only after module/global representations exist and readiness has passed. Leader invokes `kmp-test-validator` afterward.
|
|
205
|
+
- **Workspace-state update**: final refresh records report artifacts and validation handoff readiness.
|
|
206
|
+
|
|
207
|
+
## Final Report Shape
|
|
154
208
|
|
|
155
209
|
```json
|
|
156
210
|
{
|
|
157
211
|
"status": "ready_for_validation | blocked",
|
|
158
|
-
"migration_scope": "
|
|
159
|
-
"kmp_target_project_path": "
|
|
160
|
-
"legacy_android_project_path": "
|
|
161
|
-
"
|
|
212
|
+
"migration_scope": "",
|
|
213
|
+
"kmp_target_project_path": "",
|
|
214
|
+
"legacy_android_project_path": "",
|
|
215
|
+
"output_root": "",
|
|
216
|
+
"migration_module_inventory": "",
|
|
217
|
+
"module_representations": [],
|
|
218
|
+
"global_migration_representation": "",
|
|
219
|
+
"changed_files_by_role": [],
|
|
162
220
|
"source_to_target_summary": [],
|
|
163
|
-
"coverage_summary": {
|
|
164
|
-
|
|
221
|
+
"coverage_summary": {
|
|
222
|
+
"presentation": "",
|
|
223
|
+
"state_data": "",
|
|
224
|
+
"ui": "",
|
|
225
|
+
"logic": "",
|
|
226
|
+
"platform": "",
|
|
227
|
+
"verification": ""
|
|
228
|
+
},
|
|
165
229
|
"validation_inputs": [],
|
|
166
230
|
"limitations": [],
|
|
167
231
|
"manual_steps": [],
|
|
@@ -171,10 +235,12 @@ The review→fix loop (`RFa/RFb/RFc`) is: `module-node-migration-review` → if
|
|
|
171
235
|
|
|
172
236
|
## Acceptance Criteria
|
|
173
237
|
|
|
174
|
-
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
177
|
-
-
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
-
|
|
238
|
+
- Active dispatch uses only the 10 reduced role IDs from `SKILL.md`.
|
|
239
|
+
- Every module has a `module_brief.json`, verified node outputs under `<module_root>/node-results/`, and a module migration representation.
|
|
240
|
+
- Latest `migration-workspace-state` includes `module_progress`, `finish_rate`, `plan_code_gaps`, and `rerun_hooks` for every scheduled module.
|
|
241
|
+
- No downstream stage consumes a module when its latest workspace-state record has stale required inputs, unresolved blocking plan-vs-code gaps, missing review approval, missing verification, or blocking rerun hooks.
|
|
242
|
+
- Review/fix invocations are separate: `review` -> optional `fix` -> fresh `review`.
|
|
243
|
+
- Verification uses stable `check_ids` and routes failures to reduced role IDs.
|
|
244
|
+
- No Android-only API leaks into `commonMain`; dependency changes pass the minimal-change gate.
|
|
245
|
+
- `global_migration_representation.*` exists before report mode.
|
|
246
|
+
- `kmp-test-validator` is invoked only after `completion-report` report mode returns `ready_for_validation`.
|
|
@@ -11,7 +11,7 @@ Converted from a single controller-support skill (a flat SKILL.md node registry
|
|
|
11
11
|
|
|
12
12
|
The registry separated controller from nodes and encoded the dispatch order, but it did not encode the team as a first-class artifact: no per-role anti-convergence mottos, no `Forbidden`/`Mandatory` boundary blocks the validator could check, no pasteable `Inline Persona` (each of the 9 dispatches re-derived its contract by hand), no Mermaid topology making the pipeline + remediation loop explicit, and no resource/behavioral guardrails (token/wall-clock budgets, `max_remediation_cycles`, degraded modes). The fidelity-before-tests gate, build-before-tests gate, "Android/SPEC is ground truth", and "never invent a command" invariants lived only in prose.
|
|
13
13
|
|
|
14
|
-
## Decomposition
|
|
14
|
+
## Original 0.2 Decomposition
|
|
15
15
|
|
|
16
16
|
- **Pattern: C (specialization pipeline) + remediation loop.**
|
|
17
17
|
- Gate: `validation-input-contract` (refuse non-migration scenarios).
|
|
@@ -38,6 +38,47 @@ The registry separated controller from nodes and encoded the dispatch order, but
|
|
|
38
38
|
| Trigger boundary + controller validation rules | `bind.md` § Behavioral Constraints + SKILL.md § Shared Rules |
|
|
39
39
|
| Optional Android Studio MCP context | SKILL.md § Optional Android Studio MCP Context + per-role Inline Persona MCP inputs |
|
|
40
40
|
|
|
41
|
-
## Team-vs-single
|
|
41
|
+
## Original Team-vs-single Delta
|
|
42
42
|
|
|
43
|
-
The conversion
|
|
43
|
+
The 0.2 conversion preserved every source contract while adding: explicit pipeline + remediation-loop topology with verifiable gates, per-role anti-overlap boundaries that name siblings, self-contained pasteable personas (no re-derivation per dispatch across 9 nodes), resource/token/wall-clock budgets plus a `max_remediation_cycles` bound, failure-routing rules, and concrete degraded modes for missing commands, unsupported previews, and missing MCP.
|
|
44
|
+
|
|
45
|
+
## Role Reduction Refactor (0.3)
|
|
46
|
+
|
|
47
|
+
The current active validator reduces 9 roles to 6. See [ROLE_REDUCTION.md](ROLE_REDUCTION.md).
|
|
48
|
+
|
|
49
|
+
| Old role(s) | Active role |
|
|
50
|
+
|---|---|
|
|
51
|
+
| `validation-workspace-state` | `validation-workspace-state` |
|
|
52
|
+
| `validation-input-contract`, `android-kmp-fidelity-audit` | `validation-intake-fidelity` |
|
|
53
|
+
| `kmp-validation-plan`, `build-preview-gate` | `validation-plan-gate` |
|
|
54
|
+
| `test-case-decomposition`, `test-execution` | `validation-test-runner` |
|
|
55
|
+
| `validation-remediation` | `validation-remediation` |
|
|
56
|
+
| `validation-report` | `validation-report` |
|
|
57
|
+
|
|
58
|
+
The reduction keeps the important gates intact: migration trigger/fidelity trust gate, build-before-tests gate, scoped remediation with mandatory reruns, and report-only final verdict.
|
|
59
|
+
|
|
60
|
+
## Validation Output Location Refinement
|
|
61
|
+
|
|
62
|
+
Validator outputs now use a strict validation root parallel to migration outputs:
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
validation_base = <output_dir or ~/.a2c_agents/validation>
|
|
66
|
+
output_root = <validation_base>/kmp-test-validator
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
When a migration output root is supplied, it remains a read-only input. The validator writes to a sibling `validation` base location rather than writing inside the migration output root.
|
|
70
|
+
|
|
71
|
+
## Output Contract Refinement
|
|
72
|
+
|
|
73
|
+
The active validator docs now distinguish output filenames from output content responsibilities. `SKILL.md` and `workflow.md` define the validation artifact schedule and content matrix, while each role file states the exact JSON/Markdown filenames and the evidence each artifact must contain.
|
|
74
|
+
|
|
75
|
+
Role ownership remains explicit:
|
|
76
|
+
|
|
77
|
+
- `validation_workspace_state.*` records validator ledger state only.
|
|
78
|
+
- `validation_intake_fidelity.*` records migration trigger evidence, validation brief, fidelity gaps, and test-trust blockers.
|
|
79
|
+
- `validation_plan_gate.*` records trusted commands, build/preview results, log paths, and failure routing.
|
|
80
|
+
- `validation_test_runner.*` records Android/SPEC-anchored cases, execution results, logs, and changed test files.
|
|
81
|
+
- `validation_remediation.*` records confirmed target fixes, changed files, diagnostics, and required reruns.
|
|
82
|
+
- `kmp_validation_report.*` records the final evidence-backed validation verdict.
|
|
83
|
+
|
|
84
|
+
The Leader must reject artifacts that have the correct filename but contain another role's work, generic KMP testing output, or prose-only summaries without machine-routable evidence.
|