From 89e0afe7f0586489b237130acada68b3ef22ca67 Mon Sep 17 00:00:00 2001 From: eric-sabe Date: Tue, 7 Jul 2026 23:43:36 -0400 Subject: [PATCH] fix(report): source honey.conf so persisted verdict/baseline settings apply MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit report.sh became config-dependent when the verdict policy + suppression baseline landed (HONEY_VERDICT_FLOOR*, HONEY_TRUSTED_PATTERNS, HONEY_BASELINE), but it never sourced lib/load-config.sh. The Claude routine runs report.sh as a SEPARATE process from daily-cycle.sh, so a floor set in honey.conf was silently ignored by the authoritative OVERALL line — and daily-cycle (which does load the config) would disagree with report.sh's printed verdict. Source load-config.sh before baseline.sh so honey.conf applies standalone. env var > honey.conf > default, unchanged. (notify-cycle.sh already loads it; win/report.ps1 already calls Import-HoneyConfig.) Co-Authored-By: Claude Opus 4.8 (1M context) --- report.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/report.sh b/report.sh index f92d0c4..d3a734e 100755 --- a/report.sh +++ b/report.sh @@ -24,6 +24,12 @@ FINDINGS="$RUN_DIR/findings.ndjson" [ -f "$MANIFEST" ] || { echo "report: no manifest at $MANIFEST" >&2; exit 1; } +# Load honey.conf so persisted settings (verdict floor, trusted patterns, +# HONEY_BASELINE) apply when report.sh is run standalone — the Claude routine +# invokes it as a separate process from daily-cycle.sh, so it can't rely on an +# inherited environment. env var > honey.conf > built-in default. +# shellcheck source=lib/load-config.sh +. "$HONEY/lib/load-config.sh" # shellcheck source=lib/baseline.sh . "$HONEY/lib/baseline.sh"