Files
animation/.agents/wiki/devops-reports/2026-07-24-animation-standard-convergence.md
jeremy 854dbb5ce4 chore(agents): migrate to agents.md protocol — .agents/ wiki/plans/rules/skills
Root AGENTS.md is now a thin entry point + knowledge map; the batch-workflow
detail it duplicated already lived in .claude/skills/animation/SKILL.md.
Folded docs/ (dances registry + iclone-bridge stub), root plans/, and
devops-reports/ into .agents/wiki/ and .agents/plans/ per the per-repo .agents/
convention. Added .agents/SOUL.md, .agents/AGENTS.md, wiki/ARCHITECTURE.md,
wiki/architecture/, and wiki/master-plan.md (derived from the closed plans +
the dance registry's live ceremony-slot table). Fixed doc-path references in
exchange/GUIDE.md, the animation skill, and the iclone-bridge stub. All moves
via mv (git detected as renames) — no content deleted.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 15:02:47 -07:00

88 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DevOps Report — Animation Standard Convergence (2026-07-23 → 24)
**Author:** Claude (Fable 5), Jeremy's session · **Repos:** `animation` + `ariki-game`
**Trigger:** Ozan landed the animation standardization contract on ariki-game main
(2026-07-23: `5409a82e0`, `3d7f3ef94`); Jeremy requested a full conformance assessment
of our lane (dance pipeline, this bridge repo, test beds), then execution of the fixes.
---
## 1. What the standard says (one paragraph)
One runtime skeleton — the Quaternius 65-bone UE-named rig. Hero body =
`Ariki_Female_QuatSkin.glb` (Mixamo weights on Quaternius rest orientations; the earlier
MixamoSkin+msrig pairing is superseded). Clip policy: UAL1 Pro = locomotion, UAL2 Source =
work (under `ariki-game/assets/quaternius/anim/`), Kevin packs gaps-only, Mixamo one-offs,
and **our iClone/video-mocap lane is explicitly separate**: `cc_retarget.py`
`dancegen/` → dance JSON. Canonical docs: `ariki-game/.humans/animation-bone-sources.html`,
wiki `player-quaternius-animator.md` + `quaternius-ual-packs.md`, skill
`aaa-player-animation`.
## 2. The assessment (how it ran)
- 52 checkable rules extracted from the 7 standard docs.
- 10 audit roles, model-routed: GLM-5.2 ×2 (inline-input tasks), DeepSeek v4-pro ×5
(code/doc/bed sweeps; one run died and was completed by the orchestrator), Fable ×3
(wiring, dance system, synthesis). Every CRITICAL/HIGH re-verified mechanically.
- Bone-census probe over 21 GLBs (this repo's `exchange/{converted,pingpong}-glb/` +
ariki `dancegen/` + the three body GLBs).
- Full report: `ariki-game/.agents/audits/animation-standard-assessment-2026-07-23.md`;
meeting page: `ariki-game/.humans/animation-standard-assessment.html`.
**Result:** the pipeline core was already conformant — 100% of runtime clip GLBs on the
65-bone contract, 4/4 `_pp` loop pairs, all dance JSONs clean post-rename, 16/17 test
beds compliant. The defects clustered in the superseded MixamoSkin/msrig mechanism and
stale doc/tool mirrors.
## 3. What we shipped
### This repo (`b4d9621`, pushed 2026-07-23)
| Change | Why |
|---|---|
| `tools/cc_retarget.py` + `mixamo_retarget.py` re-synced from ariki-game | They were stale forks (2026-07-15) silently missing `--despike`, `--fingers`, `--map ual` — PC batches would have lost QC |
| Tool **mirroring rule** added to `exchange/GUIDE.md` | Game copies are authoritative; never edit mirrors here |
| `tools/kevin_retarget.py` path fix (mirrored) | Was hardcoded to Ozan's home dir |
| `exchange/INBOX/lena/Ariki_Female_QuatSkin.glb` added (LFS) + README rewrite | The drop shipped only the superseded MixamoSkin body; **import the QuatSkin one on the PC** |
| `docs/dances/REGISTRY.md` corrections | `tide_dance_01` flagged (NO `TideDance` in the sim enum); rain note fixed (`RainDance` IS in the enum); boat table now records live `canoedismount1`/`run_to_dive`; QC split documented (loop_qc = pre-commit gate here, anim_qc = post-ingest game-side) |
| `docs/iclone-bridge.md` created | GUIDE referenced it; it never existed |
Earlier same day (`998e306`): the original Lena INBOX drop (GLB + rigged/unrigged T-pose
FBX + toned textures).
### ariki-game (`b70d5a11c` + `934b6d4dc`, pushed)
- **Dance bed `LenaBodyPath` → QuatSkin** (the bed had gone Lena-only on the superseded
MixamoSkin body whose msrig clip-reroute is dead — basename rot after the Pro rename).
Build green.
- Doc convergence: clip-inventory wiki corrected (23→30 wired UAL2; shield/sword set was
mislabeled "unused"), UALPACKS "Standard removed" claim scoped, `animation-pipelines.md`
coverage extended (+`anim-combined/ msrig/ derived-bodies/`), `pose-estimation` skill
reference re-pointed to THIS repo.
- Bug filed for Ozan: `.agents/bugs/2026-07-23-ninjajump-idle-missing-clip.md`
code requests `NinjaJump_Idle`, pack ships `NinjaJump_Idle_Loop`, resolver can't bridge.
## 4. Live verification (2026-07-24)
Screenshot-verified on a running dance bed (post-fix build): QuatSkin Lena dancers
upright, phase-locked, `war_challenge` playing on the stock clip libraries. Engine log
carries **zero** `MISSING clip` warnings → the NinjaJump bug is **latent** (current
Godot import config strips `_Loop`), not active; hardening still recommended. Bug file
updated with this evidence (`934b6d4dc`).
## 5. Open items (owners)
| Item | Owner |
|---|---|
| Import `INBOX/lena/Ariki_Female_QuatSkin.glb` on the PC (not the MixamoSkin one) | Jeremy |
| Retire `msrig/` + MixamoSkin GLB outright (recommended) or re-retarget under new basenames | Ozan (negotiate) |
| Amend the Kevin-swim keep-set rule to match the restored swim override in code | Ozan (negotiate) |
| Add derived/import packs (Run_Punch, mixamo one-offs, canoe clips) to the BONES tables | Ozan (negotiate) |
| NinjaJump 1-token fix + resolver `+_Loop` arm | Ozan (bug filed) |
| Register `canoedismount1` under a `boat_*` code at next adoption pass | Jeremy (this repo) |
## 6. Ops notes
- All syncs via `tinqs pull`/`tinqs push` (LFS-safe); QuatSkin GLB verified as an LFS pointer.
- Executor telemetry: GLM headless = 1 clean / 1 silent-empty; DeepSeek = 4 clean / 1 SIGTERM;
Fable tracks found both deep bugs (dead msrig reroute, NinjaJump). Full disclosure table
in the audit report.