Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
ead5366
// straylight // nix // substantially complete replacements for all N…
b7r6 Feb 19, 2026
31a727c
refactor(nix): apply snake_case naming convention
b7r6 Feb 19, 2026
e87b8b8
style(nix): add braces around single-line control statements
b7r6 Feb 19, 2026
e2458bd
feat(libevring): generator machines - bulk performance with full repl…
b7r6 Feb 19, 2026
29a43f3
docs: add c++ style guide and private member fix scripts
b7r6 Feb 19, 2026
b087684
feat(libevring): implement socket operations for HTTP support
b7r6 Feb 19, 2026
7a5118b
feat(nix-language): implement builtins.* for WASM backend
b7r6 Feb 19, 2026
7245c50
feat(nix-language): implement error handling builtins and lazy functi…
b7r6 Feb 19, 2026
5712c9f
feat(nix-language): implement more builtins for WASM backend
b7r6 Feb 19, 2026
796a798
fix: resolve build errors from snake_case refactor
b7r6 Feb 19, 2026
b2211b7
feat(nix-language): implement comprehensive builtin functions
b7r6 Feb 19, 2026
7903f15
feat(nix-language): add more builtins and fix float memory handling
b7r6 Feb 19, 2026
d9c0421
feat(evring): add compile-time buffer lifetime safety with stable_ref…
b7r6 Feb 19, 2026
fa59467
feat(nix-language): add utility builtins
b7r6 Feb 19, 2026
d5fff61
feat(nix-language): add path and version parsing builtins
b7r6 Feb 19, 2026
e64aa5c
// straylight // nix // backup before moving machine //
b7r6 Feb 19, 2026
f85d702
feat(sensenet): switch to GitHub SSH, fix genericClosure runtime bugs
b7r6 Feb 19, 2026
97f3155
feat: complete buck2 migration, fix evring build failures, document a…
b7r6 Feb 20, 2026
2d39cc0
docs(language): document pointer invalidation problem and wasm_memory…
b7r6 Feb 20, 2026
a549d51
fix(runtime): WASM memory initialization and host function sync
b7r6 Feb 20, 2026
8683c25
feat(cli): add nix_wasm_eval CLI for WASM-based Nix evaluation
b7r6 Feb 20, 2026
6c70c25
fix(wasm): add memory sync to all allocating host functions
b7r6 Feb 20, 2026
d252455
feat(runtime): implement string concatenation and fix arithmetic sync
b7r6 Feb 20, 2026
bbd1fc4
fix(display): correctly read list/attrset counts from memory
b7r6 Feb 20, 2026
a89b4ff
refactor(runtime): use wasm_memory directly, eliminate dual-memory sync
b7r6 Feb 20, 2026
6733990
refactor: restructure source tree + static linking (rapidcheck, blake…
b7r6 Feb 20, 2026
a6d94a4
feat(static): convert binaryen to static linking
b7r6 Feb 20, 2026
8b65e29
add Cornell-generated SIGIL and ZMTP headers
b7r6 Feb 20, 2026
eb17778
rename zmtp_gen.h to zmtp.h for consistency
b7r6 Feb 20, 2026
85f430d
feat: protological tests + static linking + snake_case refactor
b7r6 Feb 20, 2026
ac86851
feat(tests): add fuzz tests for derivation, narinfo, git parsing
b7r6 Feb 20, 2026
7534fe5
refactor: style compliance + lint tooling expansion
b7r6 Feb 20, 2026
513d504
fix: static linking for Buck2 Nix binary
b7r6 Feb 20, 2026
feb6562
feat: restore trusted-users and allowed-users settings
b7r6 Feb 20, 2026
8f080ed
feat: add clang-tidy lint script for maximum style enforcement
b7r6 Feb 20, 2026
2466352
style: apply clang-format and nixfmt across codebase
b7r6 Feb 20, 2026
5a53859
style: make authorization-settings clang-tidy compliant
b7r6 Feb 20, 2026
3396444
style: convert to trailing return types in util headers
b7r6 Feb 20, 2026
39df002
style: convert to trailing return types in args.h
b7r6 Feb 20, 2026
edf8a4a
style: add [[nodiscard]] to value-returning functions
b7r6 Feb 20, 2026
a1a2c4b
style: remove redundant member initializers
b7r6 Feb 20, 2026
36f297f
style: fix remaining trailing return types in configuration.h
b7r6 Feb 20, 2026
568dc9f
style: rename single-char params to meaningful names
b7r6 Feb 20, 2026
522ac75
style: add trailing underscore to struct member names
b7r6 Feb 20, 2026
0efedc0
style: add trailing underscores to struct members (error_info_t, trac…
b7r6 Feb 20, 2026
38e3064
style: fix clang-tidy violations in fmt.h and types.h
b7r6 Feb 21, 2026
ebd7ec4
fix: add missing isLinux parameter to turing-registry.nix
b7r6 Feb 21, 2026
260b26c
style: add TODO for snake_case refactor in cmd/command.h
b7r6 Feb 21, 2026
68d1baa
fix: static linking issues for self-hosting nix binary
b7r6 Feb 21, 2026
4817ec4
docs: the 48-hour nix
b7r6 Feb 21, 2026
d6df5f4
fix: harden input parsing against malformed data
b7r6 Feb 21, 2026
bad060b
feat: add compile-time backend selection for A-team integration
b7r6 Feb 21, 2026
6f590bb
docs: the plan
b7r6 Feb 21, 2026
c92eb24
feat(kaitai): add Cornell-generated NAR/narinfo/drv parsers
b7r6 Feb 21, 2026
98eeab0
fix(kaitai): use brace init to avoid most vexing parse
b7r6 Feb 21, 2026
34c4256
feat(store): shadow parse narinfo with Cornell verified parser
b7r6 Feb 21, 2026
c85b724
fix(security): replace assert(false) with proper exceptions in input …
b7r6 Feb 22, 2026
5053114
feat(cli): add nix-env --list-generations for NixOS compatibility
b7r6 Feb 22, 2026
9c6dbc6
fix(schema): revert snake_case column names to camelCase for database…
b7r6 Feb 22, 2026
3467ef3
test+feat: add compatibility tests and nix-daemon for NixOS multi-user
b7r6 Feb 22, 2026
cfea9b4
test: expand executable specification to 211 assertions
b7r6 Feb 22, 2026
1dc7e70
test: double coverage to 1,574 assertions
b7r6 Feb 22, 2026
0aafc79
docs: add COMPATIBILITY.md documenting executable specification
b7r6 Feb 22, 2026
d9fa529
feat: register nix-store and build-remote commands - 100% tests pass
b7r6 Feb 22, 2026
4715f1e
docs: update COMPATIBILITY.md for 100% test pass
b7r6 Feb 22, 2026
1131eee
bench: add real-world performance benchmarks
b7r6 Feb 22, 2026
2e6f195
feat: implement full nix-store and build-remote commands
b7r6 Feb 22, 2026
c3944a6
fix: nix fmt + buck2 build clean
b7r6 Feb 23, 2026
bad9e38
docs: fix markdown tables and update stale paths post-restructure
b7r6 Feb 24, 2026
b5c0032
docs: update RESTRUCTURE_PLAN.md - mark completed items
b7r6 Feb 24, 2026
fa1707b
docs: remove corporate speak
b7r6 Feb 24, 2026
0cc6aef
docs: update remaining work in RESTRUCTURE_PLAN
b7r6 Feb 24, 2026
ac3f294
build: remove hardcoded nix store paths from BUCK files
b7r6 Feb 24, 2026
8b4289c
fix: data segment collision in imports + brutal test suite
b7r6 Feb 24, 2026
ba831cf
fix: division semantics, nested with shadowing, or-default fallback
b7r6 Feb 24, 2026
2ede3a0
fix: if/assert type checking, toString for bools/floats/lists
b7r6 Feb 24, 2026
eb92e2e
fix: rec attrset mutual references via shared memory thunks
b7r6 Feb 24, 2026
6c547aa
fix: recursive let bindings via shared memory and lazy thunks
b7r6 Feb 24, 2026
7726c3a
feat: add addErrorContext, unsafeGetAttrPos builtins + file import su…
b7r6 Feb 24, 2026
dd620c0
fix: preserve thunks in attrset values for fixpoint patterns
b7r6 Feb 24, 2026
c6324f2
fix: cross-module thunk calls with proper per-module lambda_count offset
b7r6 Feb 24, 2026
b7e3bd5
fix: lazy inherit bindings and non-forcing let captures
b7r6 Feb 24, 2026
161b3d2
fix: cross-module import context tracking for nested imports
b7r6 Feb 24, 2026
7a79f40
feat: add spdlog for structured logging
b7r6 Feb 24, 2026
64ae567
feat(compiler): add type-safe value and capture abstractions
b7r6 Feb 24, 2026
c42fdc8
fix(compiler): preserve lazy captures in let inherit-from thunks
b7r6 Feb 24, 2026
ee6bf90
refactor(compiler): use capture_policy enum instead of bool force_cap…
b7r6 Feb 24, 2026
11452a2
fix(parser): correct unary operator precedence for has_attribute
b7r6 Feb 24, 2026
2482e4c
fix(compiler): capture variables used in function default values
b7r6 Feb 24, 2026
f79990e
wip: replace exceptions with rt_result Either monad
b7r6 Feb 24, 2026
6fb8f73
default tarball-ttl to 0 for always-fresh flake refs
b7r6 Feb 25, 2026
d893095
fix: build failures - add abseil dep for re2, add missing algorithm i…
b7r6 Feb 25, 2026
23a7637
feat: add lint enforcement infrastructure
b7r6 Feb 25, 2026
03b1362
style: fix 120 ast-grep lint violations in src/straylight/
b7r6 Feb 25, 2026
6bd1e33
refactor(compiler): add RAII guards for compiler state management
b7r6 Feb 25, 2026
0daf360
fix(eval): correct with expression precedence in interpreter
b7r6 Feb 25, 2026
350e501
docs: update pre-commit setup and lint instructions
b7r6 Feb 25, 2026
d4e949d
feat: strengthen lint enforcement (red-team fixes)
b7r6 Feb 25, 2026
56e65ce
docs: fix documentation drift across codebase
b7r6 Feb 26, 2026
b89aec0
style: fix 130 lint violations across src/ (checkpoint)
b7r6 Feb 26, 2026
f53d746
style: fix more using-namespace violations (51 remaining)
b7r6 Feb 26, 2026
b3ec920
style: fix using-namespace and class-keyword violations
b7r6 Feb 26, 2026
8d1e0ad
feat: eliminate sstream from production code, complete lint enforcement
b7r6 Feb 26, 2026
e6088e8
refactor: complete sstream elimination with proper API additions
b7r6 Feb 26, 2026
c632238
perf: integrate mimalloc and SHA-NI for 1.6x speedup on derivation wo…
b7r6 Feb 26, 2026
4b02530
perf: avoid map copy in derivation unparse with structured attrs
b7r6 Feb 26, 2026
c970982
fix: resolve 17 process handling bugs from NixOS/nix
b7r6 Feb 27, 2026
539402e
fix: resolve 3 more process/transfer bugs
b7r6 Feb 27, 2026
ed5dc22
fix: resolve 5 more process handling bugs
b7r6 Feb 27, 2026
b2e9d61
feat: add direct buck2 build for nix binary
b7r6 Feb 28, 2026
a445093
fix: SHA-NI implementation and multiple bug fixes
b7r6 Feb 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
50 changes: 41 additions & 9 deletions .buckconfig.local

Large diffs are not rendered by default.

136 changes: 95 additions & 41 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
#
# — Neuromancer
#
# Semantic lint with teeth. Runs second in the lint pipeline.
# Can fix or error. All warnings are errors.
# Semantic lint with teeth. Maximum strictness. All warnings are errors.
# This is the migraine config - everything enabled, nothing forgiven.
#
# See: docs/guidelines/03-cpp.md for rationale.
# See: ~/src/weyl/weyl-std/docs/languages/cpp.md for rationale.
#
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
---
Expand All @@ -19,43 +19,28 @@ UseColor: true
# // checks
# ══════════════════════════════════════════════════════════════════════════════
#
# Philosophy: enable aggressively, disable surgically.
# Philosophy: enable everything. disable nothing. feel the pain.
#
# ══════════════════════════════════════════════════════════════════════════════

Checks: >
-*,

bugprone-*,
-bugprone-easily-swappable-parameters,
-bugprone-exception-escape,

cppcoreguidelines-*,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
-cppcoreguidelines-pro-type-reinterpret-cast,
-cppcoreguidelines-owning-memory,

modernize-*,
-modernize-use-trailing-return-type,
-modernize-avoid-c-arrays,

performance-*,

readability-*,
-readability-magic-numbers,
-readability-identifier-length,
-readability-function-cognitive-complexity,

misc-*,
-misc-no-recursion,
-misc-non-private-member-variables-in-classes,
*,
-abseil-*,
-altera-*,
-android-*,
-darwin-*,
-fuchsia-*,
-google-*,
-hicpp-*,
-linuxkernel-*,
-llvm-*,
-llvmlibc-*,
-objc-*,
-openmp-*,
-zircon-*,
-portability-avoid-pragma-once,
-misc-include-cleaner,

concurrency-*,

portability-*,
-misc-non-private-member-variables-in-classes,

WarningsAsErrors: '*'

Expand All @@ -80,12 +65,22 @@ CheckOptions:
- key: readability-identifier-naming.ClassCase
value: lower_case

# all types get _t suffix (store_path_t, hash_type_t, etc.)
- key: readability-identifier-naming.ClassSuffix
value: '_t'

- key: readability-identifier-naming.StructCase
value: lower_case

- key: readability-identifier-naming.StructSuffix
value: '_t'

- key: readability-identifier-naming.EnumCase
value: lower_case

- key: readability-identifier-naming.EnumSuffix
value: '_t'

- key: readability-identifier-naming.EnumConstantCase
value: lower_case

Expand All @@ -101,10 +96,8 @@ CheckOptions:
- key: readability-identifier-naming.MemberCase
value: lower_case

- key: readability-identifier-naming.PrivateMemberSuffix
value: '_'

- key: readability-identifier-naming.ProtectedMemberSuffix
# all members get trailing underscore (we use struct, not class)
- key: readability-identifier-naming.MemberSuffix
value: '_'

- key: readability-identifier-naming.ConstantCase
Expand All @@ -125,10 +118,15 @@ CheckOptions:
- key: readability-identifier-naming.TypeAliasCase
value: lower_case

- key: readability-identifier-naming.TypeAliasSuffix
value: '_t'

- key: readability-identifier-naming.TypedefCase
value: lower_case

# n.b. template parameters are the exception — CamelCase for historical reasons
- key: readability-identifier-naming.TypedefSuffix
value: '_t'

- key: readability-identifier-naming.TemplateParameterCase
value: CamelCase

Expand Down Expand Up @@ -157,6 +155,9 @@ CheckOptions:
- key: readability-function-size.NestingThreshold
value: 5

- key: readability-function-cognitive-complexity.Threshold
value: 25

# ──────────────────────────────────────────────────────────────────────────
# // modernize
# ──────────────────────────────────────────────────────────────────────────
Expand All @@ -181,11 +182,14 @@ CheckOptions:
# ──────────────────────────────────────────────────────────────────────────

- key: performance-unnecessary-value-param.AllowedTypes
value: 'std::string_view;nv::std::span;std::span'
value: 'std::string_view;std::span'

- key: performance-move-const-arg.CheckTriviallyCopyableMove
value: true

- key: performance-for-range-copy.WarnOnAllAutoCopies
value: true

# ──────────────────────────────────────────────────────────────────────────
# // misc
# ──────────────────────────────────────────────────────────────────────────
Expand All @@ -196,6 +200,8 @@ CheckOptions:
- key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
value: true



# ──────────────────────────────────────────────────────────────────────────
# // bugprone
# ──────────────────────────────────────────────────────────────────────────
Expand All @@ -211,3 +217,51 @@ CheckOptions:

- key: bugprone-string-constructor.LargeLengthThreshold
value: 8388608

- key: bugprone-easily-swappable-parameters.MinimumLength
value: 2

# ──────────────────────────────────────────────────────────────────────────
# // cppcoreguidelines
# ──────────────────────────────────────────────────────────────────────────

- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
value: true

- key: cppcoreguidelines-macro-usage.AllowedRegexp
value: '^(CATCH_|TEST_|REQUIRE|CHECK|SECTION|INFO|WARN|FAIL|NIX_|RAPIDCHECK_|STRAYLIGHT_)'

# ──────────────────────────────────────────────────────────────────────────
# // readability
# ──────────────────────────────────────────────────────────────────────────

# allow well-known short identifiers (unix conventions, domain terms)
# n.b. we use idx/jdx/kdx for loop counters, not i/j/k
- key: readability-identifier-length.IgnoredVariableNames
value: '^(io|id|fd|ok|it|op)$'

- key: readability-identifier-length.IgnoredParameterNames
value: '^(io|id|fd|ok|it|op)$'

- key: readability-identifier-length.IgnoredLoopCounterNames
value: '^(idx|jdx|kdx)$'

- key: readability-identifier-length.MinimumVariableNameLength
value: 2

- key: readability-identifier-length.MinimumParameterNameLength
value: 2

- key: readability-identifier-length.MinimumLoopCounterNameLength
value: 3

# ══════════════════════════════════════════════════════════════════════════════
# // header filter
# ══════════════════════════════════════════════════════════════════════════════
#
# Check ALL headers in our source tree.
#
# ══════════════════════════════════════════════════════════════════════════════

HeaderFilterRegex: '.*'
SystemHeaders: false
2 changes: 1 addition & 1 deletion .clangd
33 changes: 33 additions & 0 deletions .cppcheck
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# // cppcheck // law
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#
# "All the speed he took, all the turns he'd taken and the corners he'd
# cut in Night City..."
#
# — Neuromancer
#
# Static analysis with cppcheck. Catches what clang-tidy misses.
# Run after clang-tidy in the lint pipeline.
#
# Usage: cppcheck --project=compile_commands.json --suppressions-list=.cppcheck
#
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

# ══════════════════════════════════════════════════════════════════════════════
# // suppressions
# ══════════════════════════════════════════════════════════════════════════════
#
# Format: <error_id>:[filename]:[line]
# Use sparingly - every suppression should have a comment explaining why.
#
# ══════════════════════════════════════════════════════════════════════════════

# missingIncludeSystem - we don't have full system includes in analysis
missingIncludeSystem

# unmatchedSuppression - suppress warnings about unused suppressions
unmatchedSuppression

# useStlAlgorithm - sometimes manual loops are clearer
# (selectively suppress per-file if needed, not globally)
11 changes: 8 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,15 @@ charset = utf-8
indent_style = space
indent_size = 2

# Match C++/C/shell/Perl, set indent to spaces with width of four
[*.{hpp,cc,hh,c,h,sh,pl,xs}]
# Match C++/C files - 2 space indent (matches .clang-format)
[*.{cpp,hpp,cc,hh,c,h}]
indent_style = space
indent_size = 4
indent_size = 2

# Match shell/Perl - 2 space indent (matches shfmt)
[*.{sh,pl,xs}]
indent_style = space
indent_size = 2

# Match diffs, avoid to trim trailing whitespace
[*.{diff,patch}]
Expand Down
47 changes: 0 additions & 47 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

30 changes: 0 additions & 30 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

38 changes: 0 additions & 38 deletions .github/ISSUE_TEMPLATE/installer.md

This file was deleted.

Loading