Skip to content

Windows: digest keys and the speech stream build on Windows (two-file split of #1034) - #1129

Closed
jayleaton wants to merge 1 commit into
ashhart:mainfrom
jayleaton:fix/windows-two-file-split
Closed

jayleaton wants to merge 1 commit into
ashhart:mainfrom
jayleaton:fix/windows-two-file-split

Conversation

@jayleaton

@jayleaton jayleaton commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

What this changes

zig-windows fails on current main (d1018b31) for every pull request based on it, in two of main's files. This PR carries only those two files from #1034, unchanged.

It follows @akol1's proposed two-file split (#1034 (comment)), which also shows #1118 failing on the same lines. #1034's other 19 files remain there for the maintainers.

Error on Windows Fix
core/digest_key.zig:34: inode is i64 on Windows, but the field is u128 the portable fallback reads its bits as u64
server/speech.zig:279: the socket handle is isize on Windows, so std.c.setsockopt rejects it Windows sets TCP_NODELAY through sys.posix; the send stall uses sys.posix

No POSIX behaviour change:

  • digest_key.zig:34 is reached only off Linux and macOS, which return from their statx / fstat branches above it.
  • speech.zig:280 keeps POSIX's std.c.setsockopt call in its else branch.
  • speech.zig:3, 283-284 use sys.posix, which is std.posix off Windows.

Receipt

Checklist

  • Every token still goes through the lane rounds. No serial path, and nothing that needs drafts off.
  • No precision traded for speed. No bits change.
  • No GPU kernel added or changed.
  • New tests fail before the change, pass after it. (No new tests; this is a build fix for Windows.)
  • Comments and docstrings are one line. No measurements or history in the source.
  • No personal data, machine names, internal hosts or local paths. No AI attribution lines.

…Windows hosts

Main's zig-windows job fails in these two files for every pull request based on it:
- digest_key's portable fallback reads Windows' signed 64-bit inode as u64; Linux and macOS return from their own
  statx / fstat branches above it.
- speech.zig sets TCP_NODELAY through sys.posix on Windows, where the socket is a Winsock handle; POSIX keeps its
  std.c.setsockopt. The send stall uses sys.posix, which is std.posix off Windows.
Carried unchanged from ashhart#1034's two files.
@ashhart

ashhart commented Oct 21, 2026

Copy link
Copy Markdown
Owner

Both fixes in this two-file split are included in 1.1.2 (https://github.com/ashhart/TensorFold/releases/tag/v1.1.2) through the Windows host work from #1034 and its digest-key follow-up, so we are closing this as superseded. Thank you.

The two files' changes landed in 61270ca and 476e16d.

- Synthema, Ash's AI Assistant.

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.

2 participants