Skip to content

Add size-first encode defaults #102

@shiny-code-bot

Description

@shiny-code-bot

Objective

Add explicit size-first encode defaults to Mediaforce config/runtime settings and make the assistant/folder workflow consume those defaults as product intent.

This is the first correction slice: it does not replace ab-av1, but it stops treating VMAF-only target search as the center of the workflow.

Finish Line

Config, settings, and tuning context carry explicit size-first defaults.

Current Status

State: Active
Next action: Finish full frontend/acceptance validation and open PR from correct-encoding-decision-model.
Blocked by: None
Waiting for: Full local gate result.
Last verified: 2026-05-27, focused backend tests and svelte-check passed after implementing size-first defaults.

Scope

  • In: config/defaults.toml, mediaforce/web/settings_runtime.py, tuning payload/toolbelt context, Svelte settings/folder helper types, docs, and focused tests.
  • Out: New encoder binaries, DB migrations, full review-gate rewrite.

Acceptance Criteria

  • Defaults expose target size MB and typical episode runtime minutes.
  • Defaults expose review model/mode naming that makes current ab-av1 path a fast sample mode.
  • Runtime settings preserves old payloads and normalizes new fields.
  • Assistant tuning payload sees the defaults so default/size-first requests use operator preference.
  • UI readouts use size-target language instead of implying metrics are the goal.

Relationships

Part of #101.

Validation

  • uv run --with pytest pytest tests/test_tuning_runtime.py tests/test_encode_queue_recovery.py
  • npm --prefix frontend run test:unit -- --run
  • npm --prefix frontend run check

Decisions

  • Existing VMAF/XPSNR fields stay as guardrails for compatibility.
  • Default resolution remains max_height = 1080 unless the operator requests otherwise.

Open Questions

None for this slice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:donePlan completed or superseded

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions