Skip to content

deprecate workflow acceptance self-attestation - #374

Open
testikun wants to merge 1 commit into
openpi-dev:mainfrom
testikun:codex/issue-127-acceptance-deprecation
Open

deprecate workflow acceptance self-attestation#374
testikun wants to merge 1 commit into
openpi-dev:mainfrom
testikun:codex/issue-127-acceptance-deprecation

Conversation

@testikun

@testikun testikun commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Problem

Workflow's Acceptance Ledger lets the same child execute a task and declare its own criteria accepted. Runtime validates the shape and labels, but cannot verify that the evidence is true. Despite that, a rejected, missing, or malformed child ledger currently overrides the canonical agent().ok execution result.

Closes #127.

Value

Workflow success once again means a runtime-observed child execution and durable result write succeeded. Existing 0.x users can still read and run old acceptance DSL/journals/artifacts, while new output clearly identifies the ledger as deprecated model self-attestation rather than verified execution evidence.

Approach

  • deprecate acceptance in OpenPI 0.5 and publish its planned removal in 1.0;
  • retain the old input schema, structured child protocol, replay key, and legacy artifact reader during the compatibility window;
  • annotate newly evaluated ledgers with authority: "model-self-attestation" plus versioned deprecation metadata;
  • return a migration warning from agent() and label completion text as deprecated self-attestation;
  • make ok depend only on child execution and result artifact persistence, never the child's acceptance verdict;
  • update replay regressions so tampered rejected/missing/malformed legacy ledgers remain visible without changing canonical execution facts or suppressing successful artifacts.

Validation

  • bun run check — passed.
  • focused Workflow acceptance, replay, prompt, and completion tests — 41 passed, 0 failed.
  • full Node 22 suite — 1,241 passed, 1 skipped, 0 failed.
  • Vitest suite — 30 passed, 0 failed.

Impact

  • User-visible behavior: deprecated acceptance verdicts no longer turn a successful child execution into ok:false; migration text names the distinction. No graphical or TUI component changes.
  • Model-visible context/tools: Workflow documentation and result text prefer plain JSON Schema plus parent evaluation; the legacy input remains accepted in 0.x.
  • Runtime/lifecycle: canonical success is separated from model self-attestation; replayed execution facts and success artifacts follow the same rule.
  • Persisted config/data: no config change; new ledgers add optional authority/deprecation fields, while readers still accept legacy ledgers without them.
  • Compatibility/risk: intentional 0.5 semantic deprecation; physical DSL/schema/artifact removal is deferred to 1.0.

@github-actions github-actions Bot added documentation Improvements or additions to documentation area:workflows Workflow engine, capability, skills, or tests labels Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:workflows Workflow engine, capability, skills, or tests documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

design: 废弃 Workflow Acceptance Ledger,回归模型判断与可验证执行证据

1 participant