Skip to content

Commit 5658e23

Browse files
committed
Wire Local Model Door commands into sourceosctl
1 parent 2aca63d commit 5658e23

1 file changed

Lines changed: 79 additions & 0 deletions

File tree

sourceosctl/cli.py

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
fingerprint,
1313
ai,
1414
agents,
15+
local_model,
1516
agent_machine,
1617
office,
1718
)
@@ -134,6 +135,84 @@ def build_parser() -> argparse.ArgumentParser:
134135
)
135136
agents_sandbox_plan_p.set_defaults(func=agents.sandbox_plan)
136137

138+
# --- local-model ---
139+
local_model_p = sub.add_parser("local-model", help="Local Model Door helpers")
140+
local_model_sub = local_model_p.add_subparsers(
141+
dest="local_model_command", metavar="<subcommand>"
142+
)
143+
local_model_sub.required = True
144+
145+
local_model_doctor_p = local_model_sub.add_parser(
146+
"doctor", help="Inspect local model runtime availability without pulling or inference"
147+
)
148+
local_model_doctor_p.set_defaults(func=local_model.doctor)
149+
150+
local_model_profiles_p = local_model_sub.add_parser(
151+
"profiles", help="List built-in local model profile references"
152+
)
153+
local_model_profiles_p.set_defaults(func=local_model.profiles)
154+
155+
local_model_plan_p = local_model_sub.add_parser(
156+
"plan", help="Render a local model runtime plan without pulling weights"
157+
)
158+
local_model_plan_p.add_argument(
159+
"--profile",
160+
default="local-llama32-1b",
161+
choices=sorted(local_model.LOCAL_MODEL_PROFILES),
162+
help="Local model profile key",
163+
)
164+
local_model_plan_p.set_defaults(func=local_model.plan)
165+
166+
local_model_route_p = local_model_sub.add_parser(
167+
"route", help="Render a hash-only local model route decision"
168+
)
169+
local_model_route_p.add_argument(
170+
"--task-class",
171+
required=True,
172+
choices=[
173+
"router",
174+
"triage",
175+
"summarization",
176+
"rewrite",
177+
"office-assist",
178+
"agent-machine-assist",
179+
"offline-fallback",
180+
"coding-assist",
181+
"privacy-first-chat",
182+
"complex-reasoning",
183+
],
184+
help="Task class to route",
185+
)
186+
local_model_route_p.add_argument(
187+
"--prompt",
188+
default=None,
189+
help="Optional prompt text; only a SHA-256 hash is emitted",
190+
)
191+
local_model_route_p.add_argument(
192+
"--personalization-ref",
193+
default=None,
194+
help="Optional personal model/adaptation governance reference",
195+
)
196+
local_model_route_p.add_argument(
197+
"--router-binding-ref",
198+
default=local_model.DEFAULT_ROUTER_BINDING_REF,
199+
help="Model-router binding reference",
200+
)
201+
local_model_route_p.set_defaults(func=local_model.route)
202+
203+
local_model_evidence_p = local_model_sub.add_parser(
204+
"evidence", help="Local model evidence helpers"
205+
)
206+
local_model_evidence_sub = local_model_evidence_p.add_subparsers(
207+
dest="local_model_evidence_command", metavar="<subcommand>"
208+
)
209+
local_model_evidence_sub.required = True
210+
local_model_evidence_inspect_p = local_model_evidence_sub.add_parser(
211+
"inspect", help="Inspect local model route evidence JSON"
212+
)
213+
local_model_evidence_inspect_p.add_argument("path", help="Path to local model evidence JSON")
214+
local_model_evidence_inspect_p.set_defaults(func=local_model.evidence_inspect)
215+
137216
# --- agent-machine ---
138217
agent_machine_p = sub.add_parser("agent-machine", help="Agent Machine helpers")
139218
agent_machine_sub = agent_machine_p.add_subparsers(

0 commit comments

Comments
 (0)