90 lines
3.7 KiB
JSON
90 lines
3.7 KiB
JSON
{
|
|
"schema_version": "missioncore.m48s-load-envelope-profile/v1",
|
|
"profile_id": "m48s-rf-detr-reference-graph-load-envelope/v1",
|
|
"decision_question": "Can the unchanged single-pass RF-DETR reference graph sustain the recorded production rate and 20 percent reserve on Worker 006, and where does its bounded latest-wins limit begin?",
|
|
"hypothesis": "The hardened single-pass graph sustains 10 FPS and 12 FPS without unbounded queues, failed frames, a second inference pass, or more than the predeclared delivery loss; 15 FPS is measured only to locate the limit.",
|
|
"source": {
|
|
"source_id": "RAVNOVES00",
|
|
"source_profile_id": "m4-ravnoves00-recorded-realtime/v1",
|
|
"frame_count": 4489,
|
|
"graph_id": "reference-perception-graph/v2",
|
|
"detector_provider_id": "triton-rf-detr-large-coco-risk-fp16-shadow/v0",
|
|
"sensor_timestamps_preserved": true
|
|
},
|
|
"controlled_change": {
|
|
"only_variable": "wall_clock_source_rate_hz",
|
|
"unchanged": [
|
|
"source frames and source timestamps",
|
|
"RF-DETR TensorRT engine and threshold",
|
|
"geometry, temporal, motion, rolling-map and threat providers",
|
|
"latest-wins queue capacities",
|
|
"single inference pass per admitted detector frame",
|
|
"detector prewarm and cyclic-GC hot-loop policy"
|
|
]
|
|
},
|
|
"scenarios": [
|
|
{
|
|
"id": "production-10fps",
|
|
"run_id": "m48s-load-envelope-v1-production-10fps-a1",
|
|
"load_purpose": "production-rate",
|
|
"source_rate_hz": 10.0,
|
|
"thresholds": {
|
|
"minimum_delivery_ratio": 0.999,
|
|
"minimum_effective_world_state_fps": 9.5,
|
|
"maximum_world_state_completion_p95_ms": 125.0
|
|
},
|
|
"required_for_reserve_decision": true
|
|
},
|
|
{
|
|
"id": "reserve-12fps",
|
|
"run_id": "m48s-load-envelope-v1-reserve-12fps-a1",
|
|
"load_purpose": "reserve-gate",
|
|
"source_rate_hz": 12.0,
|
|
"thresholds": {
|
|
"minimum_delivery_ratio": 0.995,
|
|
"minimum_effective_world_state_fps": 11.4,
|
|
"maximum_world_state_completion_p95_ms": 150.0
|
|
},
|
|
"required_for_reserve_decision": true
|
|
},
|
|
{
|
|
"id": "limit-15fps",
|
|
"run_id": "m48s-load-envelope-v1-limit-15fps-a1",
|
|
"load_purpose": "limit-discovery",
|
|
"source_rate_hz": 15.0,
|
|
"thresholds": {
|
|
"minimum_delivery_ratio": 0.95,
|
|
"minimum_effective_world_state_fps": 14.25,
|
|
"maximum_world_state_completion_p95_ms": 175.0
|
|
},
|
|
"required_for_reserve_decision": false
|
|
}
|
|
],
|
|
"common_integrity_gates": [
|
|
"closed terminal accounting",
|
|
"zero failed, stale, rejected or unavailable frames",
|
|
"all queue high-watermarks at or below capacity two",
|
|
"complete single-pass pipeline timing",
|
|
"detector prewarm before source admission",
|
|
"cyclic GC disabled only during the hot loop and restored after",
|
|
"all command, actuation, navigation and safety authority remains false"
|
|
],
|
|
"visual_evidence": {
|
|
"binding": "reuse exact M4.8S full camera plus LiDAR plus 3D/PLAN timeline",
|
|
"reason": "Only wall-clock pacing changes; source frames, sensor timestamps and graph semantics remain immutable.",
|
|
"independent_ground_truth": false
|
|
},
|
|
"exit_decision": {
|
|
"reserve_accepted_when": "Both production-10fps and reserve-12fps pass every integrity and operating target gate.",
|
|
"optimization_scope_when_rejected": "Optimize only the measured bottleneck stage; do not add another detector or inference pass.",
|
|
"limit_discovery_interpretation": "The 15 FPS result is valid evidence when integrity gates pass even if its operating target gate fails."
|
|
},
|
|
"authority": {
|
|
"candidate_accepted": false,
|
|
"commands_enabled": false,
|
|
"actuation_allowed": false,
|
|
"navigation_or_safety_accepted": false,
|
|
"production_accepted": false
|
|
}
|
|
}
|