Skip to content

feat(interactive): P0-A staged implementation (Draft) - #22

Merged
rockyshi1993 merged 72 commits into
mainfrom
feat/p0a-interactive-20261112
Nov 13, 2026
Merged

rockyshi1993 merged 72 commits into
mainfrom
feat/p0a-interactive-20261112

Conversation

@rockyshi1993

@rockyshi1993 rockyshi1993 commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

P0-A Interactive:分阶段 Draft PR

基线:main @ 5a82a88160e01b0e9e2e457dea6af1e3db2c54e0(G02 / #21 合并后)。本 PR 目前只有一个空提交,没有代码改动。

工作方式

  • 下面各阶段按顺序逐个提交到本 PR。每个阶段保存精确 commit SHA、完整 diff、原始日志、脚本及 SHA-256,并标注 P/M/T/N 证据等级、Findings 和 BLOCKED 项。
  • 每个阶段结束后停在复审关口,交 ChatGPT 独立复审;复审修正也提交在本 PR 内,直到收敛。
  • 不修改已确认需求、Program ABI、Store Schema;不以脚本结果冒充原生 Host 验收;不削弱验收标准。
  • 未经用户明确授权,不合并、不打 Tag、不发布、不部署。本 PR 保持 Draft。

阶段

  • G01 正式契约审查(前置:用户上传 V0.3 与 V0.6-R5 冻结原文,并按 docs/06-FROZEN-SOURCES-AND-LINKS.md 做 SHA-256 校验)
  • G03 Grok 工具能力 PoC(可与 G01 并行,各自满足退出条件)
  • G04
  • H3-01 ~ H3-05
  • 原生 Grok Build 验收
  • C01–C24
  • M6

沿用的 BLOCKED

  • G02-F-NATIVE:N 级原生安全 Host 来源。
  • G02-F-FROZEN-BYTES:冻结原文字节,G01 前需要。

Note

High Risk
Touches trusted Host execution, SQLite persistence, signing/outbox recovery, OS-user isolation CI, and authorization boundaries—security- and data-critical paths even where much of the diff is evidence.

Overview
This PR advances Interactive P0-A from an empty Draft scaffold into a broad staging drop: core/runtime behavior, reference Host adapters, CI security and ledger benchmarks, and a large audit/evidence corpus under docs/evidence/.

CI adds an Ubuntu Node 24 interactive ledger benchmark, disposable Linux Host profile verification (secure-host-linux.mjs), and a Windows job for secure-host-windows.ps1, alongside existing host-isolation and M6 integration runs.

Interactive runtime introduces R5-style checkpoint encode/decode (checkpoint.mjs), fixes async compile featureStage snapshotting (CF-08), and expands package exports with versioned.mjs top-level start / complete / resume, SQLite persistence factory, and admin terminate. Docs describe key drain/revocation, historical Ack audit, and splitting public terminal frames from readTrustedTerminalResult.

Reference examples add Host-only Codex Outbox (signed delivery, recovery, retention cleanup), file handoff (bounded ingress, SHA-256 binding to Pending), and OS-authenticated operator/auditor stdio access patterns.

Documentation adds a docs/README.md hub and extensive G01–G12 / Codex dual-account evidence, release matrices, and conformance notes—mostly archival status and BLOCKED gates, not product API changes.

Reviewed by Cursor Bugbot for commit e145d94. Bugbot is set up for automated code reviews on this repo. Configure here.

Base: main 5a82a88 (after G02 #21).
Stages G01/G03/G04, H3-01..05, native Grok Build acceptance, C01-C24, M6
will be committed here one by one, each stopping at independent review.
@rockyshi1993
rockyshi1993 marked this pull request as ready for review November 13, 2026 16:32
@rockyshi1993
rockyshi1993 merged commit eb68581 into main Nov 13, 2026
9 checks passed
@rockyshi1993
rockyshi1993 deleted the feat/p0a-interactive-20261112 branch November 13, 2026 16:36

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit e145d94. Configure here.

state:cp.state,contextError:null,
...(cp.status==='succeeded'||cp.status==='failed' ? {terminal:{nodeId:cp.terminal.nodeId,status:cp.status}} : {}),
...(typeof cp.causeCode==='string' ? {causeCode:cp.terminal.causeCode} : {}),
});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Errored result read throws

High Severity

readTerminalResult loads the R5 Store envelope, where errored runs keep causeCode at the top level and set terminal to null. When that code is present it still reads cp.terminal.causeCode, which throws and blocks authorized audit of normal failure terminals such as FK_R004.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit e145d94. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant