Skip to content
[bmdpat]
All writing
5 min read

Horizon Closed Seven Red, Three Amber, Zero Green

On 2026-10-15, my 90-day horizon closed red across seven bets. Here is what broke in my fleet, what shipped, and how to audit your checks.

Share LinkedIn

On 2026-10-15, my ninety-day horizon closed seven red, three amber, and zero green. The quarter ended with zero clean wins across ten tracked bets. I spent the day fixing broken agent gates and cleaning up what failed.

Here is what broke before anything moved forward on 2026-10-15. The overnight sweep ended at 02:55 with zero pull requests merged, three agent-owned holds, zero escalations, and 36 skipped cards. Thirty-three of those skipped cards were destination-blocked bmdpat tasks. My Doctor check ran red, verifying 43 of 50 outcomes while seven failed. The service rss-ingestor was degraded, one validate check failed on python exit 1, kg-reindex failed overnight, and the Pi researcher sync failed at 07:17:33. The ship receipt was red on 2026-10-15 because no blog post landed.

Three questions from the 2026-10-15 horizon close: alert callbacks, unmeasured goals, and a receipt audit.

Worse, the security audit lied to me. The SecurityAnalyst check claimed green with zero P0 issues and 14 P2 issues. Then I checked the run logs. Both gitleaks and OSV had scanned zero of five repositories. A green check on zero scanned files means nothing. The real dependency audit was red, with five critical alerts and 22 high alerts.

Why did my agent alerts fail?

Your agent alert callbacks fail when two processes fight over the same bot token. On 2026-10-15, I dropped the AgentGuard alert buttons and retired VaultAgent-AgentGuardAlertResponses. The shared Telegram bot token gave the plugin the only getUpdates slot. Because of that conflict, incoming button callbacks died silently.

The pause flag is manual now. I archived a corrupt 3.2 MB AgentGuard state blob instead of deleting it.

Meanwhile, tools broke into loops. I merged agent47 PR #869 as commit 9e96405 to catch near-duplicate tool-call loops. I also merged PR #873 as ff21dea to block tool actions whenever a policy hook fails. When a policy hook fails, the runner blocks the tool action.

Here is the difference between my morning failures and the fixes landed on 2026-10-15. The false green scan was not one of those fixes. Gitleaks and OSV had each scanned zero of five repos, and that finding stayed open.

System CheckState on 2026-10-15 MorningFix Landed on 2026-10-15
Security report PDFsFix loop was unclearbmdpat PR #2017 (45a5507e) branded PDFs
Tool Call LoopsNear-duplicate calls repeatedagent47 PR #869 (9e96405) loop breaker
Policy Hook FailsAction proceeded anywayagent47 PR #873 (ff21dea) action block
Telegram AlertsCallbacks dropped on shared tokenRetired alert buttons; manual pause flag
Windows Line EndingsFixture mismatchbmdpat PR #2008 (95e5bf15) forced LF

Seven queue cards moved to Complete/ by the end of the day. A shared DESIGN.md landed across four repositories with drift checks: bmdpat at 608294c4, agent47 at 467c872, agent47-dashboard at 62d913d, and bmd-desktop at 05c1d0ae. In bmd-desktop, PR #611 merged as commit a84acb5d, cutting version 3.47.2442.

How do unmeasured goals hide failure?

Unmeasured goals hide failure because a goal without a measurement path cannot report red. Four of my ten scorecard rows had no measurement path at all. Autotrader was supposed to deliver 90 days of documented P&L history. The documentation closed at zero. That was a measurement failure, not a trading loss.

When you evaluate models locally, measurement gaps create the same blind spots. If you run local LLM inference on consumer GPUs, you need exact numbers for memory overhead and context sizes. Check the GGUF compare tool to test fit before launching runs. Reading a GGUF quantization explained breakdown helps you pick weights that fit real VRAM instead of guessing.

At 21:09 on 2026-10-15, the brain worker showed five cards shipped, nine moved to my personal queue, four blocked, and one aged out. Seventy-three cards remained sitting in the root directory.

At 21:45 on 2026-10-15, 90-day cannon.md still read horizon 2026-10-15. The evening note said that at midnight the no-pivot rule would point at an expired window. That same gap once sat open for 36 days. On 2026-10-15, the Ollama supervised elevated session was still the top blocker. The approved restriction had not run.

What should you do with this?

  1. Inspect your test runners for false green passes where the tool scanned zero targets.
  2. Add a hard loop breaker to your agent runners to abort consecutive duplicate tool calls.
  3. Review every quarterly metric and archive any target that lacks an automated receipt.

Accompanying prompt

What the prompt does: Audits automated system checks and metric scorecards to find unmeasured rows and false green passes.

Copy/paste this prompt:

Copy-ready prompt

Paste the exact block into your coding agent.

No article chrome, no footnotes, no formatting drift.

Role: Systems Auditor Context: Automated test gates and scorecards often report false green statuses when scanners skip target files or metrics lack data pipelines. Inputs: - Repo path: __ - Scorecard file: __ - Log file: __ Task: 1. Parse the log file at the given path and list every check that scanned zero targets. 2. Cross-reference the scorecard file against the logs to verify if each row has an automated metric receipt. 3. Output a list of unmeasured rows, false green tests, and recommended loop breakers. Output: - Table of false green checks with scanned counts - List of unmeasured scorecard rows - Actionable configuration fixes Constraints: - Flag any test where scanned count is zero. - Do not assume missing data implies a passing state.
24 lines759 chars
Ready

This prompt and every other one we publish live in the free prompt library.

Copy the block above.

Weekly measured local runs: https://bmdpat.com/5090-reports

Get the Local AI Field Kit

Four copy-ready tools now, then one evidence-backed Local AI Lab Note on Friday when there is something worth sharing.

Try the free agent run check first

Get the requested artifact now, then at most one evidence-backed Local AI Lab Note on Friday when there is something worth sharing. One-click unsubscribe. No sponsored placements. Privacy.

PH

Patrick Hughes

I build BMD and publish measured AI runs, failure reports, and reusable checks. Nashville, Tennessee.

More writing