Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
600 commits
Select commit Hold shift + click to select a range
0a4175f
fix: enforce production and development entry boundaries
GTrunSec Oct 7, 2026
87972d8
fix: align TLA syntax interfaces and native CI build ownership
GTrunSec Oct 7, 2026
1cf51d1
fix: separate closed and loadable native test build owners
GTrunSec Oct 7, 2026
0dd4391
fix: reuse qualified native library objects across CI products
GTrunSec Oct 7, 2026
73920d2
refactor: consolidate Rust scenario tests into build support
GTrunSec Oct 7, 2026
a2e231f
refactor: use native gxtest source ownership and consolidate arithmet…
GTrunSec Oct 7, 2026
4b1c6a6
refactor: keep gxtest source admission on the standard package path
GTrunSec Oct 7, 2026
300dcc1
fix: use native compiler diagnostics for research helper builds
GTrunSec Oct 7, 2026
92cb800
refactor: delegate native workers to Gerbil standard workgroups
GTrunSec Oct 7, 2026
a16054e
fix: bound native compiler scheduling with standard workgroups
GTrunSec Oct 7, 2026
49a527f
fix: balance native workgroups by compiler input size
GTrunSec Oct 7, 2026
96542e6
refactor: admit unified parser products before native execution
GTrunSec Oct 7, 2026
b7400f0
refactor: enforce the closed Scheme grammar author contract
GTrunSec Oct 7, 2026
21fec88
refactor: separate grammar metadata and compact native lexer emission
GTrunSec Oct 8, 2026
30ac89d
refactor: declare Cypher source schema in parser entry slots
GTrunSec Oct 8, 2026
2577253
fix: validate resolved repetition operands before LR construction
GTrunSec Oct 8, 2026
7d0a86d
docs: derive parser admission and suspension design from research
GTrunSec Oct 8, 2026
b0347f7
refactor: align every language parser with canonical entry slots
GTrunSec Oct 8, 2026
11179d2
fix: refresh Scheme-generated FHIRPath profile identity
GTrunSec Oct 8, 2026
255a62f
fix: publish complete helpers and partition native ABI codec
GTrunSec Oct 8, 2026
cd7b03f
refactor: suspend command execution across source continuations
GTrunSec Oct 8, 2026
07e1e5c
fix: admit native compiler options and avoid macro tracking overhead
GTrunSec Oct 8, 2026
e62b77b
refactor: share lexer preparation and publish canonical Source records
GTrunSec Oct 8, 2026
0ab08ea
refactor: separate command Source event publication
GTrunSec Oct 8, 2026
e045275
refactor: give command Source one module owner facade
GTrunSec Oct 8, 2026
b017798
test: report remaining native fixture bytes in assertions
GTrunSec Oct 8, 2026
1b28f3a
fix: admit relative native imports and hash artifact bytes directly
GTrunSec Oct 8, 2026
4cd91ba
fix: own scanner source snapshots and checkpoint strings
GTrunSec Oct 8, 2026
9dc3247
fix: drain queued evidence before checking child silence
GTrunSec Oct 8, 2026
7c05c47
fix: expose actual Gambit work during native translation
GTrunSec Oct 8, 2026
6c9b513
refactor: compact native language images and share build capacity
GTrunSec Oct 8, 2026
91c5933
perf: construct packed language images without full padding copies
GTrunSec Oct 8, 2026
bc233b8
feat: admit contextual scanner suffix convergence across edits
GTrunSec Oct 8, 2026
e3c3487
feat: admit edited-source scanner checkpoints through prefix replay
GTrunSec Oct 8, 2026
706bf03
docs: align research scope with implemented scanner admission
GTrunSec Oct 8, 2026
f21204f
fix: validate exact terminal yield before LR fragment transfer
GTrunSec Oct 8, 2026
012389b
feat: consume scanner suffix certificates in Source edit sessions
GTrunSec Oct 8, 2026
d63e655
refactor: separate composition fixtures from conformance assertions
GTrunSec Oct 8, 2026
169caf7
perf: share terminal yields for LR fragment transfer validation
GTrunSec Oct 8, 2026
4119de4
test: assert transfer work counts without console output
GTrunSec Oct 8, 2026
ba4d4dd
refactor: partition native composition tests by engine responsibility
GTrunSec Oct 8, 2026
2c38e9f
feat: align Rust Source edit sessions with Scheme lexical reuse
GTrunSec Oct 8, 2026
819eca3
perf(fold): centralize source patterns and request-local event execution
GTrunSec Oct 8, 2026
1b69874
feat: retain Source edit history across native FFI calls
GTrunSec Oct 8, 2026
7d1ba3b
refactor: remove version suffixes from language FFI names
GTrunSec Oct 8, 2026
0354198
refactor: share native test preparation across Scheme workers
GTrunSec Oct 8, 2026
007bf80
fix: align shared heap and preserve native test thread ownership
GTrunSec Oct 8, 2026
7fe2323
fix: classify static phase products as conformance outputs
GTrunSec Oct 8, 2026
eec334c
refactor: converge FFI schemas and qualify complete Source edit costs
GTrunSec Oct 8, 2026
d2ca5d1
fix: admit compiler memo outputs and reduce type diagnostic verbosity
GTrunSec Oct 8, 2026
d066e1a
fix: prepare shared native Worker fixture before source suites
GTrunSec Oct 8, 2026
0a2a1a0
refactor: name Scheme tests and ABI modules by responsibility
GTrunSec Oct 8, 2026
5bcc3f6
docs: connect DSL paper contracts to modular engine studies
GTrunSec Oct 8, 2026
cc3ff17
fix: own Source ABI callback buffers and qualify encoder allocations
GTrunSec Oct 8, 2026
0b0853b
test: assign single owners to Suite execution and preparation
GTrunSec Oct 8, 2026
5d74116
test: use portable log matching in Scheme controls
GTrunSec Oct 8, 2026
9f0c038
fix: stream native compiler output through owned process pipes
GTrunSec Oct 8, 2026
7715ac7
fix: keep compiler process controls out of production PackageSpec
GTrunSec Oct 8, 2026
de8bef5
compiler: propagate nullable facts through occurrence dependencies
GTrunSec Oct 8, 2026
797cb53
docs: align parser paper contracts with implemented engine boundaries
GTrunSec Oct 8, 2026
7779a16
fix: report cold preparation imports and native compiler GC
GTrunSec Oct 9, 2026
7419c1d
refactor: move process qualification and preparation into Scheme
GTrunSec Oct 9, 2026
2feaa26
fix: reuse preparation inventory matchers and report discovery
GTrunSec Oct 9, 2026
344826a
refactor: unify native qualification in Scheme
GTrunSec Oct 9, 2026
a9c1b19
compiler: propagate FIRST deltas through nullable-prefix dependencies
GTrunSec Oct 9, 2026
92e3b48
ci: load Rust ABI qualification through the package environment
GTrunSec Oct 9, 2026
a90f236
fix: launch qualification sessions through native Scheme AOT
GTrunSec Oct 9, 2026
2bfec1f
compiler: admit LR entries through finite derivation analysis
GTrunSec Oct 9, 2026
2a4175d
refactor: run qualification through native Scheme entry and exit events
GTrunSec Oct 9, 2026
07540dd
compiler: share nullable and productivity completion graph
GTrunSec Oct 9, 2026
efcbdf0
refactor: restore source-owned qualification and ABI alignment tests
GTrunSec Oct 9, 2026
8c3364a
fix: balance source conformance entry after dispatch removal
GTrunSec Oct 9, 2026
0255378
fix: avoid C optimizer stalls in semantic test objects
GTrunSec Oct 9, 2026
47fd870
compiler: fold LR suffix facts in one reverse traversal
GTrunSec Oct 9, 2026
07a1f9c
compiler: share suffix facts across LR consumers
GTrunSec Oct 9, 2026
f6dfc3b
fix: preserve SDK tail calls in test compilation
GTrunSec Oct 9, 2026
f4606c3
compiler: index labeled FOLLOW successors once
GTrunSec Oct 9, 2026
dcbe222
compiler: traverse wide index sets through local fixnum fields
GTrunSec Oct 9, 2026
49e297f
docs: distinguish canonical source and compiled conformance receipts
GTrunSec Oct 9, 2026
8b70acb
compiler: share delta-based indexed reachability for FOLLOW closure
GTrunSec Oct 9, 2026
7449072
refactor: share source priority lowering and replace process waiters …
GTrunSec Oct 9, 2026
abdde86
compiler: bound repeated FOLLOW seed queries by quotient size
GTrunSec Oct 9, 2026
7a91f1d
research: reject static FOLLOW row caching with complete controls
GTrunSec Oct 9, 2026
87c37bf
compiler: refine only partitions affected by source splits
GTrunSec Oct 9, 2026
e3ee4ef
docs: remove host-local paths from Org documentation
GTrunSec Oct 9, 2026
2b86afa
compiler: reuse invocation-owned refinement buffers
GTrunSec Oct 9, 2026
891364c
research: reject cardinality and frontier fusion with complete costs
GTrunSec Oct 9, 2026
fa0f283
test: qualify persistent partition identity experiment
GTrunSec Oct 9, 2026
d6e6b8a
perf: reuse indexed FIRST targets and stable FOLLOW edges
GTrunSec Oct 9, 2026
bc9a56a
refactor: share memoized indexed closure with exhaustive controls
GTrunSec Oct 9, 2026
cebae0a
test: move native qualification owners into t and remove duplicate st…
GTrunSec Oct 9, 2026
45fdb30
test: consolidate native process entry and qualify concurrent cold st…
GTrunSec Oct 9, 2026
e7585ac
parser: own native table paragraph and inline link declaration lowering
GTrunSec Oct 9, 2026
6d0eaaa
parser: own parent-aware native container boundary composition
GTrunSec Oct 9, 2026
f9a51f9
parser: allocate native scanner state by explicit POO rule scope
GTrunSec Oct 9, 2026
21e50ee
parser: own native list hierarchy and paragraph transitions
GTrunSec Oct 9, 2026
7f9bd47
ci: install pinned Just before native process controls
GTrunSec Oct 9, 2026
021f97a
test: use declared POSIX interfaces in process fixture
GTrunSec Oct 9, 2026
a725a69
refactor: bind closed scanner matchers during engine preparation
GTrunSec Oct 9, 2026
c30bc19
docs: integrate Gerbil source patterns with shared parser staging study
GTrunSec Oct 9, 2026
e386be0
perf: reconstruct validated artifact source with one allocation
GTrunSec Oct 9, 2026
8e98e83
perf: materialize contextual scanner matches only after selection
GTrunSec Oct 9, 2026
750b8cd
test: qualify shared projection optimization boundaries
GTrunSec Oct 9, 2026
d697435
perf: reuse native UTF-8 extent queries across parser engines
GTrunSec Oct 9, 2026
92fcb1d
perf: filter impossible delimiter lengths before copying
GTrunSec Oct 9, 2026
8fe4a0e
feat: lower admitted result projections to direct Scheme code
GTrunSec Oct 9, 2026
650283d
perf: prepare request-isolated EventFold state in the engine
GTrunSec Oct 9, 2026
e08d965
perf: publish incremental checkpoints with native bounded lists
GTrunSec Oct 9, 2026
ded00a4
perf: use native reverse joins for LR fragments and GLR forks
GTrunSec Oct 9, 2026
5a1074e
test: align fresh and cached incremental session responsibilities
GTrunSec Oct 9, 2026
b4e5a6b
perf: fuse artifact admission with input source identity
GTrunSec Oct 9, 2026
8b8e7e0
perf: lower disabled parser phase observation at call sites
GTrunSec Oct 9, 2026
f471694
research: attribute shared source engine costs to public request stages
GTrunSec Oct 9, 2026
a47941f
perf: accumulate native EventFold events in one request-owned chain
GTrunSec Oct 9, 2026
8e0f92c
test: complete parser stage diagnostics with P95 statistics
GTrunSec Oct 9, 2026
5bac2df
feat: expose shared streaming LR request cost boundaries
GTrunSec Oct 9, 2026
f750b96
fix: admit GQL allocation statistics from valid native intervals
GTrunSec Oct 9, 2026
9c4b763
perf: index shared region opener candidates at plan preparation
GTrunSec Oct 9, 2026
cb6ff10
research: reject dense region trie after complete-request controls
GTrunSec Oct 9, 2026
bb445e3
perf: bound direct recognition sequence materialization
GTrunSec Oct 9, 2026
b9e1e50
refactor: generate linear semantic stack bindings
GTrunSec Oct 9, 2026
14debaf
test: qualify sequence context contracts against latest materialization
GTrunSec Oct 9, 2026
dd07195
feat: compile native event folds into bounded static units
GTrunSec Oct 9, 2026
206ae3a
perf: reuse private word and projection publication spines
GTrunSec Oct 9, 2026
0906fa3
perf: construct unary parts fields directly and factor profile syntax
GTrunSec Oct 9, 2026
d69f015
perf: borrow semantic stacks in shared LR recognition reductions
GTrunSec Oct 9, 2026
f2eb2b8
perf: hoist literal dispatch indexes and bound empty scans
GTrunSec Oct 9, 2026
ade6c93
refactor: stage checked LR action vectors at runtime preparation
GTrunSec Oct 9, 2026
7c32c81
bench: qualify shared LR request costs and reject vector stack regres…
GTrunSec Oct 10, 2026
3ba88c7
perf(native): consume request-owned Fold publication spine
GTrunSec Oct 10, 2026
c1237c5
perf(engine): classify admitted semantic sequence leaves in constant …
GTrunSec Oct 10, 2026
b61522e
perf: retain request-owned region frames across depth transitions
GTrunSec Oct 10, 2026
26f96a5
perf(native): carry explicit byte frames through generated Fold
GTrunSec Oct 10, 2026
a65abbd
test: qualify ranked literal publication costs and mode contracts
GTrunSec Oct 10, 2026
6dbc112
bench(engine): expose decorated unary costs and preserve semantic con…
GTrunSec Oct 10, 2026
31c0667
refactor(engine): stage shared operand action folds and name admissio…
GTrunSec Oct 10, 2026
bb53704
perf: specialize closed regular DFA start states
GTrunSec Oct 10, 2026
45475b2
perf(engine): qualify native frame costs and cache byte cursors
GTrunSec Oct 10, 2026
b6ed6bb
perf(engine): borrow native fold spans and share predicate scans
GTrunSec Oct 10, 2026
ec4b6b8
test(engine): compile shared suites into native std/test caller
GTrunSec Oct 10, 2026
a400dcf
refactor(engine): separate typed GLR completion policy from execution
GTrunSec Oct 10, 2026
5b2265b
research(engine): qualify generic preparation and contextual conflict…
GTrunSec Oct 10, 2026
aff9375
perf(scheme): stage pure prefix families into shared byte decisions
GTrunSec Oct 10, 2026
f3dff04
refactor(engine): prepare semantic executors through multiple dispatch
GTrunSec Oct 10, 2026
b5a3141
perf: inline shared ranked candidate loops with hygienic syntax
GTrunSec Oct 10, 2026
b1b13e0
perf(engine): share prepared contextual region and guard matchers
GTrunSec Oct 10, 2026
ed744dc
refactor(research): connect engine audit to reproducible preparation …
GTrunSec Oct 10, 2026
a36c4d1
fix(engine): withdraw unqualified ranked loop and audit complete back…
GTrunSec Oct 10, 2026
0a1b326
test(engine): execute paired backend cost qualification with negative…
GTrunSec Oct 10, 2026
95de0d9
fix(engine): enforce and observe generated backend representation con…
GTrunSec Oct 10, 2026
11b2cf1
feat(compiler): trace rejected LR conflicts to effective DSL occurrences
GTrunSec Oct 10, 2026
a1df0ca
feat(engine): attribute canonical artifact publication phases
GTrunSec Oct 10, 2026
ecebab9
refactor(engine): use official builder and qualify event storage
GTrunSec Oct 10, 2026
989e117
refactor(benchmarks): centralize parser sampling and admission
GTrunSec Oct 10, 2026
93d179c
fix(ir): unify semantic action admission across parser backends
GTrunSec Oct 10, 2026
5a6a70b
refactor(ir): enforce canonical production semantics before publication
GTrunSec Oct 10, 2026
af52bc3
fix(ir): admit LR table domains before parser publication
GTrunSec Oct 10, 2026
9374421
fix(ir): align layout table admission with runtime capability
GTrunSec Oct 10, 2026
5b63670
perf(engine): share literal IR for allocation-free ASCII casefold lookup
GTrunSec Oct 10, 2026
9507aae
test(engine): qualify casefold lookup with shared sampling authority
GTrunSec Oct 10, 2026
f75aa18
docs(perf): record latest-graph casefold qualification boundaries
GTrunSec Oct 10, 2026
8a60fb8
fix(aot): admit Rust LR target capacities before publication
GTrunSec Oct 10, 2026
9184d01
test(engine): prove complete-request casefold allocation savings
GTrunSec Oct 10, 2026
ad8c6a3
fix(runtime): check accumulated precedence before reduction and GLR s…
GTrunSec Oct 10, 2026
78507e6
Omit empty imports from native EventFold units
GTrunSec Oct 10, 2026
8bfc1fa
fix(test): mount precedence capacity controls from unit test source
GTrunSec Oct 10, 2026
c36e806
test(engine): reject unproved state-initial dispatch optimization
GTrunSec Oct 10, 2026
0c46a44
fix(tests): finish output admission without rescanning complete logs
GTrunSec Oct 10, 2026
6f796fe
test(engine): qualify compiled scanner costs with shared receipt admi…
GTrunSec Oct 10, 2026
1cfb23a
fix(engine): admit production-relative LR symbols and reachable accep…
GTrunSec Oct 10, 2026
c12dcb0
fix(engine): close canonical rule references before executable public…
GTrunSec Oct 10, 2026
27f5471
docs(engine): integrate execution research and audit by responsibility
GTrunSec Oct 10, 2026
ced9662
test(engine): qualify character unions across complete Unicode requests
GTrunSec Oct 10, 2026
36c9f84
fix(runtime): bind layout execution to prepared grammar capability
GTrunSec Oct 10, 2026
197cf6d
test(engine): gate casefold CPU evidence with guarded paired controls
GTrunSec Oct 10, 2026
060d8a3
fix(runtime): unify checkpoint capability and contextual admission
GTrunSec Oct 10, 2026
104679f
docs(research): replace machine-local paths with replay contracts
GTrunSec Oct 10, 2026
a6f3e9f
perf(engine): compact literal trie edges with repeated Scheme CPU proof
GTrunSec Oct 10, 2026
8a206b5
perf(engine): pack request-owned layout source columns
GTrunSec Oct 10, 2026
5bc7d2f
fix(engine): publish certified windows without unbounded apply
GTrunSec Oct 10, 2026
29f590b
test(engine): share paired CPU sampler and qualify ranked scanner pro…
GTrunSec Oct 10, 2026
4319c94
test(engine): require Scheme CPU proof in isolated Ubuntu CI
GTrunSec Oct 10, 2026
4e6095c
refactor(compiler): own declaration origins and Bound IR publication
GTrunSec Oct 10, 2026
39fd28f
perf(compiler): write canonical digest input directly as UTF-8
GTrunSec Oct 10, 2026
0f46d2d
perf(compiler): share canonical bytes across artifact publication
GTrunSec Oct 10, 2026
c6a6565
perf(runtime): fuse ranked scanning and prepare layout decisions
GTrunSec Oct 10, 2026
b14e09c
docs(research): record complete Scheme parser CPU admission
GTrunSec Oct 10, 2026
919d84b
refactor(runtime): stage LR semantics and preserve nullable origins
GTrunSec Oct 10, 2026
4cb6f4b
Merge branch 'codex/final-event-offset-aot' of https://github.com/tao…
GTrunSec Oct 10, 2026
842767b
fix(runtime): resolve fixed semantic factories at module initialization
GTrunSec Oct 10, 2026
ba81c0e
test(benchmarks): resolve full-request CPU controls across natural GC
GTrunSec Oct 10, 2026
8f4a474
refactor(test): separate native resolved grammar case procedures
GTrunSec Oct 10, 2026
4fa4c83
Merge remote-tracking branch 'origin/codex/final-event-offset-aot' in…
GTrunSec Oct 10, 2026
ebb254f
fix(ci): retain the conformance-owned sampler interface
GTrunSec Oct 10, 2026
7f93f63
fix(ci): complete the disposable LR matrix process
GTrunSec Oct 10, 2026
e1acd02
refactor(benchmarks): conserve work across complementary CPU sub-batches
GTrunSec Oct 10, 2026
b793f0f
fix(benchmarks): resolve the short literal prefix CPU control
GTrunSec Oct 10, 2026
6733f32
fix(benchmarks): resolve short public request collection boundaries
GTrunSec Oct 10, 2026
ae13f1b
fix(benchmarks): bound resolved short request CPU work
GTrunSec Oct 10, 2026
5e4a580
ci: make performance research an explicit manual acceptance run
GTrunSec Oct 11, 2026
904ea38
refactor: name source and documentation files by responsibility
GTrunSec Oct 11, 2026
293a728
refactor(ffi): name package and scenario paths by ABI ownership
GTrunSec Oct 11, 2026
8bdc077
perf: compact LR item space across construction routes
GTrunSec Oct 11, 2026
344a8a4
build: sync gerbil-scheme-rust IR to latest PR revision
GTrunSec Oct 11, 2026
37356fa
perf: stage invocation-owned LR lookahead classification
GTrunSec Oct 11, 2026
6ae5f89
fix(build): prepare LR selector fixture before lookahead benchmark
GTrunSec Oct 11, 2026
604ff1c
test: close lookahead build dependencies and small grammar controls
GTrunSec Oct 11, 2026
798e410
perf: reject lookahead cache after complete request regression
GTrunSec Oct 11, 2026
71554da
refactor: share AST root admission and measure actual LR semantics
GTrunSec Oct 11, 2026
0e02190
perf(ffi): integrate upstream caller-buffer UTF-8 admission
GTrunSec Oct 11, 2026
30106c5
test: close semantic cost matrix and small request resolution
GTrunSec Oct 11, 2026
6d7f5c5
test(ffi): synchronize upstream dependency contract and CI receipts
GTrunSec Oct 11, 2026
8cd2da5
test: scale semantic replay batches within the request budget
GTrunSec Oct 11, 2026
4f50dd3
test: bound large semantic controls with CI matched compilation
GTrunSec Oct 11, 2026
18e95e6
perf(ffi): pack complete event rows and prove multi-record CPU gains
GTrunSec Oct 11, 2026
4d19730
perf(ffi): prove ASCII admission and decode in bounded Scheme-owned c…
GTrunSec Oct 11, 2026
0523fc2
perf: stage recognition constructor shape and endpoint projection
GTrunSec Oct 11, 2026
1e5a099
test: retain full CPU quanta and qualify complete record requests first
GTrunSec Oct 11, 2026
0544706
docs: distinguish historical constructor sampling from full quanta
GTrunSec Oct 11, 2026
92f68d8
test: pin Linux CPU proofs and retain rejected ranked control
GTrunSec Oct 11, 2026
58a069d
perf(ffi): admit tagged event scalars in a checked inline leaf
GTrunSec Oct 11, 2026
d8f91c5
perf: avoid repeated child-list preflight during artifact publication
GTrunSec Oct 11, 2026
5ea694d
perf: close private recognition variants for checked direct access
GTrunSec Oct 11, 2026
038f5f8
docs: retain tiny-request GC imbalance and bounded control
GTrunSec Oct 11, 2026
34d23cc
perf: prepare scanner and LR kernels for complete record requests
GTrunSec Oct 11, 2026
a3c544c
test: admit ordinary LR suite to conformance owner
GTrunSec Oct 11, 2026
51480f5
deps: synchronize gerbil-scheme-rust PR 18 at 9cd2604
GTrunSec Oct 11, 2026
51bbe88
feat: integrate upstream bridge ownership with Rust Tokio parser clients
GTrunSec Oct 11, 2026
a05953c
build: compile foreign context with the explicit FFI bundle policy
GTrunSec Oct 11, 2026
461a4bf
deps: align Scheme IR and package dependency with current bridge PR
GTrunSec Oct 11, 2026
a636e85
ci: share prepared Scheme products across parallel qualification jobs
GTrunSec Oct 12, 2026
8805047
ci: keep manual CPU qualification independent from PR triggers
GTrunSec Oct 12, 2026
6294c79
perf: fuse artifact admission and prove complete ASCII Tokio requests
GTrunSec Oct 12, 2026
11df5d0
formal: model prepared LR reduction and AST sequence costs with LeanPoo
GTrunSec Oct 12, 2026
2176904
formal: connect Lean and Quint observations to native Ascent evidence…
GTrunSec Oct 12, 2026
77d13f7
build: manage Python evidence tools with locked uv environment
GTrunSec Oct 12, 2026
41cc417
docs: rewrite project README around language and runtime boundaries
GTrunSec Oct 12, 2026
2cd75d9
formal: qualify Scheme requests through the complete native Ascent ev…
GTrunSec Oct 12, 2026
9a5d6d9
test: align package ownership contract with the SDK-only Scheme boundary
GTrunSec Oct 12, 2026
e6cebe9
perf: specialize closed parser engine records
GTrunSec Oct 12, 2026
a7eb67a
perf: add opt-in ordinary-run Fold lowering and bounded qualification
GTrunSec Oct 12, 2026
b5e1895
perf: stage request-owned LR reductions and optimize native test lowe…
GTrunSec Oct 12, 2026
16f5399
perf: stage token and AST bounds with reproducible CPU admission
GTrunSec Oct 13, 2026
23b1b49
perf: reuse SDK module admission and qualify source invalidation
GTrunSec Oct 13, 2026
450c27e
perf: checkpoint Fold call fusion and owned tape qualification
GTrunSec Oct 13, 2026
f57d2aa
test: reject busy AOT closures before diagnostic links
GTrunSec Oct 13, 2026
b8da351
refactor(runtime): split native parser owners without semantic changes
GTrunSec Oct 13, 2026
a265f59
test(runtime): keep action Suite ownership unique and complete
GTrunSec Oct 13, 2026
2323e5e
test: qualify AOT lock control with native gxtest assertions
GTrunSec Oct 13, 2026
f90aadc
ci(scheme): admit baseline history and trace cold control imports
GTrunSec Oct 13, 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
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
languages/tla-plus/v1/grammar-source/tla+.jj -whitespace
languages/fhirpath/v2.0.0/grammar-source/fhirpath.g4 -text -whitespace
languages/tla-plus/grammar-source/tla+.jj -whitespace
languages/fhirpath/grammar-source/fhirpath.g4 -text -whitespace
80 changes: 80 additions & 0 deletions .github/actions/gerbil-setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Immutable Gerbil SDK
description: Admit a cached SDK by full digest and platform, using GCC
inputs:
release-os:
required: true
description: release-os
release-arch:
required: true
description: release-arch
release-tag:
required: true
description: release-tag
release-sha256:
required: true
description: release-sha256
runs:
using: composite
steps:
- name: Install Linux system dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
ca-certificates \
curl \
git \
jq \
libsqlite3-dev \
libssl-dev \
openjdk-17-jre-headless \
openssl \
pkg-config \
sqlite3 \
zlib1g-dev
shell: bash
- name: Install macOS system dependencies
if: runner.os == 'macOS'
env:
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
run: |
brew list --formula ghostscript >/dev/null 2>&1 && brew unlink ghostscript || true
brew install gcc jq openssl pkg-config sqlite zlib
gcc_prefix="$(brew --prefix gcc)"
gcc_bin="$(
find "$gcc_prefix/bin" -maxdepth 1 -type f -name 'gcc-[0-9]*' \
| awk -F- '{print $NF "\t" $0}' \
| sort -n \
| tail -n 1 \
| cut -f2-
)"
test -x "$gcc_bin"
echo "GERBIL_GCC=$gcc_bin" >> "$GITHUB_ENV"
openssl_prefix="$(brew --prefix openssl@3 2>/dev/null || brew --prefix openssl)"
macos_major="$(sw_vers -productVersion | cut -d. -f1)"
echo "PKG_CONFIG_PATH=$openssl_prefix/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" >> "$GITHUB_ENV"
echo "MACOSX_DEPLOYMENT_TARGET=$macos_major.0" >> "$GITHUB_ENV"
shell: bash
- name: Install native task tool
uses: taiki-e/install-action@f7e5d7c961414b23f5b25b2da9294395d08513ad
with:
tool: just
- name: Cache immutable SDK archive
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9
with:
path: ${{ runner.temp }}/gerbil-sdk.tar.gz
key: parser-sdk-v1-${{ runner.os }}-${{ runner.arch }}-${{ inputs.release-sha256 }}
- name: Extract immutable Gerbil host SDK
run: |
test -f "$RUNNER_TEMP/gerbil-sdk.tar.gz" || curl --fail --location --retry 3 --output "$RUNNER_TEMP/gerbil-sdk.tar.gz" \
"https://github.com/tao3k/gerbil-bazel/releases/download/${{ inputs.release-tag }}/${{ inputs.release-tag }}.tar.gz"
echo '${{ inputs.release-sha256 }} '"$RUNNER_TEMP/gerbil-sdk.tar.gz" | shasum -a 256 --check
mkdir -p "$GERBIL_RELEASE_ROOT"
tar -xzf "$RUNNER_TEMP/gerbil-sdk.tar.gz" -C "$GERBIL_RELEASE_ROOT" --strip-components=1
GERBIL_HOME="$GERBIL_RELEASE_ROOT/current" \
GAMBOPT="~~=$GERBIL_RELEASE_ROOT/current,~~bin=$GERBIL_RELEASE_ROOT/current/bin,~~lib=$GERBIL_RELEASE_ROOT/current/lib" \
"$GERBIL_RELEASE_ROOT/current/bin/gxi" tools/ci/bootstrap.ss \
"$GERBIL_RELEASE_ROOT" '${{ inputs.release-os }}' '${{ inputs.release-arch }}'
shell: bash
284 changes: 84 additions & 200 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,226 +1,110 @@
name: CI

