Menu

#395 test(openclaw): prove control-plane self-protection

closed
nobody
None
2026-08-17
2026-08-17
Anonymous
No

Originally created by: jasperdingg

Pull Request

Slice

  • Repo: doberman-core
  • Feature / Slice: [#314]
  • Plan reference: Issue [#314]

What this PR does

Adds an OpenClaw test proving apply_patch cannot modify Doberman’s control plane, then updates the parity matrix.

Closes [#314].

Tests added (run in CI)

  • Focused OpenClaw tests: 44 passed
  • Full suite: 2,574 passed, 6 skipped
  • Ruff, formatting, parity, and import-linter pass

Public-release safety (doberman-core only)

  • [x] Contains nothing from the "not allowed" list: no enterprise/hosted code, no proprietary detection, no customer data, no secrets, no commercial-license code
  • [x] Core still builds/tests/runs with NO enterprise package installed

Security checklist

  • [x] Fails closed on error / uncertainty
  • [x] No secret, full file, or unredacted prompt logged or committed
  • [x] Any guardrail/learning change is raise-only (no silent loosening)
  • [x] Every BLOCK/AUTH carries reason codes + a human explanation
  • [x] doberman-core does not import doberman_enterprise

Edge cases covered / Deviations from plan / Risks introduced

  • Tests the real OpenClaw derivedPaths target-recovery path.
  • Mutation-checked, removing the control-plane rule caused the test to fail.

Related

Tickets: #312
Tickets: #314
Tickets: #334
Tickets: #391

Discussion

  • Anonymous

    Anonymous - 2026-08-17

    Ticket changed by: fu351

    • status: open --> closed
     
  • Anonymous

    Anonymous - 2026-08-17

    Originally posted by: fu351

    Merged — thank you for closing the OpenClaw control-plane cell. The decision that makes this test worth having: you drove it through the real derivedPaths recovery path with the actual wire shape OpenClaw sends, instead of handing the engine a pre-cooked path. That means it proves the adapter's plumbing, not just the rule underneath — which is the whole point of a parity cell.

    Nothing changed on your branch. Before merging I re-ran a mutation check of my own: stripped the .doberman globs out of CONTROL_PLANE_GLOBS and your test went red on the spot; reverted, all 44 OpenClaw tests green.

    If you want the next cell, #312 (level-3) is the natural one: the secret-egress taint floor on Codex — same lattice, different host, and the fixture pattern you used here transfers almost directly. If you'd rather switch from proving guarantees to building one, #336 (level-5) makes the egress velocity thresholds policy-configurable (tighten-only) and is open too.

     

Log in to post a comment.