Problem
Code audit found several issues across config.py, benchmarks.yml, and README.md:
1. config.py: os.getenv() returns None silently for missing required env vars
9 required environment variables are typed str but default to None when unset. Downstream code receives None instead of str, causing late runtime errors with opaque messages. POSTGRES_HOST additionally calls os.getenv('POSTGRES_SERVER_NAME') directly instead of referencing the already-defined class attribute, producing "None.postgres.database.azure.com" when unset — a plausible-looking string that fails with a DNS error at connect time.
2. benchmarks.yml: Large-scale batch structure diverges from README
Broadcast-large experiments (broadcast-2, broadcast-4, broadcast-16) all list each other in related_script_ids, forming one 3-way batch (100 vCPU). README describes them as two separate batches (A_L1: 16+2, A_L3: 12+4). Same for partitioned-large.
3. README.md: Stale values
BENCHMARK_MAX_TIMED_WINDOW_SECONDS documented as 5400 (90 min); actual value is 21600 (6 hours).
- ACI resource specs documented as "3 vCPU and 8 GB RAM"; actual is
cpu: 4, memory_gb: 16.
Problem
Code audit found several issues across
config.py,benchmarks.yml, andREADME.md:1.
config.py:os.getenv()returnsNonesilently for missing required env vars9 required environment variables are typed
strbut default toNonewhen unset. Downstream code receivesNoneinstead ofstr, causing late runtime errors with opaque messages.POSTGRES_HOSTadditionally callsos.getenv('POSTGRES_SERVER_NAME')directly instead of referencing the already-defined class attribute, producing"None.postgres.database.azure.com"when unset — a plausible-looking string that fails with a DNS error at connect time.2.
benchmarks.yml: Large-scale batch structure diverges from READMEBroadcast-large experiments (
broadcast-2,broadcast-4,broadcast-16) all list each other inrelated_script_ids, forming one 3-way batch (100 vCPU). README describes them as two separate batches (A_L1: 16+2, A_L3: 12+4). Same for partitioned-large.3.
README.md: Stale valuesBENCHMARK_MAX_TIMED_WINDOW_SECONDSdocumented as5400(90 min); actual value is21600(6 hours).cpu: 4,memory_gb: 16.