/** * Paper-8 cross-backend determinism + Full Loop Demo v2 publication runner. * * Paper: research/paper-8-unified-siggraph.tex * §"Cross-Backend Determinism Matrix" → Table tab:ik-matrix-unified * §"Full Loop Demo v2" → Table tab:perf * * Artifacts: * .bench-logs/paper-8-determinism.json (determinism matrix, all 12 cells) * .bench-logs/paper-8-full-loop-demo.json (100-agent × 60-frame overhead) * * What this does: * 1. Runs the 3-mode × 4-chain-length = 12-cell determinism matrix * (run A + run B per cell, pairwise hash equality). * 2. Runs the Full Loop Demo v2 harness (100 agents × 60 frames, hash * composition overhead budget, target ≤ 0.34 ms/frame). * 3. Emits two JSON artifacts and prints markdown tables for paper paste-in. * * Environment: * PAPER8_TASK_COUNT= IK tasks per cell (default 10000) * PAPER8_SEED= PRNG seed (default 1337) * PAPER8_AGENTS= agent count for Full Loop Demo (default 100) * PAPER8_FRAMES= frame count for Full Loop Demo (default 60) * PAPER8_DETERMINISM_OUT= override determinism artifact path * PAPER8_FULLLOOP_OUT= override full-loop artifact path */ import { type DeterminismMatrixResult, type FullLoopDemoResult } from '../Paper8CrossBackendDeterminismProbe'; export interface Paper8DeterminismPublication { readonly benchmark: 'paper-8-cross-backend-determinism'; readonly paper_ref: 'research/paper-8-unified-siggraph.tex'; readonly spec_version: '2026-04-28_paper-8-determinism-runner'; readonly ran_at: string; readonly duration_ms: number; readonly task_count: number; readonly seed: number; readonly solver_modes: readonly string[]; readonly chain_lengths: readonly number[]; readonly gpu_configs: readonly { id: string; label: string; platform: string; }[]; readonly matrix: DeterminismMatrixResult; readonly markdown_table: string; } export interface Paper8FullLoopPublication { readonly benchmark: 'paper-8-full-loop-demo-v2'; readonly paper_ref: 'research/paper-8-unified-siggraph.tex'; readonly spec_version: '2026-04-28_paper-8-full-loop-demo-runner'; readonly ran_at: string; readonly duration_ms: number; readonly agent_count: number; readonly frame_count: number; readonly seed: number; readonly result: FullLoopDemoResult; readonly markdown_summary: string; } export declare function runPaper8DeterminismBenchmark(opts?: { taskCount?: number; seed?: number; }): Paper8DeterminismPublication; export declare function runPaper8FullLoopDemoBenchmark(opts?: { agentCount?: number; frameCount?: number; seed?: number; }): Paper8FullLoopPublication; export declare function writePaper8DeterminismArtifact(pub: Paper8DeterminismPublication, out_path: string): void; export declare function writePaper8FullLoopArtifact(pub: Paper8FullLoopPublication, out_path: string): void; export declare function main(argv?: string[]): Promise; //# sourceMappingURL=paper-8-publication.d.ts.map