v1.0.1: batch generate + audit
This commit is contained in:
parent
080bcd6452
commit
38de0644c7
81
RELEASE_NOTES.md
Normal file
81
RELEASE_NOTES.md
Normal file
@ -0,0 +1,81 @@
|
||||
# SDS Release — 2026-07-08 13:13:33
|
||||
|
||||
## Files Generated
|
||||
|
||||
| File | Size |
|
||||
|------|------|
|
||||
| SDS_BG_ACETONE.pdf | 87 KB |
|
||||
| SDS_BG_BUTYL_ACETATE.pdf | 87 KB |
|
||||
| SDS_BG_BUTYL_DIGLYCOL.pdf | 83 KB |
|
||||
| SDS_BG_BUTYL_GLYCOL.pdf | 88 KB |
|
||||
| SDS_BG_CHLOROFORM.pdf | 88 KB |
|
||||
| SDS_BG_CYCLOHEXANONE.pdf | 87 KB |
|
||||
| SDS_BG_DENATURED_ETHYL_ALCOHOL.pdf | 83 KB |
|
||||
| SDS_BG_DIETHYLENE_GLYCOL.pdf | 82 KB |
|
||||
| SDS_BG_DIMETHYL_KETONE.pdf | 87 KB |
|
||||
| SDS_BG_DIOCTYL_TEREPHTHALATE.pdf | 80 KB |
|
||||
| SDS_BG_DPGME.pdf | 80 KB |
|
||||
| SDS_BG_ETHOXYPROPANOL.pdf | 82 KB |
|
||||
| SDS_BG_ETHYL_ACETATE.pdf | 87 KB |
|
||||
| SDS_BG_ETHYL_SILICATE.pdf | 88 KB |
|
||||
| SDS_BG_FORMIC_ACID_85%.pdf | 87 KB |
|
||||
| SDS_BG_GLYCEROL.pdf | 80 KB |
|
||||
| SDS_BG_ISOBUTANOL.pdf | 87 KB |
|
||||
| SDS_BG_METHANOL.pdf | 88 KB |
|
||||
| SDS_BG_METHOXYPROPANOL.pdf | 82 KB |
|
||||
| SDS_BG_METHOXYPROPYL_ACETATE.pdf | 83 KB |
|
||||
| SDS_BG_METHYLENE_CHLORIDE.pdf | 81 KB |
|
||||
| SDS_BG_METHYL_ETHYL_KETONE.pdf | 87 KB |
|
||||
| SDS_BG_MONO_ETHYLENE_GLYCOL.pdf | 81 KB |
|
||||
| SDS_BG_MONO_PROPYLENE_GLYCOL.pdf | 80 KB |
|
||||
| SDS_BG_N_BUTANOL.pdf | 88 KB |
|
||||
| SDS_BG_N_PROPANOL.pdf | 87 KB |
|
||||
| SDS_BG_N_PROPYL_ACETATE.pdf | 87 KB |
|
||||
| SDS_BG_SODIUM_HYDROXIDE_48%.pdf | 87 KB |
|
||||
| SDS_BG_SODIUM_HYDROXIDE_DIL.pdf | 87 KB |
|
||||
| SDS_BG_SODIUM_HYDROXIDE_FLAKES.pdf | 87 KB |
|
||||
| SDS_BG_TERT_BUTANOL.pdf | 87 KB |
|
||||
| SDS_BG_TOLUENE.pdf | 88 KB |
|
||||
| SDS_BG_TRIETHYLENE_GLYCOL.pdf | 80 KB |
|
||||
| SDS_BG_XYLENE.pdf | 88 KB |
|
||||
| SDS_Ethyl_Acetate_REV1_BG.pdf | 97 KB |
|
||||
| SDS_Ethyl_Acetate_REV1_EN.pdf | 79 KB |
|
||||
| SDS_Ethyl_Acetate_REV1_EN_fixed.pdf | 79 KB |
|
||||
| SDS_Ethyl_Acetate_REV1_RO.pdf | 55 KB |
|
||||
|
||||
## Audit Summary
|
||||
|
||||
## Summary
|
||||
| PASS | 27 |
|
||||
| BARELY PASS | 0 |
|
||||
| NO PASS | 0 |
|
||||
| 1 | SDS_BG_ACETONE.pdf | BG | PASS | 7 | 144/146 (99%) |
|
||||
| 2 | SDS_BG_BUTYL_DIGLYCOL.pdf | BG | PASS | 6 | 142/146 (97%) |
|
||||
| 3 | SDS_BG_BUTYL_GLYCOL.pdf | BG | PASS | 7 | 142/146 (97%) |
|
||||
| 4 | SDS_BG_CHLOROFORM.pdf | BG | PASS | 7 | 142/146 (97%) |
|
||||
| 5 | SDS_BG_CYCLOHEXANONE.pdf | BG | PASS | 7 | 144/146 (99%) |
|
||||
| 6 | SDS_BG_DENATURED_ETHYL_ALCOHOL.pdf | BG | PASS | 6 | 144/146 (99%) |
|
||||
| 7 | SDS_BG_DIETHYLENE_GLYCOL.pdf | BG | PASS | 6 | 141/146 (97%) |
|
||||
| 8 | SDS_BG_DIMETHYL_KETONE.pdf | BG | PASS | 7 | 144/146 (99%) |
|
||||
| 9 | SDS_BG_DIOCTYL_TEREPHTHALATE.pdf | BG | PASS | 6 | 137/146 (94%) |
|
||||
| 10 | SDS_BG_DPGME.pdf | BG | PASS | 6 | 139/146 (95%) |
|
||||
| 11 | SDS_BG_ETHYL_SILICATE.pdf | BG | PASS | 7 | 144/146 (99%) |
|
||||
| 12 | SDS_BG_FORMIC_ACID_85%.pdf | BG | PASS | 7 | 144/146 (99%) |
|
||||
| 13 | SDS_BG_GLYCEROL.pdf | BG | PASS | 6 | 139/146 (95%) |
|
||||
| 14 | SDS_BG_ISOBUTANOL.pdf | BG | PASS | 7 | 144/146 (99%) |
|
||||
| 15 | SDS_BG_METHANOL.pdf | BG | PASS | 7 | 144/146 (99%) |
|
||||
| 16 | SDS_BG_METHYLENE_CHLORIDE.pdf | BG | PASS | 6 | 141/146 (97%) |
|
||||
| 17 | SDS_BG_METHYL_ETHYL_KETONE.pdf | BG | PASS | 7 | 144/146 (99%) |
|
||||
| 18 | SDS_BG_MONO_ETHYLENE_GLYCOL.pdf | BG | PASS | 6 | 141/146 (97%) |
|
||||
| 19 | SDS_BG_MONO_PROPYLENE_GLYCOL.pdf | BG | PASS | 6 | 139/146 (95%) |
|
||||
| 20 | SDS_BG_SODIUM_HYDROXIDE_48%.pdf | BG | PASS | 7 | 142/146 (97%) |
|
||||
| 21 | SDS_BG_TOLUENE.pdf | BG | PASS | 7 | 144/146 (99%) |
|
||||
| 22 | SDS_BG_TRIETHYLENE_GLYCOL.pdf | BG | PASS | 6 | 139/146 (95%) |
|
||||
| 23 | SDS_BG_XYLENE.pdf | BG | PASS | 7 | 144/146 (99%) |
|
||||
| 24 | SDS_Ethyl_Acetate_REV1_BG.pdf | BG | PASS | 9 | 136/146 (93%) |
|
||||
| 25 | SDS_Ethyl_Acetate_REV1_EN.pdf | EN | PASS | 7 | 137/143 (96%) |
|
||||
| 26 | SDS_Ethyl_Acetate_REV1_EN_fixed.pdf | EN | PASS | 7 | 137/143 (96%) |
|
||||
| 27 | SDS_Ethyl_Acetate_REV1_RO.pdf | RO | PASS | 8 | 124/131 (95%) |
|
||||
|
||||
## Version Tracking
|
||||
Generated and committed by Hermes Agent on 2026-07-08 13:13:33
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:56:58
|
||||
**Date:** 2026-07-08 13:13:17
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 142/146 (97%)
|
||||
**Pages:** 6
|
||||
**Date:** 2026-07-08 12:56:59
|
||||
**Date:** 2026-07-08 13:13:18
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 142/146 (97%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:56:59
|
||||
**Date:** 2026-07-08 13:13:18
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 142/146 (97%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:00
|
||||
**Date:** 2026-07-08 13:13:19
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:01
|
||||
**Date:** 2026-07-08 13:13:19
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 6
|
||||
**Date:** 2026-07-08 12:57:01
|
||||
**Date:** 2026-07-08 13:13:20
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 141/146 (97%)
|
||||
**Pages:** 6
|
||||
**Date:** 2026-07-08 12:57:02
|
||||
**Date:** 2026-07-08 13:13:21
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:02
|
||||
**Date:** 2026-07-08 13:13:21
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 137/146 (94%)
|
||||
**Pages:** 6
|
||||
**Date:** 2026-07-08 12:57:03
|
||||
**Date:** 2026-07-08 13:13:22
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 139/146 (95%)
|
||||
**Pages:** 6
|
||||
**Date:** 2026-07-08 12:57:03
|
||||
**Date:** 2026-07-08 13:13:22
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:04
|
||||
**Date:** 2026-07-08 13:13:23
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:05
|
||||
**Date:** 2026-07-08 13:13:24
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 139/146 (95%)
|
||||
**Pages:** 6
|
||||
**Date:** 2026-07-08 12:57:05
|
||||
**Date:** 2026-07-08 13:13:24
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:06
|
||||
**Date:** 2026-07-08 13:13:25
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:07
|
||||
**Date:** 2026-07-08 13:13:25
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 141/146 (97%)
|
||||
**Pages:** 6
|
||||
**Date:** 2026-07-08 12:57:07
|
||||
**Date:** 2026-07-08 13:13:26
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:08
|
||||
**Date:** 2026-07-08 13:13:27
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 141/146 (97%)
|
||||
**Pages:** 6
|
||||
**Date:** 2026-07-08 12:57:08
|
||||
**Date:** 2026-07-08 13:13:27
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 139/146 (95%)
|
||||
**Pages:** 6
|
||||
**Date:** 2026-07-08 12:57:09
|
||||
**Date:** 2026-07-08 13:13:28
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 142/146 (97%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:10
|
||||
**Date:** 2026-07-08 13:13:28
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:10
|
||||
**Date:** 2026-07-08 13:13:29
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 139/146 (95%)
|
||||
**Pages:** 6
|
||||
**Date:** 2026-07-08 12:57:11
|
||||
**Date:** 2026-07-08 13:13:30
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 144/146 (99%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:11
|
||||
**Date:** 2026-07-08 13:13:30
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 136/146 (93%)
|
||||
**Pages:** 9
|
||||
**Date:** 2026-07-08 12:57:12
|
||||
**Date:** 2026-07-08 13:13:31
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 137/143 (96%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:13
|
||||
**Date:** 2026-07-08 13:13:31
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 137/143 (96%)
|
||||
**Pages:** 7
|
||||
**Date:** 2026-07-08 12:57:13
|
||||
**Date:** 2026-07-08 13:13:32
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
**Grade:** PASS
|
||||
**Score:** 124/131 (95%)
|
||||
**Pages:** 8
|
||||
**Date:** 2026-07-08 12:57:14
|
||||
**Date:** 2026-07-08 13:13:33
|
||||
|
||||
## Section Results
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Master Compliance Audit Report
|
||||
|
||||
**Generated:** 2026-07-08 12:57:14
|
||||
**Generated:** 2026-07-08 13:13:33
|
||||
**PDFs audited:** 27
|
||||
|
||||
## Summary
|
||||
|
||||
@ -11,9 +11,9 @@ Usage:
|
||||
import os, sys, subprocess, json, glob
|
||||
from datetime import datetime
|
||||
|
||||
BASE = os.path.dirname(os.path.abspath(__file__))
|
||||
BASE = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
OUT = os.path.join(BASE, "output")
|
||||
SCRIPTS = os.path.join(BASE, "scripts")
|
||||
SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
# ─── Colours ───
|
||||
GREEN = "\033[92m"; RED = "\033[91m"; YELLOW = "\033[93m"; RESET = "\033[0m"; BOLD = "\033[1m"
|
||||
@ -31,7 +31,7 @@ def sh(cmd, cwd=None):
|
||||
def generate_all(filter_product=None):
|
||||
"""Run the BG batch generator."""
|
||||
print(info("\n=== Step 1: Generate PDFs ==="))
|
||||
code, out, err = sh(f"python3 {SCRIPTS}/generate-and-audit.py")
|
||||
code, out, err = sh(f"python3 {SCRIPTS_DIR}/generate-and-audit.py")
|
||||
if code != 0:
|
||||
print(fail(f"Generation failed: {err}"))
|
||||
return False
|
||||
@ -42,7 +42,7 @@ def generate_all(filter_product=None):
|
||||
def run_audit(lang="auto"):
|
||||
"""Run compliance audit on ALL PDFs in output/."""
|
||||
print(info(f"\n=== Step 2: Compliance Audit ==="))
|
||||
code, out, err = sh(f"python3 {SCRIPTS}/compliance-audit.py {OUT}/ --lang {lang}")
|
||||
code, out, err = sh(f"python3 {SCRIPTS_DIR}/compliance-audit.py {OUT}/ --lang {lang}")
|
||||
if code != 0:
|
||||
print(fail(f"Audit failed: {err}"))
|
||||
return False
|
||||
|
||||
Loading…
Reference in New Issue
Block a user