feat(solver): Phase 3c — runner solver command handlers #157
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 3c: Runner Support
Add solver command handlers to the existing
silorunnerbinary (cmd/silorunner/main.go). The runner already implements the full job lifecycle (claim, start, progress, complete/fail, log, DAG sync). This phase addssolver-run,solver-diagnose, andsolver-kinematicto theexecuteJobswitch statement.See docs/SOLVER.md — Phase 3c
Files to modify
cmd/silorunner/main.go— Add solver command dispatch cases toexecuteJob()Files to create
src/Mod/Assembly/Solver/bindings/runner.py—kcsolve.runnerPython entry point (invoked by silorunner via subprocess)Commands
solver-runsolvesolver-diagnosediagnosesolver-kinematickinematicExecution flow
solvertagSolveContextfrom job argspython3 -m kcsolve.runnervia subprocess (stdin JSON, stdout result)Standalone process mode
Reads JSON from stdin, writes result to stdout. Exit 0 = success, non-zero = failure with error on stderr.
Runner config additions
Dependencies
from_dict()/to_dict()