feat(git): materialize exact Gitoxide projections - #19
Closed
zhiiw wants to merge 3 commits into
Closed
Conversation
zhiiw
force-pushed
the
codex/gitoxide-candidate-ref-data-plane
branch
from
August 23, 2026 16:29
5f584de to
d052a88
Compare
zhiiw
force-pushed
the
codex/gitoxide-projection-data-plane
branch
from
August 23, 2026 16:29
bbdb105 to
a04cefb
Compare
zhiiw
force-pushed
the
codex/gitoxide-candidate-ref-data-plane
branch
from
August 23, 2026 16:32
d052a88 to
c612f37
Compare
zhiiw
force-pushed
the
codex/gitoxide-projection-data-plane
branch
from
August 23, 2026 16:32
a04cefb to
a841f6f
Compare
zhiiw
force-pushed
the
codex/gitoxide-candidate-ref-data-plane
branch
from
August 24, 2026 03:09
c612f37 to
4ee234e
Compare
zhiiw
force-pushed
the
codex/gitoxide-projection-data-plane
branch
from
August 24, 2026 03:10
a841f6f to
cf8a9ed
Compare
zhiiw
force-pushed
the
codex/gitoxide-candidate-ref-data-plane
branch
from
August 24, 2026 03:48
4ee234e to
9295cc7
Compare
zhiiw
force-pushed
the
codex/gitoxide-projection-data-plane
branch
from
August 24, 2026 03:48
cf8a9ed to
b38260c
Compare
zhiiw
force-pushed
the
codex/gitoxide-candidate-ref-data-plane
branch
from
August 24, 2026 03:55
9295cc7 to
9147bda
Compare
zhiiw
force-pushed
the
codex/gitoxide-projection-data-plane
branch
from
August 24, 2026 03:55
b38260c to
820971f
Compare
zhiiw
force-pushed
the
codex/gitoxide-candidate-ref-data-plane
branch
from
August 24, 2026 04:05
9147bda to
c739ed9
Compare
zhiiw
force-pushed
the
codex/gitoxide-projection-data-plane
branch
from
August 24, 2026 04:05
820971f to
59fe107
Compare
zhiiw
force-pushed
the
codex/gitoxide-candidate-ref-data-plane
branch
from
August 24, 2026 04:18
c739ed9 to
faacbec
Compare
zhiiw
force-pushed
the
codex/gitoxide-projection-data-plane
branch
from
August 24, 2026 04:18
59fe107 to
161a9a9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This stacked Draft completes the first Gitoxide workspace data plane with a fresh, exact projection boundary:
What this proves
.gitmetadata and creates no linked worktree/control capability;Deliberate exclusions
No Desktop/CLI consumer, canonical projection rotation, quarantine GC, SQLite accepted head, or Write/Edit recovery is added here. Power-loss durability is not claimed. M1.3 product composition is the next slice; M2.2/M2.4 stay deferred until that composition consumes this data plane.
Verification
Depends on #18. Keep Draft until all platform checks pass and its parent lands.
中文说明
这个堆叠 Draft 补齐第一版 Gitoxide workspace 数据面的 fresh projection 边界:只有 owner-bound managed-repository capability 能把绑定的 exact accepted commit 物化到此前不存在的 staging 目录;只有随结果签发的 projection capability 能观察该目录是否仍与 immutable Git tree 完全一致。
helper 不写
.git、不创建 linked worktree,也不删除任何 projection。observer 会检查缺失/额外路径、类型、bounded content hash,以及 POSIX executable bit,并以 no-follow/reparse-point 方式打开普通文件。响应丢失后,只有现存目录仍是 exact projection 才返回同一成功结果;partial/drifted 目录不会被覆盖。本 PR 不做 Desktop/CLI 接线、canonical rotation、quarantine GC、SQLite accepted head 或 Write/Edit recovery。下一步是 M1.3 product composition;M2.2/M2.4 继续等待数据面与产品接线完成。