Skip to content

Extending VAMOS

Choose one extension boundary and follow its canonical developer guide:

Goal Canonical guide Owning area
Define an ad-hoc or built-in problem Adding a problem foundation/problem
Add crossover, mutation, repair, or initialization Adding an operator engine/operators
Add a search lifecycle Adding an algorithm engine/algorithm
Accelerate a stable numerical primitive Adding a backend foundation/kernel
Add a quality indicator Adding a metric foundation/quality_indicators

Changes to the CLI, studies, or run artifacts and exact replay use their own boundaries. Do not place orchestration in a numerical extension or create a second public facade.

Public examples use vamos, vamos.algorithms, vamos.problems, and vamos.ux.api. Registry and implementation imports are internal contributor surfaces. Every extension needs a small deterministic or seeded test, a registry/resolution test where applicable, and documentation of the supported public route.

Stable VAMOS 1.x contracts follow the public deprecation and schema-transition policy. Internal and experimental contracts should still be replaced comprehensively rather than gaining duplicate spellings or paths.

path: docs/dev/add_problem.md
path: docs/dev/add_operator.md
path: docs/dev/add_algorithm.md
path: docs/dev/add_backend.md
path: docs/dev/add_metric.md
path: docs/dev/cli.md
path: docs/dev/studies.md
path: docs/dev/run_artifacts_and_replay.md