feat(perception): qualify conservative static occupancy
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Publish one canonical append-only M4.8R2 static-occupancy qualification."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import socket
|
||||
from pathlib import Path
|
||||
|
||||
from k1link.compute.pipeline_telemetry import JsonlPipelineTelemetrySink
|
||||
from k1link.laboratory import (
|
||||
LaboratoryEvidenceRegistry,
|
||||
LaboratoryExecutionRegistry,
|
||||
LaboratoryRunner,
|
||||
LaboratoryRunRequest,
|
||||
)
|
||||
|
||||
|
||||
def _parser() -> argparse.ArgumentParser:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--profile", type=Path, required=True)
|
||||
parser.add_argument("--m47-lab-root", type=Path, required=True)
|
||||
parser.add_argument("--graph-result-root", type=Path, required=True)
|
||||
parser.add_argument("--small-static-result-root", type=Path, required=True)
|
||||
parser.add_argument("--output-root", type=Path, required=True)
|
||||
parser.add_argument("--receipt-root", type=Path, required=True)
|
||||
parser.add_argument("--telemetry-path", type=Path, required=True)
|
||||
parser.add_argument("--run-id", required=True)
|
||||
parser.add_argument("--request-id", required=True)
|
||||
return parser
|
||||
|
||||
|
||||
def main() -> int:
|
||||
args = _parser().parse_args()
|
||||
repository_root = Path(__file__).resolve().parents[1]
|
||||
evidence = LaboratoryEvidenceRegistry.from_directory(
|
||||
repository_root / "config" / "laboratories"
|
||||
)
|
||||
execution = LaboratoryExecutionRegistry.from_file(
|
||||
repository_root / "config" / "laboratory-execution.json",
|
||||
evidence,
|
||||
)
|
||||
runner = LaboratoryRunner(
|
||||
registry=execution,
|
||||
evidence_registry=evidence,
|
||||
sink=JsonlPipelineTelemetrySink(args.telemetry_path),
|
||||
)
|
||||
result = runner.run(
|
||||
LaboratoryRunRequest(
|
||||
work_id="m48-static-occupancy-qualification",
|
||||
run_id=args.run_id,
|
||||
request_id=args.request_id,
|
||||
contour_id="mission-core-laboratory",
|
||||
agent_id="local-control-plane",
|
||||
node_id=socket.gethostname(),
|
||||
source_id="RAVNOVES00",
|
||||
source_package_id=args.m47_lab_root.name,
|
||||
method_id="m48-conservative-static-occupancy/v1",
|
||||
inputs={
|
||||
"repository_root": repository_root,
|
||||
"profile_path": args.profile,
|
||||
"m47_lab_root": args.m47_lab_root,
|
||||
"graph_result_root": args.graph_result_root,
|
||||
"small_static_result_root": args.small_static_result_root,
|
||||
},
|
||||
output_root=args.output_root,
|
||||
receipt_root=args.receipt_root,
|
||||
)
|
||||
)
|
||||
print(json.dumps({
|
||||
"result_id": result.result_id,
|
||||
"result_root": str(result.result_root),
|
||||
"receipt_id": result.receipt_id,
|
||||
"receipt_root": str(result.receipt_root),
|
||||
}, ensure_ascii=False, sort_keys=True))
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user