Add IPA gesture experiment harness
This commit is contained in:
parent
931d41940a
commit
62178531f9
9 changed files with 859 additions and 4 deletions
|
|
@ -587,6 +587,48 @@ spent, what latency budget it was meant to respect, and how confident the
|
|||
mapping was. A tiny audible witness that sounds right but arrives from a
|
||||
clockless swamp is already teaching the model to lie with a lovely voice.
|
||||
|
||||
### Frozen IPA Gesture Rounds
|
||||
|
||||
`IpaGestureExperiment.WriteRound` is the first batch surface for IPA hypothesis
|
||||
work. It writes a frozen round bundle under a caller-provided artifact root:
|
||||
|
||||
- `manifest.yaml`: target IPA descriptors, variant knobs, candidate script
|
||||
paths, primitive timeline paths, and the authority boundary for the round.
|
||||
- `candidates/*.aqua`: deterministic primitive vocal scripts using
|
||||
`phoneme_gesture` plus the public `ControlSurface`/`ControlSpline` path.
|
||||
- `timelines/*.csv`: `ProbeTimelineReport` output for each candidate before
|
||||
audio parity.
|
||||
- `metrics.csv`: first-layer `gesture` metrics only:
|
||||
`surface_coverage`, `motion_direction`, `contour_timing`,
|
||||
`primitive_timeline`, and `gesture_score`.
|
||||
- `evidence.jsonl`: one short machine-readable receipt per candidate for later
|
||||
science passes.
|
||||
|
||||
`IpaGestureExperiment.AnalyzeRound` adds the deterministic science packet:
|
||||
|
||||
- `analysis/metric-summary.csv`: per-target metric mean, min, max, spread, and
|
||||
best/worst candidate IDs.
|
||||
- `analysis/candidate-clusters.csv`: `strong`, `workable`, and `weak`
|
||||
candidate bands by `gesture_score`.
|
||||
- `analysis/science-brief.md`: a compact handoff for a human or sub-agent to
|
||||
inspect score surfaces, clusters, and next hypothesis pressure.
|
||||
|
||||
This round writer owns frozen candidate evidence. It does not own clean vocal
|
||||
identity, full spectrogram parity, optimizer checkpoints, or distributed worker
|
||||
orchestration. Those stages may consume the bundle later, but they must add
|
||||
their own scores instead of rewriting gesture evidence after the fact.
|
||||
|
||||
The intended scale-out loop is brutally simple:
|
||||
|
||||
1. Generate a round of descriptor/variant candidates and primitive timelines.
|
||||
2. Hand the frozen bundle to a science worker for loss-landscape summaries,
|
||||
clustering, outlier detection, and next-hypothesis recommendations.
|
||||
3. While that worker runs, generate another round with new DSL or patch
|
||||
variations.
|
||||
4. Merge only conclusions that improve the layered evidence ledger:
|
||||
`gesture_score` first, then `clean_vocal_score`, then
|
||||
`full_parity_score`.
|
||||
|
||||
## CultMesh Render/Scoring Work
|
||||
|
||||
CultMesh is the transport, admission, and worker-orchestration layer for speech
|
||||
|
|
|
|||
|
|
@ -136,6 +136,17 @@ Only the third score is allowed to reward recording-condition helpers. The first
|
|||
score is where IPA labels and anatomical descriptors prove that the right organs
|
||||
were asked to move.
|
||||
|
||||
The first scalable IPA training loop starts with frozen gesture rounds, not a
|
||||
free-running optimizer. `IpaGestureExperiment.WriteRound` produces candidate
|
||||
scripts, primitive timelines, gesture metrics, a manifest, and evidence JSONL
|
||||
for a whole batch. `IpaGestureExperiment.AnalyzeRound` then writes metric
|
||||
summaries, score-band clusters, and a science brief. A science worker can
|
||||
inspect that immutable bundle for clusters, outliers, loss surfaces, and
|
||||
promising descriptor/variant changes while the foreground process writes the
|
||||
next batch. This keeps hypothesis generation, primitive evidence, and
|
||||
statistical analysis separate enough to argue with each other. Good. Machines
|
||||
get less stupid when their witnesses are allowed to disagree.
|
||||
|
||||
Do not start serious gradient descent from toy embedding packets. The first
|
||||
training contract coordinated with Weksa is
|
||||
`weksa.utterance_embedding_handoff.v0.1`: 1024 speech-text floats from
|
||||
|
|
|
|||
Loading…
Reference in a new issue