Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
7157f56
Add checked Resource reference ownership lifecycle
vycdev Oct 4, 2026
9242106
Add private native Resource custody protocol core
vycdev Oct 4, 2026
f4d0484
Execute checked Resource scopes and custody transport
vycdev Oct 4, 2026
82bb262
Preserve checked Resource hook identity through HIR and MIR
vycdev Oct 4, 2026
5124207
Validate and issue native Resource layout metadata
vycdev Oct 4, 2026
4cf0486
Authenticate Resource ownership plans against original checked source
vycdev Oct 4, 2026
4aafe1d
Connect native Resource context to checked custody operations
vycdev Oct 4, 2026
1a51a0b
Reduce recursive lowering stack frames on Windows
vycdev Oct 5, 2026
c94437e
Derive original Resource caller closure and emit checked native layout
vycdev Oct 5, 2026
ed38393
Connect native Resource Source calls and exact custody leaves
vycdev Oct 5, 2026
ab40235
Plan ordinary companions from fresh Resource custody proofs
vycdev Oct 5, 2026
cc06aa1
Emit and execute direct Resource lifecycles natively
vycdev Oct 5, 2026
2b9442b
Validate Resource replacements before running finalizers
vycdev Oct 5, 2026
cda86ac
Compile Resource assignment through native codegen
vycdev Oct 5, 2026
b20bb38
Retain native output capture handles
vycdev Oct 5, 2026
a30ca97
Preserve native Resource calls across handled arguments
vycdev Oct 5, 2026
a5e33b1
Preserve handled Resource Return cleanup across callable boundaries
vycdev Oct 6, 2026
200140c
Support exact named Resource callbacks through function values
vycdev Oct 6, 2026
66fd021
Authenticate namespace-qualified Resource callbacks in reference exec…
vycdev Oct 6, 2026
26271ab
Support exact returned Resource hook descriptors in native codegen
vycdev Oct 6, 2026
17d6c84
Materialize checked required Resource values for native codegen
vycdev Oct 6, 2026
77359de
Fix exact required hook fixture proof assertions
vycdev Oct 7, 2026
d1ffd08
Lower borrowed Resource optional and result payload views
vycdev Oct 7, 2026
35bef5e
Add measured GNU Resource acceptance gate
vycdev Oct 7, 2026
c373ab8
Lower nested Resource payload view lifetimes
vycdev Oct 7, 2026
c453297
Clarify current native parity scope and acceptance
vycdev Oct 7, 2026
69719a6
Fix strict typing in Resource archive measurements
vycdev Oct 7, 2026
2c9f9aa
Implement native borrowed optional and result payloads
vycdev Oct 7, 2026
5d01097
Reconcile accepted JSON parser status in the native audit
vycdev Oct 7, 2026
50ad73a
Cover native Resource pipelines and provider panics
vycdev Oct 8, 2026
f4fa59d
Preserve Resource custody through list loops and enum matches
vycdev Oct 8, 2026
3ff27f1
Execute checked reflected field bodies by original loop and ordinal
vycdev Oct 8, 2026
f9fa84a
Combine verified Resource control flow and reflected reference execution
vycdev Oct 8, 2026
c14189d
Add native ordinary reflected metadata controls
vycdev Oct 8, 2026
fe69eb1
Preserve checked Resource reflected-field ordinals in native lowering
vycdev Oct 8, 2026
7c5262d
Merge commit 'c14189d9d95b09a7613651ccf3c2dade2c308994' into codex/na…
vycdev Oct 8, 2026
6d8d724
Retain checked absent Resource bindings in For and Match
vycdev Oct 8, 2026
91e3706
Integrate checked aggregate bindings with native reflection
vycdev Oct 8, 2026
2be038c
Align native constant audit with baked value policy
vycdev Oct 8, 2026
b5c55ac
Verify native reflected failure and cleanup single entries
vycdev Oct 8, 2026
f4c63a0
Verify reflected Resource reentry after exceptional cleanup
vycdev Oct 8, 2026
9110587
Verify native reflected control exits and same-grant reentry
vycdev Oct 8, 2026
cb58887
Verify reflected Return and owned Resource publication
vycdev Oct 8, 2026
202cf02
Add checked native Resource aggregate carriers and entry scopes
vycdev Oct 8, 2026
f4ec056
Allow native entry reentry after retired ordinary errors
vycdev Oct 8, 2026
1dde961
Implement native actor identity equality
vycdev Oct 12, 2026
c141de2
Preserve occupied Resource struct ownership through construction
vycdev Oct 12, 2026
70a53c6
Measure and pin native Resource archives on Windows MSVC
vycdev Oct 12, 2026
bb4dba5
Reconcile actor equality status in native parity tracking
vycdev Oct 12, 2026
7ff46cc
Validate exact concrete arguments before erased interface dispatch
vycdev Oct 12, 2026
00c0de5
Reuse identical native Resource programs across script cases
vycdev Oct 12, 2026
24f1b0b
Validate lazy reflected callback returns across native execution
vycdev Oct 12, 2026
3df3677
Own native Resource startup attempts through completion
vycdev Oct 12, 2026
7e1c630
Fix adapter forgery test after owned proof transition
vycdev Oct 13, 2026
0eb3ce5
Reuse explicit runtime bundles in native integration tests
vycdev Oct 13, 2026
9113f39
Materialize comptime actor graphs with native ownership proofs
vycdev Oct 14, 2026
7bd0717
Support every copyable primitive in occupied Resource constructors
vycdev Oct 14, 2026
8816453
Preserve checked HIR custody when constructing native Verify suites
vycdev Oct 14, 2026
5d96d49
Authenticate required values in inline bodies and refinement predicates
vycdev Oct 15, 2026
10e9c7e
Reject equality after interface erasure
vycdev Oct 15, 2026
9921908
Preserve checked callbacks through native Verify and Property suites
vycdev Oct 15, 2026
b612399
Restrict list.sum to its defined numeric domain
vycdev Oct 15, 2026
e4af458
Preserve typed secret redaction in reference observations
vycdev Oct 15, 2026
132f9d9
Implement checked owned field updates through native codegen
vycdev Oct 15, 2026
999004a
Redact secrets in pending sum receiver failures
vycdev Oct 15, 2026
525bf30
test: align pending secret owner oracle with typed redaction
vycdev Oct 15, 2026
a26523c
feat: retain checked ownership for actor field updates
vycdev Oct 15, 2026
099571f
feat: support views backed by mutable owned values
vycdev Oct 15, 2026
d499bd7
fix: retain scoped ownership facts for reflected views
vycdev Oct 15, 2026
f865e3f
docs: select lexical lifetime for temporary local views
vycdev Oct 15, 2026
027661c
feat: borrow sum payloads from mutable owned bindings
vycdev Oct 16, 2026
2f59802
fix: bound retained HIR storage for Windows CLI lowering
vycdev Oct 16, 2026
c83faed
test: refresh frontend controls after owned-view support
vycdev Oct 16, 2026
7db0ea4
fix: retain rejected value in checked actor send errors
vycdev Oct 16, 2026
76d3007
fix: join checked canonical owners for field reflection
vycdev Oct 16, 2026
291ccbb
Retain whole temporary owners for ordinary local byte views
vycdev Oct 16, 2026
7b6846b
Transport checked temporary list views through generic observers
vycdev Oct 16, 2026
a8498b9
Replay canonical conversions without reminting callable proofs
vycdev Oct 16, 2026
5d7bb8a
Preserve canonical native suites across Resource execution scopes
vycdev Oct 16, 2026
2e0ebb0
Preserve checked actor required-value owners and closure closedness
vycdev Oct 16, 2026
44ebf13
Bake closed actor required values through native execution
vycdev Oct 16, 2026
8827c57
Preserve actor handler identity through initial callable sealing
vycdev Oct 16, 2026
e9162a5
Measure native Resource acquisition and Property call history
vycdev Oct 16, 2026
268ec7a
Finalize retained temporary owners through initial actor sealing
vycdev Oct 16, 2026
2124573
Replace owned Resource sums through checked retirement
vycdev Oct 16, 2026
4f83c2b
Execute unchanged pure Resource replacement suites natively
vycdev Oct 16, 2026
6cc0830
Record ordinary supervision refusal and accepted cleanup
vycdev Oct 16, 2026
7f7ca39
Admit exact same-local Resource sum reseating in MIR
vycdev Oct 16, 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
  •  
  •  
  •  
