@greenpandastudios/aug-cli 0.20.1 → 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 +1 -1
- 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 +6 -6
- package/docs/contributing-benchmarks.md +36 -6
- package/docs/dev-containers.md +8 -15
- 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 +1 -1
- package/docs/docker.md +16 -17
- package/docs/example-projects.json +32 -0
- package/docs/examples/approved-design/dependencies/august/{0.20.1 → 0.21.0}/io/contracts.md +3 -3
- package/docs/examples/approved-design/domain/app.md +4 -4
- package/docs/examples/approved-design/main.md +2 -2
- 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/developer-workflow/calculator.md +5 -5
- package/docs/examples/developer-workflow/dependencies/august/{0.20.1 → 0.21.0}/io/contracts.md +3 -3
- package/docs/examples/developer-workflow/logging/console.md +2 -2
- package/docs/examples/developer-workflow/logging/logger.md +2 -2
- package/docs/examples/developer-workflow/main.md +2 -2
- 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/float-benchmark/index.md +35 -0
- package/docs/examples/float-benchmark/main.md +75 -0
- package/docs/examples/generic-di/dependencies/august/{0.20.1 → 0.21.0}/io/contracts.md +3 -3
- package/docs/examples/generic-di/main.md +2 -2
- package/docs/examples/generic-di/types.md +3 -3
- package/docs/examples/hello/app/greeter.md +3 -3
- package/docs/examples/hello/dependencies/august/{0.20.1 → 0.21.0}/io/contracts.md +3 -3
- package/docs/examples/hello/logging/console.md +2 -2
- package/docs/examples/hello/logging/logger.md +2 -2
- package/docs/examples/hello/main.md +2 -2
- package/docs/examples/index.md +18 -1
- package/docs/examples/interceptors/app.md +5 -5
- package/docs/examples/interceptors/dependencies/august/{0.20.1 → 0.21.0}/io/contracts.md +3 -3
- package/docs/examples/interceptors/interceptors.md +2 -2
- package/docs/examples/interceptors/logging.md +3 -3
- package/docs/examples/interceptors/main.md +2 -2
- 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 +2 -2
- package/docs/examples/new-syntax/dependencies/august/{0.20.1 → 0.21.0}/io/contracts.md +3 -3
- package/docs/examples/new-syntax/greeter.md +3 -3
- package/docs/examples/new-syntax/logger.md +2 -2
- package/docs/examples/new-syntax/main.md +2 -2
- package/docs/examples/ownership-transfer/dependencies/august/{0.20.1 → 0.21.0}/io/contracts.md +3 -3
- package/docs/examples/ownership-transfer/main.md +2 -2
- package/docs/examples/ownership-transfer/resource.md +2 -2
- package/docs/examples/packages-math/aug-package-json.md +1 -1
- 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/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/getting-started.md +3 -3
- package/docs/grammar.md +2 -2
- package/docs/gym-results.json +784 -0
- package/docs/implementation-map.md +6 -0
- package/docs/index.md +1 -1
- package/docs/kernel-results.json +1170 -0
- package/docs/language-conformance.md +6 -0
- package/docs/language-constructs.md +9 -1
- package/docs/learn/index.md +1 -1
- package/docs/maintaining-docs.md +1 -1
- 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 +2 -2
- package/docs/performance.md +50 -29
- package/docs/production-readiness.md +11 -1
- package/docs/public/downloads/approved-design.zip +0 -0
- package/docs/public/downloads/calls-benchmark.zip +0 -0
- package/docs/public/downloads/developer-workflow.zip +0 -0
- package/docs/public/downloads/errors-benchmark.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/hello.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/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/strings-benchmark.zip +0 -0
- package/docs/public/downloads/tasks-benchmark.zip +0 -0
- package/docs/qualification-results.md +66 -0
- package/docs/reference.md +24 -0
- package/docs/releasing.md +81 -6
- 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/roadmap.md +1 -0
- package/docs/safety-gyms.md +41 -0
- package/docs/tooling.md +16 -15
- package/docs/web-library-gaps.md +1 -1
- package/docs/web.md +4 -0
- package/examples/approved-design/.aug-spec/manifest.json +3 -3
- package/examples/approved-design/domain/app.aug.md +4 -4
- package/examples/approved-design/main.aug.md +2 -2
- package/examples/developer-workflow/.aug-spec/manifest.json +3 -3
- package/examples/developer-workflow/calculator.aug.md +5 -5
- package/examples/developer-workflow/logging/console.aug.md +2 -2
- package/examples/developer-workflow/logging/logger.aug.md +2 -2
- package/examples/developer-workflow/main.aug.md +2 -2
- package/examples/generic-di/.aug-spec/manifest.json +3 -3
- package/examples/generic-di/main.aug.md +2 -2
- package/examples/generic-di/types.aug.md +3 -3
- package/examples/hello/.aug-spec/manifest.json +3 -3
- package/examples/hello/app/greeter.aug.md +3 -3
- package/examples/hello/logging/console.aug.md +2 -2
- package/examples/hello/logging/logger.aug.md +2 -2
- package/examples/hello/main.aug.md +2 -2
- package/examples/interceptors/.aug-spec/manifest.json +3 -3
- package/examples/interceptors/app.aug.md +5 -5
- package/examples/interceptors/interceptors.aug.md +2 -2
- package/examples/interceptors/logging.aug.md +3 -3
- package/examples/interceptors/main.aug.md +2 -2
- 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/manifest.json +3 -3
- package/examples/new-syntax/console.aug.md +2 -2
- package/examples/new-syntax/greeter.aug.md +3 -3
- package/examples/new-syntax/logger.aug.md +2 -2
- package/examples/new-syntax/main.aug.md +2 -2
- package/examples/oidc-login/aug.lock.json +6 -6
- package/examples/ownership-transfer/.aug-spec/manifest.json +3 -3
- package/examples/ownership-transfer/main.aug.md +2 -2
- package/examples/ownership-transfer/resource.aug.md +2 -2
- package/examples/packages/math/aug-package.json +1 -1
- package/native/compiler-packs.json +43 -0
- package/package.json +3 -2
- 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 +4 -1
- package/src/ast.js +1 -1
- package/src/checker.js +110 -28
- package/src/cli.js +92 -14
- package/src/codegen.js +31 -6
- package/src/compiler-packs.js +66 -0
- package/src/config.js +2 -2
- package/src/editor.js +15 -6
- package/src/formatter.js +4 -2
- package/src/git-http.js +137 -0
- package/src/git-packages.js +9 -1
- package/src/help.js +10 -2
- package/src/ir-types.js +5 -0
- package/src/ir-verify.js +277 -0
- package/src/ir.js +962 -0
- 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/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/package-locking.js +43 -0
- package/src/package-manager.js +23 -8
- package/src/parser.js +20 -2
- package/src/project.js +2 -2
- package/src/runtime-abi.js +23 -0
- package/src/runtime-adapters.js +18 -0
- package/src/schemas.js +24 -17
- package/src/semantic.js +8 -3
- package/src/snippets.js +1 -0
- package/src/spec.js +49 -8
- /package/examples/approved-design/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug +0 -0
- /package/examples/approved-design/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug.md +0 -0
- /package/examples/developer-workflow/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug +0 -0
- /package/examples/developer-workflow/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug.md +0 -0
- /package/examples/generic-di/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug +0 -0
- /package/examples/generic-di/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug.md +0 -0
- /package/examples/hello/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug +0 -0
- /package/examples/hello/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug.md +0 -0
- /package/examples/interceptors/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug +0 -0
- /package/examples/interceptors/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug.md +0 -0
- /package/examples/new-syntax/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug +0 -0
- /package/examples/new-syntax/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug.md +0 -0
- /package/examples/ownership-transfer/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug +0 -0
- /package/examples/ownership-transfer/.aug-spec/august/{0.20.1 → 0.21.0}/io/contracts.aug.md +0 -0
package/docs/compatibility.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Compatibility and supported platforms
|
|
2
2
|
|
|
3
|
-
August
|
|
3
|
+
August is a preview. This page states the proposed 1.0 compatibility contract and the evidence still needed before it takes effect. The pending 0.21.0 release adds the qualified LLVM/native package profile; the [roadmap](roadmap.md) tracks its release gate.
|
|
4
4
|
|
|
5
5
|
The [ownership and task conformance page](language-conformance.md) records executable candidate behavior for moves, aliasing, cleanup, cancellation, and delayed errors.
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@ The [ownership and task conformance page](language-conformance.md) records execu
|
|
|
12
12
|
| CLI and project files | Documented `aug` commands, `main.yaml` keys, `aug-package.json`, and `aug.lock.json` retain compatible reading within 1.x. New fields have defaults; removing or changing a field requires a major release. |
|
|
13
13
|
| First-party packages | CLI, standard, web, and crypto packages use one exact version. A release tests installed tarballs together; mixing versions is unsupported. Explicit user manifests currently require the exact compiler version and retain their own public `export.aug` surface. |
|
|
14
14
|
| Generated specifications | `aug spec` remains deterministic for a given compiler and project. Text and layout can improve between versions; tools should link to source and declarations rather than parse Markdown prose. |
|
|
15
|
-
| Native boundary | `
|
|
15
|
+
| Native boundary | `aug-native-abi-1` uses fixed-width scalars, copied buffers and opaque resources over the target C ABI. Package descriptors preserve ownership, release, errors and platform requirements. The runtime's `AugValue` layout and pointer-call services remain compiler-private. The preview ABI must pass its release gates before a 1.x stability promise. |
|
|
16
16
|
|
|
17
17
|
A change that makes valid 1.x source fail to compile, changes its observable behavior, or removes a documented public name is breaking. A safety or correctness repair may require a narrow exception, but its release must explain the affected code, provide a diagnostic, and provide `aug migrate` support when mechanical migration is possible. Security fixes can be released promptly; they still get a compatibility note.
|
|
18
18
|
|
|
@@ -32,11 +32,11 @@ Rebuild native executables and private dependencies for the target platform afte
|
|
|
32
32
|
|
|
33
33
|
| Target | Preview evidence | 1.0 support decision |
|
|
34
34
|
| --- | --- | --- |
|
|
35
|
-
| macOS ARM64 |
|
|
36
|
-
| Linux ARM64 |
|
|
37
|
-
| Linux x86-64 |
|
|
35
|
+
| macOS 14+ ARM64 | Installed CLI and real public native libraries pass on macOS 14 with Xcode and Command Line Tools removed. | Candidate; every release must repeat language, debugger, sanitizer, performance and consumer gates. |
|
|
36
|
+
| GNU/Linux ARM64, glibc 2.36+ | Debian 12 CI runs LLVM language/runtime regressions and public imports in a consumer image without compilers, Git or headers. | Candidate; qualify each compiler candidate and deployment bundle. Physical DGX testing remains pending. |
|
|
37
|
+
| GNU/Linux x86-64, glibc 2.36+ | The same Debian 12 CI and clean-consumer profile passes on native x86-64 runners. | Candidate; qualify each compiler candidate and deployment bundle. |
|
|
38
38
|
| Windows and other targets | No full native verification. | Outside the proposed 1.0 support matrix. |
|
|
39
39
|
|
|
40
|
-
Node.js 24
|
|
40
|
+
The pending 0.21.0 consumer workflow requires Node.js 24+ and a supported host. August downloads its pinned compiler/runtime and package artifacts; consumers do not install Clang, LLVM or an SDK. Explicit C reference builds and binding authoring require their [maintainer tools](tooling.md). Musl, Windows and cross compilation are outside this profile. The current runtime schedules tasks on one OS thread. HTTP and OIDC library conformance is tracked separately in the [web and crypto gap ledger](web-library-gaps.md); those application concerns are not language 1.0 gates.
|
|
41
41
|
|
|
42
42
|
The 1.0 support matrix becomes a commitment only after each candidate target has green CI, installed-package and native integration tests, dependency/license review, and a documented update path. See [production readiness](production-readiness.md) for present limits.
|
|
@@ -4,24 +4,29 @@ This contributor workflow updates the recorded measurements and charts. Work in
|
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
6
|
npm ci
|
|
7
|
+
export MACOSX_DEPLOYMENT_TARGET=14.0
|
|
7
8
|
node scripts/bootstrap-native.mjs
|
|
8
|
-
|
|
9
|
+
node scripts/prepare-llvm-tools.mjs
|
|
10
|
+
node scripts/build-runtime-pack.mjs
|
|
11
|
+
AUG_LLVM_HOME="$PWD/.aug-build/llvm-tools" npm run bench:compare -- --http-rounds 5
|
|
9
12
|
```
|
|
10
13
|
|
|
11
|
-
Set `AUG_BENCH_PYTHON=/path/to/python3` or `CC=/path/to/clang` to select the reference interpreter/compiler. `AUG_NATIVE_HOME` selects the native dependency cache. The raw result file records versions and a source fingerprint. Compilation timings are included separately from executable run time.
|
|
14
|
+
The suite defaults to LLVM. `--backend c` selects the migration reference, and `--backend llvm --compare-c-backend` measures both backends on the same August programs. Set `AUG_BENCH_PYTHON=/path/to/python3` or `CC=/path/to/clang` to select the reference interpreter/compiler. `AUG_NATIVE_HOME` selects the native dependency cache. The raw result file records versions, LLVM tool/runtime identities and a source fingerprint. Compilation timings are included separately from executable run time. On macOS, prepare native dependencies for the advertised macOS 14 deployment floor before building the runtime pack.
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
Batch and HTTP clients each run in fresh processes. Their heaps do not retain compiler allocations or earlier workloads. Batch order rotates each round; every executable result is checked. Each HTTP round starts a fresh server, warms its client with 1,000 requests, then validates every measured response. CI records 60 batch samples and five HTTP rounds; the frozen migration thresholds remain unchanged. Failed qualification retains its raw report.
|
|
17
|
+
|
|
18
|
+
For a smaller core/JSON-only C reference run, extract its source dependencies and omit HTTP. This does not require an LLVM runtime pack:
|
|
14
19
|
|
|
15
20
|
```sh
|
|
16
21
|
node scripts/bootstrap-native.mjs --extract-only --only minicoro,yyjson
|
|
17
|
-
npm run bench:compare -- --skip-http
|
|
22
|
+
npm run bench:compare -- --backend c --skip-http
|
|
18
23
|
```
|
|
19
24
|
|
|
20
25
|
The full suite writes `docs/benchmark-results.json`; a core-only run writes `.aug-build/benchmarks/results-core.json` and preserves the complete wiki measurements. Focus on selected workloads while trying your own changes:
|
|
21
26
|
|
|
22
27
|
```sh
|
|
23
|
-
npm run bench:compare -- --only cpu,collections-200k
|
|
24
|
-
npm run bench:compare -- --only http --http-requests 10000
|
|
28
|
+
AUG_LLVM_HOME="$PWD/.aug-build/llvm-tools" npm run bench:compare -- --only cpu,collections-200k
|
|
29
|
+
AUG_LLVM_HOME="$PWD/.aug-build/llvm-tools" npm run bench:compare -- --only http --http-requests 10000
|
|
25
30
|
```
|
|
26
31
|
|
|
27
32
|
Focused runs write `.aug-build/benchmarks/results-focused.json`. Use `--output PATH` to keep separate reports. Render graphs, tables and the exact source examples from the full result file using Python 3.12+:
|
|
@@ -36,3 +41,28 @@ npm run docs:build
|
|
|
36
41
|
|
|
37
42
|
The plot environment is isolated and ignored; published documentation includes the rendered graphs and needs no Python installation. Review this page's environment, interpretations and limitations when replacing measurements. Short exploratory runs can use `--iterations 3 --warmup 1 --http-rounds 1 --http-requests 1000`; they have less statistical coverage.
|
|
38
43
|
|
|
44
|
+
## Run the extended C comparisons
|
|
45
|
+
|
|
46
|
+
The eight additional projects cover floating arithmetic, labeled calls, list traversal, strings, ordered map deletion, checked failures, record allocation and task scheduling. Their August sources live beside adjacent specs in `benchmarks`; independently written C references are in `benchmarks/kernels.c`, and expected results are in `benchmarks/kernels.mjs`.
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
AUG_LLVM_HOME="$PWD/.aug-build/llvm-tools" npm run bench:kernels -- --iterations 30 --output docs/kernel-results.json
|
|
50
|
+
npm run qualification:render
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Use `--only float,calls` to focus on selected programs, or `--output PATH` to retain another report. Each program is compiled through LLVM and the C migration backend, then measured against the standalone C reference. Every sample must match the oracle. Reports retain raw timings, build time and executable size. C task calls are sequential and the ordered C map uses linear search; do not describe those as equivalent schedulers or identical table implementations.
|
|
54
|
+
|
|
55
|
+
## Run the safety gyms
|
|
56
|
+
|
|
57
|
+
Prepare the maintainer pack as above, then run the full qualification:
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
AUG_LLVM_HOME="$PWD/.aug-build/llvm-tools" AUG_SANITIZER_CC="$PWD/.aug-build/llvm-maintainer/bin/clang" npm run test:gyms:full -- --seed 877966 --vectors 256 --output docs/gym-results.json
|
|
61
|
+
npm run qualification:render
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`npm run test:gyms` runs generated cases, rejected contracts and behavioral mutants. The full profile adds source-mutation, ownership/concurrency, native/package, HTTP and sanitizer circuits. Seeds are unsigned 32-bit integers; vector counts must be 1 through 4,096. Empty or invalid domains fail. A full report includes circuit totals and skips instead of silently treating a skipped test as executed.
|
|
65
|
+
|
|
66
|
+
The ignored replay folder contains each complete original and faulty project with its expected output. Use the CLI version matching the report to replay a selected project with `aug run PATH --backend llvm`. The LLVM candidate's public compiler release remains pending. Reports embed the same source units, so a CI artifact remains reviewable after its temporary folder disappears. Preserve the seed, generator version, compiler source fingerprint and failure report when adding a regression. Do not change the oracle to agree with an incorrect implementation.
|
|
67
|
+
|
|
68
|
+
After both complete reports pass, render the wiki table and vector chart, inspect the programs and limits, and run `npm run docs:check` and `npm run docs:build`. The renderer's `--check` mode rejects stale published evidence. Do not replace a failed report with a partial or smaller passing run.
|
package/docs/dev-containers.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Develop in a VS Code Dev Container
|
|
2
2
|
|
|
3
|
-
Run the August compiler
|
|
3
|
+
Run the August compiler and tests inside a Linux container while editing your local project in VS Code. The project folder stays on your machine; the CLI downloads its verified compiler/runtime pack into the container's cache. No native toolchain is required on the host or in this development image. These instructions target the pending 0.21.0 release.
|
|
4
4
|
|
|
5
5
|
You need Docker with a running Linux engine, VS Code, and Microsoft's [Dev Containers extension](https://code.visualstudio.com/docs/devcontainers/containers). Creating a new project also needs Node.js 24 and npm on the host. You can instead open an existing project or a [downloaded example](examples/index.md).
|
|
6
6
|
|
|
@@ -17,20 +17,16 @@ cd hello-august
|
|
|
17
17
|
mkdir .devcontainer
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
Save `.devcontainer/Dockerfile` with these contents. It installs the
|
|
20
|
+
Save `.devcontainer/Dockerfile` with these contents. It installs the CLI; the first run obtains the matching compiler/runtime pack and package artifacts.
|
|
21
21
|
|
|
22
22
|
```dockerfile
|
|
23
23
|
FROM node:24-bookworm
|
|
24
|
-
ARG AUG_VERSION=0.
|
|
25
|
-
ENV AUG_NATIVE_HOME=/opt/augscript/.aug-native
|
|
24
|
+
ARG AUG_VERSION=0.21.0
|
|
26
25
|
RUN apt-get update \
|
|
27
|
-
&& apt-get install -y --no-install-recommends \
|
|
28
|
-
git clang libclang-rt-14-dev make cmake m4 autoconf \
|
|
29
|
-
automake libtool python3 zlib1g-dev ca-certificates \
|
|
26
|
+
&& apt-get install -y --no-install-recommends ca-certificates \
|
|
30
27
|
&& rm -rf /var/lib/apt/lists/*
|
|
31
28
|
RUN npm install --global --ignore-scripts --no-audit --no-fund \
|
|
32
|
-
@greenpandastudios/aug-cli@${AUG_VERSION}
|
|
33
|
-
&& aug-native
|
|
29
|
+
@greenpandastudios/aug-cli@${AUG_VERSION}
|
|
34
30
|
WORKDIR /workspace
|
|
35
31
|
USER node
|
|
36
32
|
CMD ["sleep", "infinity"]
|
|
@@ -55,20 +51,17 @@ Save `.devcontainer/devcontainer.json` beside it:
|
|
|
55
51
|
},
|
|
56
52
|
"customizations": {
|
|
57
53
|
"vscode": {
|
|
58
|
-
"extensions": ["augscript.augscript"]
|
|
59
|
-
"settings": {
|
|
60
|
-
"augscript.nativeHome": "/opt/augscript/.aug-native"
|
|
61
|
-
}
|
|
54
|
+
"extensions": ["augscript.augscript@prerelease"]
|
|
62
55
|
}
|
|
63
56
|
}
|
|
64
57
|
}
|
|
65
58
|
```
|
|
66
59
|
|
|
67
|
-
The editor installs the August extension inside the container and
|
|
60
|
+
The editor installs the August preview extension inside the container. Its bundled compiler and terminal CLI use the same artifact cache. Terminal commands run as the image's `node` user. On Linux, the Dev Container tooling adjusts that user's ID to match your local files. The [non-root user guide](https://code.visualstudio.com/remote/advancedcontainers/add-nonroot-user) explains this behavior.
|
|
68
61
|
|
|
69
62
|
## Open and run it
|
|
70
63
|
|
|
71
|
-
Open `hello-august` in VS Code. From the Command Palette, choose **Dev Containers: Reopen in Container**. The first build
|
|
64
|
+
Open `hello-august` in VS Code. From the Command Palette, choose **Dev Containers: Reopen in Container**. The first image build installs the CLI; the first `aug run` downloads its compiler pack. Later opens and runs reuse these inputs. When the container is ready, the configured creation command checks your project.
|
|
72
65
|
|
|
73
66
|
Open a terminal **in that VS Code window** and run:
|
|
74
67
|
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format": 1,
|
|
3
|
+
"compiler": "0.21.0",
|
|
4
|
+
"host": "linux-arm64",
|
|
5
|
+
"ordinaryStarter": {
|
|
6
|
+
"backend": "llvm",
|
|
7
|
+
"developmentToolchain": false,
|
|
8
|
+
"sameFileTests": 1,
|
|
9
|
+
"frozenOffline": true,
|
|
10
|
+
"generatedC": false
|
|
11
|
+
},
|
|
12
|
+
"installation": "npm-archive-in-node_modules",
|
|
13
|
+
"nativeToolsOnPath": false,
|
|
14
|
+
"sourceCache": "fresh",
|
|
15
|
+
"artifactCache": "fresh",
|
|
16
|
+
"libraryTransport": "public-release-assets",
|
|
17
|
+
"compilerTransport": "local-release-asset",
|
|
18
|
+
"osRelease": "6.17.0-1021-nvidia",
|
|
19
|
+
"glibcVersion": "2.36",
|
|
20
|
+
"discardedDeploymentCopies": true,
|
|
21
|
+
"minimumOSQualification": false,
|
|
22
|
+
"minimumLibcQualification": true,
|
|
23
|
+
"realResourceCounters": {
|
|
24
|
+
"failedConstructor": true,
|
|
25
|
+
"earlyReturn": true,
|
|
26
|
+
"cancelledBeforeEntry": true,
|
|
27
|
+
"liveBuffers": 0
|
|
28
|
+
},
|
|
29
|
+
"nativeTasks": true,
|
|
30
|
+
"standardRuntime": {
|
|
31
|
+
"json": true,
|
|
32
|
+
"clock": true,
|
|
33
|
+
"crypto": true,
|
|
34
|
+
"httpForms": true,
|
|
35
|
+
"relocation": true
|
|
36
|
+
},
|
|
37
|
+
"directory": "/work/.aug-build/native-consumers-asTCa4",
|
|
38
|
+
"outcomes": [
|
|
39
|
+
{
|
|
40
|
+
"package": "pytorch",
|
|
41
|
+
"repository": "https://github.com/GreenPandaStudios/aug-pytorch#v0.1.4",
|
|
42
|
+
"commit": "345c975b74a892ba1e0534503917e937dace6b87",
|
|
43
|
+
"artifactSha256": "8eb7c5e30635949228548208bda1ac0a7c42801d2299a90ea4d4c2064e700573",
|
|
44
|
+
"stdout": "5\n7\n9\n21\n",
|
|
45
|
+
"urlImport": true,
|
|
46
|
+
"namedAlias": true,
|
|
47
|
+
"frozenOffline": true,
|
|
48
|
+
"relocatedBundle": true,
|
|
49
|
+
"repeatedSpec": true,
|
|
50
|
+
"backend": "llvm"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"package": "sqlite",
|
|
54
|
+
"repository": "https://github.com/GreenPandaStudios/aug-sqlite#v0.1.3",
|
|
55
|
+
"commit": "54371656e3f8d47d020b974f97267a9017b5e552",
|
|
56
|
+
"artifactSha256": "480c6dfb5a257fc7047a28dd2eb6f2e60bbcb90ae4e301083a180744dadea8f2",
|
|
57
|
+
"stdout": "August\n",
|
|
58
|
+
"urlImport": true,
|
|
59
|
+
"namedAlias": true,
|
|
60
|
+
"frozenOffline": true,
|
|
61
|
+
"relocatedBundle": true,
|
|
62
|
+
"repeatedSpec": true,
|
|
63
|
+
"backend": "llvm"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"package": "zlib",
|
|
67
|
+
"repository": "https://github.com/GreenPandaStudios/aug-zlib#v0.1.3",
|
|
68
|
+
"commit": "827a8dde5d0d013d00fff6a2a19036b299d0085f",
|
|
69
|
+
"artifactSha256": "6da832fa341a1fba96643244da2bb63957107d2b1413743c363fca002e500c66",
|
|
70
|
+
"stdout": "The world runs on language\n",
|
|
71
|
+
"urlImport": true,
|
|
72
|
+
"namedAlias": true,
|
|
73
|
+
"frozenOffline": true,
|
|
74
|
+
"relocatedBundle": true,
|
|
75
|
+
"repeatedSpec": true,
|
|
76
|
+
"backend": "llvm"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"package": "blake3",
|
|
80
|
+
"repository": "https://github.com/GreenPandaStudios/aug-blake3#v0.1.3",
|
|
81
|
+
"commit": "e4ef39bdc89892e7b0644f5fa03ca4dc8b8042ae",
|
|
82
|
+
"artifactSha256": "69e4de7c1928254c2fb285b0ecd557c4dd1346e9207d0b7ef56e00957caae748",
|
|
83
|
+
"stdout": "6437b3ac38465133ffb63b75273a8db548c558465d79db03fd359c6cd5bd9d85\n",
|
|
84
|
+
"urlImport": true,
|
|
85
|
+
"namedAlias": true,
|
|
86
|
+
"frozenOffline": true,
|
|
87
|
+
"relocatedBundle": true,
|
|
88
|
+
"repeatedSpec": true,
|
|
89
|
+
"backend": "llvm"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"gallery": [
|
|
93
|
+
{
|
|
94
|
+
"package": "pytorch",
|
|
95
|
+
"run": true,
|
|
96
|
+
"test": true,
|
|
97
|
+
"spec": true,
|
|
98
|
+
"backend": "llvm"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"package": "sqlite",
|
|
102
|
+
"run": true,
|
|
103
|
+
"test": true,
|
|
104
|
+
"spec": true,
|
|
105
|
+
"backend": "llvm"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"package": "zlib",
|
|
109
|
+
"run": true,
|
|
110
|
+
"test": true,
|
|
111
|
+
"spec": true,
|
|
112
|
+
"backend": "llvm"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"package": "blake3",
|
|
116
|
+
"run": true,
|
|
117
|
+
"test": true,
|
|
118
|
+
"spec": true,
|
|
119
|
+
"backend": "llvm"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
}
|