on:
'on':
push:
branches:
- main
pull_request:

pull_request: null
workflow_dispatch: null
permissions:
contents: read

concurrency:
group: ci-${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
group: ci-${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true

jobs:
rust-rowan:
name: Rust/Rowan AOT runtime
rust-runtime:
name: Rust ${{ matrix.lane }}
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
lane:
- contracts
- lints
- aot-performance
steps:
- name: Checkout gerbil-parser
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Verify parser semantics and operation costs
if: matrix.lane == 'contracts'
uses: leanprover/lean-action@f061402b660e0c34644504b324e830f2991d4865 # v1
with:
lake-package-directory: formal
auto-config: false
build: true
test: false
lint: false
use-mathlib-cache: false
- name: Set up uv
if: matrix.lane == 'contracts'
uses: astral-sh/setup-uv@94527f2e458b27549849d47d273a16bec83a01e9 # v7
with:
version: '0.11.3'
- name: Verify publication model and evidence host controls
if: matrix.lane == 'contracts'
run: |
npm ci --ignore-scripts --prefix formal/quint
npm --prefix formal/quint test
uv run --project formal/evidence --locked python -m unittest discover -s formal/evidence -k HostControls -v
- name: Identify Rust toolchain
id: rust-version
run: echo "version=$(rustc -Vv | shasum -a 256 | cut -d' ' -f1)" >> "$GITHUB_OUTPUT"
- name: Restore Rust build cache
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9
with:
path: |-
~/.cargo/registry
~/.cargo/git
target
t/fixtures/runtime-record-assignments/target
t/fixtures/runtime-ascii-digit-run/target
key: parser-rust-v1-${{ runner.os }}-${{ runner.arch }}-${{ matrix.lane }}-${{ steps.rust-version.outputs.version }}-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
- name: Verify Rust formatting
run: cargo fmt --all -- --check

- name: Verify ASP Rust source policy
run: cargo test -p gerbil-parser-build-support --test asp-rust-gate --locked -- --nocapture

if: matrix.lane == 'contracts'
- name: Verify Rust contracts
run: cargo test --workspace --locked

- name: Verify downstream Cargo-only language consumer
run: cargo test --locked --manifest-path t/fixtures/rust-rowan-downstream/Cargo.toml

run: cargo test --workspace --all-features --locked
if: matrix.lane == 'contracts'
- name: Verify record assignments Cargo consumer
run: cargo test --locked --manifest-path t/fixtures/runtime-record-assignments/Cargo.toml
if: matrix.lane == 'contracts'
- name: Verify external ASCII digit adapter
run: |
cargo fmt --manifest-path t/fixtures/runtime-ascii-digit-run/Cargo.toml -- --check
cargo test --locked --manifest-path t/fixtures/runtime-ascii-digit-run/Cargo.toml
if: matrix.lane == 'contracts'
- name: Verify Rust lints
run: cargo clippy --workspace --all-targets --locked -- -D warnings

run: cargo clippy --workspace --all-targets --all-features --locked -- -D warnings
if: matrix.lane == 'lints'
- name: Verify publishable Rust products
run: cargo package -p gerbil-parser-rowan --locked --allow-dirty

- name: Verify generated-table Rowan engine red zones
run: cargo test --release -p gerbil-parser-rowan-scenarios --test performance_test -- --ignored --nocapture --test-threads=1

native-gerbil:
name: Native Gerbil parser and language packs (${{ matrix.os }})
runs-on: ${{ matrix.os }}
timeout-minutes: 240
run: cargo package -p gerbil-parser-artifact -p gerbil-parser-runtime --locked --allow-dirty
if: matrix.lane == 'lints'
- name: Verify generated-table AOT engine red zones
run: cargo test --release -p gerbil-parser-build-support --test performance_test -- --ignored --nocapture --test-threads=1
if: matrix.lane == 'aot-performance'
scheme:
name: Scheme ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
gerbil-label: release-v0.19-2591dcd
release-os: linux
release-arch: x86_64
release-tag: gerbil-v0.19-2591dcd9b7c6d2c4e9dd8611a17c5b1a5d82bbdb-linux-x86_64-portable-full-single-host-unlimited-patchf5cedd8168cb
release-sha256: 9844ba362fdf6f1c5e8a4411e462a466d52dee0d541f8e84f61091cec0e5e740
- os: macos-latest
gerbil-label: release-v0.19-2591dcd
env:
GERBIL_RELEASE_ROOT: ${{ github.workspace }}/.ci/gerbil-release/${{ matrix.gerbil-label }}
steps:
- name: Checkout gerbil-parser
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- name: Install Linux system dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
ca-certificates \
git \
jq \
libsqlite3-dev \
libssl-dev \
openssl \
pkg-config \
sqlite3 \
zlib1g-dev

- name: Install macOS system dependencies
if: runner.os == 'macOS'
env:
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
run: |
brew list --formula ghostscript >/dev/null 2>&1 && brew unlink ghostscript || true
brew install gcc jq openssl pkg-config sqlite zlib
gcc_prefix="$(brew --prefix gcc)"
gcc_bin="$(
find "$gcc_prefix/bin" -maxdepth 1 -type f -name 'gcc-[0-9]*' \
| awk -F- '{print $NF "\t" $0}' \
| sort -n \
| tail -n 1 \
| cut -f2-
)"
test -x "$gcc_bin"
echo "GERBIL_GCC=$gcc_bin" >> "$GITHUB_ENV"
openssl_prefix="$(brew --prefix openssl@3 2>/dev/null || brew --prefix openssl)"
macos_major="$(sw_vers -productVersion | cut -d. -f1)"
echo "PKG_CONFIG_PATH=$openssl_prefix/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" >> "$GITHUB_ENV"
echo "MACOSX_DEPLOYMENT_TARGET=$macos_major.0" >> "$GITHUB_ENV"

- name: Detect native build capacity
run: |
cores="$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu)"
test "$cores" -gt 0
echo "GERBIL_BUILD_CORES=$cores" >> "$GITHUB_ENV"
echo "Native Gerbil capacity: $cores cores"

- name: Install immutable Gerbil v0.19 release
shell: bash
run: bash tools/ci/install-gerbil-v19-release.sh "$GERBIL_RELEASE_ROOT"

- name: Restore Gerbil package cache
id: package-cache
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
.gerbil/pkg
.gerbil/lib
.gerbil/bin
key: gerbil-parser-packages-v2-${{ runner.os }}-${{ runner.arch }}-${{ matrix.gerbil-label }}-${{ hashFiles('gerbil.pkg') }}

- name: Install declared package dependencies
run: |
mkdir -p "$HOME/.gerbil/pkg"
gerbil pkg dir --add git.cons.io/mighty-gerbils/gerbil-directory
if [ "${{ steps.package-cache.outputs.cache-hit }}" = "true" ]; then
if ! gerbil env gerbil interactive -e '(begin (import :core/object-family/interface :asp-gerbil-scheme/building-api :asp-gerbil-scheme/src/benchmark/framework) (displayln "dependency-cache-ready"))'; then
gerbil deps --update
fi
else
gerbil deps --install
fi
gerbil env gerbil interactive -e '(begin (import :core/object-family/interface :asp-gerbil-scheme/building-api :asp-gerbil-scheme/src/benchmark/framework) (displayln "dependencies-ready"))'

- name: Save Gerbil package cache
if: steps.package-cache.outputs.cache-hit != 'true'
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
.gerbil/pkg
.gerbil/lib
.gerbil/bin
key: gerbil-parser-packages-v2-${{ runner.os }}-${{ runner.arch }}-${{ matrix.gerbil-label }}-${{ hashFiles('gerbil.pkg') }}

- name: Build parser and versioned language packs
run: |
gerbil clean
GERBIL_BUILD_VERBOSE=1 gerbil build
cc -std=c11 -Wall -Wextra -Werror \
-Wno-unused-command-line-argument -fsyntax-only \
-Iinclude t/native-ffi-header-smoke.c

- name: Build optional native commands
run: |
gerbil env gxi build-gparse.ss compile
gerbil env gxi build-rust-rowan-aot.ss compile

- name: Compile Scheme test support
run: |
gerbil env gxc t/line-structure-assertions.ss
gerbil env gxc \
t/fixtures/rust-rowan-downstream/languages/records/v1/grammar.ss \
t/fixtures/rust-rowan-downstream/languages/records/v1/parser.ss \
t/fixtures/rust-rowan-downstream/languages/records/v1/fixtures.ss

- name: Run native Gerbil tests
timeout-minutes: 15
run: gerbil test -v 3 t/... languages/...

- name: Verify Rust/Rowan AOT generation is current
run: |
arithmetic_generated="$(mktemp)"
gerbil env gxi generate-rust-rowan.ss "$arithmetic_generated"
rustfmt --edition 2024 "$arithmetic_generated"
cmp "$arithmetic_generated" rust/gerbil-parser-rowan-arithmetic/src/generated/mod.rs

- name: Verify Scheme event strategy AOT fixture
run: |
event_generated="$(mktemp)"
grammar_generated="$(mktemp)"
fold_ir_generated="$(mktemp)"
outline_ir_generated="$(mktemp)"
gerbil env gxi t/generate-event-strategy-fixture.ss "$event_generated"
gerbil env gxi t/generate-event-strategy-grammar.ss "$grammar_generated"
gerbil env gxi t/generate-event-fold-ir.ss "$fold_ir_generated"
gerbil env gxi t/generate-outline-fold-ir.ss "$outline_ir_generated"
rustfmt --edition 2024 "$event_generated" "$grammar_generated"
cmp "$event_generated" rust/gerbil-parser-rowan/tests/unit/event_strategy_generated.rs
cmp "$grammar_generated" rust/gerbil-parser-rowan/tests/unit/event_strategy_grammar.rs
cmp "$fold_ir_generated" t/fixtures/event_fold.ir.json
cmp "$outline_ir_generated" t/fixtures/outline_fold.ir.json

- name: Verify Scheme pure owned-string AOT fixture
run: |
owned_generated="$(mktemp)"
gerbil env gxi t/generate-owned-word-fixture.ss "$owned_generated"
cmp "$owned_generated" rust/gerbil-parser-rowan/tests/unit/owned_first_word_generated.rs

- name: Verify downstream custom Rust/Rowan language pack
run: |
fixture="t/fixtures/rust-rowan-downstream"
generated="$(mktemp)"
clean_home="$RUNNER_TEMP/rowan-aot-home"
mkdir -p "$clean_home"
gerbil env gxc \
"$fixture/languages/records/v1/grammar.ss" \
"$fixture/languages/records/v1/parser.ss" \
"$fixture/languages/records/v1/fixtures.ss" \
"$fixture/languages/records/v1/parser-test.ss"
env -i \
HOME="$clean_home" \
PATH=/usr/bin:/bin \
GERBIL_PATH="$PWD/.gerbil" \
GERBIL_PARSER_ROWAN_AOT_LIB="$PWD/.gerbil/lib:$GERBIL_HOME/lib" \
"$PWD/.gerbil/bin/gerbil-parser-rowan-aot" \
"$fixture/languages/records/v1/grammar.ss" \
"$generated"
rustfmt --edition 2024 "$generated"
cmp "$generated" "$fixture/src/generated/records_v1.rs"

- name: Verify native command
run: |
gerbil env gparse help
gerbil env gparse check "1 + 2 * value"
release-os: darwin
release-arch: aarch64
release-tag: gerbil-v0.19-2591dcd9b7c6d2c4e9dd8611a17c5b1a5d82bbdb-darwin-aarch64-gcc16-arm64-aot-tools-single-host-unlimited-patchf5cedd8168cb
release-sha256: 8d9c88434aed6301eaebb719bf52472f05c2368eafc630e8a9f1d67cc9895a21
uses: ./.github/workflows/scheme.yml
with:
os: ${{ matrix.os }}
gerbil-label: ${{ matrix.gerbil-label }}
release-os: ${{ matrix.release-os }}
release-arch: ${{ matrix.release-arch }}
release-tag: ${{ matrix.release-tag }}
release-sha256: ${{ matrix.release-sha256 }}
Loading
Loading