invarlock 0.3.6__py3-none-any.whl → 0.3.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. invarlock/__init__.py +2 -2
  2. invarlock/adapters/__init__.py +10 -14
  3. invarlock/adapters/auto.py +35 -40
  4. invarlock/adapters/capabilities.py +2 -2
  5. invarlock/adapters/hf_causal.py +418 -0
  6. invarlock/adapters/{hf_onnx.py → hf_causal_onnx.py} +3 -3
  7. invarlock/adapters/hf_mixin.py +25 -4
  8. invarlock/adapters/{hf_bert.py → hf_mlm.py} +4 -11
  9. invarlock/adapters/{hf_t5.py → hf_seq2seq.py} +9 -9
  10. invarlock/cli/adapter_auto.py +31 -21
  11. invarlock/cli/app.py +73 -2
  12. invarlock/cli/commands/certify.py +600 -59
  13. invarlock/cli/commands/doctor.py +8 -10
  14. invarlock/cli/commands/plugins.py +13 -9
  15. invarlock/cli/commands/report.py +233 -69
  16. invarlock/cli/commands/run.py +907 -183
  17. invarlock/cli/commands/verify.py +76 -11
  18. invarlock/cli/config.py +1 -1
  19. invarlock/cli/doctor_helpers.py +4 -5
  20. invarlock/cli/output.py +193 -0
  21. invarlock/cli/provenance.py +1 -1
  22. invarlock/core/bootstrap.py +1 -1
  23. invarlock/core/registry.py +9 -11
  24. invarlock/core/runner.py +111 -25
  25. invarlock/edits/quant_rtn.py +65 -37
  26. invarlock/eval/bench.py +3 -3
  27. invarlock/eval/data.py +68 -23
  28. invarlock/eval/metrics.py +59 -1
  29. invarlock/eval/tasks/__init__.py +12 -0
  30. invarlock/eval/tasks/classification.py +48 -0
  31. invarlock/eval/tasks/qa.py +36 -0
  32. invarlock/eval/tasks/text_generation.py +102 -0
  33. invarlock/guards/invariants.py +19 -10
  34. invarlock/guards/rmt.py +2 -2
  35. invarlock/guards/variance.py +2 -2
  36. invarlock/model_profile.py +48 -27
  37. invarlock/observability/health.py +6 -6
  38. invarlock/observability/metrics.py +108 -0
  39. invarlock/reporting/certificate.py +159 -9
  40. invarlock/reporting/certificate_schema.py +1 -1
  41. invarlock/reporting/guards_analysis.py +154 -4
  42. invarlock/reporting/html.py +55 -5
  43. invarlock/reporting/normalizer.py +7 -0
  44. invarlock/reporting/render.py +791 -431
  45. invarlock/reporting/report.py +39 -3
  46. invarlock/reporting/report_types.py +6 -1
  47. invarlock/reporting/telemetry.py +86 -0
  48. {invarlock-0.3.6.dist-info → invarlock-0.3.7.dist-info}/METADATA +23 -9
  49. {invarlock-0.3.6.dist-info → invarlock-0.3.7.dist-info}/RECORD +53 -48
  50. {invarlock-0.3.6.dist-info → invarlock-0.3.7.dist-info}/WHEEL +1 -1
  51. {invarlock-0.3.6.dist-info → invarlock-0.3.7.dist-info}/entry_points.txt +5 -3
  52. invarlock/adapters/hf_gpt2.py +0 -404
  53. invarlock/adapters/hf_llama.py +0 -487
  54. {invarlock-0.3.6.dist-info → invarlock-0.3.7.dist-info}/licenses/LICENSE +0 -0
  55. {invarlock-0.3.6.dist-info → invarlock-0.3.7.dist-info}/top_level.txt +0 -0
