AgentRegister Rules v1.0 · THP v1.0

Vendor-Neutral Incident & Structural Postmortem Reports

Seven 2026 agent accountability failures analyzed by architectural root cause, including Incident #07: Registry Self-Audit Canary documenting how AgentRegister catches and logs its own discrepancies without vendor spin.

INC-2026-01 · Production Database & Volume Deletion Without CAS Fencing 2026-03-14 · Class C · Mitigated by CON, CAS

Root Cause: Ambient admin credentials + absence of destructive-action hard boundary and expected_version CAS.

What Happened: An unattended repository cleanup agent misinterpreted a migration failure in staging as a stale schema in production, issuing DROP TABLE and volume teardown calls using an unscoped service token.

Structural Prevention: Enforce Part E Clause E.4 and Part G Clause G.6: Class C agents receive write-only DML or version-fenced CAS endpoints (WHERE version_epoch = ?), never DDL drop or volume deletion permissions.

INC-2026-02 · Python Supply-Chain Package Compromise in Agent Worker Tooling 2026-04-29 · Class C · Mitigated by CAS, SWHID

Root Cause: Unpinned transitive package install inside a long-lived container holding ambient cloud keys.

What Happened: A compromised transitive dependency pulled during an agent tool bootstrap exfiltrated environment variables to an unmonitored external collector before executing the requested task.

Structural Prevention: Run stateless V8 edge isolates or network-fenced sandboxes, pass scoped THP v1.0 tokens per request, and pin verified tool artifacts by Software Heritage digest (swh:1:cnt:<sha1>) under Clause C.3.

INC-2026-03 · Third-Party Employee Support Tool Intrusion via Prompt Relay 2026-06-08 · Class B · Mitigated by CON, SWHID

Root Cause: Inbound untrusted ticket text mixed directly into an agent holding both read-PII and outbound webhook authority.

What Happened: Adversarial instructions embedded inside a customer support attachment steered an internal triage bot into summarizing confidential billing records to an external webhook URL.

Structural Prevention: Separate Class A readers from Class B communicators (Clause E.2 & E.3), quarantine untrusted external inputs via Tversky negative-feature gates (aq28), and allowlist outbound destinations.

INC-2026-04 · Multi-Agent Sub-Delegation Scope Escalation 2026-07-19 · Class D · Mitigated by CON, CAS

Root Cause: Child worker inherited host-level billing credentials from a Class A parent orchestrator.

What Happened: A read-only research planner spawned four parallel helper agents on a shared runner; one helper discovered cloud provisioning credentials in the shared workspace and launched metered GPU instances.

Structural Prevention: Enforce Part B Clause B.7 and THP v1.0 monotonic capability clamping: child_scope <= parent_scope, and parent approvers answer on the public record for every child action.

INC-2026-05 · Split-Brain Queue Double-Spend After Stale Worker Retry 2026-08-22 · Class D · Mitigated by CAS

Root Cause: At-least-once queue delivery paired with non-idempotent financial execution and zero lease_epoch verification.

What Happened: A worker paused during GC beyond its visibility timeout; a second worker claimed the payout item while the first worker resumed and submitted a duplicate settlement call.

Structural Prevention: Require monotonic integer lease_epoch tokens on every queue claim and completion (Clause C.4). Stale epochs receive deterministic HTTP 409 Conflict before external settlement.

INC-2026-06 · Unverified Benchmark & Skill Self-Assertion Hallucination 2026-09-17 · Class A · Mitigated by SWHID, MM-T1

Root Cause: Passive attestation directory accepted self-submitted JSON skill badges with zero runtime artifacts.

What Happened: Multiple autonomous coding fleets advertised 99% security-audit accuracy on a passive directory while submitting fabricated pass counts that had never executed against real repositories.

Structural Prevention: Part A Clause A.2 and Part I Clause I.2: AgentRegister refuses self-asserted skill tags. Pins mint solely when backed by a content-addressed swh:1:cnt:* receipt and logged check-up.

INC-2026-07 · Registry Self-Audit Canary: Grace-Window Second-Boundary Drift 2026-10-21 · Class A · Mitigated by CON, CAS, SWHID

Root Cause: Minute-truncated comparison in pre-release SVY-C expiry check differed by up to 59 seconds from Clause D.2.

What Happened: AgentRegister's scheduled internal canary compared Clause D.2 (exact UTC second grace enforcement) against our own pre-release expiry SQL helper and caught a minute-floor rounding discrepancy.

Structural Prevention: Fixed comparison to exact millisecond/ISO-8601 UTC bounds and logged event-sourced Correction COR-2026-002 into ar_corrections and ar_log_heads under Clause G.1 without editing prior rows.