Open weights make the signal possible
Canis reads hidden-state direction and next-token uncertainty instead of asking the model to self-report. That is only possible when the model can run locally and expose its internal tensors.
Canis brings the advantages of Apertus to everyday users: because the model weights are open, we can inspect hidden-state signals and show whether a response appears confident, unsure, curious, concerned, reluctant, or warm.
“I can answer locally, cite your sources, and show how I read the response.”
Closed APIs can return polished text. Open-weight models let us inspect the mechanics behind that text. Canis turns that advantage into a compact interface for model-state inspection.
Canis reads hidden-state direction and next-token uncertainty instead of asking the model to self-report. That is only possible when the model can run locally and expose its internal tensors.
The iOS app runs smartphone-class models with MLX. The Docker prototype can run Apertus for reproducible review. Prompts, sources, chunks, and answers stay inside the deployment boundary.
Enterprises can use disposition as an additional signal for escalation queues, answer review, model comparison, governance logs, and safer deployment of open models.
The dog face is not a claim that the model has feelings. It is an instrument panel for a measured disposition signal: concept-vector alignment plus uncertainty.
Confident
The answer is stable and the model appears to converge cleanly.
Unsure
The response shows hesitation or high uncertainty.
Curious
The model is opening a line of thought or looking for context.
Concerned
The answer may involve risk, harm, or a safety boundary.
Reluctant
The model leans toward refusal, caution, or constrained output.
Warm
The response carries supportive or friendly alignment.
Canis adapts the Jacobian lens idea into a forward-only mobile pipeline: read a mid-layer hidden state, project it through a cached J-space matrix, compare it to disposition anchors, and gate the result with entropy.
The readout is computed from the model's internal activation geometry before the final answer fully streams. Our paper documents calibration experiments, controls, and why some candidate axes were removed.
The production path avoids a second generation pass. On iOS, MLX and Apple Silicon make the app much faster than the Docker demo, which favors reproducibility over speed.
Sources turn Canis into a private assistant for manuals, notes, policies, and reference PDFs. The app chunks documents locally, retrieves relevant passages, and cites the sections used in the answer.
Instead of sending private files to a remote API, Canis keeps the document workflow on the device. This is a strong use case for local models: focused answers, visible citations, and a disposition signal when the model is confident, uncertain, or constrained.
Canis demonstrates an implementation path from hackathon proof to real product: an iOS app for fast everyday use, and a Docker path for reproducible, sovereign deployment.
The app uses MLX on Apple Silicon and is designed around mobile memory, thermal limits, and offline use.
The Docker version can reuse a locally installed model or download Apertus at startup, with clear run instructions and mock mode for quick inspection.
Making disposition visible helps explain why open models matter: transparency, local control, lower inference cost, and fewer data transfers.
The TestFlight is available while App Store review is pending. The download page includes a direct link and QR code; we will replace it with the final App Store link after publication.