invarlock 0.3.2__py3-none-any.whl → 0.3.3__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.
@@ -407,25 +407,25 @@ def validate_guard_overhead(
407
407
  else None
408
408
  )
409
409
 
410
- bare_final = None
411
- guarded_final = None
410
+ bare_ppl = None
411
+ guarded_ppl = None
412
412
  if isinstance(bare_pm, dict):
413
- bare_final = bare_pm.get("final")
413
+ bare_ppl = bare_pm.get("final")
414
414
  if isinstance(guarded_pm, dict):
415
- guarded_final = guarded_pm.get("final")
415
+ guarded_ppl = guarded_pm.get("final")
416
416
 
417
417
  if (
418
- isinstance(bare_final, (int | float))
419
- and bare_final > 0
420
- and isinstance(guarded_final, (int | float))
418
+ isinstance(bare_ppl, (int | float))
419
+ and bare_ppl > 0
420
+ and isinstance(guarded_ppl, (int | float))
421
421
  ):
422
- overhead_ratio = float(guarded_final) / float(bare_final)
422
+ overhead_ratio = float(guarded_ppl) / float(bare_ppl)
423
423
  overhead_percent = (overhead_ratio - 1.0) * 100
424
424
 
425
425
  metrics["overhead_ratio"] = overhead_ratio
426
426
  metrics["overhead_percent"] = overhead_percent
427
- metrics["bare_final"] = float(bare_final)
428
- metrics["guarded_final"] = float(guarded_final)
427
+ metrics["bare_ppl"] = float(bare_ppl)
428
+ metrics["guarded_ppl"] = float(guarded_ppl)
429
429
 
430
430
  # Apply overhead gate
431
431
  checks["guard_overhead"] = overhead_ratio <= (1.0 + overhead_threshold)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invarlock
3
- Version: 0.3.2
3
+ Version: 0.3.3
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>
@@ -112,7 +112,7 @@ they don’t, roll back safely.
112
112
  Technical: edit‑agnostic guard pipeline (invariants → spectral → RMT →
113
113
  variance) producing a machine‑readable Safety Certificate.
114
114
 
115
- > **Status:** 0.3.2 (pre‑1.0). Until 1.0, **minor** releases may be
115
+ > **Status:** 0.3.3 (pre‑1.0). Until 1.0, **minor** releases may be
116
116
  > breaking. See CLI help and the CHANGELOG for updates.
117
117
 
