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