Skip to content

test: guard that each bundled sample template's engines map to an installable extra #445

Description

@chinmayajha

Problem

A sample template can enable an engine that no documented/installable extra provides, and nothing catches it. This is exactly how gmail_web shipped camera_screenshot: enabled: true (fixed in #441) — a Selenium web template requiring a camera source, so optics init --template gmail_weboptics dry_run failed out of the box.

Proposal

Add a drift-guard test that, for every directory under optics_framework/samples/, parses config.yaml and asserts each enabled engine (driver_sources / elements_sources / text_detection / image_detection / llm_models) is covered by an installable extra combination (i.e. maps to a known engine/extra in helper/setup.py, allowing for the always-present core sources).

This keeps the README's "--template scaffolds a working project" promise honest and prevents regressions like the gmail_web one.

Context

Surfaced by a fresh-install audit of the README onboarding commands (see #441, #443).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions