Build Log · July 31, 2026

ForgeKit OS Evidence Intelligence — All Six Charges

Shifted ForgeKit OS from a self-reported governance framework toward an evidence-derived one: a run-receipt substrate, a mechanical Access Control floor, an adaptive operating-profile classifier, a structured Crucible rubric, a real episode-closure mechanism, and a 3-stage semantic spin matcher — six Charges, each researched against real session data before a line of code, each merged independently.

  • ForgeKit OS
  • Evidence Intelligence
  • Governance
Charges built and merged
6

Charges built and merged

commits (4 per Charge)
24

commits (4 per Charge)

new tests written across all 6 Charges
~330

new tests written across all 6 Charges

isolated worktrees created and cleaned up
6

isolated worktrees created and cleaned up

real production bugs found and fixed during Charge B's design (path resolution, Windows ESM URL, session-scoping architecture gap)
3

real production bugs found and fixed during Charge B's design (path resolution, Windows ESM URL, session-scoping architecture gap)

Timeline

  1. Start

    Charge A — Evidence Substrate

    Taxonomy, run receipts, effectiveness report

  2. +1

    Charge B — Access Control Gate

    Product-risk manifest, staged-diff gate; found and closed a real session-scoping architecture gap mid-build

  3. +2

    Charge D — Adaptive Operating Profile

    5-tier classifier extending the existing binary short-form rule

  4. +3

    Charge F — Crucible Instrumentation

    Structured 10-category rubric, parallel wrap-structured command

  5. +4

    Charge E — Episode Closure

    Verified against real 6-session alloy-quench-ticket history — found it had never actually used a lighter-weight closure

  6. +5

    Charge C — Semantic Recurrence

    3-stage matcher; found the deterministic stage alone can't resolve all 3 real regression-fixture pairs — the actual reason a model stage exists

What shipped

  • forgekit-os/scripts/observation-taxonomy.mjs, forgekit-os/scripts/observations/{run-receipt-schema,build-run-receipt}.mjs, forgekit-os/scripts/audit-effectiveness.mjs — Charge A

  • forgekit-os/product-risk-manifest.json, forgekit-os/scripts/access-control/{manifest,evidence}.mjs, .claude/hooks/lib/commit-checks.mjs (new access-control-evidence rule) — Charge B

  • forgekit-os/scripts/operating-profile.mjs, warn-only wiring into forgekit-os/scripts/build-session.mjs — Charge D

  • forgekit-os/scripts/crucible-rubric.mjs, forgekit-os/scripts/crucible.mjs (new runWrapStructured + wrap-structured command) — Charge F

  • forgekit-os/scripts/episodes/{episode-schema,episode-cli}.mjs, episode_id auto-resolution in build-run-receipt.mjs, Adversarial Build Audit Gate multi-session extension — Charge E

  • forgekit-os/scripts/recurrence/{fingerprint-schema,deterministic-matcher,model-adjudicator,recurrence-index}.mjs — Charge C

  • 6 design-note READMEs (one per Charge), Pattern Registry entries for all 6, package.json wiring for all 6

“The real prior-art finding that shaped this design: even ForgeKit's own real, closest precedent for an episode (the alloy-quench-ticket sequence) never actually used a lighter-weight closure.”
— From Charge E's own design note — the moment research found the brief's assumption didn't hold, and said so rather than building around it silently