Files
animation/.agents/wiki/devops-reports/2026-07-24-animation-standard-convergence.md
T
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

5.2 KiB
Raw Blame History

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.pydancegen/ → 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.