Cybersecurity-Projects/PROJECTS/advanced/haskell-reverse-proxy
CarterPerez-dev e5c2f59675 feat: add Aenebris.ML.Inference and Aenebris.ML.Calibration
- New Aenebris.ML.Inference module: pure tree-walk over the unified Tree
  SoA produced by Aenebris.ML.Loader. Mirrors LightGBM C++ NumericalDecision
  exactly: NaN remapped to 0 unless MissingType=NaN; MissingType=Zero/NaN
  routes via default-left flag; '<=' predicate (not '<'); categorical
  bitmap test using cat_boundaries slice; average_output divisor for RF
  mode; sigmoid link for binary logistic objective. kZeroThreshold = 1e-35
  matches LightGBM's IsZero exactly. Defensive against NaN/Inf/negative
  on categorical paths. 35 tests covering leaf-only, numerical splits,
  missing-value semantics, categorical routing, multi-tree sums, sigmoid
  saturation, average_output, regression vs binary objectives, and
  end-to-end against the disk fixture.

- New Aenebris.ML.Calibration module: pure calibration of binary
  classifier outputs. Calibrator ADT (NoCalibrator | PlattCalibrator a b
  | IsotonicCalibrator bp). Platt scaling uses Newton's method with
  damped line search on Platt-1999 smoothed targets (N+ + 1)/(N+ + 2)
  and 1/(N- + 2); numerically stable softplus-based log-loss. Isotonic
  regression uses Pool Adjacent Violators on a stack with tie pre-
  grouping, sorted (raw, calibrated) breakpoints, linear interpolation,
  out-of-range clamping. Sub-2-sample input returns NoCalibrator. 28
  tests covering all three calibrator constructors, fit edge cases,
  Platt convergence on logistic data, isotonic correction of non-
  monotone data, tie handling, all-same-label degenerate cases, and
  lookup behavior including clamping and interpolation.

- aenebris.cabal: expose both new modules in the library stanza.

- 301 total examples passing, 0 GHC warnings on either new module.
2026-04-29 00:35:07 -04:00
..
app add learn folder, move hidden files, update root readme, add learn folder, add clang tidy, and format 2026-02-26 00:38:55 -05:00
examples chore: add demos for projects, update haskell-reverse-proxy modules, refresh siem assets 2026-04-26 23:12:48 -04:00
scripts feat: add Aenebris.ML.Loader for LightGBM v4 model parsing 2026-04-28 17:35:33 -04:00
src/Aenebris feat: add Aenebris.ML.Inference and Aenebris.ML.Calibration 2026-04-29 00:35:07 -04:00
test feat: add Aenebris.ML.Inference and Aenebris.ML.Calibration 2026-04-29 00:35:07 -04:00
.gitignore chore: add demos for projects, update haskell-reverse-proxy modules, refresh siem assets 2026-04-26 23:12:48 -04:00
.style.yapf add learn folder, move hidden files, update root readme, add learn folder, add clang tidy, and format 2026-02-26 00:38:55 -05:00
CHANGELOG.md add learn folder, move hidden files, update root readme, add learn folder, add clang tidy, and format 2026-02-26 00:38:55 -05:00
LICENSE add learn folder, move hidden files, update root readme, add learn folder, add clang tidy, and format 2026-02-26 00:38:55 -05:00
README.md add learn folder, move hidden files, update root readme, add learn folder, add clang tidy, and format 2026-02-26 00:38:55 -05:00
Setup.hs add learn folder, move hidden files, update root readme, add learn folder, add clang tidy, and format 2026-02-26 00:38:55 -05:00
WHITEPAPER add learn folder, move hidden files, update root readme, add learn folder, add clang tidy, and format 2026-02-26 00:38:55 -05:00
aenebris.cabal feat: add Aenebris.ML.Inference and Aenebris.ML.Calibration 2026-04-29 00:35:07 -04:00
justfile chore: add demos for projects, update haskell-reverse-proxy modules, refresh siem assets 2026-04-26 23:12:48 -04:00
stack.yaml add learn folder, move hidden files, update root readme, add learn folder, add clang tidy, and format 2026-02-26 00:38:55 -05:00
stack.yaml.lock add learn folder, move hidden files, update root readme, add learn folder, add clang tidy, and format 2026-02-26 00:38:55 -05:00

README.md

ⒸAngelaMos | 2026

IN PROGRESS

Ᾰenebris: Next Gen Reverse Proxy

⡋⣡⣴⣶⣶⡀⠄⠄⠙⢿⣿⣿⣿⣿⣿⣴⣿⣿⣿⢃⣤⣄⣀⣥⣿
⢸⣇⠻⣿⣿⣿⣧⣀⢀⣠⡌⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⣿⣿
⢸⣿⣷⣤⣤⣤⣬⣙⣛⢿⣿⣿⣿⣿⣿⣿⡿⣿⣿⡍⠄⠄⢀⣤⣄⠉
⣖⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⢇⣿⣿⡷⠶⠶⢿⣿⣿⠇⢀
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣷⣶⣥⣴
⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣦⣌⣛⣻⣿⣿⣧⠙⠛⠛⡭⠅⠒⠦⠭⣭⡻⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⠄
⣿⣿⣿⣿⣿⣿⣿⡆⠄⠄⠄⠄⠄⠄⠄⠄⠹⠈⢋⣽⣿⣿⣿⣿⣵⣾
⣿⣿⣿⣿⣿⣿⣿⣿⠄⣴⣿⣶⣄⠄⣴⣶⠄⢀⣾⣿⣿⣿⣿⣿⣿⠃⠄⠄
⠈⠻⣿⣿⣿⣿⣿⣿⡄⢻⣿⣿⣿⠄⣿⣿⡀⣾⣿⣿⣿⣿⣛⠛⠁
⠄⠄⠈⠛⢿⣿⣿⣿⠁⠞⢿⣿⣿⡄⢿⣿⡇⣸⣿⣿⠿⠛⠁⠄
⠄⠄⠄⠄⠄⠉⠻⣿⣿⣾⣦⡙⠻⣷⣾⣿⠃⠿⠋⠁⠄

License

AGPL 3.0