Skip to content

Compatibility configuration

agentic-proteins owns no independent configuration schema. Its configuration types and defaults are forwarded from bijux-proteomics-runtime; a legacy import and a canonical import must construct the same object and produce the same runtime behavior.

Run configuration

RunConfig groups the decisions that must be recorded with an execution:

Concern Fields
Providers predictors_enabled, execution_mode
Resource policy resource_limits, retry_policy, loop_max_cost
Loop control loop_max_iterations, loop_stagnation_window, loop_improvement_threshold
Reproducibility seed, tool_versions, dry_run, strict_mode
Review require_human_decision, logging_enabled
Placement artifacts_dir, launch_surface, container and scheduler fields
Evidence capture max_bundle_artifact_bytes

Unknown fields are rejected. Calling with_defaults() returns both the resolved configuration and a list naming every default that was applied. That warning list matters: it distinguishes an operator choice from behavior selected by the runtime.

from agentic_proteins.orchestration.run_config import RunConfig

requested = RunConfig(
    predictors_enabled=["esmfold"],
    execution_mode="gpu",
    strict_mode=True,
    seed=11,
)
resolved, defaulted_fields = requested.with_defaults()

New code should import the same type from bijux_proteomics_runtime.runs.run_config; the compatibility path exists for consumer continuity.

API configuration

AppConfig configures the forwarded FastAPI application. base_dir selects the runtime workspace. docs_enabled controls OpenAPI, Swagger UI, and ReDoc; title, description, and version describe the transport surface. Creating the application does not validate scientific inputs or execute a workflow.

from pathlib import Path

from agentic_proteins.interfaces.http import AppConfig, create_app

app = create_app(AppConfig(base_dir=Path("runtime-state"), docs_enabled=False))

There is no compatibility-only environment-variable namespace or hidden configuration file. If the two package names resolve different defaults, providers, workspace paths, or validation behavior, migration safety has been broken.