Skip to content

feat(authoring): add native Linux and Windows arm64 gates - #164

Draft
777genius wants to merge 11 commits into
mainfrom
feat/authoring-arm64-native-gates
Draft

feat(authoring): add native Linux and Windows arm64 gates#164
777genius wants to merge 11 commits into
mainfrom
feat/authoring-arm64-native-gates

Conversation

@777genius

@777genius 777genius commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Linux and Windows ARM64 assets now run the same native authoring contract as amd64. Windows ARM64 selects the existing 64-bit NTFS backend with compile-time NT ABI checks. The four-lane workflow verifies native host/toolchain/product architecture, exact clean source revision, both actual binaries and mandatory security, template, Skills, scratch and cleanup coverage.

Native execution exposed two Windows defects. NT rename collision errors lacked Go's standard existence classification, so concurrent initialization reported init_failed; the OS boundary now preserves NTSTATUS and exposes its Win32 errno. Directory changes above the selected package root could invalidate acquisition; those traversal-only observations now retain identity, creation, attributes, size, links and protected ancestry while excluding unrelated write/change epochs. A fresh held-parent name check after protection still rejects replacement. Selected root and descendants retain strict epoch checks, and outside-root pins cannot authorize data access.

Windows ARM64 creates a fresh disposable NTFS VHDX under RUNNER_TEMP for mandatory two-filesystem tests, with exact disk identity checks and owned-image cleanup. Native diagnostics are opt-in workflow_dispatch only and explicitly cannot qualify as clean release proof.

Validation:

  • Exact baseline c622c0f regression reproduced on both native Windows architectures in run 34035783111: outside-root mutations fail old acquisition, while root/descendant rejection assertions pass. This diagnostic is separate from release proof.
  • At 3d0dc06, Linux amd64/arm64 pass. Windows exposed test calibration defects: same-tick timestamps, collision precedence in the sharing fixture, and a stale copied diagnostic resolver. These are corrected at 905387c with observed clock advancement before one mutation, an absent destination and a sharing-participating handle, and calls to the actual resolver.
  • Windows amd64/arm64 packageview diagnostic overlays and scaffold cross-compile/vet pass; 15 checker regression tests pass. Clean native run 34036085937 at 905387c passes all four lanes: each Windows architecture has 844 passes and zero skips; each Linux architecture has 801 passes plus one explicitly optional Unix-socket fixture skip. Calibrated old-code regression run 34036107783 confirms expected old failures on both Windows architectures.
  • Earlier xhigh hosted review accepted the ARM64 ABI/backend selection. Final independent review of the Windows fixes is pending hosted account capacity. No merge until current native gates and review are proven.

1,476 changed LOC (1,310 additions, 166 deletions). Bounded continuation after #160. No public authoring activation, writable macOS acceptance or full MVP release is claimed; those plan gates remain open. Earlier native failures and their logs remain preserved rather than waived by reruns.

Integration hold: stacked #165 at ade20ce passes fresh real Linux-pair staging and 57/57 tests, but native run 34036251158 reproduces concurrent init_failed on Windows amd64. This new recurrence prevents accepting the foundation solely from its earlier green run. Same-invocation diagnostic run 34036452229 is pending; no causal closure or merge is claimed.

Current checkpoint 37cc906 adds an explicit trusted scratch traversal purpose and a metadata-only existence observation after native rename sharing failure. Native run 34038656157 proves all new scratch boundary/replacement cases on both Windows architectures with zero skips, but rejects rename fixtures whose expected sharing precedence was not observed. The held destination returns name collision, and rooted File.Name is not a fixture path. These tests are being corrected. Bounded concurrent diagnostic 34038705676 still records sharing failures with absent destinations (2/32 amd64, 1/32 arm64), so concurrency acceptance remains open; no green-run waiver. A deterministic live-reader/common-parent diagnostic and independent current-source review are in progress. Current diff: 1,906 changed LOC.

At a5f7eb1, native run 34039478874 passes all four lanes: Windows 870 tests and zero skips per architecture; Linux 801 passes plus one optional Unix-socket skip per architecture. Structured exact-head evidence was verified. Independent review accepts 37cc906 source without P1/P2; a5f7eb1 changes tests only. Earlier absent-destination concurrent sharing failures remain open despite this green run. Paired live-reader lease diagnosis is pending.

@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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