118
118
  [![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)
@@ -1,4 +1,4 @@
1
- invarlock/__init__.py,sha256=AqBlkMDd1RwHMQQgIPAwCa7-Oyh8YCBQ8sM7yY0pEcM,1268
1
+ invarlock/__init__.py,sha256=YSGaWWa-a0YHoSfUT1yUDKLTZHY5T4l-nSAUpBYHwkI,1268
2
2
  invarlock/__main__.py,sha256=ffhoKctw89j-henmQXThbHDIdlvK9fBfsy8LpjhOEXc,146
3
3
  invarlock/config.py,sha256=7BUOl7EW258YnsgRipjOx6lmWou5jNDzimREd35ewsQ,1725
4
4
  invarlock/model_profile.py,sha256=sFHpK-1Q-1DjiZTWMolQBG4Dw9feLJgk3GnaD3ixgd8,12809
@@ -33,9 +33,9 @@ invarlock/cli/_evidence.py,sha256=38QMfFlPUT_qIRAZmpDROkwSIpHGiNKRWDyXfZ9xI_U,76
33
33
  invarlock/cli/_json.py,sha256=AKrRNFza76tH3GBVHO8gSA3klUVQ9XpDo_aYh8l-7j8,2367
34
34
  invarlock/cli/adapter_auto.py,sha256=Qwh4hJXm_vGexCXPt3iP70rQPC7ozwlEzSTYay0svQ8,5284
35
35
  invarlock/cli/app.py,sha256=iWO4tTwglZTH2CGEW_SXIQ95MyFTw6NYxlBujhpZQRg,9179
36
- invarlock/cli/config.py,sha256=i_qShwyc9GiWya8VcWffcMOEI-rVJzep43aCayx5SL4,12930
36
+ invarlock/cli/config.py,sha256=d9uar3l9VuqeF_AMtan85V71Vc2L6HVjwLwE6SM2e0M,13464
37
37
  invarlock/cli/constants.py,sha256=RuXxG82pukfBnEuJB2CVF5dyu4lEi-l8eAxkR314yuk,2107
38
- invarlock/cli/determinism.py,sha256=oW6nc4WaE5tmECZE0M53TUfrk6_djCzFdhBV0JEONho,7702
38
+ invarlock/cli/determinism.py,sha256=ux3AODjZbSdYE29uSrHXvY2qrEPxeAJd04QLT52lnec,8346
39
39
  invarlock/cli/device.py,sha256=5X0j2yiZbSKX9-SlDaAbSeHCoWhfEQ74YWPTb8WRk8k,3165
40
40
  invarlock/cli/doctor_helpers.py,sha256=e3A6rWYAcs1Q1WVFWt3OOGgqd5iMsKASD34TzI98wqA,2542
41
41
  invarlock/cli/errors.py,sha256=IzFikxe5gthlZ27wrRYUiM_SJsd2Sa5onUUhjm8e2kA,189
@@ -50,13 +50,13 @@ invarlock/cli/commands/explain_gates.py,sha256=CajKcu6rNi57yBsM_EUhi8rlmTl-ymT1k
50
50
  invarlock/cli/commands/export_html.py,sha256=oUGtt6EpKhjlywdtz_0FqYqcmA219H4eSjPuSMDShgY,3095
51
51
  invarlock/cli/commands/plugins.py,sha256=u5E6ThcWE5RUs2YKH-m6x7n-5K1jt2IudkF9kl9T5xg,53486
52
52
  invarlock/cli/commands/report.py,sha256=I-B11k6cLLNUIaNiKlsWrGgZ2cTQQJsarN3oNf9Dt84,12988
53
- invarlock/cli/commands/run.py,sha256=9C9AzA5NZqN0KOZRekWwGMo6m45t7JAwJfpzDusXvjg,181622
53
+ invarlock/cli/commands/run.py,sha256=ywVpP0-s_nzaUHKli-T925drkNh3FiM6BAnPjEzFA5M,181818
54
54
  invarlock/cli/commands/verify.py,sha256=k7_H8vfjYUz7pzoEvRZe2xTSnTy4-HnbiAAsgBZXSOU,45883
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=dg76wZaULo-T-_nZtq6rmDtWwSNLCSYXiQKVYySV6Fg,7545
58
58
  invarlock/core/auto_tuning.py,sha256=ulk_bLAokQJFHgttj5x9QmkwSx7IPVhX2J1GBPWS6PA,17383
59
- invarlock/core/bootstrap.py,sha256=Z7gtiVsOHTnrhy62W3870ZWbxPofmrFYn7gBUBAaJHk,6695
59
+ invarlock/core/bootstrap.py,sha256=0mA_x1Ipz4eTwJqoz4-F4H0O2AqvlmQGA9BVJpTNqXs,10655
60
60
  invarlock/core/checkpoint.py,sha256=a78L-mZd3j2kC1az2eTScRxTHjrULuYs-UPfWUcDgqM,6933
61
61
  invarlock/core/contracts.py,sha256=9j55WVwMrEsUqxWlzAdMsHtkzgfkSftdizhcLiJBauw,2165
62
62
  invarlock/core/error_utils.py,sha256=T23-p5ONQ-SeVuMR4Ts0cWyupsSa-0DAgsejRTfxeCg,1782
@@ -64,7 +64,7 @@ invarlock/core/events.py,sha256=8XBAi-9A7ys7QJQwqlz8PVlfxF0TM_TvLqjcPtDwZm4,9428
64
64
  invarlock/core/exceptions.py,sha256=b4OszJ0Fd0Ezy8s99AzprS7lAkqdZYGXaSj9fYaln4E,2077
65
65
  invarlock/core/registry.py,sha256=a5hYHXl74MLnaPFbmpwJ-1OsJgY3SSe2Jisbzfr2rLM,19137
66
66
  invarlock/core/retry.py,sha256=KTVkrTnWs60jwATOZDHinERH56GnOGjsKR0lmohagEo,4503
67
- invarlock/core/runner.py,sha256=IWp6cL21IzP_7k26AqcCFHg772f3XHO_PK2PB_-DS0s,81448
67
+ invarlock/core/runner.py,sha256=sz1cEF0_oke7KjHEPCyPuaZXQFW3uCO7rsbZOoFFFfA,92523
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
@@ -76,10 +76,10 @@ invarlock/edits/registry.py,sha256=MmUfJhhvc3WxB03wQkPxFMS6nkT7YcXFPQqhbksfOUc,4
76
76
  invarlock/eval/__init__.py,sha256=GsKoszCysh3TT_UHiuJcqeoiXT7AUNZoqMuBmefnWtY,755
77
77
  invarlock/eval/bench.py,sha256=85tGywzAeJSVlZ1Qsebk8FwIGUYhq9g6TxOW5XnL5X8,56335
78
78
  invarlock/eval/bench_regression.py,sha256=-92lJbx2BP4utGIsIyahNQtouz56ghuuTEvj1yCaEoY,456
79
- invarlock/eval/bootstrap.py,sha256=hE1-CCc6b7ogk8Tuob7IhmOVhOI7DVlG6So0PL-Rlvo,1671
79
+ invarlock/eval/bootstrap.py,sha256=CNn7W_MY716Wa_wn6cYRmbTYB9lT2X0yLOAIHCRw29k,1766
80
80
  invarlock/eval/data.py,sha256=nKx1XIkwmVKQyDP7aa40SFWk5GLVNxHI5gpmUWID3bE,75126
81
81
  invarlock/eval/metrics.py,sha256=3ay3mqsFTa0V5a66gKdk7BOOJjKWXlub5lrTpcex9DQ,73946
82
- invarlock/eval/primary_metric.py,sha256=VDeDFuLnsmYpL8JoauabmE99CGDw-kSAe5NaxmcEQqw,28031
82
+ invarlock/eval/primary_metric.py,sha256=ay8gB7xGjWahXpJP-o4OcZFNRNZKcUIHjKmSeOUWJNk,28701
83
83
  invarlock/eval/py.typed,sha256=LCPmZeE_vANVVJDNvuq9A07i7jg9Nxrq6f10UeuNfZc,37
84
84
  invarlock/eval/probes/__init__.py,sha256=KocOJmEWrD90c2HbDW3wDsdsibRyidskpI4rNNfLbZ0,593
85
85
  invarlock/eval/probes/fft.py,sha256=iuZauzOaNPbXN4t74vMiNQAjg6ZmwPNPUuUBj4L1ick,4106
@@ -94,10 +94,10 @@ invarlock/guards/_contracts.py,sha256=WPhg3iWpHGkKfPvlPPQ-umzOakpy3s289DKkYQ0e64
94
94
  invarlock/guards/invariants.py,sha256=2mD5WSJMCksjO-DodAac5pvZN0nl29NKHhqwqH_gyCQ,22379
95
95
  invarlock/guards/policies.py,sha256=sbZkddUSnkx3ZsFm4vV4DfSU81QUh9R8S4vuAtPF11I,25466
96
96
  invarlock/guards/py.typed,sha256=LCPmZeE_vANVVJDNvuq9A07i7jg9Nxrq6f10UeuNfZc,37
97
- invarlock/guards/rmt.py,sha256=f_fZEKZyp_xJcmc7wAMNSrzs702JCztfq3zcK4CSJgk,78710
98
- invarlock/guards/spectral.py,sha256=xuUVwF2a3v4WzbwtsjrM7NU0mKK0gsv0WvnkjkN-05U,58613
97
+ invarlock/guards/rmt.py,sha256=U3_JTZKsOIgnH-TdZxKMLL9p_3EbfYJKlIqB1gtvQLw,97928
98
+ invarlock/guards/spectral.py,sha256=lmnq4x1-MwoXAK6awaUeb_6xvCya-Tg_zqECDdYvMOA,58618
99
99
  invarlock/guards/tier_config.py,sha256=_WJIQ4qvIOc8EI1ygBhpBqbZPt072RT6H6Oh9-LqNWY,10706
100
- invarlock/guards/variance.py,sha256=3OYprEvWKRfq5UYSH82AJrp163gEtGyCoUIgL3wotls,133255
100
+ invarlock/guards/variance.py,sha256=lcTNb_uSufB7D8cLkoY1S_IQWHUjIfCucsu5y8MpfPs,136794
101
101
  invarlock/guards_ref/__init__.py,sha256=jLnyFqdqQaheG1qQMlU4Gx7R118rkkQHPqFVF3_1ih0,366
102
102
  invarlock/guards_ref/rmt_ref.py,sha256=md-aSzLCxPL3OXmrA5NtI9wK7cVSyd2xw8WtSodcGQY,1246
103
103
  invarlock/guards_ref/spectral_ref.py,sha256=FdwFfrs5hxEEUIfBV3CvAJvTX78gAM00mKLEXyZ0zJo,4386
@@ -117,24 +117,24 @@ invarlock/plugins/hf_bnb_adapter.py,sha256=g0ysWEi8dQzLtJy8iCszfTsYCOACuZMFYnTLM
117
117
  invarlock/plugins/hf_gptq_adapter.py,sha256=ysugAcnjLqF5sqpijSNiim1xUpRmoIgBrG053X3S2hE,3743
118
118
  invarlock/plugins/py.typed,sha256=LCPmZeE_vANVVJDNvuq9A07i7jg9Nxrq6f10UeuNfZc,37
119
119
  invarlock/reporting/__init__.py,sha256=A0541EqxcdTpslNbZEWIO4q-LCqzCQcadev2IBKEBbM,232
120
- invarlock/reporting/certificate.py,sha256=vgmLWLq1epkChmawOgGRwEBqtuK80rmrRkQo8HXYdzY,136891
120
+ invarlock/reporting/certificate.py,sha256=pq6ZPNMtzIhtiAjQ5tv8XUsRcCdxxqDAyJDlNGKIHWQ,145199
121
121
  invarlock/reporting/certificate_schema.py,sha256=ft58LrF4lfdXT08P0jjtiNvRPVs6TdgPU_cp9K4TMPw,8939
122
122
  invarlock/reporting/dataset_hashing.py,sha256=b9LM2rtOtD0-1gQq_oJ0yI6oLleempwKinQtLupajwI,8680
123
123
  invarlock/reporting/guards_analysis.py,sha256=7TTlF-OwgT7wGQ8zZ8oHHPuMdUMvKw7836WvO0J1GUc,42465
124
124
  invarlock/reporting/html.py,sha256=d3LQ_brDGYW7GLR_Kj4rimIfGZsAgVE9XQtIjqsJ1rw,1029
125
- invarlock/reporting/normalizer.py,sha256=7PN3OmczVmsSSFoWXz8wb6F4r46q1luI_Od9Ld3h2wg,8011
126
- invarlock/reporting/policy_utils.py,sha256=pRuOrz7NB1CYMxB4Cy0L240vwSDdUJbtqFAv04payhA,23136
127
- invarlock/reporting/primary_metric_utils.py,sha256=K6DVoGHibrFdcpI0LwroHlffTcgBRVejekUK0vriWP4,11406
125
+ invarlock/reporting/normalizer.py,sha256=hSfNMyUusWZ1OIJ5lVxzKrk8Le1rRqbwOkPY83gCcHM,8078
126
+ invarlock/reporting/policy_utils.py,sha256=Yu0zAtjnf0-w9t03NvH7LJ0lxe98o-E1tD8TpXtzsfo,23080
127
+ invarlock/reporting/primary_metric_utils.py,sha256=F9H8xpEIgbYfj6VS5-QA5aNLL5OwPegdQVKwvdoVVMM,12150
128
128
  invarlock/reporting/render.py,sha256=zukCOm6Qm81nDkpOur50TKrlgRpnt7Q53TEU7eYFivg,59976
129
129
  invarlock/reporting/report.py,sha256=kyoqTiqtYUQfgpwm6RApV-LbHHIyryfiIPIRhy-z47Q,32293
130
130
  invarlock/reporting/report_types.py,sha256=IoCLoPdoB71hW6-UatZXSjG7itTn4dKp7jPRndXxugA,8736
131
131
  invarlock/reporting/utils.py,sha256=1aLYgSUR4XvgmhDvU9YK9ICd7W5sjft1qdsZC9JJSRY,5540
132
- invarlock/reporting/validate.py,sha256=396Fe4SPII4zaD1adGtH2hsl5asQOCDqDL4W3YixEXU,22453
132
+ invarlock/reporting/validate.py,sha256=oh7w8VrLM2EYZSJ2ySDNi7WKKmF1SgS81VkOrcHMzaE,22427
133
133
  invarlock/utils/__init__.py,sha256=DR2pBrgddLH2PW-6ninOE8CM7DNvlvgyYsCkckozbPU,4276
134
134
  invarlock/utils/digest.py,sha256=sfnqGFRiRf7l950MjSIrWO1XbUfXlcEfNLeWFbBUr8I,1290
135
- invarlock-0.3.2.dist-info/licenses/LICENSE,sha256=uFddaXYY02nEFdPpS7bam_bnm0st41BibzD0jHULPXw,10413
136
- invarlock-0.3.2.dist-info/METADATA,sha256=Ic7I45Qn8rk2ac9IzwswJZMcr5daDbleaOiBEN8xbmA,21845
137
- invarlock-0.3.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
138
- invarlock-0.3.2.dist-info/entry_points.txt,sha256=i0e4ZzmJNMBGG-69lbgP-muEcn1je2TUIWwl9SJERm0,670
139
- invarlock-0.3.2.dist-info/top_level.txt,sha256=GXfftc_YDHHcQC2vQgYbZ5cTO82YuWY3HusHMT3DuKs,10
140
- invarlock-0.3.2.dist-info/RECORD,,
135
+ invarlock-0.3.3.dist-info/licenses/LICENSE,sha256=uFddaXYY02nEFdPpS7bam_bnm0st41BibzD0jHULPXw,10413
136
+ invarlock-0.3.3.dist-info/METADATA,sha256=TtfgKz4riaRxKJcgSBmwukAbdtTkHYhj9Oej84nfs1I,21845
137
+ invarlock-0.3.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
138
+ invarlock-0.3.3.dist-info/entry_points.txt,sha256=i0e4ZzmJNMBGG-69lbgP-muEcn1je2TUIWwl9SJERm0,670
139
+ invarlock-0.3.3.dist-info/top_level.txt,sha256=GXfftc_YDHHcQC2vQgYbZ5cTO82YuWY3HusHMT3DuKs,10
140
+ invarlock-0.3.3.dist-info/RECORD,,