SyntheticMDProductions's picture
Update ADAM safety, UI, and model workflows (#1)
c61c435
Raw
History Blame Contribute Delete
2.24 kB
from __future__ import annotations
from adam.models import ExecutionPlan, Job, JobStatus, PlanStep
from adam.commands import TrainingCommand
def test_job_round_trip_preserves_enums_and_plan() -> None:
job = Job(
plan=ExecutionPlan(
request="Check GPU",
summary="Inspect resources",
steps=[
PlanStep(
"system_monitor",
"Inspect system",
"Read local sensors",
{"project_name": "System check"},
)
],
),
status=JobStatus.FINISHED,
progress=100,
preview_path="D:/runs/preview_epoch_5.png",
preview_epoch=5,
preview_next_epoch=10,
preview_prompt="test prompt",
preview_seed=42,
preview_steps=30,
eta_seconds=125,
estimated_completion_at="2026-08-30T23:32:00+00:00",
progress_current=75,
progress_total=100,
progress_rate=0.75,
progress_unit="step",
)
restored = Job.from_dict(job.to_dict())
assert restored.status == JobStatus.FINISHED
assert restored.plan.steps[0].tool_id == "system_monitor"
assert restored.progress == 100
assert restored.preview_path == "D:/runs/preview_epoch_5.png"
assert restored.preview_epoch == 5
assert restored.preview_next_epoch == 10
assert restored.preview_prompt == "test prompt"
assert restored.preview_seed == 42
assert restored.preview_steps == 30
assert restored.eta_seconds == 125
assert restored.estimated_completion_at == "2026-08-30T23:32:00+00:00"
assert restored.progress_current == 75
assert restored.progress_total == 100
assert restored.progress_rate == 0.75
assert restored.progress_unit == "step"
def test_training_command_accepts_live_preview_options() -> None:
command = TrainingCommand.from_dict({
"trainer": "ddpm", "dataset": "D:/data", "model_name": "Test",
"epochs": 10,
"training_options": {
"preview_enabled": True, "preview_every": 3,
"preview_prompt": "a test subject", "preview_seed": 123456789,
},
})
assert command.training_options["preview_every"] == 3