Definition of done for a new solver pack
A pack is complete only when all of these are true:
-
its manifest passes registration with no enabled rule disappearing;
-
its required records and field types are explicit;
-
its demo dataset is requested explicitly and never fabricated by solve;
-
inline solve works before installation;
-
the versioned config archive uploads, passes admission, and activates without a solver code deployment;
-
pack discovery, manifest retrieval, and normal solve work;
-
the generated SDK compiles and exercises discovery, retrieval, solve, and typed failure handling;
-
the generic UX can render its inputs, constraints, objectives, and fallback solution;
-
the domain visualization reads the normalized solution and certificate;
-
infeasible, missing-data, unsupported, pending, and service-failure states each have an actionable presentation;
-
one independent feasibility test judges the final schedule;
-
user corrections can be traced to the manifest, problem data, solver, and version that produced the original answer.
That is the complete path: author locally, validate, solve inline, upload and activate an immutable config pack, discover through the API, regenerate the SDK, render the same contracts in the UX, and preserve enough evidence to debug and improve the shared platform. The current repository reaches the inline-solve and server-local registration steps; the artifact upload/admission boundary is the principal gap to implement next.