Catalog ID: EL-33
Public issue: #128
Reviewed baseline: 71abaf4067d4118f28910a22c20524b4e0282b28
Core objective: Integrate existing local-inference capabilities into one
desktop surface without implementing a second inference engine or bypassing
provider policy.
Priority / phase: P2 / Local inference integration
Publication status: Published as #128.
Dependency mapping
UX/UI requirements
- Display local endpoint health, capabilities, selected model, resource
estimates, queue state, and benchmark provenance.
- Distinguish measured, estimated, stale, and unavailable values.
- Provide validated planning/scheduling, cancellation, and accessible history.
- Never imply automatic selection from an installed model, endpoint, or key.
Public interfaces
- Add renderer-safe health, capability, execution-plan, schedule, queue, and
benchmark DTOs.
- Accept configured profiles, allowlisted local endpoints, typed workloads, and
bounded parameters only.
- Return coded stale, compatibility, capacity, timeout, and cancellation errors.
Underlying app changes
- Add integration endpoints over existing local inference services.
- Normalize service output into versioned transport DTOs.
- Preserve provider policy and
provider=none network denial.
- Use bounded backend refresh rather than renderer endpoint probes.
Acceptance criteria
Security mitigations and rejected anti-patterns
- Applies TM-L01, TM-A01, TM-A02, TM-I01, and TM-O01.
- Reject renderer fetch, arbitrary URLs, redirects, LAN discovery by default,
credential inference, hidden cloud fallback, unbounded polling, payload
telemetry, and renderer-owned scheduling truth.
Workspace mapping
- Exclusive owned paths:
desktop/src/features/local-inference/**,
src/ancestryllm/api/routes/local_inference/**,
tests/api/local_inference/**, and
desktop/tests/local-inference/**.
- Shared-file rule: Existing service owners receive exact adapter requests;
generated contracts, provider registries, dependencies, and lockfiles remain
coordinator-managed.
- Base rule: Branch from updated
main after all dependencies merge.
- Branch:
feature/electron-el-33-local-inference-ux
- Worktree:
/Users/justinsoderberg/Development/worktrees/ancestryllm-electron-el-33-local-inference-ux
- Validation:
make test; make lint; make typecheck; make security;
pnpm --dir desktop test; pnpm --dir desktop typecheck; network denial
Catalog ID: EL-33
Public issue: #128
Reviewed baseline:
71abaf4067d4118f28910a22c20524b4e0282b28Core objective: Integrate existing local-inference capabilities into one
desktop surface without implementing a second inference engine or bypassing
provider policy.
Priority / phase: P2 / Local inference integration
Publication status: Published as #128.
Dependency mapping
UX/UI requirements
estimates, queue state, and benchmark provenance.
Public interfaces
benchmark DTOs.
bounded parameters only.
Underlying app changes
provider=nonenetwork denial.Acceptance criteria
context, and freshness.
provider=nonepasses network-denial instrumentation.benchmark comparison.
Security mitigations and rejected anti-patterns
credential inference, hidden cloud fallback, unbounded polling, payload
telemetry, and renderer-owned scheduling truth.
Workspace mapping
desktop/src/features/local-inference/**,src/ancestryllm/api/routes/local_inference/**,tests/api/local_inference/**, anddesktop/tests/local-inference/**.generated contracts, provider registries, dependencies, and lockfiles remain
coordinator-managed.
mainafter all dependencies merge.feature/electron-el-33-local-inference-ux/Users/justinsoderberg/Development/worktrees/ancestryllm-electron-el-33-local-inference-uxmake test;make lint;make typecheck;make security;pnpm --dir desktop test;pnpm --dir desktop typecheck; network denial