Milestone 11: debug the complete loop
Debug from the outside in. At each layer, preserve the contract you observed.
| Layer | Check | If it fails |
|---|---|---|
| Service | GET /openapi.json, GET /api/v1/manifests |
Fix endpoint, authentication, or deployment before changing a manifest |
| Pack | GET /api/v1/extensions, then find retail_rota in the manifest list |
Check enabled state and server-resolvable URI; registration alone is insufficient |
| Manifest | Fetch the full manifest and run validate_manifest |
Fix the declaration or shared contract; do not disable the gate |
| Problem data | Show normalized employee/shift records and pre-solve feasibility checks | Name every missing or invalid field; never generate hidden demo data |
| Solve | Inspect status, failure_code, detail, job_id, engine, and build stamp |
Repair the named input or service; do not silently switch provider or engine |
| Answer | Inspect is_feasible, placements, admission bands, violations, and
unevaluable_rules |
Do not present an uncertified or partially evaluated plan as solved |
| UX | Compare the raw envelope with the normalized view | Fix the shared normalizer or adapter rather than adding per-response guesses |
For rostering engine selection, be explicit:
from helixor_solvers.rostering_local import solve_rostering_local
result = solve_rostering_local(
problem,
options={"engine": "benders_dw"},
)
Unknown engines return a typed failure. The request must not fall through to a different solver. Judge every engine’s final schedule with the same solver-independent feasibility certificate.
Before a rotation-based solve, inspect what is actually priced:
from helixor_solvers.manifest_master import preflight_rotations
report = preflight_rotations(
manifest,
problem,
n_entities=len(problem["employees"]),
n_groups=len(problem["shifts"]),
)
print(report["priced_in_columns"])
print(report["priced_in_rows"])
print(report["unpriced"])
print(report["warnings"])
An unpriced family is a diagnostic prediction about where quality may be lost. It is not permission to claim that the rule was enforced.