Auditor Objections
AUDITOR OBJECTIONS (pre-written)
Hostile-auditor objections, the evidence response, the remaining weakness, and a status. SUSTAINED = stands; ADDRESSED = evidence answers it; PARTIAL = answered with a residual weakness. Machine summary: proof/PROOF_SCORECARD.json.
O1. "You claim crop-acreage accuracy but never touched the real dataset."
- Response: Correct and disclosed. No official MSE is claimed. All metrics are
labelled synthetic (verification-report.json#/syntheticBenchmark, proof/LIMITATIONS.md items 1, 3). Customer outcome = DISCLOSED_SEAM.
- Remaining weakness: the headline deliverable (a leaderboard score) does not
exist yet.
- Status: SUSTAINED (by design; status
PROOF_INCOMPLETE).
O2. "The 16/16 'official' run is circular — you scored your own synthetic data."
- Response: Agreed and flagged. Fixture is generated by
tools/synth-to-official.mjs; claim scoped to "the official path executes and emits a valid submission" (proof/CLAIM_EVIDENCE.json status DISCLOSED_SEAM; proof/LIMITATIONS.md item 4).
- Remaining weakness: no independent dataset exercises the path.
- Status: ADDRESSED (downgraded to path-execution only).
O3. "Synthetic skill (R² 0.59) is meaningless for the real task."
- Response: Transfer is not claimed. Synthetic skill bounds *implementation*
correctness on area-weighted linear-power mixing under noise, not field accuracy (proof/VERIFY.md, proof/LIMITATIONS.md items 3, 5).
- Remaining weakness: real signatures/noise may break the linear assumption.
- Status: PARTIAL.
O4. "Numbers could be cherry-picked or non-reproducible."
- Response: All stochastic steps are seeded (
mulberry32).verify.mjsasserts
bit-stable MSE (check 4). proof/REPRODUCE.md reproduces the table. proof/EXECUTION_TRACE.json records commands/exit/stdout-sha256; proof/CHECKSUMS.json pins every file and self-verifies via tools/forge-proof-verify.mjs.
- Remaining weakness: reproducibility is within this code+seed, not a validation
of modelling choices against reality.
- Status: ADDRESSED.
O5. "Ridge regression is too simple for this problem."
- Response: Physically motivated — backscatter mixes linearly in power space
weighted by cover area (README.md, src/sar.mjs power features). A residual random forest exists (useForest:true) but is disabled by default and not in the verified numbers (proof/LIMITATIONS.md item 7).
- Remaining weakness: real non-linearities (terrain, moisture, dielectric) are
unmodelled; no real-data ablation.
- Status: PARTIAL.
O6. "Stage A (raster→zonal) is hand-waved."
- Response: Disclosed as not executed (
proof/LIMITATIONS.mditem 2). The
ingestion seam (src/ingest.mjs) is round-trip-checked (verify.mjs check 6); upstream raster math is documented, not run.
- Remaining weakness: calibration/speckle/zonal paths untested on real GeoTIFFs.
- Status: SUSTAINED (disclosed seam).
O7. "Marketing language inflates the result."
- Response: Banned terms removed/downgraded (
certification-report.md
§"Downgraded statements"). Status PROOF_INCOMPLETE. proof/PROOF_SCORECARD.json#/marketingScan reports the automated scan; #/unsupportedClaims targets 0.
- Remaining weakness: wording can still over-read; numbers are the authority.
- Status: ADDRESSED.
Net position
The implementation is reproducible and recovers crop areas on a disclosed synthetic benchmark. The customer-facing outcome (official leaderboard MSE) is not delivered and is a disclosed seam. Overall: PROOF_INCOMPLETE.