# Evidence package — DO NOT STOP

**Claim supported:** DO NOT STOP is the lightweight execution contract that binds the **Stop
lifecycle event** — the point where a turn-end becomes observable to the harness — and refuses a
termination while the session still holds unfinished bounded work. It prevents *silent premature
termination*, *dropped list items*, and *false completion on bounded work*. Repeating "do not stop"
in a prompt is insufficient if the runtime still terminates; the mechanism binds the **actual stop
boundary** with a Stop hook that exits `2` to refuse the turn-end. (Articles: technical companion §6
*"DO NOT STOP"*; foundational *"Enough structure for the work"*. Also published as **FoundryOS Field
Note 01 — "DO NOT STOP!"**, live at <https://foundryos.ca/articles/do-not-stop/>.)

**Claim IDs:** DNS-C001
*(No existing claim-ledger id maps to this mechanism; `DNS-C001` is a package-local label — see
`manifest.json` → note.)*
**Evidence level:** fleet-codified (installed → enforced → exercised → outcome → fleet-codified)
**Access classification:** Sanitized public excerpt

## What this package proves, and what it does not

**Proves:** the mechanism binds a real runtime lifecycle event, not prompt text — two live Stop-hook
gates return harness exit `2` to refuse turn-end (`enforcement.md`); the boundary and its release
predicates are concrete and checkable (`contract.md`); the gates are registered under the `Stop`
event in the root harness config and kept installed by Caliber criteria C221/C168 (`enforcement.md`
§3); the discipline exists as canonical fleet doctrine
(`docs/OPERATING_STANDARDS.md § Session Work-Contract Surfacing Enforcement` +
`§ Two-Signal Surfacing Enforcement`); and the same mechanism is described in a publicly inspectable
Field Note (`field-note-link.md`).

**Does not prove:** any efficacy statistic. This package makes no quantitative claim about catch
rate or hours saved. The published Field Note's own small evidence population (~8 catches / 4
sessions / ~17 hours) is *its* figure and is explicitly not a controlled benchmark; it is reproduced
in `field-note-link.md` as the article's stated limitation, not asserted here as validated. The
mechanism makes stopping **expensive and recorded, not impossible** — a determined model can still
find an exit. It is a forcing function, not a proof of task completion.

## Source

- **Source date:** 2026-08-02 (package built against the live mechanism; the two gates were
  established 2026-06-12 (chassis) and 2026-07-26 (ordinary-session)).
- **Source commit:** `24ec65306` (FoundryOS monorepo).
- **Original internal locations:** `system/_operator/scripts/check-session-stop-contract.mjs`;
  `system/_operator/scripts/check-audit-loop-terminal.mjs`;
  `system/_operator/scripts/install-session-contract-hooks.mjs`;
  `docs/OPERATING_STANDARDS.md § Session Work-Contract Surfacing Enforcement` +
  `§ Two-Signal Surfacing Enforcement`; Caliber `system/caliber/lib/c221-*.mjs`,
  `system/caliber/lib/c168-*.mjs`.

## Redaction statement

No secrets, credentials, private URLs, or customer/staff/tenant identifiers appear in these
artifacts. The sources are harness-hook logic and fleet doctrine. The one class of internal
identifier present in the source headers — anonymous **session ids** of the witnessed catches
(e.g. `local_a9338951`) — has been **redacted** from the published excerpts (replaced with
`<redacted>`); they are internal session identifiers, not PII, but they are not load-bearing for the
claim, so they are removed rather than retained. See `manifest.json` → `redactions`.

## Correction to the build brief (recorded for honesty)

The build brief suggested `system/_operator/scripts/install-foundryos-hooks.mjs` as a candidate
registrar for the Stop hooks. It is **not** — that installer registers no `Stop` hook (verified by
search). The actual `Stop`-event registration lives in
`system/_operator/scripts/install-session-contract-hooks.mjs` (ordinary-session gate) and the
two-signal-surfacing installer (chassis gate). The artifacts cite the real registrars.

## Reproduction

- Contract + boundary: read `check-session-stop-contract.mjs` (header + `runStopGate`) and
  `check-audit-loop-terminal.mjs` (header + the `Exit 2 is the Stop-hook BLOCK signal` line).
- Registration: read `install-session-contract-hooks.mjs` for the `Stop: [{ … 'check-session-stop-contract.mjs' }]`
  entry; confirm Caliber C221 / C168 audit that the gates stay installed.
- Doctrine: `docs/OPERATING_STANDARDS.md § Session Work-Contract Surfacing Enforcement`.
- Published Field Note: <https://foundryos.ca/articles/do-not-stop/>.
