==> mw_kernel
    warning: InfraRepo.Repo.get_by/2 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
  8 │       case InfraRepo.Repo.get_by(InfraRepo.Schemas.SystemSetting, key: feature_key) do
    │                           ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:8:27: MwKernel.FeatureFlags.enabled?/1

    warning: InfraRepo.Repo.get_by/2 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
 22 │       case InfraRepo.Repo.get_by(InfraRepo.Schemas.SystemSetting, key: feature_key) do
    │                           ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:22:27: MwKernel.FeatureFlags.enable/2

    warning: InfraRepo.Repo.get_by/2 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
 48 │       case InfraRepo.Repo.get_by(InfraRepo.Schemas.SystemSetting, key: feature_key) do
    │                           ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:48:27: MwKernel.FeatureFlags.disable/1

    warning: InfraRepo.Repo.get_by/2 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
 80 │       InfraRepo.Repo.get_by(InfraRepo.Schemas.SystemSetting, key: key)
    │                      ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:80:22: MwKernel.FeatureFlags.get_setting/1

    warning: InfraRepo.Repo.get_by/2 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
 91 │       case InfraRepo.Repo.get_by(InfraRepo.Schemas.SystemSetting, key: key) do
    │                           ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:91:27: MwKernel.FeatureFlags.update_setting/2

    warning: InfraRepo.Schemas.SystemSetting.changeset/2 is undefined (module InfraRepo.Schemas.SystemSetting is not available or is yet to be defined)
    │
 25 │           |> InfraRepo.Schemas.SystemSetting.changeset(%{
    │                                              ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:25:46: MwKernel.FeatureFlags.enable/2

    warning: InfraRepo.Schemas.SystemSetting.changeset/2 is undefined (module InfraRepo.Schemas.SystemSetting is not available or is yet to be defined)
    │
 35 │           |> InfraRepo.Schemas.SystemSetting.changeset(%{value: "true", description: description})
    │                                              ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:35:46: MwKernel.FeatureFlags.enable/2

    warning: InfraRepo.Schemas.SystemSetting.changeset/2 is undefined (module InfraRepo.Schemas.SystemSetting is not available or is yet to be defined)
    │
 51 │           |> InfraRepo.Schemas.SystemSetting.changeset(%{
    │                                              ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:51:46: MwKernel.FeatureFlags.disable/1

    warning: InfraRepo.Schemas.SystemSetting.changeset/2 is undefined (module InfraRepo.Schemas.SystemSetting is not available or is yet to be defined)
    │
 60 │           |> InfraRepo.Schemas.SystemSetting.changeset(%{value: "false"})
    │                                              ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:60:46: MwKernel.FeatureFlags.disable/1

    warning: InfraRepo.Schemas.SystemSetting.changeset/2 is undefined (module InfraRepo.Schemas.SystemSetting is not available or is yet to be defined)
    │
 96 │           |> InfraRepo.Schemas.SystemSetting.changeset(%{key: key, value: value, setting_type: "boolean"})
    │                                              ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:96:46: MwKernel.FeatureFlags.update_setting/2

     warning: InfraRepo.Schemas.SystemSetting.changeset/2 is undefined (module InfraRepo.Schemas.SystemSetting is not available or is yet to be defined)
     │
 101 │           |> InfraRepo.Schemas.SystemSetting.changeset(%{value: value})
     │                                              ~
     │
     └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:101:46: MwKernel.FeatureFlags.update_setting/2

    warning: InfraRepo.Repo.insert/1 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
 31 │           |> InfraRepo.Repo.insert()
    │                             ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:31:29: MwKernel.FeatureFlags.enable/2

    warning: InfraRepo.Repo.insert/1 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
 56 │           |> InfraRepo.Repo.insert()
    │                             ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:56:29: MwKernel.FeatureFlags.disable/1

    warning: InfraRepo.Repo.insert/1 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
 97 │           |> InfraRepo.Repo.insert()
    │                             ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:97:29: MwKernel.FeatureFlags.update_setting/2

    warning: InfraRepo.Repo.update/1 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
 36 │           |> InfraRepo.Repo.update()
    │                             ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:36:29: MwKernel.FeatureFlags.enable/2

    warning: InfraRepo.Repo.update/1 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
 61 │           |> InfraRepo.Repo.update()
    │                             ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:61:29: MwKernel.FeatureFlags.disable/1

     warning: InfraRepo.Repo.update/1 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
     │
 102 │           |> InfraRepo.Repo.update()
     │                             ~
     │
     └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:102:29: MwKernel.FeatureFlags.update_setting/2

    warning: InfraRepo.Repo.all/1 is undefined (module InfraRepo.Repo is not available or is yet to be defined)
    │
 71 │       InfraRepo.Repo.all(InfraRepo.Schemas.SystemSetting)
    │                      ~
    │
    └─ (mw_kernel 0.1.0) lib/mw_kernel/feature_flags.ex:71:22: MwKernel.FeatureFlags.all_flags/0

     warning: variable "prompt" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 163 │   defp claude_call(prompt, opts) do
     │                    ~~~~~~
     │
     └─ (mw_kernel 0.1.0) lib/mw_kernel/llm_config.ex:163:20: MwKernel.LlmConfig.claude_call/2

     warning: variable "prompt" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 177 │   defp llama_call(prompt, opts) do
     │                   ~~~~~~
     │
     └─ (mw_kernel 0.1.0) lib/mw_kernel/llm_config.ex:177:19: MwKernel.LlmConfig.llama_call/2

    warning: module attribute @providers was set but never used
    │
 11 │   @providers [:openai, :claude, :llama]
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/mw_kernel/llm_config.ex:11: MwKernel.LlmConfig (module)

Generated mw_kernel app
==> infra_cache
Generated infra_cache app
==> infra_feature_store
Compiling 1 file (.ex)
Generated infra_feature_store app
==> adapter_aritic_ma
Compiling 1 file (.ex)
    warning: module attribute @impl was not set for function connect/1 callback (specified in MwKernel.Adapter). This either means you forgot to add the "@impl true" annotation before the definition or that you are accidentally overriding this callback
    │
 12 │   defdelegate connect(config),      to: AdapterAriticMa.Client
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/adapter_aritic_ma.ex:12: AdapterAriticMa (module)

    warning: module attribute @impl was not set for function send/2 callback (specified in MwKernel.Adapter). This either means you forgot to add the "@impl true" annotation before the definition or that you are accidentally overriding this callback
    │
 13 │   defdelegate send(state, message), to: AdapterAriticMa.Client
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/adapter_aritic_ma.ex:13: AdapterAriticMa (module)

    warning: module attribute @impl was not set for function health_check/1 callback (specified in MwKernel.Adapter). This either means you forgot to add the "@impl true" annotation before the definition or that you are accidentally overriding this callback
    │
 14 │   defdelegate health_check(state),  to: AdapterAriticMa.Client
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/adapter_aritic_ma.ex:14: AdapterAriticMa (module)

    warning: module attribute @impl was not set for function disconnect/1 callback (specified in MwKernel.Adapter). This either means you forgot to add the "@impl true" annotation before the definition or that you are accidentally overriding this callback
    │
 15 │   defdelegate disconnect(state),    to: AdapterAriticMa.Client
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/adapter_aritic_ma.ex:15: AdapterAriticMa (module)

Generated adapter_aritic_ma app
==> adapter_dw
Compiling 1 file (.ex)
Generated adapter_dw app
==> infra_repo
Compiling 1 file (.ex)
     warning: variable "adapter_descriptions" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 131 │     adapter_descriptions = format_adapter_descriptions(adapters)
     │     ~~~~~~~~~~~~~~~~~~~~
     │
     └─ (infra_repo 0.1.0) lib/infra_repo/ai_flow/proposal_service.ex:131:5: InfraRepo.AiFlow.ProposalService.build_orchestrator_prompt/2

     warning: variable "model_id" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 291 │   defp build_activation_completions(model_id) do
     │                                     ~~~~~~~~
     │
     └─ (infra_repo 0.1.0) lib/infra_repo/risk/case_search.ex:291:37: InfraRepo.Risk.CaseSearch.build_activation_completions/1

     warning: variable "rule" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 422 │   defp build_condition_sql(rule, params) do
     │                            ~~~~
     │
     └─ (infra_repo 0.1.0) lib/infra_repo/risk/case_search.ex:422:28: InfraRepo.Risk.CaseSearch.build_condition_sql/2

    warning: unused alias RiskEntityModel
    │
 24 │   alias InfraRepo.Schemas.{
    │   ~
    │
    └─ lib/infra_repo/risk/case_search.ex:24:3

    warning: variable "proposal" is unused (if the variable is not meant to be used, prefix it with an underscore)
    │
 15 │   def check_proposal_policy(proposal, tenant_id) do
    │                             ~~~~~~~~
    │
    └─ (infra_repo 0.1.0) lib/infra_repo/ai_flow/policy_gate.ex:15:29: InfraRepo.AiFlow.PolicyGate.check_proposal_policy/2

    warning: variable "message_type" is unused (if the variable is not meant to be used, prefix it with an underscore)
    │
 28 │     message_type = Keyword.get(opts, :message_type)
    │     ~~~~~~~~~~~~
    │
    └─ (infra_repo 0.1.0) lib/infra_repo/ai_flow/validator.ex:28:5: InfraRepo.AiFlow.Validator.validate/2

Generated infra_repo app
==> infra_telemetry
Compiling 1 file (.ex)
Generated infra_telemetry app
==> adapter_mqtt
Compiling 2 files (.ex)
Generated adapter_mqtt app
==> mw_audit
Generated mw_audit app
==> mw_transform
Compiling 4 files (.ex)
Generated mw_transform app
==> infra_queue
Generated infra_queue app
==> mw_router
Compiling 17 files (.ex)
     warning: variable "ctx" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 137 │   defp execute_node(ctx, _dag, %DagNode{type: :request}, state) do
     │                     ~~~
     │
     └─ (mw_router 0.1.0) lib/mw_router/dag_executor.ex:137:21: MwRouter.DagExecutor.execute_node/4

     warning: variable "ctx" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 148 │   defp execute_node(ctx, _dag, %DagNode{type: :webhook_trigger, id: id, config: config}, state) do
     │                     ~~~
     │
     └─ (mw_router 0.1.0) lib/mw_router/dag_executor.ex:148:21: MwRouter.DagExecutor.execute_node/4

     warning: variable "ctx" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 183 │   defp execute_node(ctx, _dag, %DagNode{type: :slot, id: id, config: config}, state) do
     │                     ~~~
     │
     └─ (mw_router 0.1.0) lib/mw_router/dag_executor.ex:183:21: MwRouter.DagExecutor.execute_node/4

     warning: variable "config" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 528 │   defp build_webhook_payload(config, ctx, state) do
     │                              ~~~~~~
     │
     └─ (mw_router 0.1.0) lib/mw_router/dag_executor.ex:528:30: MwRouter.DagExecutor.build_webhook_payload/3

     warning: single-quoted strings represent charlists. Use ~c"" if you indeed want a charlist or use "" instead
     │
 170 │     request = {to_charlist(url), header_list, 'application/json', body}
     │                                               ~
     │
     └─ lib/mw_router/webhook_dispatcher.ex:170:47

    warning: unused alias DagRoute
    │
 30 │   alias MwKernel.{Context, DagRoute, DagRoute.DagNode, Decision, Error, Message, SlotResult}
    │   ~
    │
    └─ lib/mw_router/dag_executor.ex:30:3

    warning: AdapterHttp.ConfigStore.list/0 is undefined (module AdapterHttp.ConfigStore is not available or is yet to be defined)
    │
 94 │       AdapterHttp.ConfigStore.list()
    │                               ~
    │
    └─ (mw_router 0.1.0) lib/mw_router/adapter_registry.ex:94:31: MwRouter.AdapterRegistry.discover_configured/0

    warning: MwRisk.ScoringPipeline.score/1 is undefined (module MwRisk.ScoringPipeline is not available or is yet to be defined)
    │
 65 │     case ScoringPipeline.score(ctx) do
    │                          ~
    │
    └─ (mw_router 0.1.0) lib/mw_router/risk_scoring_plug.ex:65:26: MwRouter.RiskScoringPlug.do_check/1

     warning: MwRisk.Workers.CasesAutomation.new/1 is undefined (module MwRisk.Workers.CasesAutomation is not available or is yet to be defined)
     │
 133 │     job = MwRisk.Workers.CasesAutomation.new(%{tenant_id: tenant_id, score_id: score_id, entity_model_id: model_id})
     │                                          ~
     │
     └─ (mw_router 0.1.0) lib/mw_router/risk_scoring_plug.ex:133:42: MwRouter.RiskScoringPlug.enqueue_case_automation/3

     warning: MwRisk.EventBroadcaster.broadcast/2 is undefined (module MwRisk.EventBroadcaster is not available or is yet to be defined)
     │
 145 │       MwRisk.EventBroadcaster.broadcast(ctx, result)
     │                               ~
     │
     └─ (mw_router 0.1.0) lib/mw_router/risk_scoring_plug.ex:145:31: MwRouter.RiskScoringPlug.broadcast_score_event/2

     warning: MwRisk.VelocityPipeline.update/1 is undefined (module MwRisk.VelocityPipeline is not available or is yet to be defined)
     │
 151 │       MwRisk.VelocityPipeline.update(%{
     │                               ~
     │
     └─ (mw_router 0.1.0) lib/mw_router/risk_scoring_plug.ex:151:31: MwRouter.RiskScoringPlug.update_velocity_counters/2

    warning: unused alias DagRoute
    │
 21 │   alias MwKernel.DagRoute
    │   ~
    │
    └─ lib/mw_router/dag_validator.ex:21:3

    warning: variable "n" is unused (if the variable is not meant to be used, prefix it with an underscore)
    │
 62 │   def add_node(n), do: rebuild([node() | Node.list()])
    │                ~
    │
    └─ (mw_router 0.1.0) lib/mw_router/ring.ex:62:16: MwRouter.Ring.add_node/1

Generated mw_router app
==> adapter_file
Compiling 1 file (.ex)
Generated adapter_file app
==> adapter_kafka
Compiling 3 files (.ex)
    warning: InfraTelemetry.Prometheus.handle_event/4 is undefined (module InfraTelemetry.Prometheus is not available or is yet to be defined)
    │
  8 │       &InfraTelemetry.Prometheus.handle_event/4,
    │                                  ~
    │
    └─ (adapter_kafka 0.1.0) lib/adapter_kafka/telemetry.ex:8:34: AdapterKafka.Telemetry.attach/0

Generated adapter_kafka app
==> adapter_amqp
Compiling 3 files (.ex)
Generated adapter_amqp app
==> adapter_banking
Compiling 2 files (.ex)
Generated adapter_banking app
==> adapter_http
Compiling 1 file (.ex)
Generated adapter_http app
==> cloudi_bootstrap
    warning: variable "reason" is unused (if the variable is not meant to be used, prefix it with an underscore)
    │
 66 │       {:error, reason} = error ->
    │                ~
    │
    └─ (cloudi_bootstrap 0.1.0) lib/cloudi_bootstrap/service_registry.ex:66:16: CloudiBootstrap.ServiceRegistry.handle_call/3

    warning: :cloudi.services_add/2 is undefined or private
    │
 92 │         :cloudi.services_add([service], :infinity)
    │                 ~
    │
    └─ (cloudi_bootstrap 0.1.0) lib/cloudi_bootstrap/service_registry.ex:92:17: CloudiBootstrap.ServiceRegistry.do_register/1

     warning: :cloudi.services_remove/2 is undefined or private
     │
 113 │       :cloudi.services_remove([service_name], :infinity)
     │               ~
     │
     └─ (cloudi_bootstrap 0.1.0) lib/cloudi_bootstrap/service_registry.ex:113:15: CloudiBootstrap.ServiceRegistry.do_deregister/1

Generated cloudi_bootstrap app
==> adapter_cloudi
Compiling 2 files (.ex)
     warning: variable "message" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 179 │   defp call_service(service_name, encoded, message) do
     │                                            ~~~~~~~
     │
     └─ (adapter_cloudi 0.1.0) lib/adapter_cloudi.ex:179:44: AdapterCloudi.call_service/3

Generated adapter_cloudi app
==> adapter_fix
Compiling 2 files (.ex)
    warning: AdapterClouDi.send/2 is undefined (module AdapterClouDi is not available or is yet to be defined)
    │
 28 │     case AdapterClouDi.send(%{service_name: "/mw/fix/send"}, cloudi_msg) do
    │                        ~
    │
    └─ (adapter_fix 0.1.0) lib/adapter_fix.ex:28:24: AdapterFix.send/2
    └─ (adapter_fix 0.1.0) lib/adapter_fix.ex:38:24: AdapterFix.health_check/1

Generated adapter_fix app
==> adapter_jms
Compiling 2 files (.ex)
    warning: AdapterClouDi.send/2 is undefined (module AdapterClouDi is not available or is yet to be defined)
    │
 30 │     case AdapterClouDi.send(%{service_name: @cloudi_service}, cloudi_msg) do
    │                        ~
    │
    └─ (adapter_jms 0.1.0) lib/adapter_jms.ex:30:24: AdapterJms.send/2
    └─ (adapter_jms 0.1.0) lib/adapter_jms.ex:40:24: AdapterJms.health_check/1

Generated adapter_jms app
==> adapter_swift
Compiling 2 files (.ex)
    warning: AdapterClouDi.send/2 is undefined (module AdapterClouDi is not available or is yet to be defined)
    │
 31 │     case AdapterClouDi.send(%{service_name: "/mw/swift/send/#{mt}"}, cloudi_msg) do
    │                        ~
    │
    └─ (adapter_swift 0.1.0) lib/adapter_swift.ex:31:24: AdapterSwift.send/2
    └─ (adapter_swift 0.1.0) lib/adapter_swift.ex:41:24: AdapterSwift.health_check/1

Generated adapter_swift app
==> adapter_grpc
Compiling 2 files (.ex)
    warning: Mw.TransactionRequest.new/1 is undefined or private
    │
  8 │     Mw.TransactionRequest.new(
    │                           ~
    │
    └─ (adapter_grpc 0.1.0) lib/adapter_grpc/transformer.ex:8:27: AdapterGrpc.Transformer.to_grpc/1

    warning: GRPC.Channel.get/1 is undefined or private
    │
 44 │     case GRPC.Channel.get(channel) do
    │                       ~
    │
    └─ (adapter_grpc 0.1.0) lib/adapter_grpc.ex:44:23: AdapterGrpc.health_check/1

Generated adapter_grpc app
==> mw_auth
Compiling 1 file (.ex)
Generated mw_auth app
==> gateway_ws
Generated gateway_ws app
==> gateway_mobile
Compiling 2 files (.ex)
Generated gateway_mobile app
==> gateway_graphql
Compiling 5 files (.ex)
    warning: unused alias Context
    │
  4 │   alias MwKernel.{Context, Message}
    │   ~
    │
    └─ lib/gateway_graphql/transformer.ex:4:3

Generated gateway_graphql app
==> gateway_mqtt
Compiling 3 files (.ex)
    warning: Tortoise311.subscribe/3 is undefined or private
    │
 61 │     Tortoise311.subscribe(@client_id, topic, qos: qos)
    │                 ~
    │
    └─ (gateway_mqtt 0.1.0) lib/gateway_mqtt/bridge.ex:61:17: GatewayMqtt.Bridge.subscribe/2

    warning: InfraTelemetry.Prometheus.handle_event/4 is undefined (module InfraTelemetry.Prometheus is not available or is yet to be defined)
    │
 20 │     InfraTelemetry.Prometheus.handle_event(
    │                               ~
    │
    └─ (gateway_mqtt 0.1.0) lib/gateway_mqtt/telemetry.ex:20:31: GatewayMqtt.Telemetry.handle_event/4

Generated gateway_mqtt app
==> adapter_edi
Compiling 1 file (.ex)
Generated adapter_edi app
==> mw_risk
Compiling 68 files (.ex)
    warning: function enrich_one/2 is unused
    │
 65 │   defp enrich_one(features, adaptation) do
    │        ~
    │
    └─ lib/mw_risk/http_adaptation_engine.ex:65:8: MwRisk.HttpAdaptationEngine (module)

    warning: unused alias FeatureVectorBuilder
    │
 18 │   alias MwRisk.ML.{Mlp, IsolationForest, Normalizer, FeatureVectorBuilder}
    │   ~
    │
    └─ lib/mw_risk/ml/feature_importance.ex:18:3

     warning: variable "tid" is unused (if the variable is not meant to be used, prefix it with an underscore)
     │
 285 │   defp eval_sanction(%{"field" => field} = node, payload, tid) do
     │                                                           ~~~
     │
     └─ (mw_risk 0.1.0) lib/mw_risk/rule_expression.ex:285:59: MwRisk.RuleExpression.eval_sanction/3

    warning: def check_payload/2 has multiple clauses and also declares default values. In such cases, the default values should be defined in a header. Instead of:

        def foo(:first_clause, b \\ :default) do ... end
        def foo(:second_clause, b) do ... end

    one should write:

        def foo(a, b \\ :default)
        def foo(:first_clause, b) do ... end
        def foo(:second_clause, b) do ... end

    │
 67 │   def check_payload(_, _), do: :clear
    │       ~
    │
    └─ lib/mw_risk/sanctions_checker.ex:67:7

    warning: def fuzzy_check/2 has multiple clauses and also declares default values. In such cases, the default values should be defined in a header. Instead of:

        def foo(:first_clause, b \\ :default) do ... end
        def foo(:second_clause, b) do ... end

    one should write:

        def foo(a, b \\ :default)
        def foo(:first_clause, b) do ... end
        def foo(:second_clause, b) do ... end

    │
 83 │   def fuzzy_check(_, _), do: []
    │       ~
    │
    └─ lib/mw_risk/sanctions_checker.ex:83:7

     warning: default values for the optional arguments in build_watcher_ctx/4 are never used
     │
 324 │   defp build_watcher_ctx(%Context{tenant_id: tenant_id}, model_id, payload, watcher_rules \\ []) do
     │        ~
     │
     └─ lib/mw_risk/scoring_pipeline.ex:324:8: MwRisk.ScoringPipeline (module)

    warning: clauses with the same name and arity (number of arguments) should be grouped together, "defp dispatch_one/3" was previously defined (lib/mw_risk/side_effect_dispatcher.ex:61)
    │
 93 │   defp dispatch_one(%{kind: :notification, details: %{type_id: 1} = details} = effect, tenant_id, _payload) do
    │        ~
    │
    └─ lib/mw_risk/side_effect_dispatcher.ex:93:8

    warning: unused alias ModelServer
    │
 38 │   alias MwRisk.ML.{ModelServer, Ensemble}
    │   ~
    │
    └─ lib/mw_risk/scoring_pipeline.ex:38:3

     warning: clauses with the same name and arity (number of arguments) should be grouped together, "defp build_create_case/1" was previously defined (lib/mw_risk/verifier.ex:322)
     │
 357 │   defp build_create_case(_), do: nil
     │        ~
     │
     └─ lib/mw_risk/verifier.ex:357:8

    warning: unused alias Models
    │
 24 │   alias InfraRepo.Risk.{Labels, Models}
    │   ~
    │
    └─ lib/mw_risk/workers/auto_retrain_worker.ex:24:3

    warning: unused alias Models
    │
 17 │   alias InfraRepo.Risk.{MlExperiments, Models}
    │   ~
    │
    └─ lib/mw_risk/workers/experiment_runner.ex:17:3

    warning: Axon.init/2 is deprecated. Use Axon.build/2 instead
    │
 63 │         Axon.init(model, template)
    │              ~
    │
    └─ (mw_risk 0.1.0) lib/mw_risk/ml/resumable_training.ex:63:14: MwRisk.ML.ResumableTraining.train_with_checkpoints/5

     warning: Axon.Loop.handle/3 is deprecated. handle/4 is deprecated, use handle_event/4 instead
     │
 141 │     Axon.Loop.handle(loop, :epoch_completed, fn _state ->
     │               ~
     │
     └─ (mw_risk 0.1.0) lib/mw_risk/ml/resumable_training.ex:141:15: MwRisk.ML.ResumableTraining.wrap_with_checkpoint_handler/4

    warning: Axon.init/2 is deprecated. Use Axon.build/2 instead
    │
 69 │     init_params = Axon.init(model, template)
    │                        ~
    │
    └─ (mw_risk 0.1.0) lib/mw_risk/ml/mlp.ex:69:24: MwRisk.ML.Mlp.train/4

Generated mw_risk app
==> adapter_fraud
Compiling 2 files (.ex)
Generated adapter_fraud app
==> gateway_api
Compiling 3 files (.ex)
    warning: unused import GatewayApiWeb.ControllerHelpers
    │
 31 │   import GatewayApiWeb.ControllerHelpers, only: [render_pipeline_result: 2]
    │   ~
    │
    └─ lib/gateway_api_web/controllers/webhook_controller.ex:31:3

Generated gateway_api app
==> gateway_web
Compiling 25 files (.ex)
     warning: clauses with the same name and arity (number of arguments) should be grouped together, "def handle_event/3" was previously defined (lib/gateway_web_web/live/dictionaries_live.ex:48)
     │
 227 │   def handle_event("validate_upload", _params, socket), do: {:noreply, socket}
     │       ~
     │
     └─ lib/gateway_web_web/live/dictionaries_live.ex:227:7

     warning: clauses with the same name and arity (number of arguments) should be grouped together, "def handle_event/3" was previously defined (lib/gateway_web_web/live/lists_live.ex:48)
     │
 259 │   def handle_event("toggle_field", %{"field" => field}, socket) when field in ~w(active locked) do
     │       ~
     │
     └─ lib/gateway_web_web/live/lists_live.ex:259:7

Compiling lib/gateway_web_web/live/case_browse_components.ex (it's taking more than 10s)
Compiling lib/gateway_web_web/live/case_management_live.ex (it's taking more than 10s)
     warning: function key_status_class/1 is unused
     │
 222 │   defp key_status_class(true),  do: "bg-green-50 text-green-700 border border-green-200"
     │        ~
     │
     └─ lib/gateway_web_web/live/api_keys_live.ex:222:8: GatewayWebWeb.ApiKeysLive (module)

     warning: function role_badge/1 is unused
     │
 225 │   defp role_badge("admin"), do: "bg-purple-50 text-purple-700 border border-purple-200"
     │        ~
     │
     └─ lib/gateway_web_web/live/api_keys_live.ex:225:8: GatewayWebWeb.ApiKeysLive (module)

Compiling lib/gateway_web_web/live/activation_rules_live.ex (it's taking more than 10s)
     warning: function plan_badge/1 is unused
     │
 187 │   defp plan_badge("professional"), do: "px-2 py-0.5 rounded bg-indigo-50 text-indigo-700 text-xs font-medium"
     │        ~
     │
     └─ lib/gateway_web_web/live/tenants_live.ex:187:8: GatewayWebWeb.TenantsLive (module)

     warning: function status_badge/1 is unused
     │
 181 │   defp status_badge("active"),   do: "px-2 py-0.5 rounded-full bg-emerald-100 text-emerald-700 font-medium text-xs"
     │        ~
     │
     └─ lib/gateway_web_web/live/tenants_live.ex:181:8: GatewayWebWeb.TenantsLive (module)

     warning: default values for the optional arguments in run_datasources/3 are never used
     │
 474 │   defp run_datasources(datasources, param_values, opts \\ []) do
     │        ~
     │
     └─ lib/gateway_web_web/live/visualisation_viewer_live.ex:474:8: GatewayWebWeb.VisualisationViewerLive (module)

    warning: unused alias RiskCaseSearchSession
    │
  9 │   alias InfraRepo.Schemas.{RiskCase, RiskCaseDiary, RiskCaseSearchSession}
    │   ~
    │
    └─ lib/gateway_web_web/live/case_browse_live.ex:9:3

    warning: unused import Ecto.Query
    │
  4 │   import Ecto.Query
    │   ~
    │
    └─ lib/gateway_web_web/live/case_browse_live.ex:4:3

Compiling lib/gateway_web_web/live/case_browse_live.ex (it's taking more than 10s)
    warning: unused alias RiskSanctionEntrySource
    │
 16 │   alias InfraRepo.Schemas.{RiskSanction, RiskSanctionEntrySource}
    │   ~
    │
    └─ lib/gateway_web_web/live/sanctions_live.ex:16:3

     warning: AdapterHttp.ConfigStore.get/1 is undefined (module AdapterHttp.ConfigStore is not available or is yet to be defined)
     │
 838 │     case AdapterHttp.ConfigStore.get(name) do
     │                                  ~
     │
     └─ (gateway_web 0.1.0) lib/gateway_web_web/live/adapter_detail_live.ex:838:34: GatewayWebWeb.AdapterDetailLive.adapter_enabled?/1

     warning: AdapterHttp.ConfigStore.reload!/0 is undefined (module AdapterHttp.ConfigStore is not available or is yet to be defined)
     │
 854 │       AdapterHttp.ConfigStore.reload!()
     │                               ~
     │
     └─ (gateway_web 0.1.0) lib/gateway_web_web/live/adapter_detail_live.ex:854:31: GatewayWebWeb.AdapterDetailLive.set_adapter_enabled/2

     warning: CloudiBootstrap.ServiceRegistry.list_services/0 is undefined (module CloudiBootstrap.ServiceRegistry is not available or is yet to be defined)
     │
 761 │       CloudiBootstrap.ServiceRegistry.list_services()
     │                                       ~
     │
     └─ (gateway_web 0.1.0) lib/gateway_web_web/live/cloudi_services_live.ex:761:39: GatewayWebWeb.CloudiServicesLive.fetch_services/0

     warning: AdapterCloudi.CircuitBreaker.open?/1 is undefined (module AdapterCloudi.CircuitBreaker is not available or is yet to be defined)
     │
 764 │         circuit_open = AdapterCloudi.CircuitBreaker.open?(name)
     │                                                     ~
     │
     └─ (gateway_web 0.1.0) lib/gateway_web_web/live/cloudi_services_live.ex:764:53: GatewayWebWeb.CloudiServicesLive.fetch_services/0

     warning: CloudiBootstrap.HealthCheck.status/0 is undefined (module CloudiBootstrap.HealthCheck is not available or is yet to be defined)
     │
 774 │       {:ok, status} = CloudiBootstrap.HealthCheck.status()
     │                                                   ~
     │
     └─ (gateway_web 0.1.0) lib/gateway_web_web/live/cloudi_services_live.ex:774:51: GatewayWebWeb.CloudiServicesLive.fetch_health_status/0

     warning: CloudiBootstrap.HealthCheck.healthy?/0 is undefined (module CloudiBootstrap.HealthCheck is not available or is yet to be defined)
     │
 783 │       CloudiBootstrap.HealthCheck.healthy?()
     │                                   ~
     │
     └─ (gateway_web 0.1.0) lib/gateway_web_web/live/cloudi_services_live.ex:783:35: GatewayWebWeb.CloudiServicesLive.cloudi_available?/0

     warning: AdapterHttp.ConfigStore.reload!/0 is undefined (module AdapterHttp.ConfigStore is not available or is yet to be defined)
     │
 110 │         ConfigStore.reload!()
     │                     ~
     │
     └─ (gateway_web 0.1.0) lib/gateway_web_web/live/adapter_configs_live.ex:110:21: GatewayWebWeb.AdapterConfigsLive.handle_event/3
     └─ (gateway_web 0.1.0) lib/gateway_web_web/live/adapter_configs_live.ex:147:21: GatewayWebWeb.AdapterConfigsLive.handle_event/3
     └─ (gateway_web 0.1.0) lib/gateway_web_web/live/adapter_configs_live.ex:166:17: GatewayWebWeb.AdapterConfigsLive.handle_event/3

    warning: unused alias RiskCaseWorkflow
    │
  6 │   alias InfraRepo.Schemas.{RiskCaseWorkflow, RiskCaseWorkflowFilter}
    │   ~
    │
    └─ lib/gateway_web_web/live/case_search_live.ex:6:3

    warning: unused alias Cases
    │
 14 │   alias InfraRepo.Risk.{Risks, Cases}
    │   ~
    │
    └─ lib/gateway_web_web/live/fraud_dashboard_live.ex:14:3

    warning: unused import Phoenix.Component
    │
 18 │   import Phoenix.Component
    │   ~
    │
    └─ lib/gateway_web_web/fraud_auth.ex:18:3

     warning: clauses with the same name and arity (number of arguments) should be grouped together, "def handle_info/2" was previously defined (lib/gateway_web_web/live/webhook_deliveries_live.ex:58)
     │
 141 │   def handle_info({:replay_done, id, :ok, _info}, socket) do
     │       ~
     │
     └─ lib/gateway_web_web/live/webhook_deliveries_live.ex:141:7

     warning: function total_pages/2 is unused
     │
 214 │   defp total_pages(total, page_size), do: max(1, ceil(total / page_size))
     │        ~
     │
     └─ lib/gateway_web_web/live/webhook_deliveries_live.ex:214:8: GatewayWebWeb.WebhookDeliveriesLive (module)

    warning: module attribute @page_size was set but never used
    │
 28 │   @page_size 50
    │   ~~~~~~~~~~~~~
    │
    └─ lib/gateway_web_web/live/webhook_deliveries_live.ex:28: GatewayWebWeb.WebhookDeliveriesLive (module)

    warning: function status_badge/1 is unused
    │
 91 │   defp status_badge("pending"),   do: "px-2 py-0.5 rounded-full bg-amber-100 text-amber-700 font-medium"
    │        ~
    │
    └─ lib/gateway_web_web/live/idempotency_live.ex:91:8: GatewayWebWeb.IdempotencyLive (module)

Generated gateway_web app
==> adapter_aritic_mail
Compiling 1 file (.ex)
    warning: module attribute @impl was not set for function connect/1 callback (specified in MwKernel.Adapter). This either means you forgot to add the "@impl true" annotation before the definition or that you are accidentally overriding this callback
    │
 12 │   defdelegate connect(config),      to: AdapterAriticMail.Client
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/adapter_aritic_mail.ex:12: AdapterAriticMail (module)

    warning: module attribute @impl was not set for function send/2 callback (specified in MwKernel.Adapter). This either means you forgot to add the "@impl true" annotation before the definition or that you are accidentally overriding this callback
    │
 13 │   defdelegate send(state, message), to: AdapterAriticMail.Client
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/adapter_aritic_mail.ex:13: AdapterAriticMail (module)

    warning: module attribute @impl was not set for function health_check/1 callback (specified in MwKernel.Adapter). This either means you forgot to add the "@impl true" annotation before the definition or that you are accidentally overriding this callback
    │
 14 │   defdelegate health_check(state),  to: AdapterAriticMail.Client
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/adapter_aritic_mail.ex:14: AdapterAriticMail (module)

    warning: module attribute @impl was not set for function disconnect/1 callback (specified in MwKernel.Adapter). This either means you forgot to add the "@impl true" annotation before the definition or that you are accidentally overriding this callback
    │
 15 │   defdelegate disconnect(state),    to: AdapterAriticMail.Client
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/adapter_aritic_mail.ex:15: AdapterAriticMail (module)

Generated adapter_aritic_mail app
