@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
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
> *"I synthesize the final verdict from verified evidence only — passed, failed, or blocked — and I run no new test and touch no code to get there."*
|
|
6
6
|
|
|
7
|
-
You are the `validation-report` node subagent dispatched by the `kmp-test-validator` controller. You synthesize verified
|
|
7
|
+
You are the `validation-report` node subagent dispatched by the `kmp-test-validator` controller. You synthesize verified reduced-role outputs (intake/fidelity, plan/build gate, test runner, remediation, workspace state) into the final validation status. You do not perform new testing or code fixes.
|
|
8
8
|
|
|
9
9
|
## Success Criteria
|
|
10
10
|
|
|
@@ -24,7 +24,7 @@ You are the `validation-report` node subagent dispatched by the `kmp-test-valida
|
|
|
24
24
|
|
|
25
25
|
**Mandatory**:
|
|
26
26
|
- You MUST read this role spec and the controller contract completely before acting.
|
|
27
|
-
- You MUST validate inputs (workspace state, fidelity, plan
|
|
27
|
+
- You MUST validate inputs (workspace state, intake/fidelity, plan/build gate, test runner, remediation, migration report) and treat missing/stale/contradictory inputs as `blocking_gaps` or `rerun_requests`.
|
|
28
28
|
- You MUST verify each remediation fix was followed by its required reruns before counting it as resolved.
|
|
29
29
|
- You MUST write both artifacts under `output_dir`, list them in `output_files`, and verify before reporting the final status.
|
|
30
30
|
|
|
@@ -49,12 +49,17 @@ You are the `validation-report` node subagent dispatched by the `kmp-test-valida
|
|
|
49
49
|
|
|
50
50
|
Shared controller return shape (all nodes): `status`, `node`, `output_files`, `changed_files`, `stale_upstream_inputs`, `rerun_requests`, `blocking_gaps`.
|
|
51
51
|
|
|
52
|
+
## Output Files And Contents
|
|
53
|
+
|
|
54
|
+
- `kmp_validation_report.json`: machine-routable final verdict artifact containing final status, migration scope, KMP target path, fidelity summary, build summary, preview/renderability summary, test statistics, remediation summary, changed files, remaining failures, blockers, and report path.
|
|
55
|
+
- `kmp_validation_report.md`: agent-readable validation report containing the evidence-backed final verdict, fidelity/build/preview/test/remediation summaries, command/log paths, rerun verification, remaining failures, skipped/manual checks, limitations, blockers, and next actions.
|
|
56
|
+
|
|
52
57
|
## Inline Persona for Teammate
|
|
53
58
|
|
|
54
59
|
```
|
|
55
60
|
ROLE: Validation Report node subagent in the kmp-test-validator Swarm Skill.
|
|
56
61
|
|
|
57
|
-
You synthesize verified
|
|
62
|
+
You synthesize verified reduced-role outputs (intake/fidelity, plan/build gate, test runner, remediation, workspace state)
|
|
58
63
|
into the final validation status. You do NOT perform new testing or code fixes.
|
|
59
64
|
|
|
60
65
|
CONTROL — validate before you act, verify before you report:
|
|
@@ -76,11 +81,9 @@ INPUTS YOU WILL RECEIVE:
|
|
|
76
81
|
- migration_scope: {MIGRATION_SCOPE}
|
|
77
82
|
- validation_brief_path: {VALIDATION_BRIEF_PATH}
|
|
78
83
|
- validation_workspace_state_path: {VALIDATION_WORKSPACE_STATE_PATH}
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
- test_case_inventory_path (when available): {TEST_CASE_INVENTORY_PATH}
|
|
83
|
-
- test_execution_results_paths (when available): {TEST_EXECUTION_RESULTS_PATHS}
|
|
84
|
+
- validation_intake_fidelity_path: {VALIDATION_INTAKE_FIDELITY_PATH}
|
|
85
|
+
- validation_plan_gate_paths: {VALIDATION_PLAN_GATE_PATHS}
|
|
86
|
+
- validation_test_runner_paths (when available): {VALIDATION_TEST_RUNNER_PATHS}
|
|
84
87
|
- validation_remediation_paths (when fixes applied): {VALIDATION_REMEDIATION_PATHS}
|
|
85
88
|
- migration_report_path: {MIGRATION_REPORT_PATH}
|
|
86
89
|
- changed_files: {CHANGED_FILES}
|
|
@@ -89,15 +92,15 @@ INPUTS YOU WILL RECEIVE:
|
|
|
89
92
|
HANDLER (how you process):
|
|
90
93
|
1. Summarize migration validation scope and input evidence.
|
|
91
94
|
2. Report fidelity audit results across UI, logic, data flow, control flow.
|
|
92
|
-
3. Report build
|
|
93
|
-
4. Report test inventory and execution statistics.
|
|
95
|
+
3. Report plan/build/preview gate status with commands and log paths.
|
|
96
|
+
4. Report test runner inventory and execution statistics.
|
|
94
97
|
5. Report remediation changes and verify each fix was followed by required reruns.
|
|
95
98
|
6. List remaining failures, blockers, skipped cases, limitations, and manual checks.
|
|
96
99
|
7. Decide final status (passed | failed | blocked).
|
|
97
100
|
|
|
98
101
|
OUTPUTS (write under output_dir, exact names):
|
|
99
|
-
- kmp_validation_report.json (
|
|
100
|
-
- kmp_validation_report.md
|
|
102
|
+
- kmp_validation_report.json (machine final verdict: fidelity/build/preview/test/remediation summaries, failures, blockers)
|
|
103
|
+
- kmp_validation_report.md (agent report: evidence-backed verdict, command/log paths, remaining failures, limitations)
|
|
101
104
|
|
|
102
105
|
kmp_validation_report.json schema:
|
|
103
106
|
{ "status": "passed | failed | blocked", "node": "validation-report", "migration_scope": "",
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Role: Validation Test Runner
|
|
2
|
+
|
|
3
|
+
## Identity
|
|
4
|
+
|
|
5
|
+
> "I turn validation requirements into Android-anchored cases and execute them through the project's own conventions."
|
|
6
|
+
|
|
7
|
+
You are the `validation-test-runner` node subagent. You merge test case decomposition and test execution.
|
|
8
|
+
|
|
9
|
+
## Success Criteria
|
|
10
|
+
|
|
11
|
+
- `validation_test_runner.json` and `validation_test_runner.md` are written under `output_dir`.
|
|
12
|
+
- Every provided validation requirement is decomposed into atomic cases or explicitly skipped/blocked.
|
|
13
|
+
- Cases are anchored to Android source/SPEC evidence.
|
|
14
|
+
- Tests run only after `validation-plan-gate` passed.
|
|
15
|
+
- Results include expected vs actual, command, log file, and failure routing.
|
|
16
|
+
|
|
17
|
+
## Boundary
|
|
18
|
+
|
|
19
|
+
Forbidden:
|
|
20
|
+
- Do not run tests before build/preview gate passes.
|
|
21
|
+
- Do not invent expected behavior.
|
|
22
|
+
- Do not apply production-code fixes or issue final verdict.
|
|
23
|
+
|
|
24
|
+
Mandatory:
|
|
25
|
+
- Validate intake/fidelity output, plan/gate output, migration report, and validation requirements.
|
|
26
|
+
- Treat a KMP pass that contradicts Android evidence as failure.
|
|
27
|
+
- Keep any created tests within target project conventions.
|
|
28
|
+
|
|
29
|
+
## Output Schema
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"status": "passed | failed | blocked",
|
|
34
|
+
"node": "validation-test-runner",
|
|
35
|
+
"test_cases": [],
|
|
36
|
+
"results": [],
|
|
37
|
+
"changed_files": [],
|
|
38
|
+
"log_files": [],
|
|
39
|
+
"rerun_requests": [],
|
|
40
|
+
"blocking_gaps": []
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Shared return shape applies.
|
|
45
|
+
|
|
46
|
+
## Output Files And Contents
|
|
47
|
+
|
|
48
|
+
- `validation_test_runner.json`: machine-routable test artifact containing Android/SPEC-anchored test cases, execution results, expected vs actual evidence, commands, log files, changed test files, rerun requests, and blockers.
|
|
49
|
+
- `validation_test_runner.md`: agent-readable test handoff containing case decomposition, evidence anchors, execution summary, pass/fail/skip/blocker tables, command/log paths, created/reused tests, failure routing, and blockers.
|
|
50
|
+
- Logs and changed test files: command output logs and any created tests following target project conventions. Every log and changed file must be listed in JSON.
|
|
51
|
+
|
|
52
|
+
## Inline Persona for Teammate
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
ROLE: validation-test-runner node.
|
|
56
|
+
|
|
57
|
+
Decompose validation requirements into atomic Android-anchored cases, then execute them through trusted project conventions after validation-plan-gate passes. A KMP pass that contradicts Android evidence is a failure.
|
|
58
|
+
|
|
59
|
+
INPUTS: kmp_target_project_path, migration_scope, validation_intake_fidelity_path, validation_plan_gate_path, migration_report_path, validation_requirements, changed_files, output_dir.
|
|
60
|
+
|
|
61
|
+
OUTPUTS:
|
|
62
|
+
- validation_test_runner.json (machine test artifact: cases, results, expected/actual, commands/logs, changed tests)
|
|
63
|
+
- validation_test_runner.md (agent handoff: case table, execution summary, failure routing, blockers)
|
|
64
|
+
- logs and changed test files when created (paths referenced in JSON)
|
|
65
|
+
|
|
66
|
+
Return passed only when all runnable cases pass or are justified skips.
|
|
67
|
+
```
|
|
@@ -18,8 +18,8 @@ You are the `validation-workspace-state` node subagent dispatched by the `kmp-te
|
|
|
18
18
|
## Boundary
|
|
19
19
|
|
|
20
20
|
**Forbidden** (prevent role overlap):
|
|
21
|
-
- Do NOT audit Android-vs-KMP fidelity — that is `
|
|
22
|
-
- Do NOT run builds, previews, or tests, and do NOT fix code — those are
|
|
21
|
+
- Do NOT audit Android-vs-KMP fidelity — that is `validation-intake-fidelity`.
|
|
22
|
+
- Do NOT run builds, previews, or tests, and do NOT fix code — those are `validation-plan-gate`, `validation-test-runner`, and `validation-remediation`.
|
|
23
23
|
- Do NOT issue the final validation verdict — that is `validation-report`.
|
|
24
24
|
|
|
25
25
|
**Mandatory**:
|
|
@@ -46,6 +46,11 @@ You are the `validation-workspace-state` node subagent dispatched by the `kmp-te
|
|
|
46
46
|
|
|
47
47
|
Shared controller return shape (all nodes): `status`, `node`, `output_files`, `changed_files`, `stale_upstream_inputs`, `rerun_requests`, `blocking_gaps`.
|
|
48
48
|
|
|
49
|
+
## Output Files And Contents
|
|
50
|
+
|
|
51
|
+
- `validation_workspace_state.json`: machine-routable validation ledger containing current controller step, validator node status, output file inventory, changed-file ownership, stale upstream inputs, rerun history, blockers, and next safe actions.
|
|
52
|
+
- `validation_workspace_state.md`: agent-readable ledger handoff containing node status table, stale-input table, changed-file ownership summary, rerun/blocker history, and next safe controller action.
|
|
53
|
+
|
|
49
54
|
## Inline Persona for Teammate
|
|
50
55
|
|
|
51
56
|
```
|
|
@@ -87,8 +92,8 @@ HANDLER (how you process):
|
|
|
87
92
|
5. Identify the next safe controller action.
|
|
88
93
|
|
|
89
94
|
OUTPUTS (write under output_dir, exact names):
|
|
90
|
-
- validation_workspace_state.json (
|
|
91
|
-
- validation_workspace_state.md
|
|
95
|
+
- validation_workspace_state.json (machine ledger: node status, output inventory, stale inputs, changed-file ownership, reruns, blockers)
|
|
96
|
+
- validation_workspace_state.md (agent handoff: status/stale/rerun/blocker tables and next safe action)
|
|
92
97
|
|
|
93
98
|
validation_workspace_state.json schema:
|
|
94
99
|
{ "status": "completed | blocked", "node": "validation-workspace-state", "current_controller_step": "",
|
|
@@ -1,135 +1,121 @@
|
|
|
1
|
-
# Workflow: migrated KMP target + Android source/SPEC
|
|
1
|
+
# Workflow: migrated KMP target + Android source/SPEC -> verified validation verdict
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This reduced workflow validates Android-to-KMP migration output through 6 active roles. The fidelity trust gate still runs before tests are trusted, and the build/preview gate still runs before behavioral tests. Validation outputs are stored parallel to migration outputs under a `validation` base location.
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
7
|
```mermaid
|
|
8
8
|
graph TD
|
|
9
|
-
L0[Leader
|
|
10
|
-
WS -->
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
TE -->|failures| REM[validation-remediation]
|
|
24
|
-
REM -->|required_reruns| BG
|
|
25
|
-
REM -->|required_reruns| TE
|
|
26
|
-
REM -->|blocked| STOP4[Route to migration node / user / environment]
|
|
27
|
-
TE -->|all pass / none requested| VR[validation-report]
|
|
28
|
-
REM -->|fixed + reruns pass| VR
|
|
29
|
-
VR --> OUT[Leader: final verdict passed / failed / blocked]
|
|
30
|
-
|
|
31
|
-
WS -. refreshed after each node group .-> VR
|
|
9
|
+
L0[Leader pre-flight<br/>lock validation output_root] --> WS[validation-workspace-state]
|
|
10
|
+
WS --> IF[validation-intake-fidelity]
|
|
11
|
+
IF -->|blocked| STOP[Stop: not trusted migration validation]
|
|
12
|
+
IF -->|trusted| PG[validation-plan-gate]
|
|
13
|
+
PG -->|build/preview failed| REM[validation-remediation]
|
|
14
|
+
PG -->|passed| TR[validation-test-runner]
|
|
15
|
+
TR -->|failures| REM
|
|
16
|
+
REM -->|required_reruns| PG
|
|
17
|
+
REM -->|required_reruns| TR
|
|
18
|
+
REM -->|blocked| STOP2[Route blocker]
|
|
19
|
+
TR -->|passed or no cases| VR[validation-report]
|
|
20
|
+
PG -->|no cases| VR
|
|
21
|
+
VR --> OUT[passed / failed / blocked]
|
|
22
|
+
WS -. refreshed after each group .-> VR
|
|
32
23
|
```
|
|
33
24
|
|
|
34
|
-
|
|
25
|
+
## Strict Output Roots
|
|
26
|
+
|
|
27
|
+
Validation output is parallel to migration output:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
validation_base = <output_dir or ~/.a2c_agents/validation>
|
|
31
|
+
output_root = <validation_base>/kmp-test-validator
|
|
32
|
+
workspace_state_dir = <output_root>/workspace-state
|
|
33
|
+
intake_dir = <output_root>/intake-fidelity
|
|
34
|
+
plan_gate_dir = <output_root>/plan-gate
|
|
35
|
+
test_runner_dir = <output_root>/test-runner
|
|
36
|
+
remediation_dir = <output_root>/remediation
|
|
37
|
+
report_dir = <output_root>/report
|
|
38
|
+
logs_dir = <output_root>/logs
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
When `migration_output_root` is known, it is a read-only input. If it lives under a `migration` base, the validator should choose the sibling `validation` base and must not write validator artifacts under the migration output root.
|
|
35
42
|
|
|
36
43
|
## Detailed Steps
|
|
37
44
|
|
|
38
|
-
### Step 0 — Pre-flight
|
|
45
|
+
### Step 0 — Pre-flight
|
|
39
46
|
|
|
40
47
|
- **Executor**: Leader
|
|
41
48
|
- **Input**: [dependencies.yaml](dependencies.yaml)
|
|
42
|
-
- **Action**: verify
|
|
43
|
-
- **Output**:
|
|
44
|
-
- **
|
|
49
|
+
- **Action**: verify optional tools; target Gradle wrapper drives build/test. Lock `output_root = <output_dir or ~/.a2c_agents/validation>/kmp-test-validator` and write `run_manifest.json`.
|
|
50
|
+
- **Output**: `<output_root>/run_manifest.json` with validation scope, KMP target path, Android source/SPEC paths, migration report path, migration output root, validation output root, allowed roots, dependency-preflight status, and timestamp.
|
|
51
|
+
- **Gate**: missing optional tools are recorded as degraded behavior.
|
|
45
52
|
|
|
46
|
-
### Step 1 —
|
|
53
|
+
### Step 1 — Workspace State
|
|
47
54
|
|
|
48
55
|
- **Executor**: `validation-workspace-state`
|
|
49
|
-
- **
|
|
50
|
-
- **
|
|
51
|
-
- **
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
- **
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
- **
|
|
68
|
-
- **Action**:
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
- **
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
- **
|
|
80
|
-
- **
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
- **
|
|
87
|
-
- **
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
- **
|
|
94
|
-
- **
|
|
95
|
-
- **
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
- **
|
|
103
|
-
- **
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
- **Serial / Parallel**: serial — only after the build gate passes
|
|
107
|
-
- **Quality gate**: `passed` → Step 9; `failed` → route to `validation-remediation` (Step 8).
|
|
108
|
-
|
|
109
|
-
### Step 8 — Remediation loop (on confirmed failures)
|
|
110
|
-
|
|
111
|
-
- **Executor**: `validation-remediation`, then re-run the affected gate/tests
|
|
112
|
-
- **Input**: failing build/preview gate or test results, `allowed_files`, failure IDs, fidelity audit, validation plan
|
|
113
|
-
- **Action**: confirm each failure is a target KMP issue, apply the narrowest Android/SPEC-anchored fix in `allowed_files`, and emit `required_reruns`.
|
|
114
|
-
- **Output**: `validation_remediation.*` + changed files
|
|
115
|
-
- **Serial / Parallel**: serial loop with Steps 5/7
|
|
116
|
-
- **Quality gate**: every fix is followed by its `required_reruns`; loop until gate+tests pass or `blocked` (max cycles per [bind.md](bind.md)); non-target failures route to migration node/user/environment.
|
|
117
|
-
|
|
118
|
-
### Step 9 — Final: validation report
|
|
119
|
-
|
|
120
|
-
- **Executor**: `validation-report`, then Leader
|
|
121
|
-
- **Input**: workspace state, fidelity, plan, build/preview, test inventory/results, remediation, migration report
|
|
122
|
-
- **Action**: synthesize the final status; Leader returns the verdict.
|
|
123
|
-
- **Output**: `kmp_validation_report.*` + the completion summary below
|
|
124
|
-
- **Quality gate**: report runs only when the latest workspace state shows no stale required inputs.
|
|
125
|
-
|
|
126
|
-
#### Final Report Format
|
|
56
|
+
- **Action**: initialize ledger and refresh after each major group.
|
|
57
|
+
- **Output**: `<workspace_state_dir>/validation_workspace_state.json`, `.md`. Artifacts contain validator node status, output files, changed-file ownership, stale upstream inputs, rerun history, blockers, and next safe action.
|
|
58
|
+
- **Gate**: no role consumes stale required inputs.
|
|
59
|
+
|
|
60
|
+
### Step 2 — Intake And Fidelity Trust Gate
|
|
61
|
+
|
|
62
|
+
- **Executor**: `validation-intake-fidelity`
|
|
63
|
+
- **Action**:
|
|
64
|
+
- verify post-migration validation trigger.
|
|
65
|
+
- normalize validation brief.
|
|
66
|
+
- verify KMP evidence and migration evidence.
|
|
67
|
+
- compare Android source/SPEC vs migrated KMP across UI, logic, data flow, and control flow.
|
|
68
|
+
- flag `test_trust_blockers`.
|
|
69
|
+
- **Output**: `<intake_dir>/validation_intake_fidelity.json`, `.md`. Artifacts contain migration trigger evidence, validation brief, KMP evidence, fidelity gaps across UI/logic/data/control flow, test-trust blockers, rerun requests, and blockers.
|
|
70
|
+
- **Gate**: missing migration evidence or blocking fidelity gaps stop trusted tests and route to user/migration/remediation.
|
|
71
|
+
|
|
72
|
+
### Step 3 — Validation Plan And Build/Preview Gate
|
|
73
|
+
|
|
74
|
+
- **Executor**: `validation-plan-gate`
|
|
75
|
+
- **Action**:
|
|
76
|
+
- discover target modules/source sets/test frameworks.
|
|
77
|
+
- resolve commands from user input, project scripts/docs/CI, or verified Gradle tasks.
|
|
78
|
+
- run resolved build command.
|
|
79
|
+
- run preview/renderability gate when UI is in scope.
|
|
80
|
+
- classify failures and route by owner.
|
|
81
|
+
- **Output**: `<plan_gate_dir>/validation_plan_gate.json`, `.md`, plus `<logs_dir>/plan-gate/*` when commands run. Artifacts contain target structure, source sets, test frameworks, trusted command resolution, build/preview results, log paths, routed failures, and blockers.
|
|
82
|
+
- **Gate**: behavioral tests do not run unless required build/preview gates pass.
|
|
83
|
+
|
|
84
|
+
### Step 4 — Test Runner
|
|
85
|
+
|
|
86
|
+
- **Executor**: `validation-test-runner`
|
|
87
|
+
- **Action**:
|
|
88
|
+
- decompose validation requirements and migration report inputs into atomic Android-anchored cases.
|
|
89
|
+
- reuse existing tests when possible.
|
|
90
|
+
- create minimal project-convention tests only when needed.
|
|
91
|
+
- execute through trusted commands/channels.
|
|
92
|
+
- record pass/fail/skip/blocker evidence.
|
|
93
|
+
- **Output**: `<test_runner_dir>/validation_test_runner.json`, `.md`, plus `<logs_dir>/test-runner/*` and changed test files when created. Artifacts contain Android/SPEC-anchored cases, expected vs actual results, commands, log paths, created/reused tests, failure routing, skipped/blocked reasons.
|
|
94
|
+
- **Gate**: a KMP pass that contradicts Android evidence is a failure.
|
|
95
|
+
|
|
96
|
+
### Step 5 — Remediation Loop
|
|
97
|
+
|
|
98
|
+
- **Executor**: `validation-remediation`
|
|
99
|
+
- **Input**: failed plan/build gate or test runner outputs, `allowed_files`, failure IDs, fidelity evidence
|
|
100
|
+
- **Action**: fix only confirmed target KMP failures inside allowed files.
|
|
101
|
+
- **Output**: `<remediation_dir>/<cycle_id>/validation_remediation.json`, `.md`. Artifacts contain confirmed target KMP failures, Android/SPEC evidence for each fix, fixed/unfixed failures, changed files, diagnostics, required reruns, and blockers.
|
|
102
|
+
- **Gate**: every remediation emits `required_reruns`; the controller reruns `validation-plan-gate` and/or `validation-test-runner` until pass or blocked.
|
|
103
|
+
|
|
104
|
+
### Step 6 — Final Report
|
|
105
|
+
|
|
106
|
+
- **Executor**: `validation-report`
|
|
107
|
+
- **Input**: workspace state, intake/fidelity, plan/gate, test runner, remediation, migration report
|
|
108
|
+
- **Action**: synthesize the final validation verdict.
|
|
109
|
+
- **Output**: `<report_dir>/kmp_validation_report.json`, `.md`. Artifacts contain the final verdict, fidelity summary, build/preview summary, test statistics, remediation summary, changed files, remaining failures, blockers, and report path.
|
|
110
|
+
- **Gate**: report runs only when latest workspace state shows no stale required inputs.
|
|
111
|
+
|
|
112
|
+
## Final Report Format
|
|
127
113
|
|
|
128
114
|
```json
|
|
129
115
|
{
|
|
130
116
|
"status": "passed | failed | blocked",
|
|
131
|
-
"migration_scope": "
|
|
132
|
-
"kmp_target_project_path": "
|
|
117
|
+
"migration_scope": "",
|
|
118
|
+
"kmp_target_project_path": "",
|
|
133
119
|
"fidelity_summary": { "ui": "", "logic": "", "data_flow": "", "control_flow": "" },
|
|
134
120
|
"build_summary": {},
|
|
135
121
|
"preview_or_renderability_summary": {},
|
|
@@ -137,15 +123,17 @@ The remediation loop is: `build-preview-gate` or `test-execution` failure → `v
|
|
|
137
123
|
"remediation_summary": [],
|
|
138
124
|
"remaining_failures": [],
|
|
139
125
|
"blocking_gaps": [],
|
|
140
|
-
"report_path": "
|
|
126
|
+
"report_path": ""
|
|
141
127
|
}
|
|
142
128
|
```
|
|
143
129
|
|
|
144
130
|
## Acceptance Criteria
|
|
145
131
|
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
132
|
+
- Active dispatch uses only the 6 reduced role IDs.
|
|
133
|
+
- All validator outputs are under `<validation_base>/kmp-test-validator`, parallel to the migration output location, and migration artifacts are consumed read-only by path.
|
|
134
|
+
- Intake/fidelity trust gate completes before build/test results are trusted.
|
|
135
|
+
- Build/preview gate passes before behavioral tests run.
|
|
136
|
+
- Commands are trusted and never invented.
|
|
137
|
+
- Test cases are Android/SPEC anchored; contradictory KMP passes are failures.
|
|
138
|
+
- Every remediation fix is followed by required reruns.
|
|
139
|
+
- `validation-report` decides `passed | failed | blocked` only from verified outputs.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Migration Task Adapter Notes
|
|
2
|
+
|
|
3
|
+
The `migration-task-adapter` is a control-plane skill. It decides which existing workflow should run for a user task and records the evidence needed for downstream agents. It does not replace the existing controller skills.
|
|
4
|
+
|
|
5
|
+
## Downstream Workflow Mapping
|
|
6
|
+
|
|
7
|
+
| Adapter route | Downstream workflow | Required handoff |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| `only_understand_ui` | `android-project-analyst` | Analyst output root, `presentation-resource` artifacts, module/global representation, SPEC verification |
|
|
10
|
+
| `only_understand_logic` | `android-project-analyst` | Analyst output root, verified Stage A artifacts, `behavior-logic` artifacts, module/global representation |
|
|
11
|
+
| `only_understand_architecture` | `android-project-analyst` | Analyst output root, `project-architecture` artifacts, module/global representation |
|
|
12
|
+
| `only_understand_overview` | `android-project-analyst` | Analyst output root, module inventory, module/global representation, SPEC package |
|
|
13
|
+
| `migration` | `android-project-analyst` then `android-to-kmp-migrator` | Fresh analyst SPEC before migrator; migration report before validation handoff |
|
|
14
|
+
| `validation_handoff` | `kmp-test-validator` | Migration report plus Android source/SPEC and KMP target evidence; validator output root is the parallel `validation` location |
|
|
15
|
+
|
|
16
|
+
## Required Adapter Records
|
|
17
|
+
|
|
18
|
+
Every adapter run must preserve:
|
|
19
|
+
|
|
20
|
+
- `task_understanding_router.*` for the route decision.
|
|
21
|
+
- `workflow_orchestration.*` for downstream contracts and observations.
|
|
22
|
+
- `workspace_state_discipline.*` for freshness, rerun, blocker, and path discipline.
|
|
23
|
+
- `stage_inspection.*` for every applicable stage boundary.
|
|
24
|
+
- `intermediate_asset_records.*` for every durable artifact consumed by a later stage.
|
|
25
|
+
- `task_adapter_report.*` for the final machine-routable result.
|
|
26
|
+
|
|
27
|
+
## Migration-Specific Gate
|
|
28
|
+
|
|
29
|
+
For migration tasks, the adapter must not invoke `android-to-kmp-migrator` until one of these is true:
|
|
30
|
+
|
|
31
|
+
- Fresh `android-project-analyst` SPEC artifacts are provided and recorded in intermediate asset records.
|
|
32
|
+
- The adapter first routes and observes an `android-project-analyst` migration-mode run that produces fresh SPEC artifacts.
|
|
33
|
+
|
|
34
|
+
If the migrator returns `ready_for_validation`, the adapter records the migration report and either routes `kmp-test-validator` or returns `ready_for_validation` with an explicit validation handoff requirement.
|
|
35
|
+
|
|
36
|
+
## Output Contract Refinement
|
|
37
|
+
|
|
38
|
+
The active adapter docs now distinguish output filenames from output content responsibilities. `SKILL.md` and `workflow.md` define the artifact schedule and content matrix, while each role file states the exact JSON/Markdown filenames and the evidence each artifact must contain.
|
|
39
|
+
|
|
40
|
+
Role ownership is explicit:
|
|
41
|
+
|
|
42
|
+
- `task_understanding_router.*` records the task interpretation, route, focus, inputs, artifact evidence, downstream sequence, and required inspections/assets.
|
|
43
|
+
- `workflow_orchestration.*` records downstream dispatch contracts, output roots, expected/observed artifacts, stage requests, asset updates, reruns, and blockers.
|
|
44
|
+
- `workspace_state_discipline.*` records adapter discipline state, artifact inventory, path/freshness checks, reruns, blockers, and next actions.
|
|
45
|
+
- `stage_inspection.*` records a single stage gate with checked inputs/outputs, compliance, freshness, asset coverage, reruns, blockers, and next stage.
|
|
46
|
+
- `intermediate_asset_records.*` records every consumed adapter/downstream artifact with producer, path, status, freshness, consumers, evidence, and gaps.
|
|
47
|
+
- `task_adapter_report.*` records the final verified adapter status, downstream summaries, stage/asset summaries, readiness, reruns, blockers, and next action.
|
|
48
|
+
|
|
49
|
+
The adapter must reject artifacts that have the correct filename but contain another role's work, generic downstream summaries without machine-routable evidence, or downstream validator paths written under the migration output root instead of the parallel `validation` output root.
|