Claude Agent 2 - Production Logging Lane
The AI photoshoot lane already has a real runtime: phones/iPads capture, `multicam-server` coordinates, Live Director runs Photoshoot Mode, stills can be uploaded, and a Convex production ledger already exists. The missing piece is not architecture. The missing piece is making the live shoot write its own history. Your job is to wire the live photoshoot path into the already-built Convex production backend so a session produces durable production memory: sessions, cameras, cuts, holds, still markers, and other crea
Full Public Reader
Claude Agent 2 - Production Logging Lane
Prime The Model
The AI photoshoot lane already has a real runtime: phones/iPads capture, `multicam-server` coordinates, Live Director runs Photoshoot Mode, stills can be uploaded, and a Convex production ledger already exists. The missing piece is not architecture. The missing piece is making the live shoot write its own history. Your job is to wire the live photoshoot path into the already-built Convex production backend so a session produces durable production memory: sessions, cameras, cuts, holds, still markers, and other creative events. You are not here to redesign the schema, build the training model, or rework transport. You are here to make the live shoot leave behind a coherent ledger.
Shared Awareness
Other agents are working in parallel.
Codex / Orchestrator
Owns runtime convergence, device registration truth, placement metadata, and final rebuild/redeploy validation.
Do not take over:
- hero-feed transport
- mobile registry repair
- placement metadata debugging
- deployment reporting as the final source of truth
Claude Agent 1
Owns Ghost-mode UI in Live Director.
Do not rebuild Ghost mode or pending-cut UX.
OpenCode
Owns the offline training pairing branch.
Do not touch training code or dataset generation.
Your Mission
Use the existing Convex production ledger as the source of truth for the photoshoot session.
Your main deliverables:
- `Start Shoot` creates or updates a `photoshoot_performance` production session
- participating cameras are written into `productionCameras`
- live direction writes meaningful events into `productionDirectorEvents`
- still capture creates at least one production still record or event linkage
- session completion closes out the production session
Existing Backend You Must Reuse
Primary existing backend files:
- `[home]/Desktop/Comp-Core/apps/convex-memory/convex/schema.ts`
- `[home]/Desktop/Comp-Core/apps/convex-memory/convex/production.ts`
- `[home]/Desktop/Comp-Core/apps/convex-memory/convex/http.ts`
Supporting app/runtime files likely involved:
- `[home]/Desktop/MotionMixLiveDirector/MotionMixLiveDirector/ServerStore.swift`
- `[home]/Desktop/MotionMix/multicam-server/src/main.rs`
Follow the patterns in:
- `[home]/Desktop/MotionMix/CONVEX-PRODUCTION-IMPLEMENTATION-HANDOFF.md`
What Already Exists And Must Not Be Rebuilt
- production schema/module already exists
- HTTP route style already exists
- Photoshoot Mode shell already exists
- still-upload pipeline already exists
Do not invent a parallel storage model.
Do not move this back to Supabase.
Do not pile this work into `algorithmMaxing.ts`.
Functional Scope
1. Session Start
When a photoshoot session starts from Live Director:
- create or resume a `photoshoot_performance` session
- set status appropriately
- persist relevant title/notes/mode metadata if available
2. Camera Registration
Write participating cameras into `productionCameras`.
Use the real live camera set. If some placement metadata is incomplete, do not block on that. Persist the best available role/source identity and let Codex handle runtime placement correctness separately.
3. Event Logging
Write meaningful event rows for:
- cut
- hold
- release
- mode change
- still capture or still marker
If music moments are already available with minimal clean wiring, include them. If not, do not fake them.
4. Session Completion
On end/stop:
- mark the production session complete
- write completion timestamp
- preserve the final state cleanly
File Boundaries
You may edit:
- `[home]/Desktop/Comp-Core/apps/convex-memory/convex/production.ts`
- `[home]/Desktop/Comp-Core/apps/convex-memory/convex/http.ts`
- `[home]/Desktop/MotionMixLiveDirector/MotionMixLiveDirector/ServerStore.swift`
- `[home]/Desktop/MotionMix/multicam-server/src/main.rs`
You should avoid editing:
- `[home]/Desktop/MotionMixLiveDirector/MotionMixLiveDirector/Views/ScoreInspectorView.swift`
- `[home]/Desktop/MotionMixLiveDirector/MotionMixLiveDirector/Views/ManualControls.swift` unless strictly necessary to trigger backend actions
- `[home]/Desktop/MotionMixApp/MotionMixApp/Services/CameraService.swift`
Non-Goals
- Do not redesign the schema unless absolutely required by a real blocker.
- Do not rework WebRTC or MJPEG transport.
- Do not build new desktop UX beyond the minimum hooks needed for backend writes.
- Do not build the training pipeline.
Data Quality Rules
- Prefer real events over verbose placeholder noise.
- One good cut event is better than ten vague debug rows.
- If still capture cannot yet produce a fully linked still candidate, at least write a clean event with enough metadata to correlate later.
- Keep the ledger append-friendly and understandable.
Suggested Verification
Convex
cd [home]/Desktop/Comp-Core/apps/convex-memory
npx tsc --noEmit
npx convex codegen --typecheck disable
npx convex deploy --typecheck disable --env-file .env.localRuntime/HTTP
Prove live writes via the production HTTP/read paths or direct Convex query runs.
Minimum evidence:
- session creation succeeds
- camera rows exist
- at least one cut event exists
- at least one still-related event exists
- session completion succeeds
Report Format
When done, include:
- exact functions/endpoints used
- example session id
- example event ids or concrete returned payload snippets
- what was intentionally left for later
RTD Verification
Structure
List exact files changed and why they were necessary.
Compilation
Report TypeScript/codegen/deploy results.
Integration
Prove the Live Director and/or server path is actually writing into Convex.
Content
Explain what the production ledger now remembers that it did not before.
User Journey
Describe what happens in the system when a human starts a photoshoot, cuts cameras, captures stills, and ends the session.
Deployment
Report the deployment target used and proof that the live backend accepted writes.
Promotion Decision
Attach run IDs, datasets, metrics, and reproduction commands.
Source Anchor
MotionMix/agent-handoffs/CLAUDE-AGENT-2-PRODUCTION-LOGGING.md
Detected Structure
Method · Evaluation · Code Anchors · Architecture