feat(laboratory): publish repeated M48S load envelope

This commit is contained in:
DCCONSTRUCTIONS
2026-08-25 22:31:27 +03:00
parent f50e0077c5
commit 209d0bfc26
9 changed files with 898 additions and 173 deletions
@@ -118,8 +118,12 @@ export interface M48SLoadEnvelopeScenario {
worldStateCompletionAgeP95Ms: number;
worldStateCompletionAgeP99Ms: number;
worldStateCompletionAgeMaximumMs: number;
decodeP95Ms: number;
decodeMaximumMs: number;
hotLoopDecodeP95Ms: number;
hotLoopDecodeMaximumMs: number;
preadmissionDecodeMaximumMs: number;
sourcePrefetchPreparationMaximumMs: number;
sourcePacingLatenessP95Ms: number;
sourcePacingLatenessMaximumMs: number;
detectorP95Ms: number;
detectorMaximumMs: number;
gpuUtilizationMeanPercent: number;
@@ -129,6 +133,8 @@ export interface M48SLoadEnvelopeScenario {
queueHighWatermarks: Readonly<Record<"detector" | "geometry" | "temporal" | "rolling" | "threat", number>>;
queueCapacity: number;
additionalInferencePasses: number;
repeatCount: number;
allRepetitionsPassed: boolean;
integrityGatePassed: boolean;
operatingTargetGatePassed: boolean;
thresholds: {
@@ -136,15 +142,36 @@ export interface M48SLoadEnvelopeScenario {
minimumEffectiveWorldStateFps: number;
maximumWorldStateCompletionP95Ms: number;
};
repetitions: readonly M48SLoadEnvelopeRepetition[];
}
export interface M48SLoadEnvelopeRepetition {
runId: string;
repetition: 1 | 2 | 3;
deliveredWorldStates: number;
supersededFrames: number;
deliveryRatio: number;
effectiveWorldStateFps: number;
worldStateCompletionAgeP95Ms: number;
hotLoopDecodeP95Ms: number;
hotLoopDecodeMaximumMs: number;
preadmissionDecodeMaximumMs: number;
sourcePacingLatenessMaximumMs: number;
operatingTargetGatePassed: boolean;
resultSha256: string;
frameEvidenceSha256: string;
}
export interface M48SLoadEnvelopeComparison {
productionRateRepeatabilityPassed: false;
reserve12FpsPassed: true;
limit15FpsPassed: true;
loadEnvelopeAccepted: false;
repeatCountPerRate: number;
productionRateRepeatabilityPassed: boolean;
reserve12FpsPassed: boolean;
limit15FpsPassed: boolean;
loadEnvelopeAccepted: boolean;
computeCapacityAtLeastFps: 15;
bottleneckInterpretation: "rare-source-decode-or-scheduling-tail-not-steady-gpu-saturation";
bottleneckInterpretation:
| "rare-source-decode-or-scheduling-tail-not-steady-gpu-saturation"
| "cold-video-decode-isolated-before-admission-no-steady-gpu-saturation";
scenarios: readonly M48SLoadEnvelopeScenario[];
}
@@ -508,24 +535,113 @@ function runtimeHardeningComparisonValue(value: unknown): M48SRuntimeHardeningCo
function loadEnvelopeComparisonValue(value: unknown): M48SLoadEnvelopeComparison {
const comparison = objectValue(value, "M4.8S.metrics.load_envelope");
if (comparison.schema_version === "missioncore.m48s-load-envelope-comparison/v1") {
exact(comparison.production_rate_repeatability_passed, false, "M4.8S.load_envelope.production_rate_repeatability_passed");
exact(comparison.reserve_12_fps_passed, true, "M4.8S.load_envelope.reserve_12_fps_passed");
exact(comparison.limit_15_fps_passed, true, "M4.8S.load_envelope.limit_15_fps_passed");
exact(comparison.load_envelope_accepted, false, "M4.8S.load_envelope.load_envelope_accepted");
exact(comparison.compute_capacity_at_least_fps, 15, "M4.8S.load_envelope.compute_capacity_at_least_fps");
exact(
comparison.bottleneck_interpretation,
"rare-source-decode-or-scheduling-tail-not-steady-gpu-saturation",
"M4.8S.load_envelope.bottleneck_interpretation",
);
const ids = ["production-10fps", "reserve-12fps", "limit-15fps"] as const;
const purposes = ["production-rate", "reserve-gate", "limit-discovery"] as const;
const targetGates = [false, true, true] as const;
const scenarios = arrayValue(comparison.scenarios, "M4.8S.load_envelope.scenarios").map((value, index) => {
const label = `M4.8S.load_envelope.scenarios[${index}]`;
const scenario = objectValue(value, label);
const id = ids[index];
const purpose = purposes[index];
const targetGate = targetGates[index];
if (id === undefined || purpose === undefined || targetGate === undefined) {
throw new M48SFixedClassDetectorContractError("M4.8S.load_envelope.scenarios: лишний legacy-сценарий.");
}
exact(scenario.id, id, `${label}.id`);
exact(scenario.load_purpose, purpose, `${label}.load_purpose`);
exact(scenario.integrity_gate_passed, true, `${label}.integrity_gate_passed`);
exact(scenario.operating_target_gate_passed, targetGate, `${label}.operating_target_gate_passed`);
exact(scenario.additional_inference_passes, 0, `${label}.additional_inference_passes`);
const queues = integerRecordValue(scenario.queue_high_watermarks, `${label}.queue_high_watermarks`);
const thresholds = objectValue(scenario.thresholds, `${label}.thresholds`);
const frameEvidenceSha256 = textValue(scenario.frame_evidence_sha256, `${label}.frame_evidence_sha256`);
if (!SHA256.test(frameEvidenceSha256)) {
throw new M48SFixedClassDetectorContractError(`${label}.frame_evidence_sha256: нарушен SHA-256.`);
}
const legacyDecodeP95 = numberValue(scenario.decode_p95_ms, `${label}.decode_p95_ms`);
const legacyDecodeMaximum = numberValue(scenario.decode_maximum_ms, `${label}.decode_maximum_ms`);
return {
id,
loadPurpose: purpose,
requestedSourceRateHz: numberValue(scenario.requested_source_rate_hz, `${label}.requested_source_rate_hz`),
sourceFramesAdmitted: integerValue(scenario.source_frames_admitted, `${label}.source_frames_admitted`),
deliveredWorldStates: integerValue(scenario.delivered_world_states, `${label}.delivered_world_states`),
supersededFrames: integerValue(scenario.superseded_frames, `${label}.superseded_frames`),
deliveryRatio: numberValue(scenario.delivery_ratio, `${label}.delivery_ratio`),
effectiveWorldStateFps: numberValue(scenario.effective_world_state_fps, `${label}.effective_world_state_fps`),
worldStateCompletionAgeP95Ms: numberValue(scenario.world_state_completion_age_p95_ms, `${label}.world_state_completion_age_p95_ms`),
worldStateCompletionAgeP99Ms: numberValue(scenario.world_state_completion_age_p99_ms, `${label}.world_state_completion_age_p99_ms`),
worldStateCompletionAgeMaximumMs: numberValue(scenario.world_state_completion_age_maximum_ms, `${label}.world_state_completion_age_maximum_ms`),
hotLoopDecodeP95Ms: legacyDecodeP95,
hotLoopDecodeMaximumMs: legacyDecodeMaximum,
preadmissionDecodeMaximumMs: legacyDecodeMaximum,
sourcePrefetchPreparationMaximumMs: 0,
sourcePacingLatenessP95Ms: 0,
sourcePacingLatenessMaximumMs: 0,
detectorP95Ms: numberValue(scenario.detector_p95_ms, `${label}.detector_p95_ms`),
detectorMaximumMs: numberValue(scenario.detector_maximum_ms, `${label}.detector_maximum_ms`),
gpuUtilizationMeanPercent: numberValue(scenario.gpu_utilization_mean_percent, `${label}.gpu_utilization_mean_percent`),
gpuUtilizationMaximumPercent: numberValue(scenario.gpu_utilization_maximum_percent, `${label}.gpu_utilization_maximum_percent`),
gpuMemoryMaximumMib: numberValue(scenario.gpu_memory_maximum_mib, `${label}.gpu_memory_maximum_mib`),
processPeakRssMib: numberValue(scenario.process_peak_rss_mib, `${label}.process_peak_rss_mib`),
queueHighWatermarks: queues as M48SLoadEnvelopeScenario["queueHighWatermarks"],
queueCapacity: integerValue(scenario.queue_capacity, `${label}.queue_capacity`),
additionalInferencePasses: 0,
repeatCount: 1,
allRepetitionsPassed: targetGate,
integrityGatePassed: true,
operatingTargetGatePassed: targetGate,
thresholds: {
minimumDeliveryRatio: numberValue(thresholds.minimum_delivery_ratio, `${label}.thresholds.minimum_delivery_ratio`),
minimumEffectiveWorldStateFps: numberValue(thresholds.minimum_effective_world_state_fps, `${label}.thresholds.minimum_effective_world_state_fps`),
maximumWorldStateCompletionP95Ms: numberValue(thresholds.maximum_world_state_completion_p95_ms, `${label}.thresholds.maximum_world_state_completion_p95_ms`),
},
repetitions: [],
};
});
if (scenarios.length !== 3) {
throw new M48SFixedClassDetectorContractError("M4.8S.load_envelope.scenarios: неполный legacy-набор.");
}
return {
repeatCountPerRate: 1,
productionRateRepeatabilityPassed: false,
reserve12FpsPassed: true,
limit15FpsPassed: true,
loadEnvelopeAccepted: false,
computeCapacityAtLeastFps: 15,
bottleneckInterpretation: "rare-source-decode-or-scheduling-tail-not-steady-gpu-saturation",
scenarios,
};
}
exact(
comparison.schema_version,
"missioncore.m48s-load-envelope-comparison/v1",
"missioncore.m48s-load-envelope-comparison/v2",
"M4.8S.metrics.load_envelope.schema_version",
);
exact(comparison.production_rate_repeatability_passed, false, "M4.8S.load_envelope.production_rate_repeatability_passed");
exact(comparison.repeat_count_per_rate, 3, "M4.8S.load_envelope.repeat_count_per_rate");
exact(comparison.production_rate_repeatability_passed, true, "M4.8S.load_envelope.production_rate_repeatability_passed");
exact(comparison.reserve_12_fps_passed, true, "M4.8S.load_envelope.reserve_12_fps_passed");
exact(comparison.limit_15_fps_passed, true, "M4.8S.load_envelope.limit_15_fps_passed");
exact(comparison.load_envelope_accepted, false, "M4.8S.load_envelope.load_envelope_accepted");
exact(comparison.load_envelope_accepted, true, "M4.8S.load_envelope.load_envelope_accepted");
exact(comparison.compute_capacity_at_least_fps, 15, "M4.8S.load_envelope.compute_capacity_at_least_fps");
exact(
comparison.bottleneck_interpretation,
"rare-source-decode-or-scheduling-tail-not-steady-gpu-saturation",
"cold-video-decode-isolated-before-admission-no-steady-gpu-saturation",
"M4.8S.load_envelope.bottleneck_interpretation",
);
const ids = ["production-10fps", "reserve-12fps", "limit-15fps"] as const;
const purposes = ["production-rate", "reserve-gate", "limit-discovery"] as const;
const targetGates = [false, true, true] as const;
const scenarios = arrayValue(comparison.scenarios, "M4.8S.load_envelope.scenarios").map((value, index) => {
const label = `M4.8S.load_envelope.scenarios[${index}]`;
const scenario = objectValue(value, label);
@@ -536,8 +652,10 @@ function loadEnvelopeComparisonValue(value: unknown): M48SLoadEnvelopeComparison
}
exact(scenario.id, id, `${label}.id`);
exact(scenario.load_purpose, purpose, `${label}.load_purpose`);
exact(scenario.repeat_count, 3, `${label}.repeat_count`);
exact(scenario.all_repetitions_passed, true, `${label}.all_repetitions_passed`);
exact(scenario.integrity_gate_passed, true, `${label}.integrity_gate_passed`);
exact(scenario.operating_target_gate_passed, targetGates[index], `${label}.operating_target_gate_passed`);
exact(scenario.operating_target_gate_passed, true, `${label}.operating_target_gate_passed`);
exact(scenario.additional_inference_passes, 0, `${label}.additional_inference_passes`);
const queues = integerRecordValue(scenario.queue_high_watermarks, `${label}.queue_high_watermarks`);
for (const key of ["detector", "geometry", "temporal", "rolling", "threat"] as const) {
@@ -546,9 +664,37 @@ function loadEnvelopeComparisonValue(value: unknown): M48SLoadEnvelopeComparison
}
}
const thresholds = objectValue(scenario.thresholds, `${label}.thresholds`);
const frameEvidenceSha256 = textValue(scenario.frame_evidence_sha256, `${label}.frame_evidence_sha256`);
if (!SHA256.test(frameEvidenceSha256)) {
throw new M48SFixedClassDetectorContractError(`${label}.frame_evidence_sha256: нарушен SHA-256.`);
const repetitions = arrayValue(scenario.repetitions, `${label}.repetitions`).map((value, repetitionIndex) => {
const repetitionLabel = `${label}.repetitions[${repetitionIndex}]`;
const repetition = objectValue(value, repetitionLabel);
const repetitionNumber = repetitionIndex + 1;
exact(repetition.repetition, repetitionNumber, `${repetitionLabel}.repetition`);
exact(repetition.operating_target_gate_passed, true, `${repetitionLabel}.operating_target_gate_passed`);
const runId = textValue(repetition.run_id, `${repetitionLabel}.run_id`);
const resultSha256 = textValue(repetition.result_sha256, `${repetitionLabel}.result_sha256`);
const frameEvidenceSha256 = textValue(repetition.frame_evidence_sha256, `${repetitionLabel}.frame_evidence_sha256`);
if (!SHA256.test(resultSha256) || !SHA256.test(frameEvidenceSha256)) {
throw new M48SFixedClassDetectorContractError(`${repetitionLabel}: нарушен SHA-256.`);
}
return {
runId,
repetition: repetitionNumber as 1 | 2 | 3,
deliveredWorldStates: integerValue(repetition.delivered_world_states, `${repetitionLabel}.delivered_world_states`),
supersededFrames: integerValue(repetition.superseded_frames, `${repetitionLabel}.superseded_frames`),
deliveryRatio: numberValue(repetition.delivery_ratio, `${repetitionLabel}.delivery_ratio`),
effectiveWorldStateFps: numberValue(repetition.effective_world_state_fps, `${repetitionLabel}.effective_world_state_fps`),
worldStateCompletionAgeP95Ms: numberValue(repetition.world_state_completion_age_p95_ms, `${repetitionLabel}.world_state_completion_age_p95_ms`),
hotLoopDecodeP95Ms: numberValue(repetition.hot_loop_decode_p95_ms, `${repetitionLabel}.hot_loop_decode_p95_ms`),
hotLoopDecodeMaximumMs: numberValue(repetition.hot_loop_decode_maximum_ms, `${repetitionLabel}.hot_loop_decode_maximum_ms`),
preadmissionDecodeMaximumMs: numberValue(repetition.preadmission_decode_maximum_ms, `${repetitionLabel}.preadmission_decode_maximum_ms`),
sourcePacingLatenessMaximumMs: numberValue(repetition.source_pacing_lateness_maximum_ms, `${repetitionLabel}.source_pacing_lateness_maximum_ms`),
operatingTargetGatePassed: true as const,
resultSha256,
frameEvidenceSha256,
};
});
if (repetitions.length !== 3) {
throw new M48SFixedClassDetectorContractError(`${label}.repetitions: требуется три повтора.`);
}
return {
id,
@@ -562,8 +708,12 @@ function loadEnvelopeComparisonValue(value: unknown): M48SLoadEnvelopeComparison
worldStateCompletionAgeP95Ms: numberValue(scenario.world_state_completion_age_p95_ms, `${label}.world_state_completion_age_p95_ms`),
worldStateCompletionAgeP99Ms: numberValue(scenario.world_state_completion_age_p99_ms, `${label}.world_state_completion_age_p99_ms`),
worldStateCompletionAgeMaximumMs: numberValue(scenario.world_state_completion_age_maximum_ms, `${label}.world_state_completion_age_maximum_ms`),
decodeP95Ms: numberValue(scenario.decode_p95_ms, `${label}.decode_p95_ms`),
decodeMaximumMs: numberValue(scenario.decode_maximum_ms, `${label}.decode_maximum_ms`),
hotLoopDecodeP95Ms: numberValue(scenario.hot_loop_decode_p95_ms, `${label}.hot_loop_decode_p95_ms`),
hotLoopDecodeMaximumMs: numberValue(scenario.hot_loop_decode_maximum_ms, `${label}.hot_loop_decode_maximum_ms`),
preadmissionDecodeMaximumMs: numberValue(scenario.preadmission_decode_maximum_ms, `${label}.preadmission_decode_maximum_ms`),
sourcePrefetchPreparationMaximumMs: numberValue(scenario.source_prefetch_preparation_maximum_ms, `${label}.source_prefetch_preparation_maximum_ms`),
sourcePacingLatenessP95Ms: numberValue(scenario.source_pacing_lateness_p95_ms, `${label}.source_pacing_lateness_p95_ms`),
sourcePacingLatenessMaximumMs: numberValue(scenario.source_pacing_lateness_maximum_ms, `${label}.source_pacing_lateness_maximum_ms`),
detectorP95Ms: numberValue(scenario.detector_p95_ms, `${label}.detector_p95_ms`),
detectorMaximumMs: numberValue(scenario.detector_maximum_ms, `${label}.detector_maximum_ms`),
gpuUtilizationMeanPercent: numberValue(scenario.gpu_utilization_mean_percent, `${label}.gpu_utilization_mean_percent`),
@@ -573,25 +723,29 @@ function loadEnvelopeComparisonValue(value: unknown): M48SLoadEnvelopeComparison
queueHighWatermarks: queues as M48SLoadEnvelopeScenario["queueHighWatermarks"],
queueCapacity: integerValue(scenario.queue_capacity, `${label}.queue_capacity`),
additionalInferencePasses: 0,
integrityGatePassed: true,
operatingTargetGatePassed: targetGates[index],
repeatCount: 3 as const,
allRepetitionsPassed: true as const,
integrityGatePassed: true as const,
operatingTargetGatePassed: true as const,
thresholds: {
minimumDeliveryRatio: numberValue(thresholds.minimum_delivery_ratio, `${label}.thresholds.minimum_delivery_ratio`),
minimumEffectiveWorldStateFps: numberValue(thresholds.minimum_effective_world_state_fps, `${label}.thresholds.minimum_effective_world_state_fps`),
maximumWorldStateCompletionP95Ms: numberValue(thresholds.maximum_world_state_completion_p95_ms, `${label}.thresholds.maximum_world_state_completion_p95_ms`),
},
repetitions,
};
});
if (scenarios.length !== ids.length) {
throw new M48SFixedClassDetectorContractError("M4.8S.load_envelope.scenarios: неполный набор.");
}
return {
productionRateRepeatabilityPassed: false,
repeatCountPerRate: 3,
productionRateRepeatabilityPassed: true,
reserve12FpsPassed: true,
limit15FpsPassed: true,
loadEnvelopeAccepted: false,
loadEnvelopeAccepted: true,
computeCapacityAtLeastFps: 15,
bottleneckInterpretation: "rare-source-decode-or-scheduling-tail-not-steady-gpu-saturation",
bottleneckInterpretation: "cold-video-decode-isolated-before-admission-no-steady-gpu-saturation",
scenarios,
};
}
@@ -647,10 +801,10 @@ function parseResult(value: unknown, resultId: string): M48SFixedClassDetectorRe
exact(decision.production_accepted, false, "M4.8S.decision.production_accepted");
if (loadEnvelope !== null) {
exact(decision.load_envelope_evaluated, true, "M4.8S.decision.load_envelope_evaluated");
exact(decision.production_rate_repeatability_passed, false, "M4.8S.decision.production_rate_repeatability_passed");
exact(decision.reserve_12_fps_passed, true, "M4.8S.decision.reserve_12_fps_passed");
exact(decision.limit_15_fps_passed, true, "M4.8S.decision.limit_15_fps_passed");
exact(decision.load_envelope_accepted, false, "M4.8S.decision.load_envelope_accepted");
exact(decision.production_rate_repeatability_passed, loadEnvelope.productionRateRepeatabilityPassed, "M4.8S.decision.production_rate_repeatability_passed");
exact(decision.reserve_12_fps_passed, loadEnvelope.reserve12FpsPassed, "M4.8S.decision.reserve_12_fps_passed");
exact(decision.limit_15_fps_passed, loadEnvelope.limit15FpsPassed, "M4.8S.decision.limit_15_fps_passed");
exact(decision.load_envelope_accepted, loadEnvelope.loadEnvelopeAccepted, "M4.8S.decision.load_envelope_accepted");
}
const frames = arrayValue(payload.frames, "M4.8S.frames").map(descriptorValue);
const evidenceFrameCount = integerValue(source.evidence_frame_count, "M4.8S.source.evidence_frame_count");
@@ -709,10 +863,10 @@ function parseResult(value: unknown, resultId: string): M48SFixedClassDetectorRe
integratedWorldStateGatePassed: integratedGate,
detectorReplacementAuthorized: false,
loadEnvelopeEvaluated: loadEnvelope !== null,
productionRateRepeatabilityPassed: false,
productionRateRepeatabilityPassed: loadEnvelope?.productionRateRepeatabilityPassed ?? false,
reserve12FpsPassed: loadEnvelope?.reserve12FpsPassed ?? false,
limit15FpsPassed: loadEnvelope?.limit15FpsPassed ?? false,
loadEnvelopeAccepted: false,
loadEnvelopeAccepted: loadEnvelope?.loadEnvelopeAccepted ?? false,
productionAccepted: false,
},
limitations: arrayValue(payload.limitations, "M4.8S.limitations").map((item, index) => textValue(item, `M4.8S.limitations[${index}]`)),