Skip to content

Decide pinned OpenClaw source patch or integration seam for M9-A0 #116

Description

@shenjiecode

Context

M9-A0 rerun #114 stopped again at source/type/contract inspection. Result PR #115 contains direct evidence.

The revised design requires two trusted seams:

  • TrustedModelCallBoundary: a Tiangong-owned pre-provider boundary that verifies immutable Package/bootstrap/authority/session input and prevents the provider request on failure;
  • TrustedToolExecutionBoundary: a wrapper around every allowed top-level tool executor that synchronously closes ToolResult to control spool before ordinary result release.

Pinned source facts

Against OpenClaw 2026.4.14:

  • provider/session execution reaches activeSession.prompt(effectivePrompt, ...);
  • no Trusted boundary implementation or plugin contract exists;
  • before_prompt_build failure continues to the model path;
  • before_model_resolve has no block result;
  • tool_result_persist is synchronous-only and default fail-open;
  • no native before_tool_call timeout enforcement exists;
  • current Tiangong capture remains native hook plus local append.

Decision required

Choose exactly one reviewed path:

  1. an explicit, versioned OpenClaw source patch against the pinned upstream tag that exposes/proves both seams; or
  2. a different public, version-pinned integration seam with the same direct machine contract; or
  3. revise the M9 design to reject this pinned OpenClaw integration.

Any patch must record the exact upstream tag, patch ref/digest, license, source inspection, and security impact. No silent upgrade, prompt/Skill workaround, or native observation-hook promotion is allowed.

Exit criteria

  • decision reviewed before implementation;
  • a source/type/contract rerun passes layer 1;
  • only then may layers 2–4 run serially;
  • M9-A formal implementation remains blocked until all four layers pass.

Refs #114
Related: #115

Metadata

Metadata

Assignees

No one assigned

    Labels

    blockedWaiting on an external dependency or prerequisite

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions