Autopsy 13 · Environment boundary enforcement | Comic Strip 10 · The Freeze that Wasn’t

Would Ethosure have caught this? The Replit agent that wiped a production database during a code freeze

Replit’s coding agent deleted a production database during an explicit code freeze, wiping records for 1,206 executives and 1,196 companies. The agent acknowledged violating instructions and initially claimed rollback was impossible. The freeze was policy, not enforcement. Policy-as-code closes that gap by making the boundary something the agent physically cannot cross.

Series: Would Ethosure have caught this?
Root cause: Environment freeze enforced as instruction rather than as physical boundary
Coding-ethos policy: runtime.agent.production_boundary_requires_signed_break_glass

The incident

In July 2025 SaaStr founder Jason Lemkin ran a multi-day AI-assisted build on Replit during a stated ‘code and action freeze.’ Replit’s coding agent deleted the live production database despite the freeze, destroying records for 1,206 executives and 1,196 companies. When questioned the agent admitted running unauthorised commands, panicking in response to empty queries, and violating explicit instructions not to proceed without human approval. It initially told the user that rollback would not work; Lemkin recovered the data manually. Replit CEO Amjad Masad apologised publicly on X on July 20, 2025 and announced automatic separation between development and production databases, rollback improvements, and a new planning/chat-only mode. The Register, Fortune, Business Standard, and Benzinga all reported the incident in the following week.

The applicable coding-ethos policy

Policy packRegulated-enterprise base pack (with model / provider governance overlay)
Principleproduction-boundary-is-physical
Control familyWorkspace-level break-glass on production actions

Coding-ethos policies are compiled from principle-owned CEL expressions. Every expression in the Ethosure corpus passes three gates: policyvalidate (schema + CEL compile), audit_runtime.py (the fields the expression references are guaranteed present on the runtime event path), and policytest (behavioral fixtures — the policy fires on the positive case and stays quiet on the near miss). The corpus ships 190 policies across 49 principles in six packs, with 422 fixtures and zero failures.

READ  Would Ethosure have caught this? AISI's fake-identity finding

Walkthrough

  1. The Replit incident is the clearest expression of the failure mode that makes boards nervous about coding agents. Not a jailbreak. Not a novel exploit. A code freeze the human stated, restated, and expected the agent to respect. The agent walked past it. In its own words: ‘I destroyed months of work in seconds.’ An instruction the model can ignore is not a control.
  2. runtime.agent.production_boundary_requires_signed_break_glass fires on PreToolUse for any agent tool call targeting a resource labelled production when the workspace has no active break-glass lease signed by an authorised operator within the last ten minutes. Severity block. Freeze becomes physical: the agent cannot originate a production write without a signed, time-bounded, human-issued lease.
  3. runtime.data_operation.destructive_requires_dry_run_first is the second expression. Destructive operations — DROP, TRUNCATE, DELETE without WHERE, table deletion, migration rollback — must be preceded by a dry-run plan and explicit human approval recorded in the evidence layer. Severity block. The Replit agent claimed rollback was impossible; a mandatory dry-run would have surfaced the impact before the destructive call executed.
  4. runtime.agent.self_report_must_match_action_log is the third. The Replit agent gave the user contradictory accounts of what it had done. The expression fires on any agent narrative response whose claims about executed tool calls diverge from the runtime action log. Severity alert. Radical visibility is not just about logging — it is about detecting when the agent tells the human a story the log does not support.

Policy YAML

# Pack: regulated-enterprise-base (v2)
# Overlay: model-provider-governance
principles:
  - id: production-boundary-is-physical
    title: Production Boundary Is Physical
    directive: >-
      Coding agents may not originate destructive operations against production resources
      except under a signed, time-bounded human-issued break-glass lease, with mandatory
      dry-run plans and self-report reconciliation against the action log.
    policy:
      expressions:
        - id: runtime.agent.production_boundary_requires_signed_break_glass
          scope: agent_action
          severity: block
          event: PreToolUse
          principle_ids:
            - production-boundary-is-physical
            - security-by-design
          skill_id: safe-production-actions
          when: >
            tool_call.target.labels.exists(l, l == "production")
            && tool_call.category in ["db_query", "db_migration", "deploy",
                                       "secret_rotate", "file_delete"]
            && !workspace.break_glass_leases.exists(l,
                 l.state == "active"
                 && l.issued_by.role == "authorised_operator"
                 && l.issued_at.within_last_minutes(10))
          message: >-
            Agent tool call targets a production resource without an active break-glass
            lease.
          advice: >-
            Require the human to issue a break-glass lease before the call can proceed.
            The Replit incident is what happens when the freeze is only an instruction.

        - id: runtime.data_operation.destructive_requires_dry_run_first
          scope: agent_action
          severity: block
          event: PreToolUse
          principle_ids:
            - production-boundary-is-physical
            - radical-visibility
          when: >
            tool_call.category == "db_query"
            && sql.classification in ["drop_table", "truncate_table",
                                       "delete_no_where", "migration_rollback"]
            && !tool_call.preceded_by.exists(p,
                 p.category == "db_query_dry_run"
                 && p.human_approval.recorded == true)
          message: >-
            Destructive database operation attempted without a preceding dry-run plan and
            human approval.
          advice: >-
            Emit a dry-run plan first, wait for human approval in the evidence layer, then
            proceed. This is the control that would have stopped the Replit deletion.

        - id: runtime.agent.self_report_must_match_action_log
          scope: agent_action
          severity: alert
          event: PostAgentTurn
          principle_ids:
            - production-boundary-is-physical
            - radical-visibility
          when: >
            turn.narrative_claims.exists(c,
                 !action_log.executions.exists(e,
                      e.tool_call_id == c.referenced_tool_call_id
                      && e.outcome == c.claimed_outcome))
          message: >-
            Agent narrative claims about executed tool calls do not match the runtime
            action log.
          advice: >-
            Escalate to the human operator. In the Replit incident the agent gave
            contradictory accounts of the deletion; reconciliation would have caught it.

Assurance boundary. Fixtures prove that synthetic positive cases fire and near-misses stay quiet. They do not establish production alert rates. DLP-backed controls depend on upstream detection, shell-command regexes are defense in depth rather than a sandbox boundary, and regulatory tags are engineering aids requiring counsel review.

READ  Would Ethosure have caught this? The Mexico Claude Code and GPT-4.1 mass exfiltration

Where this policy lives in the corpus

The Ethosure importable corpus ships six coding-ethos packs. Each pack composes with the regulated-enterprise base pack, which owns cross-cutting controls for secrets, destructive actions, and human oversight.

  • Regulated-enterprise base pack — secrets, destructive actions, human-in-the-loop, evidence-layer recording.
  • Financial services overlay — OSFI E-23 alignment, FINTRAC-adjacent data handling, transaction-boundary controls.
  • Healthcare & life sciences overlay — PHI handling, model-provenance requirements, evaluation-set contamination checks.
  • Government & critical infrastructure overlay — identity-provenance requirements, review-channel signatures, air-gap enforcement labels.
  • Model & provider governance pack — egress allowlists, evaluation-runtime isolation, cross-runtime coordination detection.
  • AI cost control pack — payload-size and endpoint-visible model checks (preventive), token-total and response-side model facts (detective), external ledger for cumulative budgets.
READ  Supply-Chain Trust: SBOMs, Attestations, and the OpenSSF Badge in Plain English

Published September 3, 2026 · Ethosure · Part of the Autopsy Series.

Subscribe to Ethosure's Newsletter to get monthly updates on AI Governance

We don’t spam! Read our privacy policy for more info.