-module(lightspeed@ops@overload_harness). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/lightspeed/ops/overload_harness.gleam"). -export([run_scenario/1, run_matrix/0, budget_version_label/0, scenario_label/1, pass_fail_label/1, signature/1, scenario/1, deterministic/1, outcomes/1, failed_scenarios/1, nondeterministic_failures/1, report_signature/1, snapshot_signature/0, snapshot_report_markdown/0]). -export_type([scenario/0, scenario_outcome/0, report/0]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(" Deterministic adaptive overload-control and graceful-degradation harness for M50.\n"). -type scenario() :: adaptive_resource_control_boundaries | graceful_degradation_policy_hooks | overload_telemetry_audit_determinism | stress_scenario_and_rollback_drill_certification | regression_gate_determinism. -type scenario_outcome() :: {scenario_outcome, scenario(), boolean(), boolean(), binary()}. -type report() :: {report, list(scenario_outcome()), integer(), integer()}. -file("src/lightspeed/ops/overload_harness.gleam", 423). -spec count_nondeterministic(list(scenario_outcome())) -> integer(). count_nondeterministic(Outcomes) -> case Outcomes of [] -> 0; [Outcome | Rest] -> case erlang:element(4, Outcome) of true -> count_nondeterministic(Rest); false -> 1 + count_nondeterministic(Rest) end end. -file("src/lightspeed/ops/overload_harness.gleam", 412). -spec count_failed(list(scenario_outcome())) -> integer(). count_failed(Outcomes) -> case Outcomes of [] -> 0; [Outcome | Rest] -> case erlang:element(3, Outcome) of true -> count_failed(Rest); false -> 1 + count_failed(Rest) end end. -file("src/lightspeed/ops/overload_harness.gleam", 441). -spec join_with(binary(), list(binary())) -> binary(). join_with(Separator, Values) -> case Values of [] -> <<""/utf8>>; [Value] -> Value; [Value@1 | Rest] -> <<<>/binary, (join_with(Separator, Rest))/binary>> end. -file("src/lightspeed/ops/overload_harness.gleam", 352). -spec determinism_signature() -> binary(). determinism_signature() -> Observations = join_with( <<";"/utf8>>, gleam@list:map( lightspeed@ops@overload_control:run_stress_simulation(), fun lightspeed@ops@overload_control:stress_observation_signature/1 ) ), Runtime = lightspeed@ops@overload_control:new( lightspeed@ops@overload_control:default_thresholds(), lightspeed@ops@overload_control:default_hook() ), Signal = lightspeed@ops@overload_control:signal( 244, 360, <<"tenant_delta"/utf8>>, 98 ), {After, Status} = lightspeed@ops@overload_control:evaluate( Runtime, Signal, <<"autopilot"/utf8>>, 42 ), <<<<<<<<<<"status="/utf8, (lightspeed@ops@overload_control:status_label(Status))/binary>>/binary, "|runtime="/utf8>>/binary, (lightspeed@ops@overload_control:signature(After))/binary>>/binary, "|observations="/utf8>>/binary, Observations/binary>>. -file("src/lightspeed/ops/overload_harness.gleam", 344). -spec evaluate_regression_gate_determinism() -> {boolean(), binary()}. evaluate_regression_gate_determinism() -> First = determinism_signature(), Second = determinism_signature(), Passed = (First =:= Second) andalso (First /= <<""/utf8>>), {Passed, First}. -file("src/lightspeed/ops/overload_harness.gleam", 388). -spec all_observations_rolled_back( list(lightspeed@ops@overload_control:stress_observation()) ) -> boolean(). all_observations_rolled_back(Observations) -> case Observations of [] -> true; [Observation | Rest] -> (erlang:element(7, Observation) >= erlang:element(6, Observation)) andalso all_observations_rolled_back(Rest) end. -file("src/lightspeed/ops/overload_harness.gleam", 378). -spec all_observations_bounded( list(lightspeed@ops@overload_control:stress_observation()) ) -> boolean(). all_observations_bounded(Observations) -> case Observations of [] -> true; [Observation | Rest] -> erlang:element(8, Observation) andalso all_observations_bounded( Rest ) end. -file("src/lightspeed/ops/overload_harness.gleam", 316). -spec evaluate_stress_scenario_and_rollback_drill_certification() -> {boolean(), binary()}. evaluate_stress_scenario_and_rollback_drill_certification() -> Observations = lightspeed@ops@overload_control:run_stress_simulation(), Budgets = lightspeed@ops@overload_control:default_stress_budgets(), Results = lightspeed@ops@overload_control:evaluate_stress_budgets( Observations, Budgets ), Failures = lightspeed@ops@overload_control:budget_failures(Results), Passed = (((erlang:length(Observations) =:= 4) andalso (Failures =:= 0)) andalso all_observations_bounded(Observations)) andalso all_observations_rolled_back(Observations), Signature = <<<<<<"observations="/utf8, (join_with( <<";"/utf8>>, gleam@list:map( Observations, fun lightspeed@ops@overload_control:stress_observation_signature/1 ) ))/binary>>/binary, "|budget_results="/utf8>>/binary, (join_with( <<";"/utf8>>, gleam@list:map( Results, fun lightspeed@ops@overload_control:budget_result_signature/1 ) ))/binary>>, {Passed, Signature}. -file("src/lightspeed/ops/overload_harness.gleam", 399). -spec has_metric(list(lightspeed@ops@telemetry:metric()), binary()) -> boolean(). has_metric(Metrics, Expected_name) -> case Metrics of [] -> false; [Metric | Rest] -> case Metric of {counter, Name, _, _} -> (Name =:= Expected_name) orelse has_metric( Rest, Expected_name ); {gauge, Name@1, _, _} -> (Name@1 =:= Expected_name) orelse has_metric( Rest, Expected_name ) end end. -file("src/lightspeed/ops/overload_harness.gleam", 277). -spec evaluate_overload_telemetry_audit_determinism() -> {boolean(), binary()}. evaluate_overload_telemetry_audit_determinism() -> Runtime = lightspeed@ops@overload_control:new( lightspeed@ops@overload_control:default_thresholds(), lightspeed@ops@overload_control:default_hook() ), Warning_signal = lightspeed@ops@overload_control:signal( 128, 182, <<""/utf8>>, 74 ), Critical_signal = lightspeed@ops@overload_control:signal( 238, 346, <<"tenant_gamma"/utf8>>, 97 ), {After_warning, _} = lightspeed@ops@overload_control:evaluate( Runtime, Warning_signal, <<"autopilot"/utf8>>, 800 ), {After_critical, _} = lightspeed@ops@overload_control:evaluate( After_warning, Critical_signal, <<"autopilot"/utf8>>, 820 ), Rolled_back = lightspeed@ops@overload_control:run_rollback_drill( After_critical, <<"autopilot"/utf8>>, 900, critical ), Audits = lightspeed@ops@overload_control:audit_entries(Rolled_back), Metrics = lightspeed@ops@overload_control:telemetry_metrics(Rolled_back), Metric_lines = gleam@list:map( Metrics, fun lightspeed@ops@telemetry:metric_line/1 ), Passed = ((((Audits /= []) andalso (erlang:length(Audits) =:= erlang:length( Metrics ))) andalso has_metric(Metrics, <<"lightspeed.overload.mitigation_total"/utf8>>)) andalso (lightspeed@ops@overload_control:active_mitigations(Rolled_back) =:= [])) andalso lightspeed@ops@overload_control:active_mitigations_reversible( Rolled_back ), Signature = <<<<<<<<<<"audit_count="/utf8, (erlang:integer_to_binary(erlang:length(Audits)))/binary>>/binary, "|metric_count="/utf8>>/binary, (erlang:integer_to_binary(erlang:length(Metrics)))/binary>>/binary, "|metrics="/utf8>>/binary, (join_with(<<";"/utf8>>, Metric_lines))/binary>>, {Passed, Signature}. -file("src/lightspeed/ops/overload_harness.gleam", 434). -spec bool_label(boolean()) -> binary(). bool_label(Value) -> case Value of true -> <<"true"/utf8>>; false -> <<"false"/utf8>> end. -file("src/lightspeed/ops/overload_harness.gleam", 237). -spec evaluate_graceful_degradation_policy_hooks() -> {boolean(), binary()}. evaluate_graceful_degradation_policy_hooks() -> Runtime = lightspeed@ops@overload_control:new( lightspeed@ops@overload_control:default_thresholds(), lightspeed@ops@overload_control:restrictive_hook() ), Critical_signal = lightspeed@ops@overload_control:signal( 242, 350, <<"tenant_beta"/utf8>>, 98 ), {After_critical, Status} = lightspeed@ops@overload_control:evaluate( Runtime, Critical_signal, <<"autopilot"/utf8>>, 500 ), Audits = lightspeed@ops@overload_control:audit_entries(After_critical), Active = lightspeed@ops@overload_control:active_mitigations(After_critical), Blocked_by_hook = gleam@list:any( Audits, fun(Entry) -> _pipe = lightspeed@ops@overload_control:audit_decision(Entry), _pipe@1 = lightspeed@ops@overload_control:decision_label(_pipe), gleam_stdlib:string_starts_with( _pipe@1, <<"blocked_by_hook:"/utf8>> ) end ), Read_only_active = gleam@list:any( Active, fun(Mitigation) -> lightspeed@ops@overload_control:mitigation_label(Mitigation) =:= <<"enter_read_only_mode"/utf8>> end ), Passed = ((((Status =:= critical) andalso Blocked_by_hook) andalso not Read_only_active) andalso lightspeed@ops@overload_control:policy_compliant(After_critical)) andalso lightspeed@ops@overload_control:valid(After_critical), Signature = <<<<<<<<<<<<<<"status="/utf8, (lightspeed@ops@overload_control:status_label( Status ))/binary>>/binary, "|blocked_by_hook="/utf8>>/binary, (bool_label(Blocked_by_hook))/binary>>/binary, "|read_only_active="/utf8>>/binary, (bool_label(Read_only_active))/binary>>/binary, "|audits="/utf8>>/binary, (join_with( <<";"/utf8>>, gleam@list:map( Audits, fun lightspeed@ops@overload_control:audit_label/1 ) ))/binary>>, {Passed, Signature}. -file("src/lightspeed/ops/overload_harness.gleam", 203). -spec evaluate_adaptive_resource_control_boundaries() -> {boolean(), binary()}. evaluate_adaptive_resource_control_boundaries() -> Runtime = lightspeed@ops@overload_control:new( lightspeed@ops@overload_control:default_thresholds(), lightspeed@ops@overload_control:default_hook() ), Warning_signal = lightspeed@ops@overload_control:signal( 132, 188, <<""/utf8>>, 72 ), Critical_signal = lightspeed@ops@overload_control:signal( 246, 364, <<"tenant_alpha"/utf8>>, 99 ), {After_warning, Warning_status} = lightspeed@ops@overload_control:evaluate( Runtime, Warning_signal, <<"autopilot"/utf8>>, 100 ), {After_critical, Critical_status} = lightspeed@ops@overload_control:evaluate( After_warning, Critical_signal, <<"autopilot"/utf8>>, 120 ), Active_labels = begin _pipe = lightspeed@ops@overload_control:active_mitigations( After_critical ), gleam@list:map( _pipe, fun lightspeed@ops@overload_control:mitigation_label/1 ) end, Passed = ((((Warning_status =:= warning) andalso (Critical_status =:= critical)) andalso (erlang:length(Active_labels) =:= 4)) andalso lightspeed@ops@overload_control:policy_compliant(After_critical)) andalso lightspeed@ops@overload_control:valid(After_critical), Signature = <<<<<<<<<<<<<<"statuses="/utf8, (lightspeed@ops@overload_control:status_label( Warning_status ))/binary>>/binary, "->"/utf8>>/binary, (lightspeed@ops@overload_control:status_label( Critical_status ))/binary>>/binary, "|active="/utf8>>/binary, (join_with(<<","/utf8>>, Active_labels))/binary>>/binary, "|runtime="/utf8>>/binary, (lightspeed@ops@overload_control:signature(After_critical))/binary>>, {Passed, Signature}. -file("src/lightspeed/ops/overload_harness.gleam", 189). -spec evaluate(scenario()) -> {boolean(), binary()}. evaluate(Scenario) -> case Scenario of adaptive_resource_control_boundaries -> evaluate_adaptive_resource_control_boundaries(); graceful_degradation_policy_hooks -> evaluate_graceful_degradation_policy_hooks(); overload_telemetry_audit_determinism -> evaluate_overload_telemetry_audit_determinism(); stress_scenario_and_rollback_drill_certification -> evaluate_stress_scenario_and_rollback_drill_certification(); regression_gate_determinism -> evaluate_regression_gate_determinism() end. -file("src/lightspeed/ops/overload_harness.gleam", 61). ?DOC(" Run one M50 scenario twice and require deterministic parity.\n"). -spec run_scenario(scenario()) -> scenario_outcome(). run_scenario(Scenario) -> {First_passed, First_signature} = evaluate(Scenario), {Second_passed, Second_signature} = evaluate(Scenario), Deterministic = (First_passed =:= Second_passed) andalso (First_signature =:= Second_signature), Passed = (First_passed andalso Second_passed) andalso Deterministic, {scenario_outcome, Scenario, Passed, Deterministic, First_signature}. -file("src/lightspeed/ops/overload_harness.gleam", 42). ?DOC(" Run all M50 scenarios.\n"). -spec run_matrix() -> report(). run_matrix() -> Outcomes = begin _pipe = [adaptive_resource_control_boundaries, graceful_degradation_policy_hooks, overload_telemetry_audit_determinism, stress_scenario_and_rollback_drill_certification, regression_gate_determinism], gleam@list:map(_pipe, fun run_scenario/1) end, {report, Outcomes, count_failed(Outcomes), count_nondeterministic(Outcomes)}. -file("src/lightspeed/ops/overload_harness.gleam", 77). ?DOC(" M50 budget profile version label.\n"). -spec budget_version_label() -> binary(). budget_version_label() -> <<"m50.budget.v"/utf8, (erlang:integer_to_binary(1))/binary>>. -file("src/lightspeed/ops/overload_harness.gleam", 82). ?DOC(" Scenario label.\n"). -spec scenario_label(scenario()) -> binary(). scenario_label(Scenario) -> case Scenario of adaptive_resource_control_boundaries -> <<"adaptive_resource_control_boundaries"/utf8>>; graceful_degradation_policy_hooks -> <<"graceful_degradation_policy_hooks"/utf8>>; overload_telemetry_audit_determinism -> <<"overload_telemetry_audit_determinism"/utf8>>; stress_scenario_and_rollback_drill_certification -> <<"stress_scenario_and_rollback_drill_certification"/utf8>>; regression_gate_determinism -> <<"regression_gate_determinism"/utf8>> end. -file("src/lightspeed/ops/overload_harness.gleam", 94). ?DOC(" Stable pass/fail label.\n"). -spec pass_fail_label(scenario_outcome()) -> binary(). pass_fail_label(Outcome) -> case erlang:element(3, Outcome) of true -> <<"pass"/utf8>>; false -> <<"fail"/utf8>> end. -file("src/lightspeed/ops/overload_harness.gleam", 102). ?DOC(" Scenario signature accessor.\n"). -spec signature(scenario_outcome()) -> binary(). signature(Outcome) -> erlang:element(5, Outcome). -file("src/lightspeed/ops/overload_harness.gleam", 107). ?DOC(" Scenario accessor.\n"). -spec scenario(scenario_outcome()) -> scenario(). scenario(Outcome) -> erlang:element(2, Outcome). -file("src/lightspeed/ops/overload_harness.gleam", 112). ?DOC(" Determinism accessor.\n"). -spec deterministic(scenario_outcome()) -> boolean(). deterministic(Outcome) -> erlang:element(4, Outcome). -file("src/lightspeed/ops/overload_harness.gleam", 117). ?DOC(" Report outcomes accessor.\n"). -spec outcomes(report()) -> list(scenario_outcome()). outcomes(Report) -> erlang:element(2, Report). -file("src/lightspeed/ops/overload_harness.gleam", 122). ?DOC(" Failed scenario count.\n"). -spec failed_scenarios(report()) -> integer(). failed_scenarios(Report) -> erlang:element(3, Report). -file("src/lightspeed/ops/overload_harness.gleam", 127). ?DOC(" Nondeterministic scenario count.\n"). -spec nondeterministic_failures(report()) -> integer(). nondeterministic_failures(Report) -> erlang:element(4, Report). -file("src/lightspeed/ops/overload_harness.gleam", 132). ?DOC(" Stable report signature.\n"). -spec report_signature(report()) -> binary(). report_signature(Report) -> Entries = gleam@list:map( erlang:element(2, Report), fun(Outcome) -> <<<<<<<<<<<<(scenario_label(erlang:element(2, Outcome)))/binary, "="/utf8>>/binary, (pass_fail_label(Outcome))/binary>>/binary, ":deterministic="/utf8>>/binary, (bool_label(erlang:element(4, Outcome)))/binary>>/binary, ":"/utf8>>/binary, (erlang:element(5, Outcome))/binary>> end ), join_with(<<";"/utf8>>, Entries). -file("src/lightspeed/ops/overload_harness.gleam", 148). ?DOC(" Deterministic snapshot signature for M50 fixture drift gates.\n"). -spec snapshot_signature() -> binary(). snapshot_signature() -> <<<<<<"m50.snapshot.v"/utf8, (erlang:integer_to_binary(1))/binary>>/binary, "|"/utf8>>/binary, (report_signature(run_matrix()))/binary>>. -file("src/lightspeed/ops/overload_harness.gleam", 156). ?DOC(" Deterministic markdown report for M50 fixture scripts.\n"). -spec snapshot_report_markdown() -> binary(). snapshot_report_markdown() -> Report = run_matrix(), Failed = failed_scenarios(Report), Nondeterministic = nondeterministic_failures(Report), Status = case (Failed =:= 0) andalso (Nondeterministic =:= 0) of true -> <<"OK"/utf8>>; false -> <<"FAIL"/utf8>> end, <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"# Overload Fixture Report\n\n"/utf8, "snapshot_version: "/utf8>>/binary, (erlang:integer_to_binary( 1 ))/binary>>/binary, "\n"/utf8>>/binary, "budget_version: "/utf8>>/binary, (budget_version_label( ))/binary>>/binary, "\n"/utf8>>/binary, "status: "/utf8>>/binary, Status/binary>>/binary, "\n"/utf8>>/binary, "failed_scenarios: "/utf8>>/binary, (erlang:integer_to_binary( Failed ))/binary>>/binary, "\n"/utf8>>/binary, "nondeterministic_failures: "/utf8>>/binary, (erlang:integer_to_binary(Nondeterministic))/binary>>/binary, "\n\n"/utf8>>/binary, "snapshot_signature: "/utf8>>/binary, (snapshot_signature())/binary>>/binary, "\n\n"/utf8>>/binary, "report_signature: "/utf8>>/binary, (report_signature(Report))/binary>>/binary, "\n"/utf8>>.