@greenpandastudios/aug-cli 0.19.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -6
- package/THIRD_PARTY_NOTICES.md +4 -0
- package/bin/aug.mjs +12 -2
- package/docs/about.md +27 -0
- package/docs/api/crypto.md +103 -69
- package/docs/api/io.md +35 -33
- package/docs/api/json.md +3 -3
- package/docs/api/memory.md +23 -19
- package/docs/api/time.md +10 -9
- package/docs/api/web.md +33 -38
- package/docs/assets/benchmarks/execution.svg +774 -637
- package/docs/assets/benchmarks/http.svg +278 -249
- package/docs/assets/benchmarks/improvements.svg +66 -66
- package/docs/assets/benchmarks/kernels-mobile.svg +1 -0
- package/docs/assets/benchmarks/kernels.svg +1 -0
- package/docs/assets/benchmarks/memory.svg +153 -153
- package/docs/benchmark-results.json +227089 -90363
- package/docs/compatibility.md +8 -8
- package/docs/contributing-benchmarks.md +68 -0
- package/docs/dev-containers.md +88 -0
- package/docs/dgx-consumers.json +122 -0
- package/docs/dgx-gyms.json +784 -0
- package/docs/dgx-kernels.json +1170 -0
- package/docs/dgx-performance.json +227849 -0
- package/docs/dgx-spark.md +64 -0
- package/docs/diagnostics.md +15 -5
- package/docs/docker.md +173 -12
- package/docs/editor.md +35 -0
- package/docs/example-projects.json +238 -24
- package/docs/examples/approved-design/counters.md +34 -126
- package/docs/examples/approved-design/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/approved-design/domain/app.md +13 -77
- package/docs/examples/approved-design/domain/export.md +5 -19
- package/docs/examples/approved-design/domain/models.md +4 -23
- package/docs/examples/approved-design/domain/numbers.md +24 -114
- package/docs/examples/approved-design/index.md +16 -7
- package/docs/examples/approved-design/main.md +19 -96
- package/docs/examples/benchmark/index.md +6 -5
- package/docs/examples/benchmark/main.md +7 -35
- package/docs/examples/calls-benchmark/index.md +36 -0
- package/docs/examples/calls-benchmark/main.md +78 -0
- package/docs/examples/calls-benchmark/operations.md +60 -0
- package/docs/examples/cli-args/index.md +6 -5
- package/docs/examples/cli-args/main.md +6 -31
- package/docs/examples/collections/index.md +6 -5
- package/docs/examples/collections/main.md +7 -35
- package/docs/examples/collections-benchmark/index.md +6 -5
- package/docs/examples/collections-benchmark/main.md +7 -35
- package/docs/examples/cpu-benchmark/index.md +6 -5
- package/docs/examples/cpu-benchmark/main.md +5 -24
- package/docs/examples/developer-workflow/calculator.md +39 -186
- package/docs/examples/developer-workflow/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/developer-workflow/index.md +16 -7
- package/docs/examples/developer-workflow/logging/console.md +10 -56
- package/docs/examples/developer-workflow/logging/export.md +4 -14
- package/docs/examples/developer-workflow/logging/logger.md +7 -43
- package/docs/examples/developer-workflow/main.md +17 -69
- package/docs/examples/drop/index.md +6 -5
- package/docs/examples/drop/main.md +7 -27
- package/docs/examples/drop/resource.md +7 -30
- package/docs/examples/errors/errors.md +7 -27
- package/docs/examples/errors/index.md +6 -5
- package/docs/examples/errors/main.md +7 -28
- package/docs/examples/errors-benchmark/index.md +36 -0
- package/docs/examples/errors-benchmark/main.md +92 -0
- package/docs/examples/errors-benchmark/operations.md +65 -0
- package/docs/examples/ffi/index.md +6 -5
- package/docs/examples/ffi/main.md +6 -20
- package/docs/examples/ffi/native.md +8 -34
- package/docs/examples/float-benchmark/index.md +35 -0
- package/docs/examples/float-benchmark/main.md +75 -0
- package/docs/examples/generic-di/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/generic-di/index.md +6 -5
- package/docs/examples/generic-di/main.md +9 -39
- package/docs/examples/generic-di/types.md +23 -92
- package/docs/examples/generics/index.md +6 -5
- package/docs/examples/generics/main.md +10 -47
- package/docs/examples/generics/types.md +25 -100
- package/docs/examples/hello/app/export.md +4 -12
- package/docs/examples/hello/app/greeter.md +13 -91
- package/docs/examples/hello/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/hello/index.md +17 -6
- package/docs/examples/hello/logging/console.md +10 -54
- package/docs/examples/hello/logging/export.md +4 -14
- package/docs/examples/hello/logging/logger.md +7 -45
- package/docs/examples/hello/main.md +9 -39
- package/docs/examples/http-benchmark/index.md +6 -5
- package/docs/examples/http-benchmark/main.md +6 -20
- package/docs/examples/http-benchmark/routes.md +9 -31
- package/docs/examples/index.md +63 -29
- package/docs/examples/interceptors/app.md +20 -139
- package/docs/examples/interceptors/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/interceptors/index.md +6 -5
- package/docs/examples/interceptors/interceptors.md +24 -148
- package/docs/examples/interceptors/logging.md +13 -76
- package/docs/examples/interceptors/main.md +10 -65
- package/docs/examples/json-benchmark/data.md +4 -20
- package/docs/examples/json-benchmark/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
- package/docs/examples/json-benchmark/index.md +7 -5
- package/docs/examples/json-benchmark/main-yaml.md +20 -0
- package/docs/examples/json-benchmark/main.md +10 -49
- package/docs/examples/list-benchmark/index.md +35 -0
- package/docs/examples/list-benchmark/main.md +78 -0
- package/docs/examples/map-churn-benchmark/index.md +35 -0
- package/docs/examples/map-churn-benchmark/main.md +106 -0
- package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/api.md +104 -0
- package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.md +54 -0
- package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/native.abi-json.md +48 -0
- package/docs/examples/native-blake3/hashing.md +93 -0
- package/docs/examples/native-blake3/index.md +38 -0
- package/docs/examples/native-blake3/main.md +73 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/api.md +406 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.md +51 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.md +63 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/native.abi-json.md +161 -0
- package/docs/examples/native-pytorch/index.md +38 -0
- package/docs/examples/native-pytorch/main.md +73 -0
- package/docs/examples/native-pytorch/tensors.md +123 -0
- package/docs/examples/native-sqlite/database.md +116 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/api.md +284 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.md +51 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.md +75 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/native.abi-json.md +119 -0
- package/docs/examples/native-sqlite/index.md +38 -0
- package/docs/examples/native-sqlite/main.md +73 -0
- package/docs/examples/native-zlib/compression.md +99 -0
- package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/api.md +153 -0
- package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.md +54 -0
- package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/native.abi-json.md +76 -0
- package/docs/examples/native-zlib/index.md +38 -0
- package/docs/examples/native-zlib/main.md +78 -0
- package/docs/examples/new-syntax/console.md +10 -52
- package/docs/examples/new-syntax/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/new-syntax/greeter.md +13 -71
- package/docs/examples/new-syntax/index.md +6 -5
- package/docs/examples/new-syntax/logger.md +7 -43
- package/docs/examples/new-syntax/main.md +10 -53
- package/docs/examples/new-syntax/math.md +6 -24
- package/docs/examples/oidc-login/client/contracts.md +10 -61
- package/docs/examples/oidc-login/client/endpoints.md +32 -154
- package/docs/examples/oidc-login/client/export.md +5 -23
- package/docs/examples/oidc-login/client/login.md +234 -344
- package/docs/examples/oidc-login/client/logout.md +38 -143
- package/docs/examples/oidc-login/client/protocol.md +183 -304
- package/docs/examples/oidc-login/client/session.md +41 -149
- package/docs/examples/oidc-login/client/views.md +13 -58
- package/docs/examples/oidc-login/common/export.md +6 -26
- package/docs/examples/oidc-login/common/headers.md +42 -72
- package/docs/examples/oidc-login/common/keys.md +40 -164
- package/docs/examples/oidc-login/common/settings.md +24 -40
- package/docs/examples/oidc-login/common/views.md +7 -28
- package/docs/examples/oidc-login/dependencies/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.md +205 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +267 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.md +415 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.md +271 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +89 -0
- package/docs/examples/oidc-login/index.md +8 -7
- package/docs/examples/oidc-login/main-yaml.md +7 -0
- package/docs/examples/oidc-login/main.md +26 -153
- package/docs/examples/oidc-login/provider/authorization.md +232 -275
- package/docs/examples/oidc-login/provider/contracts.md +24 -146
- package/docs/examples/oidc-login/provider/credentials.md +24 -57
- package/docs/examples/oidc-login/provider/discovery.md +48 -122
- package/docs/examples/oidc-login/provider/export.md +11 -37
- package/docs/examples/oidc-login/provider/token.md +159 -237
- package/docs/examples/oidc-login/provider/userinfo.md +47 -102
- package/docs/examples/oidc-login/provider/views.md +13 -53
- package/docs/examples/ownership/counter.md +17 -63
- package/docs/examples/ownership/index.md +6 -5
- package/docs/examples/ownership/main.md +7 -30
- package/docs/examples/ownership-transfer/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/ownership-transfer/index.md +6 -5
- package/docs/examples/ownership-transfer/main.md +10 -52
- package/docs/examples/ownership-transfer/resource.md +15 -67
- package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +12 -50
- package/docs/examples/packages-app/index.md +7 -6
- package/docs/examples/packages-app/main.md +7 -25
- package/docs/examples/packages-math/aug-package-json.md +1 -1
- package/docs/examples/packages-math/index.md +7 -6
- package/docs/examples/packages-math/src/arithmetic.md +12 -50
- package/docs/examples/packages-math/src/export.md +4 -12
- package/docs/examples/records-benchmark/data.md +55 -0
- package/docs/examples/records-benchmark/index.md +36 -0
- package/docs/examples/records-benchmark/main.md +85 -0
- package/docs/examples/startup-benchmark/index.md +6 -5
- package/docs/examples/startup-benchmark/main.md +5 -17
- package/docs/examples/strings-benchmark/index.md +35 -0
- package/docs/examples/strings-benchmark/main.md +76 -0
- package/docs/examples/tasks-benchmark/index.md +36 -0
- package/docs/examples/tasks-benchmark/main.md +89 -0
- package/docs/examples/tasks-benchmark/operations.md +58 -0
- package/docs/examples/visibility/counter.md +19 -67
- package/docs/examples/visibility/index.md +6 -5
- package/docs/examples/visibility/main.md +7 -31
- package/docs/examples/weather-api/forecasts.md +168 -0
- package/docs/examples/weather-api/index.md +42 -0
- package/docs/examples/weather-api/main-yaml.md +21 -0
- package/docs/examples/weather-api/main.md +65 -0
- package/docs/examples.json +10 -0
- package/docs/getting-started.md +105 -2
- package/docs/grammar.md +7 -5
- package/docs/guides/change-a-module.md +64 -0
- package/docs/guides/index.md +27 -0
- package/docs/gym-results.json +784 -0
- package/docs/implementation-map.md +6 -0
- package/docs/index.md +51 -29
- package/docs/kernel-results.json +1170 -0
- package/docs/language-conformance.md +7 -1
- package/docs/language-constructs.md +30 -22
- package/docs/language-design-audit.md +1 -1
- package/docs/learn/data-and-errors.md +77 -0
- package/docs/learn/index.md +30 -0
- package/docs/learn/modules-and-dependencies.md +73 -0
- package/docs/learn/state-and-tests.md +71 -0
- package/docs/learn/values-and-functions.md +62 -0
- package/docs/lesson-failures.json +8 -0
- package/docs/maintaining-docs.md +16 -4
- package/docs/native-implementation.md +276 -0
- package/docs/native-interop-llvm-plan.md +342 -0
- package/docs/native-package-examples.md +684 -0
- package/docs/native-packages.md +179 -0
- package/docs/packages.md +72 -126
- package/docs/performance.md +61 -68
- package/docs/production-readiness.md +16 -5
- package/docs/public/downloads/approved-design.zip +0 -0
- package/docs/public/downloads/benchmark.zip +0 -0
- package/docs/public/downloads/calls-benchmark.zip +0 -0
- package/docs/public/downloads/cli-args.zip +0 -0
- package/docs/public/downloads/collections-benchmark.zip +0 -0
- package/docs/public/downloads/collections.zip +0 -0
- package/docs/public/downloads/cpu-benchmark.zip +0 -0
- package/docs/public/downloads/developer-workflow.zip +0 -0
- package/docs/public/downloads/drop.zip +0 -0
- package/docs/public/downloads/errors-benchmark.zip +0 -0
- package/docs/public/downloads/errors.zip +0 -0
- package/docs/public/downloads/ffi.zip +0 -0
- package/docs/public/downloads/float-benchmark.zip +0 -0
- package/docs/public/downloads/generic-di.zip +0 -0
- package/docs/public/downloads/generics.zip +0 -0
- package/docs/public/downloads/hello.zip +0 -0
- package/docs/public/downloads/http-benchmark.zip +0 -0
- package/docs/public/downloads/interceptors.zip +0 -0
- package/docs/public/downloads/json-benchmark.zip +0 -0
- package/docs/public/downloads/list-benchmark.zip +0 -0
- package/docs/public/downloads/map-churn-benchmark.zip +0 -0
- package/docs/public/downloads/native-blake3.zip +0 -0
- package/docs/public/downloads/native-pytorch.zip +0 -0
- package/docs/public/downloads/native-sqlite.zip +0 -0
- package/docs/public/downloads/native-zlib.zip +0 -0
- package/docs/public/downloads/new-syntax.zip +0 -0
- package/docs/public/downloads/oidc-login.zip +0 -0
- package/docs/public/downloads/ownership-transfer.zip +0 -0
- package/docs/public/downloads/ownership.zip +0 -0
- package/docs/public/downloads/packages-app.zip +0 -0
- package/docs/public/downloads/packages-math.zip +0 -0
- package/docs/public/downloads/records-benchmark.zip +0 -0
- package/docs/public/downloads/startup-benchmark.zip +0 -0
- package/docs/public/downloads/strings-benchmark.zip +0 -0
- package/docs/public/downloads/tasks-benchmark.zip +0 -0
- package/docs/public/downloads/visibility.zip +0 -0
- package/docs/public/downloads/weather-api.zip +0 -0
- package/docs/qualification-results.md +66 -0
- package/docs/reference.md +47 -17
- package/docs/releasing.md +105 -16
- package/docs/research/code-to-natural-language.md +108 -0
- package/docs/research/ecosystem-workflow.md +41 -0
- package/docs/research/libtorch-native-qualification.md +115 -0
- package/docs/research/native-interop-llvm.md +197 -0
- package/docs/research/qualification-methods.md +15 -0
- package/docs/research/wiki-editorial-design.md +71 -0
- package/docs/roadmap.md +2 -1
- package/docs/safety-gyms.md +41 -0
- package/docs/specifications.md +27 -11
- package/docs/testing.md +19 -5
- package/docs/tooling.md +36 -22
- package/docs/weather-api.md +65 -0
- package/docs/web-library-gaps.md +1 -1
- package/docs/web.md +54 -18
- package/docs/writing-docs.md +49 -0
- package/examples/{hello/.aug-spec/august/0.19.0 → approved-design/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/approved-design/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/approved-design/.aug-spec/manifest.json +3 -3
- package/examples/approved-design/counters.aug +5 -4
- package/examples/approved-design/counters.aug.md +25 -132
- package/examples/approved-design/domain/app.aug +2 -1
- package/examples/approved-design/domain/app.aug.md +10 -80
- package/examples/approved-design/domain/export.aug +1 -0
- package/examples/approved-design/domain/export.aug.md +4 -20
- package/examples/approved-design/domain/models.aug +1 -0
- package/examples/approved-design/domain/models.aug.md +3 -25
- package/examples/approved-design/domain/numbers.aug +3 -2
- package/examples/approved-design/domain/numbers.aug.md +19 -116
- package/examples/approved-design/main.aug +1 -0
- package/examples/approved-design/main.aug.md +12 -95
- package/examples/benchmark/.aug-spec/manifest.json +1 -1
- package/examples/benchmark/main.aug +1 -0
- package/examples/benchmark/main.aug.md +6 -36
- package/examples/cli-args/.aug-spec/manifest.json +1 -1
- package/examples/cli-args/main.aug +1 -0
- package/examples/cli-args/main.aug.md +5 -32
- package/examples/collections/.aug-spec/manifest.json +1 -1
- package/examples/collections/main.aug +1 -0
- package/examples/collections/main.aug.md +6 -36
- package/examples/{generic-di/.aug-spec/august/0.19.0 → developer-workflow/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/developer-workflow/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/developer-workflow/.aug-spec/manifest.json +3 -3
- package/examples/developer-workflow/calculator.aug +3 -2
- package/examples/developer-workflow/calculator.aug.md +28 -189
- package/examples/developer-workflow/logging/console.aug +2 -1
- package/examples/developer-workflow/logging/console.aug.md +7 -57
- package/examples/developer-workflow/logging/export.aug +1 -0
- package/examples/developer-workflow/logging/export.aug.md +3 -15
- package/examples/developer-workflow/logging/logger.aug +1 -0
- package/examples/developer-workflow/logging/logger.aug.md +6 -46
- package/examples/developer-workflow/main.aug +1 -0
- package/examples/developer-workflow/main.aug.md +10 -68
- package/examples/drop/.aug-spec/manifest.json +1 -1
- package/examples/drop/main.aug +1 -0
- package/examples/drop/main.aug.md +6 -28
- package/examples/drop/resource.aug +1 -0
- package/examples/drop/resource.aug.md +6 -34
- package/examples/errors/.aug-spec/manifest.json +1 -1
- package/examples/errors/errors.aug +2 -1
- package/examples/errors/errors.aug.md +4 -27
- package/examples/errors/main.aug +1 -0
- package/examples/errors/main.aug.md +6 -29
- package/examples/ffi/.aug-spec/manifest.json +1 -1
- package/examples/ffi/main.aug +1 -0
- package/examples/ffi/main.aug.md +5 -21
- package/examples/ffi/native.aug +2 -1
- package/examples/ffi/native.aug.md +5 -35
- package/examples/{approved-design/.aug-spec/august/0.19.0 → generic-di/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/generic-di/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/generic-di/.aug-spec/manifest.json +3 -3
- package/examples/generic-di/main.aug +1 -0
- package/examples/generic-di/main.aug.md +8 -40
- package/examples/generic-di/types.aug +3 -2
- package/examples/generic-di/types.aug.md +18 -97
- package/examples/generics/.aug-spec/manifest.json +1 -1
- package/examples/generics/main.aug +1 -0
- package/examples/generics/main.aug.md +9 -48
- package/examples/generics/types.aug +4 -3
- package/examples/generics/types.aug.md +18 -104
- package/examples/{developer-workflow/.aug-spec/august/0.19.0 → hello/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/hello/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/hello/.aug-spec/manifest.json +3 -3
- package/examples/hello/app/export.aug +1 -0
- package/examples/hello/app/export.aug.md +3 -13
- package/examples/hello/app/greeter.aug +2 -1
- package/examples/hello/app/greeter.aug.md +10 -94
- package/examples/hello/logging/console.aug +2 -1
- package/examples/hello/logging/console.aug.md +7 -55
- package/examples/hello/logging/export.aug +1 -0
- package/examples/hello/logging/export.aug.md +3 -15
- package/examples/hello/logging/logger.aug +1 -0
- package/examples/hello/logging/logger.aug.md +6 -48
- package/examples/hello/main.aug +1 -0
- package/examples/hello/main.aug.md +8 -40
- package/examples/interceptors/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
- package/examples/interceptors/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/interceptors/.aug-spec/manifest.json +3 -3
- package/examples/interceptors/app.aug +3 -2
- package/examples/interceptors/app.aug.md +15 -141
- package/examples/interceptors/interceptors.aug +3 -2
- package/examples/interceptors/interceptors.aug.md +19 -152
- package/examples/interceptors/logging.aug +2 -1
- package/examples/interceptors/logging.aug.md +10 -79
- package/examples/interceptors/main.aug +1 -0
- package/examples/interceptors/main.aug.md +9 -66
- package/examples/native-blake3/.aug-spec/manifest.json +16 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.1/native.abi.json +29 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/api.aug +14 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/api.aug.md +34 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.aug +4 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.aug.md +8 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/native.abi.json +29 -0
- package/examples/native-blake3/AGENTS.md +5 -0
- package/examples/native-blake3/aug.lock.json +253 -0
- package/examples/native-blake3/hashing.aug +11 -0
- package/examples/native-blake3/hashing.aug.md +25 -0
- package/examples/native-blake3/main.aug +8 -0
- package/examples/native-blake3/main.aug.md +13 -0
- package/examples/native-pytorch/.aug-spec/manifest.json +18 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.1/native.abi.json +142 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.3/native.abi.json +142 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/api.aug +101 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/api.aug.md +160 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.aug +3 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.aug.md +8 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.aug +6 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.aug.md +13 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/native.abi.json +142 -0
- package/examples/native-pytorch/AGENTS.md +5 -0
- package/examples/native-pytorch/aug.lock.json +309 -0
- package/examples/native-pytorch/main.aug +8 -0
- package/examples/native-pytorch/main.aug.md +13 -0
- package/examples/native-pytorch/tensors.aug +23 -0
- package/examples/native-pytorch/tensors.aug.md +35 -0
- package/examples/native-sqlite/.aug-spec/manifest.json +18 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.2/native.abi.json +100 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/api.aug +48 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/api.aug.md +91 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.aug +3 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.aug.md +8 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.aug +8 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.aug.md +22 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/native.abi.json +100 -0
- package/examples/native-sqlite/AGENTS.md +5 -0
- package/examples/native-sqlite/aug.lock.json +236 -0
- package/examples/native-sqlite/database.aug +15 -0
- package/examples/native-sqlite/database.aug.md +27 -0
- package/examples/native-sqlite/main.aug +8 -0
- package/examples/native-sqlite/main.aug.md +13 -0
- package/examples/native-zlib/.aug-spec/manifest.json +16 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.1/native.abi.json +57 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/api.aug +29 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/api.aug.md +54 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.aug +4 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.aug.md +8 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/native.abi.json +57 -0
- package/examples/native-zlib/AGENTS.md +5 -0
- package/examples/native-zlib/aug.lock.json +236 -0
- package/examples/native-zlib/compression.aug +15 -0
- package/examples/native-zlib/compression.aug.md +27 -0
- package/examples/native-zlib/main.aug +10 -0
- package/examples/native-zlib/main.aug.md +13 -0
- package/examples/new-syntax/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
- package/examples/new-syntax/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/new-syntax/.aug-spec/manifest.json +3 -3
- package/examples/new-syntax/console.aug +2 -1
- package/examples/new-syntax/console.aug.md +7 -53
- package/examples/new-syntax/greeter.aug +2 -1
- package/examples/new-syntax/greeter.aug.md +10 -74
- package/examples/new-syntax/logger.aug +1 -0
- package/examples/new-syntax/logger.aug.md +6 -46
- package/examples/new-syntax/main.aug +1 -0
- package/examples/new-syntax/main.aug.md +9 -54
- package/examples/new-syntax/math.aug +2 -1
- package/examples/new-syntax/math.aug.md +3 -24
- package/examples/oidc-login/.aug-spec/manifest.json +13 -13
- package/examples/oidc-login/.aug-spec/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.aug.md +71 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +17 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +125 -0
- package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/contracts.aug +12 -11
- package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.aug.md +244 -0
- package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/jose.aug +6 -5
- package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.aug.md +71 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +30 -0
- package/examples/oidc-login/aug.lock.json +100 -0
- package/examples/oidc-login/client/contracts.aug +1 -0
- package/examples/oidc-login/client/contracts.aug.md +9 -66
- package/examples/oidc-login/client/endpoints.aug +6 -5
- package/examples/oidc-login/client/endpoints.aug.md +13 -145
- package/examples/oidc-login/client/export.aug +1 -0
- package/examples/oidc-login/client/export.aug.md +4 -24
- package/examples/oidc-login/client/login.aug +7 -6
- package/examples/oidc-login/client/login.aug.md +25 -303
- package/examples/oidc-login/client/logout.aug +5 -4
- package/examples/oidc-login/client/logout.aug.md +13 -135
- package/examples/oidc-login/client/protocol.aug +7 -6
- package/examples/oidc-login/client/protocol.aug.md +36 -283
- package/examples/oidc-login/client/session.aug +5 -4
- package/examples/oidc-login/client/session.aug.md +12 -139
- package/examples/oidc-login/client/views.aug +3 -2
- package/examples/oidc-login/client/views.aug.md +8 -57
- package/examples/oidc-login/common/export.aug +1 -0
- package/examples/oidc-login/common/export.aug.md +5 -27
- package/examples/oidc-login/common/headers.aug +4 -3
- package/examples/oidc-login/common/headers.aug.md +9 -67
- package/examples/oidc-login/common/keys.aug +6 -5
- package/examples/oidc-login/common/keys.aug.md +29 -165
- package/examples/oidc-login/common/settings.aug +2 -1
- package/examples/oidc-login/common/settings.aug.md +5 -39
- package/examples/oidc-login/common/views.aug +2 -1
- package/examples/oidc-login/common/views.aug.md +4 -28
- package/examples/oidc-login/main.aug +6 -16
- package/examples/oidc-login/main.aug.md +17 -146
- package/examples/oidc-login/main.yaml +7 -0
- package/examples/oidc-login/provider/authorization.aug +7 -6
- package/examples/oidc-login/provider/authorization.aug.md +23 -238
- package/examples/oidc-login/provider/contracts.aug +1 -0
- package/examples/oidc-login/provider/contracts.aug.md +23 -158
- package/examples/oidc-login/provider/credentials.aug +3 -2
- package/examples/oidc-login/provider/credentials.aug.md +9 -53
- package/examples/oidc-login/provider/discovery.aug +4 -3
- package/examples/oidc-login/provider/discovery.aug.md +11 -118
- package/examples/oidc-login/provider/export.aug +1 -0
- package/examples/oidc-login/provider/export.aug.md +6 -34
- package/examples/oidc-login/provider/token.aug +6 -5
- package/examples/oidc-login/provider/token.aug.md +16 -204
- package/examples/oidc-login/provider/userinfo.aug +4 -3
- package/examples/oidc-login/provider/userinfo.aug.md +10 -92
- package/examples/oidc-login/provider/views.aug +3 -2
- package/examples/oidc-login/provider/views.aug.md +8 -52
- package/examples/ownership/.aug-spec/manifest.json +1 -1
- package/examples/ownership/counter.aug +3 -2
- package/examples/ownership/counter.aug.md +12 -66
- package/examples/ownership/main.aug +1 -0
- package/examples/ownership/main.aug.md +6 -31
- package/examples/ownership-transfer/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
- package/examples/ownership-transfer/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/ownership-transfer/.aug-spec/manifest.json +3 -3
- package/examples/ownership-transfer/main.aug +1 -0
- package/examples/ownership-transfer/main.aug.md +9 -53
- package/examples/ownership-transfer/resource.aug +2 -1
- package/examples/ownership-transfer/resource.aug.md +12 -71
- package/examples/packages/app/.aug-spec/manifest.json +1 -1
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +2 -1
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +9 -51
- package/examples/packages/app/main.aug +1 -0
- package/examples/packages/app/main.aug.md +6 -26
- package/examples/packages/math/.aug-spec/manifest.json +1 -1
- package/examples/packages/math/aug-package.json +1 -1
- package/examples/packages/math/src/arithmetic.aug +2 -1
- package/examples/packages/math/src/arithmetic.aug.md +9 -51
- package/examples/packages/math/src/export.aug +1 -0
- package/examples/packages/math/src/export.aug.md +3 -13
- package/examples/visibility/.aug-spec/manifest.json +1 -1
- package/examples/visibility/counter.aug +4 -3
- package/examples/visibility/counter.aug.md +12 -68
- package/examples/visibility/main.aug +1 -0
- package/examples/visibility/main.aug.md +6 -32
- package/examples/weather-api/.aug-spec/manifest.json +8 -0
- package/examples/weather-api/AGENTS.md +17 -0
- package/examples/weather-api/README.md +19 -0
- package/examples/weather-api/forecasts.aug +47 -0
- package/examples/weather-api/forecasts.aug.md +32 -0
- package/examples/weather-api/main.aug +4 -0
- package/examples/weather-api/main.aug.md +15 -0
- package/examples/weather-api/main.yaml +5 -0
- package/examples/weather-api/weather.http +5 -0
- package/native/compiler-packs.json +43 -0
- package/package.json +4 -4
- package/runtime/aug_http.c +48 -21
- package/runtime/aug_http_ir.c +30 -0
- package/runtime/aug_http_ir.h +18 -0
- package/runtime/aug_ir.c +209 -0
- package/runtime/aug_ir.h +89 -0
- package/runtime/aug_json.c +6 -1
- package/runtime/aug_runtime.c +82 -16
- package/runtime/aug_runtime.h +16 -2
- package/runtime/aug_tasks.c +38 -7
- package/runtime/aug_values.c +12 -6
- package/scripts/bootstrap-native.mjs +184 -106
- package/scripts/native-setup.mjs +98 -0
- package/scripts/native-toolchain.mjs +28 -0
- package/src/ast.js +1 -1
- package/src/builtins.js +1 -1
- package/src/checker.js +369 -100
- package/src/cli.js +198 -26
- package/src/codegen.js +32 -7
- package/src/compiler-packs.js +66 -0
- package/src/config.js +3 -3
- package/src/contracts.js +10 -0
- package/src/editor.js +86 -22
- package/src/fixes.js +90 -2
- package/src/formatter.js +23 -10
- package/src/git-http.js +137 -0
- package/src/git-packages.js +118 -0
- package/src/help.js +33 -24
- package/src/http-contracts.js +14 -0
- package/src/http-policies.js +5 -5
- package/src/ir-types.js +5 -0
- package/src/ir-verify.js +277 -0
- package/src/ir.js +962 -0
- package/src/libraries.js +1 -1
- package/src/llvm-debug.js +101 -0
- package/src/llvm-native.js +152 -0
- package/src/llvm-platform.js +20 -0
- package/src/llvm.js +781 -0
- package/src/lsp.js +14 -5
- package/src/native-artifacts.js +207 -0
- package/src/native-bindings.js +189 -0
- package/src/native-contracts.js +295 -0
- package/src/native-declarations.js +68 -0
- package/src/native-facts.js +63 -0
- package/src/native.js +19 -13
- package/src/navigation.js +4 -2
- package/src/openapi.js +5 -4
- package/src/package-locking.js +88 -0
- package/src/package-manager.js +267 -68
- package/src/parser.js +32 -6
- package/src/policies.js +3 -3
- package/src/project-init.js +78 -4
- package/src/project.js +11 -9
- package/src/runtime-abi.js +23 -0
- package/src/runtime-adapters.js +18 -0
- package/src/schemas.js +24 -17
- package/src/semantic.js +54 -5
- package/src/snippets.js +60 -0
- package/src/spec-hints.js +56 -0
- package/src/spec-tree.js +241 -0
- package/src/spec.js +669 -305
- package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +0 -103
- package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +0 -925
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +0 -434
- package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +0 -103
- package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +0 -374
- package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +0 -150
- package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +0 -532
- package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +0 -791
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +0 -266
- package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +0 -55
- package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +0 -250
- package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +0 -96
- package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +0 -420
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/memory → packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/store.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/json → packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/web → packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/time → packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# Native packages and LLVM implementation
|
|
2
|
+
|
|
3
|
+
The [accepted architecture](native-interop-llvm-plan.md) is being implemented on
|
|
4
|
+
`codex/native-llvm`. The first delivery requires real repository imports of CPU
|
|
5
|
+
LibTorch, SQLite, zlib, and Rust BLAKE3, compiled through LLVM on macOS ARM64.
|
|
6
|
+
Passing a linker probe or metadata test does not complete that delivery.
|
|
7
|
+
|
|
8
|
+
The 0.21.0 candidate now selects LLVM for ordinary `build`, `run`, `test` and
|
|
9
|
+
`bench` commands. C remains an explicit migration reference. Its updated
|
|
10
|
+
language, debugger, sanitizer, performance and clean-consumer gates must pass
|
|
11
|
+
on all three hosts before the compiler release is published. The published
|
|
12
|
+
0.20.1 CLI still uses C. CPU LibTorch `v0.1.4` and the other three libraries'
|
|
13
|
+
`v0.1.3` releases are already public.
|
|
14
|
+
|
|
15
|
+
The package manifest now has a checked format 2 for native dependencies. It pins
|
|
16
|
+
the binding descriptor, upstream identity, target requirements, archive hash and
|
|
17
|
+
size limits, link inputs, deployment files, and component versions. Source
|
|
18
|
+
installation validates those facts without running native build scripts. This
|
|
19
|
+
is development branch behavior; the published CLI does not support it yet.
|
|
20
|
+
|
|
21
|
+
The branch emits LLVM IR from checked execution IR, runs LLVM 23.1.2's optimizer
|
|
22
|
+
and object generator, and links with LLD using an independently authored platform
|
|
23
|
+
import stub. Consumers install a pinned compiler pack. Opaque resources have
|
|
24
|
+
deterministic release, call-duration loans, and checked package/provider identities.
|
|
25
|
+
Native failures use their resolved August constructors and method tables.
|
|
26
|
+
|
|
27
|
+
All four real adapters have been built and tested locally. Ten August cases
|
|
28
|
+
pass through the installed tool pack with native compilers, Git and SDK paths
|
|
29
|
+
unavailable to the test processes. Their versioned sources and native archives are
|
|
30
|
+
published in separate public repositories. A second check installs the npm CLI
|
|
31
|
+
archives into a fresh `node_modules`, downloads each library from GitHub, and
|
|
32
|
+
runs its program through LLVM using both URL imports and named package aliases.
|
|
33
|
+
All four programs produce the expected results, then run with unchanged frozen
|
|
34
|
+
locks offline. Each executable also runs after relocation with its deployment libraries and
|
|
35
|
+
notices. Real LibTorch adapter counters verify that a failed class constructor
|
|
36
|
+
releases its transferred handle and that an owned function input is released
|
|
37
|
+
before an early return reaches its caller. The check supplies only the unpublished
|
|
38
|
+
compiler archive locally; it uses real public transport for every library. The
|
|
39
|
+
macOS 14 ARM64 consumer gate passed in CI on commit `298c0a6`, including frozen,
|
|
40
|
+
offline and relocated execution. Compiler release publication remains outstanding;
|
|
41
|
+
each subsequent compiler change must pass that same gate before publication.
|
|
42
|
+
The independent native clients run
|
|
43
|
+
1,000 cleanup cycles per library. SQLite also checks persistent storage and
|
|
44
|
+
rejects SQL attachment/VACUUM INTO before they can expand filesystem authority.
|
|
45
|
+
Scalar reads authorize only queries before execution, rejecting PRAGMA commands,
|
|
46
|
+
transactions, savepoints, and writes without changing the connection.
|
|
47
|
+
|
|
48
|
+
The compiler suite checks owned field transfers, native error dispatch, bounded
|
|
49
|
+
direct calls, archive integrity, modified lock metadata and ambiguous physical
|
|
50
|
+
symbols. These finite checks do not establish arbitrary foreign-code safety.
|
|
51
|
+
LibTorch's collected redistribution notices do not replace an exhaustive upstream
|
|
52
|
+
binary SBOM; the qualification research records that gap.
|
|
53
|
+
|
|
54
|
+
LLVM also lowers optional and nominal record matches, nested dependency scopes,
|
|
55
|
+
`Shared` locks, `always` cleanup and cooperative tasks. The existing concurrency
|
|
56
|
+
fixtures run against both backends: grouped and collection waits retain order,
|
|
57
|
+
child failures cancel siblings, cancellation runs cleanup, and scopes join child
|
|
58
|
+
loans before dropping their resources. A task cancelled before entry releases
|
|
59
|
+
its transferred owned inputs even though its function never runs. Native regressions check normal execution,
|
|
60
|
+
early returns, caught and pending errors, and errors raised during cleanup.
|
|
61
|
+
The [native example projects](examples/index.md#native-libraries-llvm-preview)
|
|
62
|
+
include checked source, generated explanations and same-file tests. They require
|
|
63
|
+
the development compiler until its matching npm release and compiler pack are public.
|
|
64
|
+
|
|
65
|
+
The migration now includes JSON parsing and typed decoding, clocks, the existing
|
|
66
|
+
GnuTLS crypto APIs, native HTTP handlers and their policies, form decoding,
|
|
67
|
+
streams, server HTML/actions, and interceptor chains. Both backends use one
|
|
68
|
+
concrete schema graph; JSON and forms invoke the appropriate checked constructor
|
|
69
|
+
callback. LLVM verification runs before native object generation in development
|
|
70
|
+
and optimized builds. The existing web and interceptor fixtures run against the
|
|
71
|
+
LLVM path during migration. CI and release builds share
|
|
72
|
+
`node scripts/check-llvm-parity.mjs` to run the existing language, task, web and
|
|
73
|
+
real-app expectations through LLVM with bounded test concurrency.
|
|
74
|
+
|
|
75
|
+
Constructor layers track fresh results from `next()`. If interception fails after
|
|
76
|
+
construction, cleanup releases the completed object's owned fields before the
|
|
77
|
+
failure reaches its caller. Action captures evaluate labeled inputs once in their
|
|
78
|
+
written order. Runtime-pack builds also check operation, schema and policy
|
|
79
|
+
identifiers against the compiled headers; installation rejects a different
|
|
80
|
+
identifier contract.
|
|
81
|
+
|
|
82
|
+
Crypto and HTTP are separate prebuilt runtime components. Programs link and
|
|
83
|
+
deploy the components named by their checked IR. Their GnuTLS, Nettle and GMP
|
|
84
|
+
libraries remain replaceable dynamic files, with source archives, August adapter
|
|
85
|
+
sources, build recipes and notices in the deployment metadata. Maintainer builds
|
|
86
|
+
target macOS 14 and reject binaries with a higher deployment requirement. The
|
|
87
|
+
macOS 14 consumer gate passed for the expanded pack in
|
|
88
|
+
[CI run 36942469546](https://github.com/GreenPandaStudios/augscript/actions/runs/36942469546),
|
|
89
|
+
on commit `253bb1b`. That runner physically removed Xcode and Command Line Tools
|
|
90
|
+
before installing the CLI. All four public library downloads, frozen/offline
|
|
91
|
+
runs, relocated deployments, real-resource cleanup checks, task calls and
|
|
92
|
+
JSON/crypto/HTTP checks passed. Later compiler candidates must pass that gate
|
|
93
|
+
again. Tool removal is confined to the disposable GitHub-hosted job.
|
|
94
|
+
|
|
95
|
+
Execution IR now records checked source types, parameter labels, rooted cells and
|
|
96
|
+
source locations. A structural verifier checks frame bounds, control-flow targets,
|
|
97
|
+
cleanup returns, resolved calls, data schemas and private runtime signatures before
|
|
98
|
+
LLVM emission. The frontend remains responsible for source typing and ownership;
|
|
99
|
+
this verifier does not prove foreign code safe. Contributors can inspect it with
|
|
100
|
+
`aug emit-ir`.
|
|
101
|
+
|
|
102
|
+
Concrete nonnullable scalar cells stay outside the GC root frame; managed values
|
|
103
|
+
retain their registered roots. LLVM preserves integer wrapping and the runtime's
|
|
104
|
+
mixed numeric dispatch. Collection services use pointer arguments across the
|
|
105
|
+
private runtime boundary, avoiding target-specific C aggregate calling rules.
|
|
106
|
+
Runtime packs measure private execution flag and fiber offsets on each target.
|
|
107
|
+
LLVM functions retain their current execution pointer across suspension, as
|
|
108
|
+
the C reference does, and observe both task fibers and checkpoint hooks.
|
|
109
|
+
|
|
110
|
+
All three host packs include a verified core archive as well as the shared runtime.
|
|
111
|
+
Programs that need no dynamic runtime component link that archive directly;
|
|
112
|
+
crypto and HTTP programs use one shared core with their components. Both paths
|
|
113
|
+
retain the same task, root and ownership behavior. Only the existing private
|
|
114
|
+
checkpoint-hook boundary is exported by core-only executables. The archive is
|
|
115
|
+
a maintainer-built input; application compilation does not invoke a C compiler.
|
|
116
|
+
|
|
117
|
+
The compressed-stream disconnect regression now receives enough chunks to
|
|
118
|
+
trigger managed collection before disconnecting. It exposed temporary header
|
|
119
|
+
strings that were not rooted while another argument was allocated. Header
|
|
120
|
+
construction now roots those values before allocating its name; the check
|
|
121
|
+
also verifies disconnect logging and that the server remains alive.
|
|
122
|
+
|
|
123
|
+
Streaming HEAD stops its producer after establishing the response. LLVM now
|
|
124
|
+
preserves that response when its cancellation path has no pending error; real
|
|
125
|
+
cleanup errors retain the normal failure path. Socket checks cover an endless
|
|
126
|
+
compressed stream, its empty HEAD body and successful log, and a cleanup failure
|
|
127
|
+
that still returns and logs 500. A deterministic runtime check inspects headers
|
|
128
|
+
before transport and rejects duplicate CORS policies. The preserved response
|
|
129
|
+
receives policies once; fresh error responses still receive them. Intentional
|
|
130
|
+
producer cancellation does not end the transport wait or request logging early.
|
|
131
|
+
The controlled wait also checks that a deadline returns and logs 504.
|
|
132
|
+
HEAD transport completes with its headers, rather than waiting for an empty-body
|
|
133
|
+
write. The request job retains its prepared response after session cleanup.
|
|
134
|
+
A deterministic completion check and live HTTP/1.1 and HTTP/2 requests cover
|
|
135
|
+
the connection-reuse race found by ARM64 CI.
|
|
136
|
+
|
|
137
|
+
LLVM output includes DWARF source lines and variables in both development and
|
|
138
|
+
optimized builds. The compiler pack contains `dsymutil`, which writes an adjacent
|
|
139
|
+
dSYM without an SDK. `.augmap.json` identifies the IR, object, executable, debug
|
|
140
|
+
file and selected native artifacts. Tests inspect the actual DWARF for source
|
|
141
|
+
functions, sibling lexical scopes, parameters, loop bindings and catch variables.
|
|
142
|
+
Local variable declarations appear at their source position. Debugger values use the real tagged representation;
|
|
143
|
+
LLDB uses its C-compatible type reader for that representation while the source
|
|
144
|
+
and producer identify August. This fixes missing variables in LLDB versions
|
|
145
|
+
that cannot read an unregistered vendor language. Rich views and August
|
|
146
|
+
expression evaluation are future work. LLVM tests also collect statement-line coverage,
|
|
147
|
+
including zero counts for unexecuted statements. Setup assertions do not count
|
|
148
|
+
toward a test case's required assertions. Same-file tests honor the configured
|
|
149
|
+
development or release optimization mode.
|
|
150
|
+
An actual LLDB check stops at an August source line, reads a parameter and local
|
|
151
|
+
in their tagged representation, then continues to a successful process exit.
|
|
152
|
+
|
|
153
|
+
Configured executable and OpenAPI output paths work with LLVM. Local
|
|
154
|
+
`libraries` and `library_paths` settings require the C reference backend; LLVM
|
|
155
|
+
requires package-declared native link inputs so its deployment closure stays
|
|
156
|
+
locked and does not depend on a consumer's toolchain.
|
|
157
|
+
|
|
158
|
+
## Delivery order
|
|
159
|
+
|
|
160
|
+
| Step | Work | Acceptance |
|
|
161
|
+
| --- | --- | --- |
|
|
162
|
+
| 1 | ABI profile, resources, targets, descriptor and artifact validation | Reject mismatched contracts, unsupported platforms, unsafe archive paths, and unbounded downloads |
|
|
163
|
+
| 2 | Four separate repositories, real adapters and release builds | Independent native clients verify upstream operations and cleanup |
|
|
164
|
+
| 3 | Checked execution IR and LLVM generation | Native August functions preserve labels, control flow, errors, and roots |
|
|
165
|
+
| 4 | Runtime packs and pointer-call services | Immediate resource release and interface dispatch pass native checks |
|
|
166
|
+
| 5 | SDK-free linker and distributed tools | A relocated executable runs without SDK or compiler inputs |
|
|
167
|
+
| 6 | Repository transport, native locks and cache | URL and alias imports restore exact source and artifact identities |
|
|
168
|
+
| 7 | Compiler-checked bindings and CLI bundles | All four accepted examples compile through LLVM and run correctly |
|
|
169
|
+
| 8 | First milestone qualification | Installed CLI works on a clean macOS 14+ ARM64 machine with no native toolchain |
|
|
170
|
+
| 9 | Full language parity, debug information and release builds | Existing language, runtime, HTTP, editor and package suites pass with LLVM |
|
|
171
|
+
| 10 | Linux packs, migration and LLVM default | Per-platform parity, deployment and distribution gates pass |
|
|
172
|
+
|
|
173
|
+
Callbacks, exported August libraries, borrowed native views, additional platform
|
|
174
|
+
profiles and GPU support follow the qualified first profile as specified in the
|
|
175
|
+
architecture. Their semantics must not be implied by the initial resource ABI.
|
|
176
|
+
|
|
177
|
+
## Evidence
|
|
178
|
+
|
|
179
|
+
Maintainers can check C adapter headers with `aug bind header`. It emits reviewed
|
|
180
|
+
declaration fragments and a physical ABI report; it keeps ownership and allocator
|
|
181
|
+
promises explicitly author-declared. Independent malformed-header fixtures check
|
|
182
|
+
integer signedness, byte booleans, buffer lengths, mutable pointers, releases,
|
|
183
|
+
callbacks and error layout. The audit found an unsigned cleanup-counter mismatch
|
|
184
|
+
in LibTorch's `v0.1.3` adapter. Its corrected signed exports passed native clients
|
|
185
|
+
on all three targets and are published as
|
|
186
|
+
[`v0.1.4`](https://github.com/GreenPandaStudios/aug-pytorch/releases/tag/v0.1.4);
|
|
187
|
+
the three other real package headers passed.
|
|
188
|
+
|
|
189
|
+
Compiler locks now retain independent selections for each host. Installed-CLI
|
|
190
|
+
qualification checks that recording another host preserves the current pin and
|
|
191
|
+
that a frozen build with its current entry removed fails without editing the lock.
|
|
192
|
+
|
|
193
|
+
The LLVM migration benchmark accepts `--backend llvm` and `--backend c` with the
|
|
194
|
+
same checked programs and independent output checks. Scalar lowering retains
|
|
195
|
+
wrapping int64 arithmetic, IEEE comparisons and checked runtime division. Tests
|
|
196
|
+
include the signed minimum divided by minus one, NaN, optional values and mixed
|
|
197
|
+
integer/float comparisons. All three platform jobs passed the frozen performance
|
|
198
|
+
limits on commit `e3c072b` in [macOS CI](https://github.com/GreenPandaStudios/augscript/actions/runs/36992865486)
|
|
199
|
+
and [GNU/Linux CI](https://github.com/GreenPandaStudios/augscript/actions/runs/36992865479).
|
|
200
|
+
They also passed the full safety gyms, expanded kernels and clean public-library
|
|
201
|
+
consumer checks. The [recorded measurements](qualification-results.md) and
|
|
202
|
+
[physical DGX Spark results](dgx-spark.md) retain the workloads and limits.
|
|
203
|
+
The frozen migration limits live in `native/llvm-performance-gates.json`: each
|
|
204
|
+
batch median may rise by at most 20% or 0.5ms against the same August program on
|
|
205
|
+
the C backend; HTTP throughput may fall by at most 20%. Qualification requires
|
|
206
|
+
15 rotating samples after three warmups and five HTTP rounds at each declared
|
|
207
|
+
concurrency. These limits apply to migration, not a general speed claim.
|
|
208
|
+
|
|
209
|
+
The maintainer sanitizer harness accepts `--backend llvm`. LLVM's ASan pass
|
|
210
|
+
instruments the actual emitted program before object generation. The harness
|
|
211
|
+
adds `sanitize_address` to each generated function, checks the inserted memory
|
|
212
|
+
probes, and requires a deliberate stack overflow to fail. Clang builds
|
|
213
|
+
the same core runtime sources with ASan and UBSan, then links that LLVM object.
|
|
214
|
+
This is a maintainer test, and does not introduce a consumer toolchain
|
|
215
|
+
requirement. It checks collections, allocation pressure and owned task inputs.
|
|
216
|
+
UBSan covers the C runtime; it does not reconstruct source-level arithmetic
|
|
217
|
+
checks from LLVM IR or establish that an upstream binary is safe. Leak checking
|
|
218
|
+
is disabled for the coroutine harness; independent resource counters provide
|
|
219
|
+
the separate native cleanup evidence.
|
|
220
|
+
|
|
221
|
+
GNU/Linux lowering now supports x86-64 and ARM64 on Debian/Ubuntu with glibc
|
|
222
|
+
2.36 or later. An independently authored process-entry object calls the public
|
|
223
|
+
libc initialization entry. LLD links against the host's runtime libc and loader;
|
|
224
|
+
application compilation requires no CRT development objects, headers or native
|
|
225
|
+
compiler. ELF libraries load relative to the executable. LLVM's own C++/ICU/XZ
|
|
226
|
+
dependencies stay in its tool directory and are not application dependencies.
|
|
227
|
+
|
|
228
|
+
Debian 12 x86-64 and ARM64 qualification passed in
|
|
229
|
+
[CI run 36953864621](https://github.com/GreenPandaStudios/augscript/actions/runs/36953864621)
|
|
230
|
+
on commit `c2cab3d`. Each architecture passed 247 LLVM regression cases; three
|
|
231
|
+
macOS DWARF inspection cases were skipped. Two native ABI boundary cases also
|
|
232
|
+
passed. An installed CLI ran CPU LibTorch, SQLite, zlib and Rust BLAKE3 using
|
|
233
|
+
verified local candidates, including their same-file tests, frozen/offline locks,
|
|
234
|
+
relocation, owned-resource cleanup and task calls. The independent native clients
|
|
235
|
+
ran 1,000 cleanup cycles per library. These checks use local native archives and
|
|
236
|
+
do not qualify public Linux downloads. All four libraries publish checksum-pinned
|
|
237
|
+
archives for macOS ARM64, GNU/Linux x86-64 and GNU/Linux ARM64. The
|
|
238
|
+
per-architecture workflows also run public repository imports in a separate
|
|
239
|
+
Debian 12 consumer container without compilers, Git or development headers.
|
|
240
|
+
Only the unpublished compiler pack is supplied locally for that check.
|
|
241
|
+
|
|
242
|
+
The local clean Debian 12 ARM64 consumer check also passed against all four public
|
|
243
|
+
`v0.1.3` repository tags and release archives. It ran without Clang, GCC, Git or
|
|
244
|
+
development headers, including the Node headers normally present in the base
|
|
245
|
+
image. URL imports, named aliases, same-file tests, frozen/offline runs, relocated
|
|
246
|
+
deployments, real-resource cleanup, tasks, JSON, crypto and HTTP forms passed.
|
|
247
|
+
Both clean GNU/Linux jobs passed independently on commit `c21cd88` in
|
|
248
|
+
[run 36956350591](https://github.com/GreenPandaStudios/augscript/actions/runs/36956350591).
|
|
249
|
+
The matching macOS 14 gate passed in
|
|
250
|
+
[run 36956350544](https://github.com/GreenPandaStudios/augscript/actions/runs/36956350544).
|
|
251
|
+
These gates used the then-current `v0.1.3` public libraries; later compiler and
|
|
252
|
+
library changes must pass them again.
|
|
253
|
+
|
|
254
|
+
The ARM64 LibTorch CPU archive contains OpenBLAS 0.3.34 and Arm Compute 53.2.0
|
|
255
|
+
alongside LibTorch 2.14.1. The build checks reported binary versions and retains
|
|
256
|
+
their exact source archives and license files. It rejects CUDA, NVPL and Python
|
|
257
|
+
libraries from the deployment closure. The GCC runtime dependencies are pinned
|
|
258
|
+
Debian packages with corresponding sources, patches and license texts. Consumers
|
|
259
|
+
never execute these maintainer recipes. The upstream binary's exhaustive static
|
|
260
|
+
component inventory remains a documented limit.
|
|
261
|
+
|
|
262
|
+
Physical [DGX Spark qualification](dgx-spark.md) passed on October 2, 2026, using
|
|
263
|
+
the same commit. The compiler and runtime built on the actual ARM64 machine,
|
|
264
|
+
all 266 LLVM parity cases passed without skips, and the full gyms and frozen
|
|
265
|
+
performance gates passed. An installed CLI exercised all four public native
|
|
266
|
+
repositories, including offline locks, relocated deployments and real cleanup
|
|
267
|
+
counters. These are CPU checks; GPU support remains deferred.
|
|
268
|
+
|
|
269
|
+
The metadata suite exercises package loading and target selection. The
|
|
270
|
+
[research note](research/native-interop-llvm.md) records a macOS ARM64 linker
|
|
271
|
+
probe with independent platform stubs and no SDK inputs. Neither is a fresh
|
|
272
|
+
machine installation test. Release qualification will record the exact LLVM
|
|
273
|
+
version, runtime build inputs, package tags, native artifacts and test results.
|
|
274
|
+
Run `node scripts/qualify-native-consumers.mjs --local-compiler` after packaging
|
|
275
|
+
to repeat the prepublication consumer check. Omit `--local-compiler` after the
|
|
276
|
+
compiler release asset is public to check every download through HTTPS.
|