← Files Cecil-IA Labs FFmpegARCHIVED FILE

docs/development/checklists/runtime.md

1.78 KB · Sep 30, 2026 · 23:17 UTC

↓ Download file

# Milestone 2 Checklist — FFmpeg Core Runtime

**Version:** `0.1.0-alpha.2`  
**Status:** Complete

## Deliverables

- [x] Binary discovery.
- [x] Explicit binary override.
- [x] `FFMPEG_PATH` / `FFPROBE_PATH` environment overrides.
- [x] FFmpeg execution.
- [x] FFprobe execution.
- [x] Safe argument-array execution.
- [x] `shell: false` enforced.
- [x] No `eval`.
- [x] No `exec`/`execFile`.
- [x] Exit-code handling.
- [x] Signal handling.
- [x] stdout capture.
- [x] stderr capture.
- [x] Bounded capture buffers with truncation markers.
- [x] Structured execution result.
- [x] Temporary-file/workspace management.
- [x] Path traversal protection for temporary workspace.
- [x] Core `--dry-run` behavior.
- [x] JSON execution schema updated.
- [x] AbortSignal cancellation support.
- [x] SIGINT/SIGTERM → grace → SIGKILL termination strategy.
- [x] Execution timing.
- [x] Verbose command rendering.
- [x] Incremental FFmpeg progress parser.
- [x] Binary-version parser foundation.
- [x] Typed runtime error mapping.
- [x] Core runtime exported from package API.
- [x] Unit/integration test sources created.
- [x] Dependency-free runtime verifier created.
- [x] ADR documenting native `spawn` boundary.
- [x] Strict TypeScript compilation of core passed.
- [x] Real FFmpeg/FFprobe smoke execution passed.

## Runtime boundary invariant

Only this production module may execute child processes:

```text
src/core/command-result.ts
```

All domain code must route through:

```text
runFFmpeg()
runFFprobe()
```

## Deferred intentionally

The following remain Milestone 3 concerns:

- user-facing `doctor` implementation;
- user-facing `probe` implementation;
- FFmpeg minimum-version enforcement;
- encoder/decoder/filter enumeration;
- hardware-acceleration discovery;
- normalized media metadata objects.

SHA-256: ce25437d8f88f42980d6de538e5d94f6dc629e770a0d76219dbea50e58f7f809