AGENTS.md@apps/desktop/direct · git:20260827.250af87 · 2026-08-27 · sha256 e7996bc235a8f1d9

AGENTS.md@apps/desktop/direct git:20260827.250af87A

Immutable. This exact content is served forever at /api/v1/blob/e7996bc235a8f1d9.

# Contents

- deterministic recording worlds, synchronized multi-asset project fixtures, local face-box evidence, camera-operation receipts, compiled workflow/run evidence, scenario definitions, definition-owned sessions, pre-render browser mounts, and scripted runtime/analyzer adapters.
- browser workbench and fixed Vite entry.
- product-owned production-boundary policy and browser verification runner over the released Direct tooling.
- `bombadil-campaign.ts` and `fuzz-browser.ts` – product-owned properties, conservative actions, and one bounded diagnostic fuzz campaign for the frame-only idle recorder.
- colocated scenario, transport, and world-law tests.

# Guidelines

- Exercise the real production components and contracts against deterministic ports. Do not fork the recorder UI for the lab.
- Cover idle, permission prompts/denials, all-input recording, multiple displays, pause/resume segmentation, partial-source failure, stop/finalization, and failed/recovered states.
- Model freeze/silence analyzer results, cursor/click/typing metadata, window motion, auto zooms, cuts, and every overlay kind without invoking native capture or FFmpeg.
- Validate project fixtures through production contracts and core clock-mapping functions. Keep one screen plus two camera/audio placements, accepted audio sync, global edits, music structure, scenes, and filler safety visible in compact agent-readable form.
- Derive face-follow camera moves through the production planner. Keep manual pan/zoom keyframes, face selection, require-all and gap policies, receipt counts, sync and geometry bindings, and the local geometry-only privacy boundary visible without introducing identity evidence.
- Treat PySceneDetect as a compatible reference for local boundary evidence, never as a Direct runtime dependency. Fixture scene descriptions must remain explicitly untrusted and require neither Python nor cloud execution.
- Exercise image, SVG, GIF, video, and emoji composition controls including layout, crop, mask, blend, motion, animation, playback, and audio policy.
- Compile code-mode graph evidence through the production registry/compiler. Keep parallel waves, trusted-code interruption, exact-node replay, attempts, and graph-bound output references visible without executing workers or media tools.
- Keep scenario activation exact and artifacts deterministic. Record which facts are fixtures versus browser-observed behavior.
- Browser verification must atomically bind the v2 schema, `scenario` source, requested ID, product route, and matching activation hashes, and it must retain one catalog hash across the run.
- Prove with a boundary check that no Direct module enters production frontend, gateway, CLI, capture, Zig, or package graphs.
- Keep generic bundle scanning, browser processes, server lifecycle, contract reading, and atomic artifact mechanics in `@hraness/direct/tooling/*`. Keep Atet server identity, fresh-port selection, product interactions, assertions, and the `jungle.direct.web-verification/v1` manifest here.
- Keep Bombadil diagnostic and separate from semantic browser evidence. Pin 0.7.2 exactly, start `idle-ready` in the existing `directFrame=1` view, retain the shared Direct invariants, and keep Atet surface assertions in the campaign. The conservative action generator excludes navigation and submission, so ordinary fuzz actions cannot drop the URL-bound frame-only state.