@@ -490,6 +490,7 @@ def do_GET(self) -> None: # noqa: N802
490490 elif self .path == "/api/session" :
491491 try :
492492 from specsmith .session_init import init_session
493+
493494 ctx = init_session (project_dir )
494495 self ._json_ok (ctx .to_dict ())
495496 except Exception as exc : # noqa: BLE001
@@ -499,20 +500,25 @@ def do_GET(self) -> None: # noqa: N802
499500 elif self .path == "/api/compliance/summary" :
500501 try :
501502 from specsmith .compliance import get_compliance_summary
503+
502504 s = get_compliance_summary (project_dir )
503505 self ._json_ok (s .to_dict ())
504506 except Exception as exc : # noqa: BLE001
505507 self ._json_err (str (exc ), code = 500 )
506508 elif self .path == "/api/compliance/gaps" :
507509 try :
508510 from specsmith .compliance import get_compliance_summary
511+
509512 s = get_compliance_summary (project_dir )
510- self ._json_ok ({"uncovered" : s .uncovered_requirements , "orphaned" : s .orphaned_tests })
513+ self ._json_ok (
514+ {"uncovered" : s .uncovered_requirements , "orphaned" : s .orphaned_tests }
515+ )
511516 except Exception as exc : # noqa: BLE001
512517 self ._json_err (str (exc ), code = 500 )
513518 elif self .path == "/api/compliance/trace" :
514519 try :
515520 from specsmith .compliance import get_compliance_summary
521+
516522 s = get_compliance_summary (project_dir )
517523 self ._json_ok ({"trace_matrix" : s .trace_matrix })
518524 except Exception as exc : # noqa: BLE001
@@ -522,30 +528,51 @@ def do_GET(self) -> None: # noqa: N802
522528 elif self .path == "/api/governance/rules" :
523529 try :
524530 from specsmith .compliance import get_governance_rules_status
531+
525532 self ._json_ok ({"rules" : get_governance_rules_status (project_dir )})
526533 except Exception as exc : # noqa: BLE001
527534 self ._json_err (str (exc ), code = 500 )
528535 elif self .path == "/api/governance/phase" :
529536 try :
530537 from specsmith .phase import PHASE_MAP , phase_progress_pct , read_phase
538+
531539 root = Path (project_dir ).resolve ()
532540 key = read_phase (root )
533541 phase = PHASE_MAP [key ]
534- self ._json_ok ({"phase" : key , "label" : phase .label , "emoji" : phase .emoji , "readiness_pct" : phase_progress_pct (phase , root )})
542+ self ._json_ok (
543+ {
544+ "phase" : key ,
545+ "label" : phase .label ,
546+ "emoji" : phase .emoji ,
547+ "readiness_pct" : phase_progress_pct (phase , root ),
548+ }
549+ )
535550 except Exception as exc : # noqa: BLE001
536551 self ._json_err (str (exc ), code = 500 )
537552 elif self .path == "/api/governance/audit" :
538553 try :
539554 from specsmith .auditor import run_audit
555+
540556 report = run_audit (Path (project_dir ).resolve ())
541- self ._json_ok ({"healthy" : report .healthy , "passed" : report .passed , "failed" : report .failed , "results" : [{"passed" : r .passed , "message" : r .message } for r in report .results ]})
557+ self ._json_ok (
558+ {
559+ "healthy" : report .healthy ,
560+ "passed" : report .passed ,
561+ "failed" : report .failed ,
562+ "results" : [
563+ {"passed" : r .passed , "message" : r .message }
564+ for r in report .results
565+ ],
566+ }
567+ )
542568 except Exception as exc : # noqa: BLE001
543569 self ._json_err (str (exc ), code = 500 )
544570
545571 # ── Providers ──────────────────────────────────────────
546572 elif self .path == "/api/providers" :
547573 try :
548574 from specsmith .agent .provider_registry import ProviderRegistry
575+
549576 reg = ProviderRegistry .load ()
550577 self ._json_ok ({"providers" : [p .to_public_dict () for p in reg .providers ]})
551578 except Exception as exc : # noqa: BLE001
@@ -555,22 +582,35 @@ def do_GET(self) -> None: # noqa: N802
555582 elif self .path == "/api/profiles" :
556583 try :
557584 from specsmith .agent .execution_profiles import ExecutionProfileStore
585+
558586 store = ExecutionProfileStore .load ()
559- self ._json_ok ({"profiles" : [p .to_dict () for p in store .profiles ], "default" : store .default ().id })
587+ self ._json_ok (
588+ {
589+ "profiles" : [p .to_dict () for p in store .profiles ],
590+ "default" : store .default ().id ,
591+ }
592+ )
560593 except Exception as exc : # noqa: BLE001
561594 self ._json_err (str (exc ), code = 500 )
562595
563596 # ── Model Scores ───────────────────────────────────────
564597 elif self .path .startswith ("/api/models/scores" ):
565598 try :
566- from specsmith .agent .model_intelligence import BASELINE_SCORES , rank_models_for_role
567599 import urllib .parse as _up
600+
601+ from specsmith .agent .model_intelligence import (
602+ BASELINE_SCORES ,
603+ rank_models_for_role ,
604+ )
605+
568606 qs = _up .urlparse (self .path ).query
569607 params = _up .parse_qs (qs )
570608 role = params .get ("role" , ["coder" ])[0 ]
571609 models = list (BASELINE_SCORES .keys ())
572610 ranked = rank_models_for_role (role , models )
573- self ._json_ok ({"role" : role , "scores" : [{"model" : m , "score" : s } for m , s in ranked ]})
611+ self ._json_ok (
612+ {"role" : role , "scores" : [{"model" : m , "score" : s } for m , s in ranked ]}
613+ )
574614 except Exception as exc : # noqa: BLE001
575615 self ._json_err (str (exc ), code = 500 )
576616
0 commit comments