67 changes: 65 additions & 2 deletions .github/workflows/native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,73 @@ jobs:
- name: Install tested Rust toolchain
run: rustup toolchain install 1.97.1 --profile minimal
- run: rustup override set 1.97.1
- name: Check compiler and native conformance
run: cargo test --locked --workspace --no-fail-fast --target ${{ matrix.target }}
- name: Package release compiler and both runtime profiles
run: python tools/package_native.py --output dist/package
- name: Check compiler and native conformance
env:
JETT_ACTOR_GRAPH_BUNDLE_MANIFEST: ${{ github.workspace }}/dist/package/lib/jett/runtime/${{ matrix.target }}/debug/launcher.json
JETT_ACTOR_GRAPH_EVIDENCE_DIR: ${{ github.workspace }}/target/native-actor-graph
run: cargo test --locked --workspace --no-fail-fast --target ${{ matrix.target }}
- name: Check public graph execution with the Release runtime
env:
JETT_ACTOR_GRAPH_BUNDLE_MANIFEST: ${{ github.workspace }}/dist/package/lib/jett/runtime/${{ matrix.target }}/release/launcher.json
JETT_ACTOR_GRAPH_EVIDENCE_DIR: ${{ github.workspace }}/target/native-actor-graph
run: >-
cargo test --locked --release -p jett_driver --test actor_graph_native
--target ${{ matrix.target }}
actor_graph_public_driver_reference_and_native_without_source
-- --exact
- name: Check protected graph hooks with the Release runtime
env:
JETT_ACTOR_GRAPH_BUNDLE_MANIFEST: ${{ github.workspace }}/dist/package/lib/jett/runtime/${{ matrix.target }}/release/launcher.json
JETT_ACTOR_GRAPH_EVIDENCE_DIR: ${{ github.workspace }}/target/native-actor-graph
run: >-
cargo test --locked --release -p jett_driver --lib
--target ${{ matrix.target }}
native::actor_graph_hooks_tests::actor_graph_checked_hook_original_initializer_and_capture_native
-- --exact
- name: Retain compact graph execution evidence
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: native-actor-graph-${{ matrix.target }}-${{ github.sha }}
path: |
target/native-actor-graph/*.json
target/native-actor-graph/**/*.stdout
target/native-actor-graph/**/*.stderr
if-no-files-found: warn
retention-days: 7
- name: Check GNU Resource measurement controls
if: matrix.target == 'x86_64-unknown-linux-gnu'
run: python -m unittest tools.tests.test_measure_resource_native_archives
- name: Measure fresh GNU private Resource runtime archives
id: resource_archives
if: matrix.target == 'x86_64-unknown-linux-gnu'
run: >-
python tools/measure_resource_native_archives.py prepare
--output target/native-resource-gnu
--github-output "$GITHUB_OUTPUT"
- name: Execute complete GNU Resource corpus with compiled receipt pin
if: matrix.target == 'x86_64-unknown-linux-gnu'
run: >-
python tools/measure_resource_native_archives.py run
--receipt "${{ steps.resource_archives.outputs.receipt }}"
--expected-sha256 "${{ steps.resource_archives.outputs.sha256 }}"
--target-dir target/native-resource-gnu-gate
- name: Retain GNU Resource measurements and execution evidence
if: always() && matrix.target == 'x86_64-unknown-linux-gnu'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: native-resource-${{ matrix.target }}-${{ github.sha }}
path: |
target/native-resource-gnu/*.json
target/native-resource-gnu/*.jsonl
target/native-resource-gnu/*.log
target/native-resource-gnu/*-crt-probe
target/native-resource-gnu/*-crt-probe.c
target/native-resource-gnu/*-build/x86_64-unknown-linux-gnu/*/libjett_runtime.a
if-no-files-found: warn
retention-days: 7
- name: Check installed compiler
run: python tools/smoke_native_package.py dist/package
- name: Archive package with executable permissions
Expand Down
5 changes: 5 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,25 @@ cargo test -p jett_comptime

