v1.0.1: batch generate + audit

This commit is contained in:
Hermes Agent 2026-07-08 13:13:33 +00:00
parent 080bcd6452
commit a319ca6fbe
64 changed files with 113 additions and 32 deletions

81
RELEASE_NOTES.md Normal file
View 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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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