Skip to content

Draft: establish Gitoxide-backed Write/Edit acceptance - #26

Closed
zhiiw wants to merge 91 commits into
codex/m2-3b-runtime-settlement-rebuildfrom
codex/m2-4-gitoxide-write-edit-v2
Closed

Draft: establish Gitoxide-backed Write/Edit acceptance#26
zhiiw wants to merge 91 commits into
codex/m2-3b-runtime-settlement-rebuildfrom
codex/m2-4-gitoxide-write-edit-v2

Conversation

@zhiiw

@zhiiw zhiiw commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Summary

Close the Gitoxide-backed managed Write/Edit acceptance and recovery path without reintroducing a Git CLI dependency.

This is a stacked API-level Draft. It composes the already separated M2 authorities; final delivery must still be rebuilt from the latest main after its prerequisites land.

Primary invariant

After managed T1, one Runtime-owned immutable result can reach exactly one terminal state:

  • workspace_successor_committed
  • no_workspace_change_committed
  • operation_failed_no_effect_committed
  • unsettled

A changed success follows exactly:

immutable accepted tree -> pure transform -> candidate ref/receipt -> atomic SQLite T2 + successor + head -> accepted-ref CAS projection

The candidate is evidence, RuntimeEvents/SQLite are accepted truth, and projection recovery never re-runs Write/Edit.

Scope

  • explicit persisted managed-coding-v1 profile exposing only Write/Edit;
  • recoverable Gitoxide baseline import and exact session reopen;
  • Runtime-owned strict JSON result and four terminal states;
  • atomic no-effect and successor settlement;
  • accepted-ref projection reconciliation;
  • real helper session test and child-process kill after SQLite successor commit but before ref promotion.

Status

Draft. Desktop/CLI selection UX is not enabled here. SHA-256 repositories remain fail-closed. M3 has not started.

中文说明

摘要

本堆叠 Draft 闭合 Gitoxide 版 managed Write/Edit 接受与恢复链,不重新引入 Git CLI。前置合并后,最终交付仍需从最新 main 重建。

主要不变量

managed T1 之后,Runtime-owned immutable result 只能进入四种互斥终态:successor committed、no workspace change、failed with no effect、unsettled。

发生内容变化时,唯一链路是:

immutable accepted tree -> pure transform -> candidate ref/receipt -> SQLite 原子提交 T2 + successor + head -> accepted-ref CAS projection

candidate 只是证据;RuntimeEvents/SQLite 才是 accepted truth;投影恢复绝不重跑 Write/Edit。

范围

  • 显式持久化 managed-coding-v1 profile,仅开放 Write/Edit;
  • 可恢复的 Gitoxide baseline import 和精确 session reopen;
  • Runtime-owned strict JSON result 与四终态结算;
  • no-effect/successor 原子提交;
  • accepted-ref 投影收敛;
  • 真实 helper session 测试,以及 SQLite successor 已提交、ref 尚未推进时杀子进程并重开的测试。

当前仍是 Draft:Desktop/CLI 选择入口尚未开启;SHA-256 repository 继续 fail closed;M3 尚未开始。

@zhiiw
zhiiw force-pushed the codex/m2-3b-runtime-settlement-rebuild branch 2 times, most recently from 3d01a40 to 5f83442 Compare August 24, 2026 03:22
@zhiiw
zhiiw force-pushed the codex/m2-4-gitoxide-write-edit-v2 branch from d91ab88 to 3cc447f Compare August 24, 2026 03:36
zhiiw added 22 commits August 24, 2026 12:08
…tmp-m2-4-v3

# Conflicts:
#	.github/workflows/gitoxide-helper-admission.yml
#	docs/architecture/gitoxide-successor-ref-cas-data-plane-v1.zh-CN.md
#	native/gitoxide-helper/Cargo.lock
#	native/gitoxide-helper/Cargo.toml
#	native/gitoxide-helper/src/main.rs
#	native/gitoxide-helper/tests/repository_admission.rs
#	packages/runtime-host/src/__tests__/gitoxide-repository-admission-authority-internal.test.ts
#	packages/runtime-host/src/server/gitoxide-helper-invocation-internal.ts
#	packages/runtime-host/src/server/gitoxide-repository-admission-authority-internal.ts
@zhiiw
zhiiw force-pushed the codex/m2-4-gitoxide-write-edit-v2 branch from 9fb709b to 6ac4a52 Compare August 24, 2026 04:15
@zhiiw

zhiiw commented Aug 30, 2026

Copy link
Copy Markdown
Owner Author

Closed as an obsolete extraction/integration slice. The current delivery path is the merged Gitoxide foundation followed by #40 -> #41 -> #42. This PR remains available as design and implementation history.

中文说明

该 PR 属于旧 extraction/integration 栈,现已失去独立合并价值。当前交付路径是已合并的 Gitoxide 基础,然后依次审查 #40#41#42。这里继续保留设计、实现与审查历史。

@zhiiw zhiiw closed this Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant