SAN Training Status - Verified vs Unverified
This page replaces the old "SAN Training V5" narrative. The old page stated dataset counts and validation loss as facts without pointing to local artifacts. The current rule is simple: training claims need files.
Full Public Reader
SAN Training Status - Verified vs Unverified
This page replaces the old "SAN Training V5" narrative. The old page stated
dataset counts and validation loss as facts without pointing to local artifacts.
The current rule is simple: training claims need files.
Verified Local Runtime Artifacts
Found in MotionMixApp:
Desktop/MotionMixApp/MotionMixApp/Resources/san_weights.bin
Desktop/MotionMixApp/MotionMixApp/Resources/san_manifest.jsonCurrent manifest inspection:
weights size: 656,992 bytes
manifest size: 8,450 bytes
manifest entries: 76
total parameters: 164,248This proves there is a local SAN weight artifact compatible with the binary
manifest loader. It does not prove the training dataset, validation loss, or model
quality by itself.
Verified Training Capture Code
Source: `MotionMixApp/Services/SANTrajectoryLogger.swift`.
The logger writes schema v2 JSONL:
{
"schema_version": 2,
"dims": 128,
"ts": 0.0,
"frame": 0,
"bar": null,
"track_name": null,
"track_time": null,
"input": [128 floats],
"audio_kick": [5 floats],
"audio_hihat": [5 floats],
"audio_bass": [5 floats],
"audio_pad": [5 floats],
"camera_scores": [7 floats],
"cut_timing": 0.0,
"pattern_intensity": 0.0,
"pattern_variation": 0.0,
"phrase": [4 floats],
"gesture_probs": [8 floats],
"phase": 0.0,
"regime": 0,
"calibration_confidence": 0.0,
"latency_us": 0.0
}Local storage:
Documents/san-training/<session-id>.jsonlRemote streaming endpoint in source:
http://[ip]:9471/san-frameNetwork format:
Content-Type: application/x-ndjson
X-MotionMix-SAN-Session: <session-id>
X-MotionMix-SAN-Schema: 2
X-MotionMix-SAN-Dims: 128Verified Runtime Loading Code
Source: `SANService.loadWeights()`.
The app attempts to load weights from:
1. app bundle;
2. Documents directory.
Then it calls:
san_load_weights(sanHandle, basePtr, binData.count, manifestPtr)Rust returns:
positive integer: loaded parameter count
-1: null pointer
-2: manifest UTF-8 issue
-3: manifest JSON parse issue
-4: binary/shape/bounds issueUnverified Old Claims
Do not repeat these as current facts unless their artifacts are found:
- "V5 is 135,000 parameters."
- "V5 trained on 5,408 real performance pairs."
- "Validation loss was 0.028."
- "Training ran from `/Volumes/HD1/training-phrases/train_san_v5.py`."
- "The current deployed weights are from that exact run."
They may be historically true, but this documentation set is now source-grounded.
Historical claims need a training log, run directory, manifest, or checkpoint note.
Current Hard Evidence From MASTER-TASKS
`Desktop/MotionMixApp/MASTER-TASKS.md` is more cautious than the old docs. At
that checkpoint it says:
L1 FAN: built/wired, self-calibrating
L2 FuseMoE: built/wired, not trained
L3 NHA: built/wired, not trained
L4 TTT: built/wired, partial
L5 heads: built/wired, not trained
ConditioningEncoder: shell, wired, not trained
FlowGenerator1Step: shell, wired, not trained
Training loop: not builtThis does not mean the system stayed in that state forever. It means every later
claim must point to a later artifact.
What A Real SAN Training Report Must Include
A valid future training report should include:
- training data path;
- count of JSONL files;
- count of accepted frames;
- schema version;
- input dimensionality;
- target fields;
- split method;
- optimizer and learning rate;
- checkpoint path;
- manifest path;
- binary weight path;
- parameter count;
- validation metrics;
- on-device load count;
- on-device non-flat output test;
- latency distribution;
- `mixFactor` test at 0.0, 0.25, 0.5, 0.75, 1.0.
Without that report, docs should say "weights exist" rather than "model is
trained and validated."
Current Safe Summary
SAN has:
- implemented Rust layers;
- implemented Swift wrapper;
- local bundled weights;
- local and remote JSONL capture;
- a settings-controlled mix factor.
SAN still needs:
- a current training provenance report;
- live output sanity checks;
- consumer influence checks;
- current validation numbers tied to the exact artifact in `Resources/`.
Promotion Decision
Attach run IDs, datasets, metrics, and reproduction commands.
Source Anchor
computational-choreography/05-training-and-learning/san-training-v5.md
Detected Structure
Method · Evaluation · Code Anchors · Architecture