@@ -243,22 +243,24 @@ def save_report(
243
243
  raise ValueError("Baseline report required for certificate generation")
244
244
 
245
245
  # Generate certificate JSON in canonical path/name
246
+ cert_json = to_certificate(report, baseline, format="json")
246
247
  cert_json_path = output_path / "evaluation.cert.json"
247
248
  with open(cert_json_path, "w", encoding="utf-8") as f:
248
- f.write(to_certificate(report, baseline, format="json"))
249
+ f.write(cert_json)
249
250
  saved_files["cert"] = cert_json_path
250
251
 
251
252
  # Also emit a markdown variant for human consumption
253
+ cert_md = to_certificate(report, baseline, format="markdown")
252
254
  cert_md_path = output_path / f"{filename_prefix}_certificate.md"
253
255
  with open(cert_md_path, "w", encoding="utf-8") as f:
254
- f.write(to_certificate(report, baseline, format="markdown"))
256
+ f.write(cert_md)
255
257
  saved_files["cert_md"] = cert_md_path
256
258
 
257
259
  # Emit a lightweight manifest to serve as an evidence bundle index
258
260
  try:
259
261
  from datetime import datetime as _dt
260
262
 
261
- manifest = {
263
+ manifest: dict[str, Any] = {
262
264
  "generated_at": _dt.now().isoformat(),
263
265
  "files": {
264
266
  "certificate_json": str(cert_json_path),
@@ -270,6 +272,40 @@ def save_report(
270
272
  "seed": (report.get("meta", {}) or {}).get("seed"),
271
273
  },
272
274
  }
275
+
276
+ # Surface quick triage fields without opening the certificate.
277
+ try:
278
+ from .render import compute_console_validation_block
279
+
280
+ certificate_obj = json.loads(cert_json)
281
+ if not isinstance(certificate_obj, dict):
282
+ raise TypeError("certificate JSON did not decode to a dict")
283
+
284
+ block = compute_console_validation_block(certificate_obj)
285
+ rows = block.get("rows", []) or []
286
+ gates_total = len(rows)
287
+ gates_passed = sum(
288
+ 1 for r in rows if isinstance(r, dict) and bool(r.get("ok"))
289
+ )
290
+ overall_status = "PASS" if block.get("overall_pass") else "FAIL"
291
+
292
+ pm_ratio = None
293
+ pm = certificate_obj.get("primary_metric", {}) or {}
294
+ if isinstance(pm, dict):
295
+ ratio = pm.get("ratio_vs_baseline")
296
+ if isinstance(ratio, int | float):
297
+ pm_ratio = float(ratio)
298
+
299
+ manifest["summary"].update(
300
+ {
301
+ "overall_status": overall_status,
302
+ "primary_metric_ratio": pm_ratio,
303
+ "gates_passed": gates_passed,
304
+ "gates_total": gates_total,
305
+ }
306
+ )
307
+ except Exception:
308
+ pass
273
309
  # Write debug evidence (tiny) when requested via env
274
310
  guard_payload = {}
275
311
  try:
@@ -34,7 +34,7 @@ class MetaData(TypedDict):
34
34
  """Metadata about the model and execution environment."""
35
35
 
36
36
  model_id: str # Model identifier (e.g., "gpt2", "path/to/model")
37
- adapter: str # Adapter name (e.g., "hf_gpt2")
37
+ adapter: str # Adapter name (e.g., "hf_causal")
38
38
  commit: str # Git commit SHA
39
39
  seed: int # Random seed used for evaluation
40
40
  device: str # Device used ("cpu", "cuda", "mps")
@@ -107,6 +107,11 @@ class EvalMetrics(TypedDict, total=False):
107
107
  # Optional aux fields retained for guard telemetry and debug
108
108
  latency_ms_per_tok: float # Average latency per token in milliseconds
109
109
  memory_mb_peak: float # Peak memory usage in MB
110
+ gpu_memory_mb_peak: float # Peak GPU memory usage in MB
111
+ gpu_memory_reserved_mb_peak: float # Peak GPU reserved memory in MB
112
+ timings: dict[str, float] # Phase timing breakdown (seconds)
113
+ guard_timings: dict[str, float] # Per-guard timings (seconds)
114
+ memory_snapshots: list[dict[str, Any]] # Phase memory snapshots
110
115
  spectral: dict[str, Any] # Spectral norm summaries
111
116
  rmt: dict[str, Any] # RMT statistics
112
117
  invariants: dict[str, Any] # Model invariant check results
@@ -0,0 +1,86 @@
1
+ """
2
+ Telemetry report utilities.
3
+
4
+ Produces a compact JSON summary for performance analysis.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ import json
10
+ from datetime import datetime
11
+ from pathlib import Path
12
+ from typing import Any
13
+
14
+
15
+ def build_telemetry_payload(report: dict[str, Any]) -> dict[str, Any]:
16
+ """Build a structured telemetry payload from a run report."""
17
+ meta_in = report.get("meta", {}) if isinstance(report, dict) else {}
18
+ metrics_in = report.get("metrics", {}) if isinstance(report, dict) else {}
19
+
20
+ payload: dict[str, Any] = {"generated_at": datetime.now().isoformat()}
21
+
22
+ if isinstance(meta_in, dict):
23
+ payload["meta"] = {
24
+ "model_id": meta_in.get("model_id"),
25
+ "adapter": meta_in.get("adapter"),
26
+ "device": meta_in.get("device"),
27
+ "run_id": meta_in.get("run_id"),
28
+ "profile": meta_in.get("profile"),
29
+ }
30
+
31
+ if isinstance(metrics_in, dict):
32
+ timings = metrics_in.get("timings")
33
+ if isinstance(timings, dict):
34
+ payload["timings"] = timings
35
+
36
+ guard_timings = metrics_in.get("guard_timings")
37
+ if isinstance(guard_timings, dict):
38
+ payload["guard_timings"] = guard_timings
39
+
40
+ memory_snapshots = metrics_in.get("memory_snapshots")
41
+ if isinstance(memory_snapshots, list):
42
+ payload["memory_snapshots"] = memory_snapshots
43
+
44
+ memory_summary: dict[str, Any] = {}
45
+ for key in (
46
+ "memory_mb_peak",
47
+ "gpu_memory_mb_peak",
48
+ "gpu_memory_reserved_mb_peak",
49
+ ):
50
+ value = metrics_in.get(key)
51
+ if isinstance(value, int | float):
52
+ memory_summary[key] = float(value)
53
+ if memory_summary:
54
+ payload["memory"] = memory_summary
55
+
56
+ perf_metrics: dict[str, Any] = {}
57
+ for key in (
58
+ "latency_ms_per_tok",
59
+ "throughput_tok_per_s",
60
+ "eval_samples",
61
+ "total_tokens",
62
+ ):
63
+ value = metrics_in.get(key)
64
+ if isinstance(value, int | float):
65
+ perf_metrics[key] = float(value)
66
+ if perf_metrics:
67
+ payload["performance"] = perf_metrics
68
+
69
+ return payload
70
+
71
+
72
+ def save_telemetry_report(
73
+ report: dict[str, Any],
74
+ output_dir: Path,
75
+ *,
76
+ filename: str = "telemetry.json",
77
+ ) -> Path:
78
+ """Write telemetry JSON payload to the output directory."""
79
+ payload = build_telemetry_payload(report)
80
+ output_dir.mkdir(parents=True, exist_ok=True)
81
+ path = output_dir / filename
82
+ path.write_text(json.dumps(payload, indent=2, ensure_ascii=False), encoding="utf-8")
83
+ return path
84
+
85
+
86
+ __all__ = ["build_telemetry_payload", "save_telemetry_report"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invarlock
3
- Version: 0.3.6
3
+ Version: 0.3.7
4
4
  Summary: Edit‑agnostic robustness certificates for weight edits (InvarLock framework)
5
5
  Author-email: InvarLock Team <oss@invarlock.dev>
6
6
  Maintainer-email: InvarLock Maintainers <support@invarlock.dev>
@@ -31,6 +31,7 @@ Requires-Dist: scikit-learn>=1.4
31
31
  Requires-Dist: pydantic>=2.0
32
32
  Requires-Dist: rich>=13.0
33
33
  Requires-Dist: pyyaml>=6.0
34
+ Requires-Dist: markdown>=3.5
34
35
  Requires-Dist: psutil>=5.9
35
36
  Requires-Dist: hypothesis>=6.98
36
37
  Requires-Dist: typing_extensions>=4.7
@@ -110,9 +111,9 @@ In short: certify that weight edits (e.g., quantization) preserve quality. If
110
111
  they don’t, roll back safely.
111
112
 
112
113
  Technical: edit‑agnostic guard pipeline (invariants → spectral → RMT →
113
- variance) producing a machine‑readable Safety Certificate.
114
+ variance) producing a machine‑readable Evaluation Certificate.
114
115
 
115
- > **Status:** 0.3.6 (pre‑1.0). Until 1.0, **minor** releases may be
116
+ > **Status:** 0.3.7 (pre‑1.0). Until 1.0, **minor** releases may be
116
117
  > breaking. See CLI help and the CHANGELOG for updates.
117
118
 
118
119
  [![CI](https://img.shields.io/github/actions/workflow/status/invarlock/invarlock/ci.yml?branch=main&logo=github&label=CI)](https://github.com/invarlock/invarlock/actions/workflows/ci.yml)
@@ -127,7 +128,20 @@ For guidance on where to ask questions, how to report bugs, and what to expect i
127
128
 
128
129
  ## 🚀 Quick start (no repo clone)
129
130
 
130
- [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/invarlock/invarlock/blob/main/notebooks/invarlock_quickstart_cpu.ipynb)
131
+ Notebooks (Colab):
132
+
133
+ - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/invarlock/invarlock/blob/main/notebooks/invarlock_quickstart_cpu.ipynb)
134
+ `invarlock_quickstart_cpu.ipynb` — install + certify + verify + HTML export (CPU-friendly)
135
+ - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/invarlock/invarlock/blob/main/notebooks/invarlock_compare_certify.ipynb)
136
+ `invarlock_compare_certify.ipynb` — Compare & Certify (BYOE) end-to-end
137
+ - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/invarlock/invarlock/blob/main/notebooks/invarlock_certificate_deep_dive.ipynb)
138
+ `invarlock_certificate_deep_dive.ipynb` — reading and interpreting certificates
139
+ - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/invarlock/invarlock/blob/main/notebooks/invarlock_custom_datasets.ipynb)
140
+ `invarlock_custom_datasets.ipynb` — Bring Your Own Data (BYOD) with `local_jsonl`
141
+ - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/invarlock/invarlock/blob/main/notebooks/invarlock_python_api.ipynb)
142
+ `invarlock_python_api.ipynb` — programmatic Python API usage
143
+ - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/invarlock/invarlock/blob/main/notebooks/invarlock_policy_tiers.ipynb)
144
+ `invarlock_policy_tiers.ipynb` — Conservative vs Balanced vs Aggressive tier comparison
131
145
 
132
146
  ```bash
133
147
  # Install with HF adapters
@@ -146,8 +160,8 @@ This produces `reports/.../evaluation.cert.json` with paired metrics
146
160
  (ppl/accuracy), structural deltas, spectral/RMT stats, variance‑estimator
147
161
  provenance, seeds/hashes, pairing metrics, and a policy digest.
148
162
 
149
- > **Calibration note:** tier thresholds and window sizes are piloted on GPT‑2 small,
150
- > BERT base, and TinyLLaMA (see `docs/assurance/09-tier-v1-calibration.md`). For
163
+ > **Calibration note:** tier thresholds and window sizes are piloted on GPT‑2 small
164
+ > and BERT base (see `docs/assurance/09-tier-v1-calibration.md`). For
151
165
  > calibrated Balanced/Conservative certs, use the preset‑based CI/Release examples
152
166
  > below. `INVARLOCK_TINY_RELAX` dev runs relax sample‑size floors and are intended
153
167
  > only for small smoke tests (not release evidence).
@@ -319,7 +333,7 @@ needed (e.g., `CUDA_VISIBLE_DEVICES`).
319
333
  3. **RMT** (ε-band on outliers; monitor or gate per tier)
320
334
  4. **Variance (VE)** (predictive paired ΔlogNLL gate; tiered sidedness)
321
335
 
322
- - **Safety Certificate (schema v1, PM‑only)**: Primary Metric (ppl or
336
+ - **Evaluation Certificate (schema v1, PM‑only)**: Primary Metric (ppl or
323
337
  accuracy) with paired statistics, structural deltas, spectral/RMT stats, VE
324
338
  provenance, seeds/hashes, pairing metrics, and **policy digest**. Canonical
325
339
  artifact: `reports/.../evaluation.cert.json`.
@@ -440,7 +454,7 @@ Key checks enforced by balanced policy (summary):
440
454
  ```yaml
441
455
  model:
442
456
  id: "<set-your-model-id>" # e.g., gpt2
443
- adapter: "hf_gpt2"
457
+ adapter: "hf_causal"
444
458
  device: "cpu"
445
459
  dataset:
446
460
  provider: "wikitext2"
@@ -505,7 +519,7 @@ invarlock/
505
519
  │ ├─ invarlock/ # core + unified namespace
506
520
  │ │ ├─ core/ # runner, registry, contracts, events, ABI
507
521
  │ │ ├─ cli/ # console app + command wrappers (unified import path)
508
- │ │ ├─ adapters/ # adapter wrappers (HF GPT‑2/BERT/LLaMA)
522
+ │ │ ├─ adapters/ # model adapters (HF causal/MLM/seq2seq/onnx)
509
523
  │ │ ├─ edits/ # quant_rtn
510
524
  │ │ ├─ guards/ # invariants, spectral, rmt, variance
511
525
  │ │ ├─ eval/ # evaluation metrics and helpers
@@ -1,7 +1,7 @@
1
- invarlock/__init__.py,sha256=_KZRr1cTUSCHY7ZiPIk71h06tEznF_LOZQbyXcQfBMk,1268
1
+ invarlock/__init__.py,sha256=ADHnj4D3i4MA8nqx2Hydu5EG4ZB-OiNsv-lO2aEzVDM,1271
2
2
  invarlock/__main__.py,sha256=ffhoKctw89j-henmQXThbHDIdlvK9fBfsy8LpjhOEXc,146
3
3
  invarlock/config.py,sha256=7BUOl7EW258YnsgRipjOx6lmWou5jNDzimREd35ewsQ,1725
4
- invarlock/model_profile.py,sha256=K-RSLbQRv9uM4RMfLvApLf3p2wp8iKrfy3BZ4p1h3m4,13756
4
+ invarlock/model_profile.py,sha256=LlrBmSNXXFau0UGkYPkR9NVjatMRqTvgoNXlwD5GlaA,14557
5
5
  invarlock/model_utils.py,sha256=mEl9KOF2yOJgx-6r38PbD9SNFeAScamy9K-csxtl40Q,6395
6
6
  invarlock/py.typed,sha256=LCPmZeE_vANVVJDNvuq9A07i7jg9Nxrq6f10UeuNfZc,37
7
7
  invarlock/security.py,sha256=xUjbHu-bHKUfFqDyN_21Hj00NBmAcGgnAg4JCjb0JOE,4861
@@ -9,19 +9,18 @@ invarlock/sparsity_utils.py,sha256=30SC3osptca2GmzxezbfX31EE6sRUhmEz8u3jn4vB2c,8
9
9
  invarlock/_data/runtime/tiers.yaml,sha256=9EbVnNw6MX18NKMI9xjKzJt-BsaB-JhUtC13c3Skmls,3619
10
10
  invarlock/_data/runtime/profiles/ci_cpu.yaml,sha256=FE5vxeemAFWW7oRxPvp_8hIcCO8qrJilvQpXuS3f6u0,389
11
11
  invarlock/_data/runtime/profiles/release.yaml,sha256=xF0Qb0OTm904U6L3wK674JMTcDPegYvpKgwUB9pfq_w,482
12
- invarlock/adapters/__init__.py,sha256=MxWJGRxVrV2TL5c7MA4FqmWyu1e_Kwpk7Ol4IFUJcNM,3411
12
+ invarlock/adapters/__init__.py,sha256=wZBhjYAnD7a0ZV36EDwje6D0FGG45CIfJ41WYqUPGg0,3296
13
13
  invarlock/adapters/_capabilities.py,sha256=FmzUR5BHsxWe92Z9W1As-G5_5wG1PvqF2sUpjZ2_CdY,1483
14
- invarlock/adapters/auto.py,sha256=4F3I63PRW604v_NtaTY7aGvUJVjGSjejVKFff-X_1t4,7693
14
+ invarlock/adapters/auto.py,sha256=L4fnAi3Ahx_sznVFY9zqBSXqPKa1aAK055KwVBnh_Wc,7589
15
15
  invarlock/adapters/base.py,sha256=szSh1bECeDSDGQSr5oIWhs5RlI587gE4gzdt5cnOJ1s,16100
16
16
  invarlock/adapters/base_types.py,sha256=3IuHt63_RjGZqoTOdkMpfGPiZTGqcvXXDq1KU-8QemQ,1612
17
- invarlock/adapters/capabilities.py,sha256=oAK_zgCzAFmss8qAU2zgc8kcahtadGtbPTYR7StXiCo,15360
18
- invarlock/adapters/hf_bert.py,sha256=KTEk2HRSPlH57bfdVjV6imn_-aYqXAlbnWfEFlRm8h4,35555
19
- invarlock/adapters/hf_gpt2.py,sha256=TBn1cd_yZDSyVF5aJ-YNEwZzbVYI-m1c8U0CJl_74CM,14808
20
- invarlock/adapters/hf_llama.py,sha256=P3T7m9j61EmHtzzhemIfM2I2e5nbl4RwXSdoaVsueGc,19141
17
+ invarlock/adapters/capabilities.py,sha256=wcSUkWm0_bVMHo3CEhGxplldG8M5nrB3Uhij8cwutzY,15373
18
+ invarlock/adapters/hf_causal.py,sha256=N9-L-Px4dzjAP4EsnJI_od1GMBqDVJ5JReyV4MyNtjs,15139
19
+ invarlock/adapters/hf_causal_onnx.py,sha256=eMqLPs0aIb7v4KjY0krdgfImVRTPht1D_k9LCulXw6w,4451
21
20
  invarlock/adapters/hf_loading.py,sha256=6hdSFRz_JMtBzQfHcwvyDlIVP2y-KwLwhDorg73DZ6c,2742
22
- invarlock/adapters/hf_mixin.py,sha256=3YGoamAG6OCubsbJ9S583yYiQEy2fZOsBJeBiLZTEbk,22307
23
- invarlock/adapters/hf_onnx.py,sha256=kEqgQEEdGUeaXDF0EgaMHOQQMhc1xIvur0bQvdky-AY,4446
24
- invarlock/adapters/hf_t5.py,sha256=sqHmi8io7oKlr7GrAk8tGo72zb-hmHGmXplCQSZgrA8,4774
21
+ invarlock/adapters/hf_mixin.py,sha256=95LbHHXUbkH22P3Iqf7nQxd1vmd0sumEZ9CEyKWZsiI,23101
22
+ invarlock/adapters/hf_mlm.py,sha256=iCyiy-0aYO43d2eTM8brKeJGBhZsMkjhzGhj580oh4s,35221
23
+ invarlock/adapters/hf_seq2seq.py,sha256=_5jmTB0sMpXs5N1_rNJ7vpntkpj4k68Ca7tM-Iy8HPw,4796
25
24
  invarlock/adapters/py.typed,sha256=LCPmZeE_vANVVJDNvuq9A07i7jg9Nxrq6f10UeuNfZc,37
26
25
  invarlock/assurance/__init__.py,sha256=SFDT2klaUaKZejulL5cfBTW29ehJxyW5srE-LuqP7z0,1388
27
26
  invarlock/calibration/__init__.py,sha256=M5lbkNQtLBuQjQJGeRzHovkpYI87fEWIm7a0b23jSp4,110
@@ -31,54 +30,55 @@ invarlock/cli/__init__.py,sha256=mRjYDVmNykhxJxfQBxJMzhFfmNhmvP6OWI-vJL-ehUA,196
31
30
  invarlock/cli/__main__.py,sha256=spgMrx0eJQSEf4rcd0_mB2B8rHOc3iWlTFO3P_qEvoM,175
32
31
  invarlock/cli/_evidence.py,sha256=38QMfFlPUT_qIRAZmpDROkwSIpHGiNKRWDyXfZ9xI_U,769
33
32
  invarlock/cli/_json.py,sha256=AKrRNFza76tH3GBVHO8gSA3klUVQ9XpDo_aYh8l-7j8,2367
34
- invarlock/cli/adapter_auto.py,sha256=Qwh4hJXm_vGexCXPt3iP70rQPC7ozwlEzSTYay0svQ8,5284
35
- invarlock/cli/app.py,sha256=iWO4tTwglZTH2CGEW_SXIQ95MyFTw6NYxlBujhpZQRg,9179
36
- invarlock/cli/config.py,sha256=vyLxR9WKW2vnIFACmS6k79yHEaO1zKuZ9q5bufaoB18,14203
33
+ invarlock/cli/adapter_auto.py,sha256=macGPMlQkc9TftMzYzK33VvlIevSXrrF_gC5nUAVbjU,5634
34
+ invarlock/cli/app.py,sha256=HTzF1YrXJm6_E8GmHxAA5KyBQ4bCmEi8BPIM7hZyO48,11786
35
+ invarlock/cli/config.py,sha256=DNCsepPCY_l0JTPUqI9QRa-cLIl8n4H2xzolXjtL7q8,14205
37
36
  invarlock/cli/constants.py,sha256=RuXxG82pukfBnEuJB2CVF5dyu4lEi-l8eAxkR314yuk,2107
38
37
  invarlock/cli/determinism.py,sha256=ux3AODjZbSdYE29uSrHXvY2qrEPxeAJd04QLT52lnec,8346
39
38
  invarlock/cli/device.py,sha256=5X0j2yiZbSKX9-SlDaAbSeHCoWhfEQ74YWPTb8WRk8k,3165
40
- invarlock/cli/doctor_helpers.py,sha256=e3A6rWYAcs1Q1WVFWt3OOGgqd5iMsKASD34TzI98wqA,2542
39
+ invarlock/cli/doctor_helpers.py,sha256=3QkE4P6lrb2YQA-OC5m6K6CQEoe7PSRiSuQDYEvmRsY,2503
41
40
  invarlock/cli/errors.py,sha256=IzFikxe5gthlZ27wrRYUiM_SJsd2Sa5onUUhjm8e2kA,189
41
+ invarlock/cli/output.py,sha256=lNEQ189iyV-EEsdTY4rmFcKKjq0lJuIP-gzsEIFL7BA,4883
42
42
  invarlock/cli/overhead_utils.py,sha256=Ygvl192UDTroAbVAd7v35jgigmmfVxNkCIGYlWfh6Co,2124
43
- invarlock/cli/provenance.py,sha256=2E_8MxpSVEcxe5UewTb5Hlz6x4jXFwGd1567F4nIbEc,1939
43
+ invarlock/cli/provenance.py,sha256=P3Rg_IEFYqNcECiPd-aO0rgp8ZDfqAy5n5N_bPGg1C4,1946
44
44
  invarlock/cli/utils.py,sha256=R6IN21lGfko2lGUgspmkZyjA6Nl_dVRaP8F8nRtN5yw,1393
45
45
  invarlock/cli/commands/__init__.py,sha256=afpKpU8hJI41Ol46oXxVwQgPwFBy4OmLaa_v4AAOdts,712
46
46
  invarlock/cli/commands/calibrate.py,sha256=TnoYKjvmz2pSj3Wak8HluSV27hN2D8O1dGAQWCcHeeE,20830
47
- invarlock/cli/commands/certify.py,sha256=n62diGs7eFymuJNz-EJmWldYVO5KehHWeYtwtL1UWRY,15861
48
- invarlock/cli/commands/doctor.py,sha256=IQciP1Xs-_W4R5lhZv1ZbYwvIjy9VY_WMBypvbok1FI,56944
47
+ invarlock/cli/commands/certify.py,sha256=ET56hmCkn61XpZ3hrHIrS4CG6dmjDvlkSEzgSxm8YdA,35625
48
+ invarlock/cli/commands/doctor.py,sha256=F-q5CJ2qRgCDqbaZYBRApPUy7V6E_jkgSCqZgkxlOqA,56879
49
49
  invarlock/cli/commands/explain_gates.py,sha256=7cnc_FBxvSkjmM12JOA2yfhY4JH1puDDaIHo3r6IC9M,9444
50
50
  invarlock/cli/commands/export_html.py,sha256=oUGtt6EpKhjlywdtz_0FqYqcmA219H4eSjPuSMDShgY,3095
51
- invarlock/cli/commands/plugins.py,sha256=u5E6ThcWE5RUs2YKH-m6x7n-5K1jt2IudkF9kl9T5xg,53486
52
- invarlock/cli/commands/report.py,sha256=AaGq4J1qm8ERMZmbAkAHtc8kZ0CvMp14wili1K2tX8g,12987
53
- invarlock/cli/commands/run.py,sha256=S25dVLxQe1RVxLQ6cD8CSlpqGxp1Eggvbk4WzsHSwW4,204782
54
- invarlock/cli/commands/verify.py,sha256=zKoSTPLrMgCw6LseCNn5RkPDEZTuRZ8j14tWHbvcZxM,49234
51
+ invarlock/cli/commands/plugins.py,sha256=VTJKTMjFO4Dh4dqcY4qlkwhsWJixyHSNk8tWBcYGyfA,53620
52
+ invarlock/cli/commands/report.py,sha256=91hfdk3Vr4ckMyl0ZgV_b9opE_5_G_dYg2F5BLIh_Mo,18292
53
+ invarlock/cli/commands/run.py,sha256=rk7DfXcVp7AncGpkPvkYjT7t1whHknRzEnVpIe6jesc,228633
54
+ invarlock/cli/commands/verify.py,sha256=Gm4dgATdyo5HRsuAwH-7hZpPt1a0wxXnAJkGpZ8w6xE,51801
55
55
  invarlock/core/__init__.py,sha256=4wb83Xv7NE5M1FgvaFUviiNtVSTVATiPH3gqavNmp2w,1490
56
56
  invarlock/core/abi.py,sha256=gmU1F7LDd2HTcF4kcznn8vgG4zj9UCHSqhBk9jyu05k,484
57
57
  invarlock/core/api.py,sha256=RTFswFBuUH38gary5X7qmccOD7vAYLtSN0ie8Y6p1ck,8480
58
58
  invarlock/core/auto_tuning.py,sha256=Gj0AhpThoDYnzr9DyuXM9iCuieMKR4xv43tC7ZcjHzs,18543
59
- invarlock/core/bootstrap.py,sha256=0mA_x1Ipz4eTwJqoz4-F4H0O2AqvlmQGA9BVJpTNqXs,10655
59
+ invarlock/core/bootstrap.py,sha256=buamO9CNkfmPaK8zFy_GtQD9VnFiBiwxaTGQvEo3neA,10659
60
60
  invarlock/core/checkpoint.py,sha256=a78L-mZd3j2kC1az2eTScRxTHjrULuYs-UPfWUcDgqM,6933
61
61
  invarlock/core/contracts.py,sha256=ESK3-ErieGEf8e84wiphlCjahdr87zoKyTSskq6o23E,2468
62
62
  invarlock/core/error_utils.py,sha256=T23-p5ONQ-SeVuMR4Ts0cWyupsSa-0DAgsejRTfxeCg,1782
63
63
  invarlock/core/events.py,sha256=8XBAi-9A7ys7QJQwqlz8PVlfxF0TM_TvLqjcPtDwZm4,9428
64
64
  invarlock/core/exceptions.py,sha256=b4OszJ0Fd0Ezy8s99AzprS7lAkqdZYGXaSj9fYaln4E,2077
65
- invarlock/core/registry.py,sha256=ZRW7JY-XgWrQMtN451n_Uk4it3CMLCsZUPHqic2G1x4,19109
65
+ invarlock/core/registry.py,sha256=hQrAqVEyDOCF88KHn80a5oMMS73_i4KTjL3Wwo08YkI,18910
66
66
  invarlock/core/retry.py,sha256=KTVkrTnWs60jwATOZDHinERH56GnOGjsKR0lmohagEo,4503
67
- invarlock/core/runner.py,sha256=BYvJlWhsrSRyudXNdY-vuZVt5NypYqMTS5yK28jhIVI,104105
67
+ invarlock/core/runner.py,sha256=lftQst05FASXuRIIkqrmOX4Sn9DezY3Aws6Cnh3A8OY,107570
68
68
  invarlock/core/types.py,sha256=nVLMP4yqlxwhE1moQU7FWVeGJqTuud-cvTZiutdBGKk,3585
69
69
  invarlock/edits/__init__.py,sha256=5CJTX6oJTLj79Vmks2_8mXRGFQH0oyKaZOrBLTlRtV0,277
70
70
  invarlock/edits/_edit_utils.py,sha256=VGl32JAt7XsovxJbX1YvW9DJvtG-K2EKu-TjBFTQmDY,6329
71
71
  invarlock/edits/_external_utils.py,sha256=Ltaua-eNooDagPSb20wxK-QXXpHjFJaymbDIjI3ZoWY,7625
72
72
  invarlock/edits/noop.py,sha256=I9ICb9m4RLK7BllERlydujQciHQm9Hj8gbqKz5_rCTg,1304
73
73
  invarlock/edits/py.typed,sha256=LCPmZeE_vANVVJDNvuq9A07i7jg9Nxrq6f10UeuNfZc,37
74
- invarlock/edits/quant_rtn.py,sha256=8rseGbF_-EFuL8MWCuzgGXYfzp9LsONhV72-OK56mlk,30684
74
+ invarlock/edits/quant_rtn.py,sha256=b6GQe-KDe_Tpr4904naLYn4_dmG9lR5LwwjTaqbX7Dc,31651
75
75
  invarlock/edits/registry.py,sha256=MmUfJhhvc3WxB03wQkPxFMS6nkT7YcXFPQqhbksfOUc,4523
76
76
  invarlock/eval/__init__.py,sha256=GsKoszCysh3TT_UHiuJcqeoiXT7AUNZoqMuBmefnWtY,755
77
- invarlock/eval/bench.py,sha256=pG1OSO5-Ela46ReImhQJAuLTxE6oSfTFjHSTSL_09-8,55925
77
+ invarlock/eval/bench.py,sha256=jVBQcbEV7tEiyaYv6nJnvL5KCuHD3LOb5qXYbfvyWgs,55931
78
78
  invarlock/eval/bench_regression.py,sha256=GDphmdcH7NI8P_afSkQAPMChEgW15J0gqTZ4Kj3kxgw,456
79
79
  invarlock/eval/bootstrap.py,sha256=CNn7W_MY716Wa_wn6cYRmbTYB9lT2X0yLOAIHCRw29k,1766
80
- invarlock/eval/data.py,sha256=YUOvgM3h_KSIZ0FQw5yhrsU_YonIb5Ml950t8hg3qn8,66652
81
- invarlock/eval/metrics.py,sha256=Ff72jgeLAWCn1WgpDE2lX0RzdJMrb39fgjKCF2rwkpk,78972
80
+ invarlock/eval/data.py,sha256=WcnH9nMaEpWqsGLnVfSFIps1a_16aVw0qtpQtm0-G2c,68326
81
+ invarlock/eval/metrics.py,sha256=PHfsIZQpCDesj7oL_vAIDdB3nH-10qVRl6kvfRU8-u4,80789
82
82
  invarlock/eval/primary_metric.py,sha256=lGDWiXM1cyXqGH6XprLrxBl1hTwjrlSYbQCzF687zsA,29545
83
83
  invarlock/eval/py.typed,sha256=LCPmZeE_vANVVJDNvuq9A07i7jg9Nxrq6f10UeuNfZc,37
84
84
  invarlock/eval/tail_stats.py,sha256=ueScFzPvBnBC4jVW5EElnB0c3LPK3cAITcOUdyPCsEk,7114
@@ -90,16 +90,20 @@ invarlock/eval/providers/base.py,sha256=27Cn7-TRtVRPrSHt7qBBqtLMnMEslO88zHiEsxQz
90
90
  invarlock/eval/providers/seq2seq.py,sha256=lYxI6d1-YCyxjGyHVLi2ZbFFwxJVVUewH9luFBoDehM,3711
91
91
  invarlock/eval/providers/text_lm.py,sha256=EpQWjQEkxSMhTiABsJzZqfYsgSYeMmUW-ZgePmdyj7U,4149
92
92
  invarlock/eval/providers/vision_text.py,sha256=pqhPHwvYEnyKupchIy-g-jM_oWeYNXRHb23_Qm4v2hU,3180
93
+ invarlock/eval/tasks/__init__.py,sha256=Z5CG7jwVNTMnQ0OZEzqsbYZzQkmPm3lHt2k2V8f2e6U,327
94
+ invarlock/eval/tasks/classification.py,sha256=s1v649MlKn2u1z1q8rvor5yMg3AvORFxoKoAXEDp088,1398
95
+ invarlock/eval/tasks/qa.py,sha256=D4nnj2A_6Tsmi5mz3x2bN9j88eCB-ajE4h7x-obNf-0,1134
96
+ invarlock/eval/tasks/text_generation.py,sha256=gefCcwqpsIoz3Sq6V6XDEZvChR1K2Hn4pHfzFDo7CMk,3355
93
97
  invarlock/guards/__init__.py,sha256=Kj7Jwb4qLyaY0ATRku34T628vom3QMjTiVrlpfJAWw8,443
94
98
  invarlock/guards/_contracts.py,sha256=WPhg3iWpHGkKfPvlPPQ-umzOakpy3s289DKkYQ0e64I,263
95
99
  invarlock/guards/_estimators.py,sha256=84nT5eF7uN-zr-RfYF2uOvdHlmE5c8_yvor4IqxvwWk,4642
96
- invarlock/guards/invariants.py,sha256=2mD5WSJMCksjO-DodAac5pvZN0nl29NKHhqwqH_gyCQ,22379
100
+ invarlock/guards/invariants.py,sha256=pnzjB1_2e0yD7jjySLIm_McDail_HTWpbAsGuYD2I40,22747
97
101
  invarlock/guards/policies.py,sha256=ggY0zZ3i39OAeFZJSG1FjwnR3-wjWntKLLvumBvG8pc,25933
98
102
  invarlock/guards/py.typed,sha256=LCPmZeE_vANVVJDNvuq9A07i7jg9Nxrq6f10UeuNfZc,37
99
- invarlock/guards/rmt.py,sha256=eKWbF4htt_0-Cuby5T9Q6Di6QmQPsCBUWh-dCXlrxic,99864
103
+ invarlock/guards/rmt.py,sha256=aRMtRR7LfrjR-ZkeL_AsGb61bbBadYHhQx424WIRFVs,99878
100
104
  invarlock/guards/spectral.py,sha256=TP_xmzL0iP3CSQjnkulNbuJegxCrp68MuMPWdLeE0Gg,69597
101
105
  invarlock/guards/tier_config.py,sha256=6JzS1TOlhUVX2NdUodWhb4VOA_AnAFVOXvwY9aiopbA,10796
102
- invarlock/guards/variance.py,sha256=8WauGx34ORBMrArYTDRtyEZuTcZSeBIqJHqG067wugc,136371
106
+ invarlock/guards/variance.py,sha256=iNursnzCHbc2fd3icZ3cYG-dk4WFYqn6CKxKcKn2MJI,136385
103
107
  invarlock/guards_ref/__init__.py,sha256=jLnyFqdqQaheG1qQMlU4Gx7R118rkkQHPqFVF3_1ih0,366
104
108
  invarlock/guards_ref/rmt_ref.py,sha256=IfwN-l9cLExUQJhZmr-1uJv7qRSoYrGg2w2caCG53hs,1399
105
109
  invarlock/guards_ref/spectral_ref.py,sha256=FdwFfrs5hxEEUIfBV3CvAJvTX78gAM00mKLEXyZ0zJo,4386
@@ -108,8 +112,8 @@ invarlock/observability/__init__.py,sha256=_fCH1H51M0PYOvpuNq9sVQLTiDAtdQMvtnhVt
108
112
  invarlock/observability/alerting.py,sha256=y_mReOy5KHbHhglQIoChzTl-4BZz9aaGDreLGFzhl8M,17887
109
113
  invarlock/observability/core.py,sha256=lMsXCp5HZj3YIdfrkxRYQWpu1ib6pm8TkPab_1aKjHM,19050
110
114
  invarlock/observability/exporters.py,sha256=bNpuN7ulQ3KQSySozJZvNHythMw2ciF54aQzZ9t2hKE,18712
111
- invarlock/observability/health.py,sha256=28jKOb8dPDJVunh8FOBe6FS4rqtp0vP8mGQcotxkIUY,21564
112
- invarlock/observability/metrics.py,sha256=ciYhz7R11rW3FR4BLb-ES2R0k7IaUPCew89k359r-CQ,15476
115
+ invarlock/observability/health.py,sha256=jKVfThhe985oY1koS8EhWm08VQaVhHgRcspkuNrvO9E,21573
116
+ invarlock/observability/metrics.py,sha256=RhEz4B5zvRHAgFHukyZHGhDJDSxR3szYwk7TTFzIZTQ,19016
113
117
  invarlock/observability/py.typed,sha256=LCPmZeE_vANVVJDNvuq9A07i7jg9Nxrq6f10UeuNfZc,37
114
118
  invarlock/observability/utils.py,sha256=1AC3ZEzbrDzTOvSIFxAtWlITy1BHEPZ032HKKzqK_10,16492
115
119
  invarlock/plugins/__init__.py,sha256=aZqkpuTT0K3y0SX4702k3YpHnM3kng9fz0qO3XE43hY,260
@@ -119,24 +123,25 @@ invarlock/plugins/hf_bnb_adapter.py,sha256=g0ysWEi8dQzLtJy8iCszfTsYCOACuZMFYnTLM
119
123
  invarlock/plugins/hf_gptq_adapter.py,sha256=ysugAcnjLqF5sqpijSNiim1xUpRmoIgBrG053X3S2hE,3743
120
124
  invarlock/plugins/py.typed,sha256=LCPmZeE_vANVVJDNvuq9A07i7jg9Nxrq6f10UeuNfZc,37
121
125
  invarlock/reporting/__init__.py,sha256=A0541EqxcdTpslNbZEWIO4q-LCqzCQcadev2IBKEBbM,232
122
- invarlock/reporting/certificate.py,sha256=UyUhhrgWsdNG2xPtOVvRjaiWaOhHP-Aw6PuzOD8UBHQ,154177
123
- invarlock/reporting/certificate_schema.py,sha256=aZPDvJcFOIcwNJ06iTHJtXAHTmb5BPvv_T7qaSTjW8o,8978
126
+ invarlock/reporting/certificate.py,sha256=bE7uCWJ5foZeblq_DgMoQ9wjW_tjEC7XXBvUOAy2fLA,159511
127
+ invarlock/reporting/certificate_schema.py,sha256=wCBjLsWu-y1hqedQYgAmdNeSh7FkcpuGCFHGK46Wlgk,8982
124
128
  invarlock/reporting/dataset_hashing.py,sha256=igDq9iMB8sqed5CEWT2fXtx9z5QAxIZ9bbs5RndDDC4,9228
125
- invarlock/reporting/guards_analysis.py,sha256=JYZ-_Aoc1XI7BrYYm1Pit4n5vTewnt8wqhzMDrWYpO8,38014
126
- invarlock/reporting/html.py,sha256=d3LQ_brDGYW7GLR_Kj4rimIfGZsAgVE9XQtIjqsJ1rw,1029
127
- invarlock/reporting/normalizer.py,sha256=7zUyx9pUPuV6IrEi7PRBFIAid_14ABuU4xhHLjkONCI,8271
129
+ invarlock/reporting/guards_analysis.py,sha256=Q3DhV806McbV4NVxbD-Lcw334epcQ1-zTEUF3aT8JGc,44356
130
+ invarlock/reporting/html.py,sha256=-vpkk3nE9GEaEtitMVFu5EWNKTQgjPfrnadzgKiSjvc,3297
131
+ invarlock/reporting/normalizer.py,sha256=RIKGtTzMBOLiDvI4-ijssnyAnQN6-c5zpbs41KeBdKI,8468
128
132
  invarlock/reporting/policy_utils.py,sha256=540fw6cFvyvYL7avlvId9GUvY9-g6MkeDlcPt18uuE0,22934
129
133
  invarlock/reporting/primary_metric_utils.py,sha256=7h6CzMQzu0A8xN10vbRgSNcQ0YTMxsT2JiNEgCVaXyM,14849
130
- invarlock/reporting/render.py,sha256=nujyDXgh11dWUtYPru41mx8FnWer7-5wbCiqqK2ae7A,62450
131
- invarlock/reporting/report.py,sha256=oqNjusy2wseURakW3Icn0MPSDNMm6bpcvKREFTzbd3o,32286
132
- invarlock/reporting/report_types.py,sha256=cw6UxHS67W0Y8uLEFoplGFrdrr9ktZDyzkvjuQkSERU,8873
134
+ invarlock/reporting/render.py,sha256=PkyzUIJQNI-1X7wghlO_KzrYwYal17qFRA0mcdJsUb4,75137
135
+ invarlock/reporting/report.py,sha256=hVjyqPHJOeM6TWVAttExrhYxeAPTfY3HPFAMlrlkVZE,33780
136
+ invarlock/reporting/report_types.py,sha256=NcA6PkI8JJA-FbPAGT-q_QcDkRcz57ayEKHyFbqe-Rk,9211
137
+ invarlock/reporting/telemetry.py,sha256=1A4ZgsmT7BzaEMiG56OzCwc0dX6MKVh8TPOwyXNGSb8,2705
133
138
  invarlock/reporting/utils.py,sha256=1aLYgSUR4XvgmhDvU9YK9ICd7W5sjft1qdsZC9JJSRY,5540
134
139
  invarlock/reporting/validate.py,sha256=aFcac5iaaNOLMYEf6g5xoF4-a-J5E430utFLnfu6fKc,21782
135
140
  invarlock/utils/__init__.py,sha256=DR2pBrgddLH2PW-6ninOE8CM7DNvlvgyYsCkckozbPU,4276
136
141
  invarlock/utils/digest.py,sha256=sfnqGFRiRf7l950MjSIrWO1XbUfXlcEfNLeWFbBUr8I,1290
137
- invarlock-0.3.6.dist-info/licenses/LICENSE,sha256=uFddaXYY02nEFdPpS7bam_bnm0st41BibzD0jHULPXw,10413
138
- invarlock-0.3.6.dist-info/METADATA,sha256=PYnrgExSymgE3QAyfJbHect9jVt6cJatWY3zVp7npNo,21875
139
- invarlock-0.3.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
140
- invarlock-0.3.6.dist-info/entry_points.txt,sha256=i0e4ZzmJNMBGG-69lbgP-muEcn1je2TUIWwl9SJERm0,670
141
- invarlock-0.3.6.dist-info/top_level.txt,sha256=GXfftc_YDHHcQC2vQgYbZ5cTO82YuWY3HusHMT3DuKs,10
142
- invarlock-0.3.6.dist-info/RECORD,,
142
+ invarlock-0.3.7.dist-info/licenses/LICENSE,sha256=uFddaXYY02nEFdPpS7bam_bnm0st41BibzD0jHULPXw,10413
143
+ invarlock-0.3.7.dist-info/METADATA,sha256=Nl947X_buWTqiOvNfWlEQq_bbkdcUF7vceVgG6lz_9o,23388
144
+ invarlock-0.3.7.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
145
+ invarlock-0.3.7.dist-info/entry_points.txt,sha256=7zdvDjsIPqOGEhfQFn596IrodvkhYrkybFgQ2ywPHYQ,780
146
+ invarlock-0.3.7.dist-info/top_level.txt,sha256=GXfftc_YDHHcQC2vQgYbZ5cTO82YuWY3HusHMT3DuKs,10
147
+ invarlock-0.3.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -2,12 +2,14 @@
2
2
  invarlock = invarlock.cli.app:app
3
3
 
4
4
  [invarlock.adapters]
5
+ hf_auto = invarlock.adapters:HF_Auto_Adapter
5
6
  hf_awq = invarlock.plugins.hf_awq_adapter:HF_AWQ_Adapter
6
- hf_bert = invarlock.adapters:HF_BERT_Adapter
7
7
  hf_bnb = invarlock.plugins.hf_bnb_adapter:HF_BNB_Adapter
8
- hf_gpt2 = invarlock.adapters:HF_GPT2_Adapter
8
+ hf_causal = invarlock.adapters:HF_Causal_Adapter
9
+ hf_causal_onnx = invarlock.adapters:HF_Causal_ONNX_Adapter
9
10
  hf_gptq = invarlock.plugins.hf_gptq_adapter:HF_GPTQ_Adapter
10
- hf_llama = invarlock.adapters:HF_LLaMA_Adapter
11
+ hf_mlm = invarlock.adapters:HF_MLM_Adapter
12
+ hf_seq2seq = invarlock.adapters:HF_Seq2Seq_Adapter
11
13
 
12
14
  [invarlock.edits]
13
15
  quant_rtn = invarlock.edits:RTNQuantEdit