-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] ->
<<<<Value@1/binary, Separator/binary>>/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>>.