docs/backend-migration/handoffs/coordinator-skill-library-2026-04-23.md
Branch: feat/backend-migration-coordinator
Last commit: to be written after this file is committed
Skill-Library module was the pilot for AionUi's Electron-main-process → aionui-backend (Rust) migration. The pilot is closed. Transport/migration layer is verified clean via e2e; seven tests remain failing for reasons outside the pilot's scope.
| Role | Branch | Final SHA | Deliverables |
|---|---|---|---|
| coordinator | feat/backend-migration-coordinator (AionUi) | this commit | spec, plan, merged-in pilot docs, this handoff |
| backend-dev | feat/extension-skill-library (aionui-backend) | 274f8ab | 10 commits: spec draft, E1–E5 impl/tests, source-field fix, 2 handoffs |
| frontend-dev | feat/backend-migration-fe-skill-library (AionUi) | 316f63beb | 6 commits: 3 test mock fixes, module log, 2 handoffs |
| frontend-dev | feat/backend-migration-e2e-skill-library (AionUi) | 21cf93c6b | 4 commits on this branch for Task 4-fix: helper IPC→HTTP migration (incl. new tests/e2e/helpers/httpBridge.ts), PATH note, handoff |
| e2e-tester-2 | feat/backend-migration-e2e-skill-library (AionUi) | 148e2c592 | 5 commits: e2e report (3 phases), handoff (3 versions), post-pilot followup list |
| Criterion | Status |
|---|---|
| E2E suite covering Skill-Library endpoints passes against the integrated fe+backend | Partial — 22/29 pass (78%), Class D (transport/migration) = 0 failing |
| All four teammate branches pushed and current w.r.t. base | ✅ |
| Each teammate has a handoff file | ✅ (backend-dev, frontend-dev, e2e-tester, this coordinator handoff) |
docs/backend-migration/modules/skill-library.md summarizes the migration | ✅ (with final outcome section appended) |
Pilot verdict: SUCCESS with documented follow-ups. Rationale:
ExternalSkillSourceResponse.source field) caught and fixed mid-pilot. That validates the migration.docs/backend-migration/post-pilot/2026-04-23-skill-library-followups.md and categorized as: 1 pre-existing TS gap inherited (TC-S-17), 1 test-infra confound (TC-S-25, 125-symlinks state pollution), 4 test-authoring (Class B/C/E), 1 test state-leak (TC-S-15). None is a migration regression.None. All teammates idle and pending shutdown.
Captured in docs/backend-migration/post-pilot/2026-04-23-skill-library-followups.md. Summary:
POST /api/skills/external-paths must reject duplicate paths with 4xx. ~1-file Rust fix.fixtures.ts must also isolate ~/.aionui/skills/ and ~/.aionui/custom-skill-paths.json. Backend's resolve_skill_paths and build_extension_states must respect --data-dir instead of hardcoding dirs::home_dir().join(".aionui").afterEach cleanup must run on test failure.list_available_skills; hypothesized to be a dangling-symlink filter issue at scale.feat/backend-migration, not main. User had to correct me twice — once mid-pilot for the AionUi repo, once more when I missed that aionui-backend also had a feat/backend-migration branch. Module 2+: always verify base branch name in BOTH repos before git checkout -b.bun run dev is not a real script. AionUi's dev launch is bun start. E2E script is bun run test:e2e. Plan templates should reference actual package.json scripts.out/renderer/ must be rebuilt (bunx electron-vite build) before any post-migration e2e run. Frontend-dev's first rerun wasted ~30 min because of this. Module 2+: add "rebuild renderer bundle" as an explicit pre-run step in plan Task 4.aionui-backend binary must be on PATH. Playwright's Electron launcher shells out and doesn't inherit arbitrary env. Fix: cargo install --path crates/aionui-app (puts binary in ~/.cargo/bin/), then ensure PATH includes it.~/.aionui/skills/ accumulated 125 dangling symlinks across runs, masquerading as test flakes. Module 2+: the P0 sandbox fix in post-pilot followups is a hard prerequisite.The user has pre-approved starting Assistant module migration after this pilot closes (Task #4 in TaskList). Recommended sequence:
getAssistants + sibling). Smallest, confirms the now-validated pipeline works on a different module.| Branch | Repo | SHA |
|---|---|---|
feat/backend-migration-coordinator | AionUi | (this commit) |
feat/backend-migration-fe-skill-library | AionUi | 316f63beb |
feat/backend-migration-e2e-skill-library | AionUi | 148e2c592 |
feat/extension-skill-library | aionui-backend | 274f8ab |
Per spec §5.2 and user instruction, none of these branches are merged back into feat/backend-migration in either repo. Integration is a separate user-approved step.