Build Log · October 23, 2026

Scout recommends, Zeb sends

Scout now makes its own research calls and brings Zeb only recommendations he can act on by sending; an independent audit found 8 defects in the first build, all fixed before deploy. First session run under the SmithV2 instruction set.

  • Scout
  • Alloy
  • Pioneer
  • Owner authority
  • SmithV2
commits (Scout, Alloy, charges)
13

commits (Scout, Alloy, charges)

Scout tests on the test branch (16 new)
77/77

Scout tests on the test branch (16 new)

audit defects found and fixed before deploy (3 high)
8

audit defects found and fixed before deploy (3 high)

real Scout cycles run (#21-#25 plus #23 follow-up)
6

real Scout cycles run (#21-#25 plus #23 follow-up)

recommendations reached Zeb's inbox from the first cycle
4

recommendations reached Zeb's inbox from the first cycle

Timeline

  1. Start

    ignite v2

    SmithV2 instruction set loaded as a session-level override; no files swapped

  2. Charge 1

    Field Report #9

    Found the MedinaCHF experiment already running; added a non-causal credit baseline and a learning-loop question for Scout

  3. Charge 2

    Pioneer Discovery charge

    About half already built; added brokering + bottleneck mechanisms, fixed an unreadable brief, ran Experiments B and C plus a follow-up

  4. Charge 3

    Scout recommends, Zeb sends

    Council-reviewed model; recommendations table, guards, governor, auto track, Alloy inbox, schedule on

  5. Audit

    8 defects

    Adversarial audit + Witness: resume re-paused, sent signal lost, raw inserts unguarded, races; all fixed with tests

  6. Live

    First cycle under the model

    Cycle #24 corrected Witness findings and surfaced 4 stranded drafts as recommendations

  7. Charge 4

    Field Report #10

    Bottleneck case from ForgeKit's own capability; Zeb declined its offer-change recommendation for now

What shipped

  • products/scout/lib/db/schema.ts: recommendations table (kind message|decision, one lifecycle, expiry), team_members.resumed_at, one-open-per-draft unique index; applied and verified on Scout's test and main branches

  • products/scout/scripts/grant-agent-role.ts: scout_runner may insert recommendations (status forced proposed, running cycle required, expiry clamped 1-30 days, real evidence, reversibility for decisions, pending draft for messages) and may only supersede its own open, undecided one

  • products/scout/lib/domain/research.ts: proposeRecommendation, getProblem, getHypothesis, correctedEvidence; createDraft refuses claims citing corrected evidence; update_hypothesis refuses the brief's clipped text

  • products/scout/lib/domain/authority.ts: decideRecommendation; reject/revoke -> declined, send -> sent, failed send -> undelivered, late confirmed send corrects undelivered -> sent; resume sets resumedAt

  • products/scout/lib/domain/operation.ts: expireRecommendations (expired, undelivered, corrected-evidence retirement), run governor (5h wait after a usage-limit stop, pause after 3 failures without a closing summary), resolveAutoTrack, brief trimmed to 38KB measured on the bytes Scout receives

  • products/scout/scout/mcp-server.ts: propose_recommendation, get_problem, get_hypothesis tools; end_cycle nextTrack; request_decision narrowed to facts; compact JSON output

  • products/scout/lib/domain/witness.ts: Witness reviews recommendations and the questions Scout asks Zeb

  • products/scout/scout/CHARTER.md: decision rights rewritten (Scout owns operating choices, business decisions are recommendations); mechanisms 7 (cross-domain brokering) and 8 (bottleneck migration with control, value and falsifier questions); Experiments B and C; learning-loop question on trial

  • products/scout/scripts/run-cycle.ts and .github/workflows/scout-cycle.yml: --track auto (schedule default); repo variable SCOUT_SCHEDULE_ENABLED=true

  • products/alloy/lib/scout/queries.ts, actions.ts, app/w/[slug]/scout/page.tsx: recommendations inbox (message -> review and send, decision -> yes/no with reason), recent outcomes, pause reason; deployed to Railway (build containing 366f4e53 verified)

  • products/scout/tests/recommendations.test.ts and domain.test.ts: 16 new real-DB tests, one per audit finding plus brief clipping and the cycle #25 replace flow

  • forgekit-os/charges/scout-recommends-zeb-sends-2026-10-23.md: the Charge, with results

  • forgekit-os/charges/medinachf-discovery-experiment-2026-10-21.md: non-causal historical baseline of 15 planning-credit requests, with the filter rule and all 13 exclusions

  • .claude/rules/gates.md: Verification Gate evidence-verb row for reported identifiers and unopened-content clearances

“Scout is responsible for leveraging pioneer and doing the leg work and bringing forward recommendations, not decisions. This should be autonomous where my involvement is limited to sending communications.”
— Zeb, setting Scout's operating model