Part of #125. Blocked by the scaffold and the conversation/prompt protocol issues.
Problem
Swift needs Codable mirrors of the wire protocol (tasks, workspaces, WS envelope, conversation events, prompts). Hand-mirroring drifts silently unless fixtures pin it.
Outcome
ClaudiaKit model layer decoding every protocol message, verified against JSON fixtures generated by the backend so drift breaks tests, not the app.
Acceptance criteria
Scope & expectations
- Where:
apps/ClaudiaNative/ClaudiaKit/Sources/Models, fixture-gen script in backend/scripts/
- Constraints: tolerant decoding everywhere (forward-compat); no codegen dependency — plain Codable + fixtures
How to verify
CLI — xcodebuild test (or swift test) output green over the generated fixtures; show the fixture-gen command output.
Part of #125. Blocked by the scaffold and the conversation/prompt protocol issues.
Problem
Swift needs
Codablemirrors of the wire protocol (tasks, workspaces, WS envelope, conversation events, prompts). Hand-mirroring drifts silently unless fixtures pin it.Outcome
ClaudiaKit model layer decoding every protocol message, verified against JSON fixtures generated by the backend so drift breaks tests, not the app.
Acceptance criteria
npm run gen:swift-fixtures) emits fixture JSON from the real TypeScript types/test data into the Swift test bundle.unknown(raw)rather than throwingprotocolVersionsurfaced and checked against server-infoScope & expectations
apps/ClaudiaNative/ClaudiaKit/Sources/Models, fixture-gen script inbackend/scripts/How to verify
CLI —
xcodebuild test(orswift test) output green over the generated fixtures; show the fixture-gen command output.