Compile-fail fixtures live in `tests/compile_fail` and assert specific diagnostics. Run-pass fixtures live in `tests/run_pass` and exercise interpreter behavior.

### Private Resource native gates

The archive measurement helper builds fresh compiler-test runtimes and runs
pinned Source execution gates. On Linux GNU, its default target measures the
dynamic CRT. On Windows MSVC, use an x64 Visual Studio Developer PowerShell
with `link.exe` on PATH and LLVM's `llvm-nm` and `llvm-readobj` installed:

```powershell
python tools/measure_resource_native_archives.py prepare --target x86_64-pc-windows-msvc --nm llvm-nm --readobj llvm-readobj --linker link.exe --output target/native/private-resource
python tools/measure_resource_native_archives.py run --target x86_64-pc-windows-msvc --suite occupied-structs --reuse-target-dir --receipt RECEIPT_PATH --expected-sha256 MEASURED_DIGEST --target-dir target/native
```

Preparation returns the receipt path and measured digest. The MSVC path checks
static CRT, exact runtime exports, compiler and linker identity, and the SDK LIB
environment. The two occupied-struct gates use both fresh archive profiles;
ordinary Runtime test counts do not establish their linked Source execution.
Reusing the MSVC test target requires a newly compiled gate with that receipt
pin. The default `original` suite retains the complete shared Source gate.

The language intentionally enforces function complexity limits. The current checker caps functions at 100 statements, nesting depth 4, and cyclomatic complexity 10.

## License
Expand Down
1 change: 1 addition & 0 deletions crates/jett_codegen_cranelift/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ cranelift-frontend.workspace = true
cranelift-module.workspace = true
cranelift-object.workspace = true
jett_common.workspace = true
jett_comptime.workspace = true
jett_hir.workspace = true
jett_mir.workspace = true
jett_types.workspace = true
Expand Down
Loading