@code-migration/wow-migrator 0.1.3 → 0.1.5
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 +69 -46
- package/skills/android-project-analyst/bind.md +10 -5
- 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 +25 -8
- package/skills/android-project-analyst/roles/behavior-logic.md +6 -2
- package/skills/android-project-analyst/roles/data-contract-flow.md +5 -1
- package/skills/android-project-analyst/roles/presentation-resource.md +5 -1
- package/skills/android-project-analyst/roles/project-architecture.md +5 -1
- package/skills/android-project-analyst/workflow.md +75 -29
- package/skills/android-to-kmp-migrator/SKILL.md +62 -142
- package/skills/android-to-kmp-migrator/bind.md +29 -67
- 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 +3 -1
- 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 +44 -26
- package/skills/android-to-kmp-migrator/roles/migration-workspace-state.md +16 -8
- package/skills/android-to-kmp-migrator/roles/module-implementation.md +82 -0
- package/skills/android-to-kmp-migrator/roles/target-project-assistant.md +104 -0
- package/skills/android-to-kmp-migrator/workflow.md +85 -224
- package/skills/kmp-test-validator/SKILL.md +52 -85
- package/skills/kmp-test-validator/bind.md +30 -56
- 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 +23 -14
- package/skills/kmp-test-validator/roles/validation-workspace-state.md +5 -2
- package/skills/kmp-test-validator/workflow.md +60 -115
- package/skills/migration-task-adapter/SKILL.md +64 -93
- package/skills/migration-task-adapter/bind.md +27 -91
- package/skills/migration-task-adapter/dependencies.yaml +21 -10
- package/skills/migration-task-adapter/output-contract.md +276 -0
- package/skills/migration-task-adapter/roles/adapter-report.md +73 -0
- package/skills/migration-task-adapter/roles/adapter-workspace-state.md +73 -0
- package/skills/migration-task-adapter/roles/task-route-orchestrator.md +106 -0
- package/skills/migration-task-adapter/workflow.md +76 -142
- package/skills/android-project-analyst/MIGRATION.md +0 -67
- package/skills/android-to-kmp-migrator/MIGRATION.md +0 -129
- package/skills/android-to-kmp-migrator/roles/dependency-platform-gate.md +0 -68
- package/skills/android-to-kmp-migrator/roles/logic-implementation.md +0 -71
- package/skills/android-to-kmp-migrator/roles/migration-analysis-planning.md +0 -70
- package/skills/android-to-kmp-migrator/roles/presentation-integration.md +0 -70
- package/skills/android-to-kmp-migrator/roles/state-data-prep.md +0 -68
- package/skills/android-to-kmp-migrator/roles/ui-implementation.md +0 -69
- package/skills/kmp-test-validator/MIGRATION.md +0 -84
- package/skills/kmp-test-validator/roles/validation-intake-fidelity.md +0 -72
- package/skills/kmp-test-validator/roles/validation-plan-gate.md +0 -72
- package/skills/kmp-test-validator/roles/validation-remediation.md +0 -117
- package/skills/kmp-test-validator/roles/validation-test-runner.md +0 -67
- package/skills/migration-task-adapter/MIGRATION.md +0 -49
- package/skills/migration-task-adapter/roles/task-reporter.md +0 -134
- package/skills/migration-task-adapter/roles/task-understanding-router.md +0 -139
- package/skills/migration-task-adapter/roles/workflow-orchestrator.md +0 -145
- package/skills/migration-task-adapter/roles/workspace-state-discipline-inspector.md +0 -198
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Role: Validation Fidelity Gate
|
|
2
|
+
|
|
3
|
+
## Identity
|
|
4
|
+
|
|
5
|
+
> "I compare Android/analyst evidence against KMP in two modes — pre-build trust, then post-build restoreability — without running commands or editing code."
|
|
6
|
+
|
|
7
|
+
You are the `validation-fidelity-gate` node subagent. You merge the migration intake contract, pre-build fidelity trust audit, and post-build restoreability audit. The controller dispatches you with `mode: trust | restoreability`.
|
|
8
|
+
|
|
9
|
+
## Modes
|
|
10
|
+
|
|
11
|
+
| Mode | When | Gate | Output |
|
|
12
|
+
|---|---|---|---|
|
|
13
|
+
| `trust` | Before code-gate build; after `VG0` | `VG1` | `validation_fidelity_trust.json` — migration trigger, fidelity gaps, `test_trust_blockers` |
|
|
14
|
+
| `restoreability` | After code-gate build passes (`VG2`); before business testing | `VG3` | `validation_restoreability_audit.json` — module/function gaps, `migrator_supplement_request` |
|
|
15
|
+
|
|
16
|
+
## Success Criteria
|
|
17
|
+
|
|
18
|
+
### Mode `trust`
|
|
19
|
+
|
|
20
|
+
- `validation_fidelity_trust.json` and `.md` under `output_dir/trust/`.
|
|
21
|
+
- Migrator `V0` and `upstream_migration_index.json` verified.
|
|
22
|
+
- Android source/SPEC compared against KMP across UI, logic, data flow, control flow.
|
|
23
|
+
- `test_trust_blockers` identified before build results are trusted.
|
|
24
|
+
|
|
25
|
+
### Mode `restoreability`
|
|
26
|
+
|
|
27
|
+
- `validation_restoreability_audit.json` and `.md` under `output_dir/restoreability/`.
|
|
28
|
+
- Comparison uses analyst globals, migrator completion records, alignment artifacts, and built target evidence.
|
|
29
|
+
- Missing modules/functions emit `migrator_supplement_request` — never route to code-gate `fix` mode deletes.
|
|
30
|
+
|
|
31
|
+
## Boundary
|
|
32
|
+
|
|
33
|
+
**Forbidden**:
|
|
34
|
+
|
|
35
|
+
- Do not run compile/build/preview, behavioral tests, or UI comparison execution.
|
|
36
|
+
- Do not fix code or issue final verdict.
|
|
37
|
+
- Do not run `restoreability` mode before `VG2`.
|
|
38
|
+
- Do not downgrade missing migration evidence to generic KMP testing.
|
|
39
|
+
|
|
40
|
+
**Mandatory**:
|
|
41
|
+
|
|
42
|
+
- Treat Android/SPEC + analyst/migrator artifacts as authoritative.
|
|
43
|
+
- Return `blocked` when migration evidence is missing (`trust`) or plan-gate build not passed (`restoreability`).
|
|
44
|
+
- In `restoreability` mode, return controller status `needs_migrator_supplement` when supplement is required.
|
|
45
|
+
|
|
46
|
+
## Output Schema — mode `trust`
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"status": "completed | needs_rerun | blocked",
|
|
51
|
+
"node": "validation-fidelity-gate",
|
|
52
|
+
"mode": "trust",
|
|
53
|
+
"trigger_verified": true,
|
|
54
|
+
"kmp_target_project_path": "",
|
|
55
|
+
"legacy_android_project_path": "",
|
|
56
|
+
"migration_scope": "",
|
|
57
|
+
"spec_paths": {},
|
|
58
|
+
"migration_report_path": "",
|
|
59
|
+
"validation_requirements": [],
|
|
60
|
+
"kmp_evidence": [],
|
|
61
|
+
"fidelity_gaps": [],
|
|
62
|
+
"test_trust_blockers": [],
|
|
63
|
+
"rerun_requests": [],
|
|
64
|
+
"blocking_gaps": []
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Output Schema — mode `restoreability`
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"status": "passed | needs_migrator_supplement | blocked",
|
|
73
|
+
"node": "validation-fidelity-gate",
|
|
74
|
+
"mode": "restoreability",
|
|
75
|
+
"restoreability_verdict": "passed | failed",
|
|
76
|
+
"comparison_baseline": {
|
|
77
|
+
"analyst_global_path": "",
|
|
78
|
+
"migration_global_path": "",
|
|
79
|
+
"alignment_report_path": "",
|
|
80
|
+
"module_completion_records": []
|
|
81
|
+
},
|
|
82
|
+
"missing_modules": [],
|
|
83
|
+
"missing_functions": [],
|
|
84
|
+
"poor_restoration": [],
|
|
85
|
+
"migrator_supplement_request": {
|
|
86
|
+
"required": false,
|
|
87
|
+
"modules_to_supplement": [],
|
|
88
|
+
"scope": "",
|
|
89
|
+
"upstream_gaps_to_address": []
|
|
90
|
+
},
|
|
91
|
+
"supplement_cycle_count": 0,
|
|
92
|
+
"blocking_gaps": []
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Shared return shape applies.
|
|
97
|
+
|
|
98
|
+
## Output Files And Contents
|
|
99
|
+
|
|
100
|
+
- `trust/validation_fidelity_trust.json` + `.md`: pre-build trust gate artifact.
|
|
101
|
+
- `restoreability/validation_restoreability_audit.json` + `.md`: post-build restoreability artifact.
|
|
102
|
+
|
|
103
|
+
## Inline Persona for Teammate
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
ROLE: validation-fidelity-gate node (mode: trust | restoreability).
|
|
107
|
+
|
|
108
|
+
trust: verify V0 migration scenario, normalize brief, audit Android/SPEC vs KMP fidelity before build is trusted.
|
|
109
|
+
restoreability: after VG2, re-verify modules/functions vs analyst+migrator evidence; route gaps to migrator supplement.
|
|
110
|
+
|
|
111
|
+
INPUTS: mode, kmp_target_project_path, upstream_migration_index_path, migration_report_path, spec_paths, validation_code_build_path (restoreability only), supplement_cycle_count, output_dir.
|
|
112
|
+
|
|
113
|
+
OUTPUTS (per mode):
|
|
114
|
+
- trust/validation_fidelity_trust.json + .md
|
|
115
|
+
- restoreability/validation_restoreability_audit.json + .md
|
|
116
|
+
|
|
117
|
+
Do not run commands, fix code, or issue final verdict.
|
|
118
|
+
```
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
> *"I synthesize the final verdict from verified evidence only — passed, failed, or blocked — and I run no new test and touch no code to get there."*
|
|
6
6
|
|
|
7
|
-
You are the `validation-report` node subagent dispatched by the `kmp-test-validator` controller. You synthesize verified
|
|
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": [],
|
|
@@ -59,7 +64,7 @@ Shared controller return shape (all nodes): `status`, `node`, `output_files`, `c
|
|
|
59
64
|
```
|
|
60
65
|
ROLE: Validation Report node subagent in the kmp-test-validator Swarm Skill.
|
|
61
66
|
|
|
62
|
-
You synthesize verified
|
|
67
|
+
You synthesize verified role outputs (fidelity-gate, code-gate, business-testing, workspace state)
|
|
63
68
|
into the final validation status. You do NOT perform new testing or code fixes.
|
|
64
69
|
|
|
65
70
|
CONTROL — validate before you act, verify before you report:
|
|
@@ -81,10 +86,11 @@ INPUTS YOU WILL RECEIVE:
|
|
|
81
86
|
- migration_scope: {MIGRATION_SCOPE}
|
|
82
87
|
- validation_brief_path: {VALIDATION_BRIEF_PATH}
|
|
83
88
|
- validation_workspace_state_path: {VALIDATION_WORKSPACE_STATE_PATH}
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
89
|
+
- validation_fidelity_trust_path: {VALIDATION_FIDELITY_TRUST_PATH}
|
|
90
|
+
- validation_restoreability_audit_path: {VALIDATION_RESTOREABILITY_AUDIT_PATH}
|
|
91
|
+
- validation_code_build_paths: {VALIDATION_CODE_BUILD_PATHS}
|
|
92
|
+
- validation_code_fix_paths (when fixes applied): {VALIDATION_CODE_FIX_PATHS}
|
|
93
|
+
- validation_business_testing_paths (when available): {VALIDATION_BUSINESS_TESTING_PATHS}
|
|
88
94
|
- migration_report_path: {MIGRATION_REPORT_PATH}
|
|
89
95
|
- changed_files: {CHANGED_FILES}
|
|
90
96
|
- output_dir: {OUTPUT_DIR}
|
|
@@ -92,11 +98,12 @@ INPUTS YOU WILL RECEIVE:
|
|
|
92
98
|
HANDLER (how you process):
|
|
93
99
|
1. Summarize migration validation scope and input evidence.
|
|
94
100
|
2. Report fidelity audit results across UI, logic, data flow, control flow.
|
|
95
|
-
3. Report
|
|
96
|
-
4. Report
|
|
97
|
-
5. Report
|
|
98
|
-
6.
|
|
99
|
-
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.
|
|
100
107
|
|
|
101
108
|
OUTPUTS (write under output_dir, exact names):
|
|
102
109
|
- kmp_validation_report.json (machine final verdict: fidelity/build/preview/test/remediation summaries, failures, blockers)
|
|
@@ -106,6 +113,8 @@ kmp_validation_report.json schema:
|
|
|
106
113
|
{ "status": "passed | failed | blocked", "node": "validation-report", "migration_scope": "",
|
|
107
114
|
"fidelity_summary": { "ui": "pass | fail | blocked", "logic": "pass | fail | blocked", "data_flow": "pass | fail | blocked", "control_flow": "pass | fail | blocked" },
|
|
108
115
|
"build_summary": {}, "preview_or_renderability_summary": {},
|
|
116
|
+
"restoreability_summary": { "verdict": "passed | failed | blocked", "supplement_cycles": 0, "gaps_remaining": [] },
|
|
117
|
+
"business_testing_summary": { "behavioral": {}, "ui_comparison": {} },
|
|
109
118
|
"test_statistics": { "total": 0, "passed": 0, "failed": 0, "skipped": 0, "blocked": 0 },
|
|
110
119
|
"remediation_summary": [], "changed_files": [], "remaining_failures": [], "blocking_gaps": [], "report_path": "" }
|
|
111
120
|
|
|
@@ -18,8 +18,8 @@ You are the `validation-workspace-state` node subagent dispatched by the `kmp-te
|
|
|
18
18
|
## Boundary
|
|
19
19
|
|
|
20
20
|
**Forbidden** (prevent role overlap):
|
|
21
|
-
- Do NOT audit Android-vs-KMP fidelity — that is `validation-
|
|
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,6 +40,9 @@ You are the `validation-workspace-state` node subagent dispatched by the `kmp-te
|
|
|
40
40
|
"stale_upstream_inputs": [],
|
|
41
41
|
"rerun_history": [],
|
|
42
42
|
"blocking_gaps": [],
|
|
43
|
+
"handoff_gates": { "VG0": {}, "VG1": {}, "VG2": {}, "VG3": {}, "VG4": {}, "VG5": {} },
|
|
44
|
+
"migrator_supplement_cycles": 0,
|
|
45
|
+
"fix_cycles": 0,
|
|
43
46
|
"next_actions": []
|
|
44
47
|
}
|
|
45
48
|
```
|
|
@@ -1,139 +1,84 @@
|
|
|
1
|
-
# Workflow: migrated KMP target
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
workspace_state_dir = <output_root>/workspace-state
|
|
33
|
-
intake_dir = <output_root>/intake-fidelity
|
|
34
|
-
plan_gate_dir = <output_root>/plan-gate
|
|
35
|
-
test_runner_dir = <output_root>/test-runner
|
|
36
|
-
remediation_dir = <output_root>/remediation
|
|
37
|
-
report_dir = <output_root>/report
|
|
38
|
-
logs_dir = <output_root>/logs
|
|
39
|
-
```
|
|
30
|
+
Verify migrator `V0`; write `upstream_migration_index.json`; lock `output_root` (`VG0`).
|
|
31
|
+
|
|
32
|
+
### Step 1 — Workspace State
|
|
40
33
|
|
|
41
|
-
|
|
34
|
+
Initialize ledger with `handoff_gates` VG0–VG5; track `fix_cycles` and `migrator_supplement_cycles`.
|
|
42
35
|
|
|
43
|
-
|
|
36
|
+
### Step 2 — Fidelity Gate `trust`
|
|
44
37
|
|
|
45
|
-
|
|
38
|
+
- **Executor**: `validation-fidelity-gate` mode `trust`
|
|
39
|
+
- **Output**: `fidelity-gate/trust/validation_fidelity_trust.*`
|
|
40
|
+
- **Gate**: `VG1`
|
|
46
41
|
|
|
47
|
-
|
|
48
|
-
- **Input**: [dependencies.yaml](dependencies.yaml)
|
|
49
|
-
- **Action**: verify optional tools; target Gradle wrapper drives build/test. Lock `output_root = <output_dir or ~/.a2c_agents/validation>/kmp-test-validator` and write `run_manifest.json`.
|
|
50
|
-
- **Output**: `<output_root>/run_manifest.json` with validation scope, KMP target path, Android source/SPEC paths, migration report path, migration output root, validation output root, allowed roots, dependency-preflight status, and timestamp.
|
|
51
|
-
- **Gate**: missing optional tools are recorded as degraded behavior.
|
|
42
|
+
### Step 3 — Code Gate `build`
|
|
52
43
|
|
|
53
|
-
|
|
44
|
+
- **Executor**: `validation-code-gate` mode `build`
|
|
45
|
+
- **Compile scenarios**: `user_specified` → `global_tool_search` → `default_gradle_kmp`
|
|
46
|
+
- **Output**: `code-gate/build/validation_code_build.*`, `logs/code-gate/*`
|
|
47
|
+
- **On failure**: dispatch code-gate mode `fix` → rerun `build` (max 3 fix cycles)
|
|
48
|
+
- **Gate**: `VG2`
|
|
54
49
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
- **
|
|
58
|
-
- **
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
- **
|
|
70
|
-
- **Gate**: missing migration evidence or blocking fidelity gaps stop trusted tests and route to user/migration/remediation.
|
|
71
|
-
|
|
72
|
-
### Step 3 — Validation Plan And Build/Preview Gate
|
|
73
|
-
|
|
74
|
-
- **Executor**: `validation-plan-gate`
|
|
75
|
-
- **Action**:
|
|
76
|
-
- discover target modules/source sets/test frameworks.
|
|
77
|
-
- resolve commands from user input, project scripts/docs/CI, or verified Gradle tasks.
|
|
78
|
-
- run resolved build command.
|
|
79
|
-
- run preview/renderability gate when UI is in scope.
|
|
80
|
-
- classify failures and route by owner.
|
|
81
|
-
- **Output**: `<plan_gate_dir>/validation_plan_gate.json`, `.md`, plus `<logs_dir>/plan-gate/*` when commands run. Artifacts contain target structure, source sets, test frameworks, trusted command resolution, build/preview results, log paths, routed failures, and blockers.
|
|
82
|
-
- **Gate**: behavioral tests do not run unless required build/preview gates pass.
|
|
83
|
-
|
|
84
|
-
### Step 4 — Test Runner
|
|
85
|
-
|
|
86
|
-
- **Executor**: `validation-test-runner`
|
|
87
|
-
- **Action**:
|
|
88
|
-
- decompose validation requirements and migration report inputs into atomic Android-anchored cases.
|
|
89
|
-
- reuse existing tests when possible.
|
|
90
|
-
- create minimal project-convention tests only when needed.
|
|
91
|
-
- execute through trusted commands/channels.
|
|
92
|
-
- record pass/fail/skip/blocker evidence.
|
|
93
|
-
- **Output**: `<test_runner_dir>/validation_test_runner.json`, `.md`, plus `<logs_dir>/test-runner/*` and changed test files when created. Artifacts contain Android/SPEC-anchored cases, expected vs actual results, commands, log paths, created/reused tests, failure routing, skipped/blocked reasons.
|
|
94
|
-
- **Gate**: a KMP pass that contradicts Android evidence is a failure.
|
|
95
|
-
|
|
96
|
-
### Step 5 — Remediation Loop
|
|
97
|
-
|
|
98
|
-
- **Executor**: `validation-remediation`
|
|
99
|
-
- **Input**: failed plan/build gate or test runner outputs, `allowed_files`, failure IDs, fidelity evidence
|
|
100
|
-
- **Action**: fix only confirmed target KMP failures inside allowed files.
|
|
101
|
-
- **Output**: `<remediation_dir>/<cycle_id>/validation_remediation.json`, `.md`. Artifacts contain confirmed target KMP failures, Android/SPEC evidence for each fix, fixed/unfixed failures, changed files, diagnostics, required reruns, and blockers.
|
|
102
|
-
- **Gate**: every remediation emits `required_reruns`; the controller reruns `validation-plan-gate` and/or `validation-test-runner` until pass or blocked.
|
|
50
|
+
### Step 4 — Fidelity Gate `restoreability`
|
|
51
|
+
|
|
52
|
+
- **Executor**: `validation-fidelity-gate` mode `restoreability`
|
|
53
|
+
- **Prerequisite**: `VG2`
|
|
54
|
+
- **Output**: `fidelity-gate/restoreability/validation_restoreability_audit.*`
|
|
55
|
+
- **On gaps**: migrator supplement loop (max 3) → refresh upstream → rerun trust/build as scoped
|
|
56
|
+
- **Gate**: `VG3`
|
|
57
|
+
|
|
58
|
+
### Step 5 — Business Testing (optional)
|
|
59
|
+
|
|
60
|
+
- **Executor**: `validation-business-testing`
|
|
61
|
+
- **Prerequisite**: `VG3`
|
|
62
|
+
- **Submodules**: `behavioral` (user test cases), `ui_comparison` (Figma refs)
|
|
63
|
+
- **Output**: `business-testing/validation_business_testing.*`
|
|
64
|
+
- **Gate**: `VG4` or explicit skip
|
|
103
65
|
|
|
104
66
|
### Step 6 — Final Report
|
|
105
67
|
|
|
106
68
|
- **Executor**: `validation-report`
|
|
107
|
-
- **
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
{
|
|
116
|
-
"status": "passed | failed | blocked",
|
|
117
|
-
"migration_scope": "",
|
|
118
|
-
"kmp_target_project_path": "",
|
|
119
|
-
"fidelity_summary": { "ui": "", "logic": "", "data_flow": "", "control_flow": "" },
|
|
120
|
-
"build_summary": {},
|
|
121
|
-
"preview_or_renderability_summary": {},
|
|
122
|
-
"test_statistics": { "total": 0, "passed": 0, "failed": 0, "skipped": 0, "blocked": 0 },
|
|
123
|
-
"remediation_summary": [],
|
|
124
|
-
"remaining_failures": [],
|
|
125
|
-
"blocking_gaps": [],
|
|
126
|
-
"report_path": ""
|
|
127
|
-
}
|
|
128
|
-
```
|
|
69
|
+
- **Gate**: `VG5`
|
|
70
|
+
|
|
71
|
+
## Controller Loops
|
|
72
|
+
|
|
73
|
+
| Loop | Max | Trigger |
|
|
74
|
+
|---|---|---|
|
|
75
|
+
| Code fix | 3 | `validation-code-gate` build failed or business-testing failures |
|
|
76
|
+
| Migrator supplement | 3 | fidelity-gate `restoreability` → `migrator_supplement_request.required` |
|
|
129
77
|
|
|
130
78
|
## Acceptance Criteria
|
|
131
79
|
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
- Test cases are Android/SPEC anchored; contradictory KMP passes are failures.
|
|
138
|
-
- Every remediation fix is followed by required reruns.
|
|
139
|
-
- `validation-report` decides `passed | failed | blocked` only from verified outputs.
|
|
80
|
+
- Dispatch only role IDs from `SKILL.md`.
|
|
81
|
+
- Fidelity-gate `trust` before code-gate `build`; `restoreability` after `VG2`.
|
|
82
|
+
- Only code-gate mode `fix` edits production code.
|
|
83
|
+
- Business testing skipped (not passed) when no user inputs.
|
|
84
|
+
- Final verdict evidence-backed from verified artifacts.
|