Skip to content

Remove defunct Ty variants and rename BuiltinUnknown -> Unknown - #4603

Merged
2kai2kai2 merged 5 commits into
canaryfrom
kai/ty_family_infer
Aug 26, 2026
Merged

Remove defunct Ty variants and rename BuiltinUnknown -> Unknown#4603
2kai2kai2 merged 5 commits into
canaryfrom
kai/ty_family_infer

Conversation

@2kai2kai2

@2kai2kai2 2kai2kai2 commented Aug 26, 2026

Copy link
Copy Markdown
Contributor
  • Removes Ty::EvolvingList and Ty::EvolvingMap which are unnecessary now that we have proper inference variables
  • Removes the TIR old inference error sentinel Ty::Unknown which is unnecessary now with the new inference system
  • Function signatures now lower with a resolved Self
  • Renamed the top-type unknown from Ty::BuiltinUnknown to Ty::Unknown internally

Summary by CodeRabbit

  • New Features
    • Clarified the distinction between explicit unknown, omitted type annotations, unresolved inference, and compiler errors.
    • Improved type inference and compatibility behavior for unknown, lists, maps, interfaces, and generic operations.
  • Bug Fixes
    • Invalid compound assignments, including floating-point values assigned to integers, now report compile-time diagnostics consistently.
    • Improved handling of unresolved types and throw contracts across runtime and generated SDK integrations.
    • Fixed TypeScript protobuf encoding when writers contain buffered data.
  • Chores
    • Updated cached artifacts to reflect the revised type representation.

Now that we have proper inference variables they are unused.
This is NOT the top-type `unknown` which is (currently) named
`Ty::BuiltinUnknown`. It was formerly and inference-recoverable error
sentinel but is no longer needed now that we have a proper rust-like
hybrid obligation inference system.
@2kai2kai2
2kai2kai2 marked this pull request as ready for review August 26, 2026 18:26
@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
beps Ready Ready Preview Aug 26, 2026 7:09pm
promptfiddle2 Ready Ready Preview Aug 26, 2026 7:09pm

Request Review

@2kai2kai2
2kai2kai2 enabled auto-merge August 26, 2026 18:26
@github-actions

Copy link
Copy Markdown

⏭️ Performance benchmarks were skipped

Perf benchmarks (CodSpeed) are opt-in on pull requests — they no longer run on every push. They always run automatically after merge to canary/main.

To run them on this PR, do any of the following, then push a commit (or re-run CI):

  • Add RUN_CODSPEED=1 to the PR description, or
  • Include run-perf or /perf in the PR title or any commit message.

@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5efd8baf-6f8d-42ab-af7b-0316a690ca00

📥 Commits

Reviewing files that changed from the base of the PR and between f5828b1 and aa87d57.

⛔ Files ignored due to path filters (14)
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_arrays/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_comparable_sort/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_comparison_driver/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_interfaces/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_item_projections/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_operators/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_projection_dest_calls/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/stdlib/ai/mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/stdlib/baml/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/stdlib/baml/mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/src/type_spec/snapshots/baml_tests__type_spec__fixtures__empty_list_element_inferred_from_push.snap is excluded by !**/*.snap
  • baml_language/sdks/go/baml_go/internal/cffi/baml_type.pb.go is excluded by !**/*.pb.go
  • baml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_type.pb.go is excluded by !**/*.pb.go
  • baml_language/sdks/typescript/bridge_typescript/dist/proto/baml_cffi.js is excluded by !**/dist/**
📒 Files selected for processing (100)
  • baml_language/ARCHITECTURE.md
  • baml_language/crates/baml_builtins2/baml_std/testing/types.baml
  • baml_language/crates/baml_builtins2_codegen/src/extract.rs
  • baml_language/crates/baml_codegen_types/src/symbols.rs
  • baml_language/crates/baml_compiler2_ast/src/ast.rs
  • baml_language/crates/baml_compiler2_ast/src/lib.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_cst.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_expr_body.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_type_expr.rs
  • baml_language/crates/baml_compiler2_emit/src/emit.rs
  • baml_language/crates/baml_compiler2_emit/src/lib.rs
  • baml_language/crates/baml_compiler2_hir/src/builder.rs
  • baml_language/crates/baml_compiler2_hir/src/signature.rs
  • baml_language/crates/baml_compiler2_hir/src/type_ref.rs
  • baml_language/crates/baml_compiler2_hir_ty/README.md
  • baml_language/crates/baml_compiler2_hir_ty/src/coherence.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/diagnostics.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/exhaustiveness.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/impls.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/infer.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/infer/pat.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/interfaces.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/interfaces/impl_rules.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/lower.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/package_interface.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/throw_facts.rs
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_ppir/src/lib.rs
  • baml_language/crates/baml_compiler2_ppir/src/ty.rs
  • baml_language/crates/baml_db/src/check.rs
  • baml_language/crates/baml_ide/src/annotations.rs
  • baml_language/crates/baml_ide/src/describe.rs
  • baml_language/crates/baml_ide/src/export.rs
  • baml_language/crates/baml_ide/src/render.rs
  • baml_language/crates/baml_ide/src/symbol_pool.rs
  • baml_language/crates/baml_tests/baml_src/ns_match_container_types/match_container_types.baml
  • baml_language/crates/baml_tests/baml_src/ns_runtime_type_binding_generic_calls/runtime_type_binding_generic_calls.baml
  • baml_language/crates/baml_tests/src/compiler2_tir/inference.rs
  • baml_language/crates/baml_tests/src/compiler2_tir/mod.rs
  • baml_language/crates/baml_tests/src/compiler2_tir/package_interface.rs
  • baml_language/crates/baml_tests/src/compiler2_tir/phase5.rs
  • baml_language/crates/baml_tests/src/compiler2_tir/phase6.rs
  • baml_language/crates/baml_tests/src/type_spec/fixtures/empty_list_element_inferred_from_push.baml
  • baml_language/crates/baml_tests/tests/backtick_block_diagnostics.rs
  • baml_language/crates/baml_tests/tests/convert_boundary_regressions.rs
  • baml_language/crates/baml_tests/tests/interfaces.rs
  • baml_language/crates/baml_tests/tests/runtime_session.rs
  • baml_language/crates/baml_type/src/codegen_ty.rs
  • baml_language/crates/baml_type/src/decl_cycles.rs
  • baml_language/crates/baml_type/src/family.rs
  • baml_language/crates/baml_type/src/interned.rs
  • baml_language/crates/baml_type/src/lib.rs
  • baml_language/crates/baml_type/src/normalize.rs
  • baml_language/crates/baml_type/src/normalize/mu.rs
  • baml_language/crates/baml_type/src/normalize/tests.rs
  • baml_language/crates/baml_type/src/pattern_overlap.rs
  • baml_language/crates/baml_type/src/realized_ty.rs
  • baml_language/crates/baml_type/src/runtime_ty.rs
  • baml_language/crates/baml_type/src/template.rs
  • baml_language/crates/baml_type/src/unify.rs
  • baml_language/crates/baml_type_runtime/src/lib.rs
  • baml_language/crates/bex_cache/src/lib.rs
  • baml_language/crates/bex_engine/src/conversion.rs
  • baml_language/crates/bex_engine/src/lib.rs
  • baml_language/crates/bex_engine/src/trace_heap.rs
  • baml_language/crates/bex_engine/src/trace_value_encode.rs
  • baml_language/crates/bex_engine/tests/host_value_callable.rs
  • baml_language/crates/bex_external_types/src/host_return.rs
  • baml_language/crates/bex_external_types/src/runtime_ty_identity.rs
  • baml_language/crates/bex_heap/src/accessor.rs
  • baml_language/crates/bex_project/src/runtime_compile.rs
  • baml_language/crates/bex_sap/src/sap_model/convert.rs
  • baml_language/crates/bex_vm/src/package_baml/json.rs
  • baml_language/crates/bex_vm/src/package_reflect/reflect.rs
  • baml_language/crates/bex_vm/src/package_reflect/type_class.rs
  • baml_language/crates/bex_vm/src/vm.rs
  • baml_language/crates/bex_vm_types/src/link.rs
  • baml_language/crates/bex_vm_types/src/relink.rs
  • baml_language/crates/bex_vm_types/src/types/function.rs
  • baml_language/crates/bridge_ctypes/src/ty_encode.rs
  • baml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.proto
  • baml_language/crates/sys_ops/src/lib.rs
  • baml_language/crates/sys_ops/src/output_format.rs
  • baml_language/sdks/agent-docs/bridge-ref/ref-java-type-mappings.md
  • baml_language/sdks/csharp/sdkgen_csharp/src/semantic.rs
  • baml_language/sdks/java/sdkgen_java/src/lib.rs
  • baml_language/sdks/java/sdkgen_java/src/translate_ty.rs
  • baml_language/sdks/python/rust/sdkgen_python_pydantic2/src/leaf.rs
  • baml_language/sdks/python/rust/sdkgen_python_pydantic2/src/lib.rs
  • baml_language/sdks/python/rust/sdkgen_python_pydantic2/src/translate_ty.rs
  • baml_language/sdks/rust/bridge_rust/src/wire/baml_bridge.cffi.v1.rs
  • baml_language/sdks/rust/sdkgen_rust/src/analyze.rs
  • baml_language/sdks/rust/sdkgen_rust/src/effect_rename.rs
  • baml_language/sdks/rust/sdkgen_rust/src/translate_ty.rs
  • baml_language/sdks/rust/sdkgen_rust/src/unions.rs
  • baml_language/sdks/swift/Sources/BamlBridge/Proto/.generated-from
  • baml_language/sdks/swift/Sources/BamlBridge/Proto/baml_type.pb.swift
  • baml_language/sdks/typescript/bridge_typescript/typescript_src/proto/baml_cffi.js
  • baml_language/sdks/typescript/sdkgen_typescript_shared/src/lib.rs
  • baml_language/sdks/typescript/sdkgen_typescript_shared/src/translate_ty.rs
 _______________________________________________________
< Perhaps loot boxes can help us cover the OpenAI bill. >
 -------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1e86d3ed-1282-4773-b283-11c1f4cd8ca3

📥 Commits

Reviewing files that changed from the base of the PR and between f5828b1 and aa87d57.

⛔ Files ignored due to path filters (14)
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_arrays/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_comparable_sort/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_comparison_driver/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_interfaces/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_item_projections/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_operators/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/ns_projection_dest_calls/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/stdlib/ai/mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/stdlib/baml/bytecode.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/stdlib/baml/mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/src/type_spec/snapshots/baml_tests__type_spec__fixtures__empty_list_element_inferred_from_push.snap is excluded by !**/*.snap
  • baml_language/sdks/go/baml_go/internal/cffi/baml_type.pb.go is excluded by !**/*.pb.go
  • baml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_type.pb.go is excluded by !**/*.pb.go
  • baml_language/sdks/typescript/bridge_typescript/dist/proto/baml_cffi.js is excluded by !**/dist/**
📒 Files selected for processing (100)
  • baml_language/ARCHITECTURE.md
  • baml_language/crates/baml_builtins2/baml_std/testing/types.baml
  • baml_language/crates/baml_builtins2_codegen/src/extract.rs
  • baml_language/crates/baml_codegen_types/src/symbols.rs
  • baml_language/crates/baml_compiler2_ast/src/ast.rs
  • baml_language/crates/baml_compiler2_ast/src/lib.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_cst.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_expr_body.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_type_expr.rs
  • baml_language/crates/baml_compiler2_emit/src/emit.rs
  • baml_language/crates/baml_compiler2_emit/src/lib.rs
  • baml_language/crates/baml_compiler2_hir/src/builder.rs
  • baml_language/crates/baml_compiler2_hir/src/signature.rs
  • baml_language/crates/baml_compiler2_hir/src/type_ref.rs
  • baml_language/crates/baml_compiler2_hir_ty/README.md
  • baml_language/crates/baml_compiler2_hir_ty/src/coherence.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/diagnostics.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/exhaustiveness.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/impls.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/infer.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/infer/pat.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/interfaces.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/interfaces/impl_rules.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/lower.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/package_interface.rs
  • baml_language/crates/baml_compiler2_hir_ty/src/throw_facts.rs
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_ppir/src/lib.rs
  • baml_language/crates/baml_compiler2_ppir/src/ty.rs
  • baml_language/crates/baml_db/src/check.rs
  • baml_language/crates/baml_ide/src/annotations.rs
  • baml_language/crates/baml_ide/src/describe.rs
  • baml_language/crates/baml_ide/src/export.rs
  • baml_language/crates/baml_ide/src/render.rs
  • baml_language/crates/baml_ide/src/symbol_pool.rs
  • baml_language/crates/baml_tests/baml_src/ns_match_container_types/match_container_types.baml
  • baml_language/crates/baml_tests/baml_src/ns_runtime_type_binding_generic_calls/runtime_type_binding_generic_calls.baml
  • baml_language/crates/baml_tests/src/compiler2_tir/inference.rs
  • baml_language/crates/baml_tests/src/compiler2_tir/mod.rs
  • baml_language/crates/baml_tests/src/compiler2_tir/package_interface.rs
  • baml_language/crates/baml_tests/src/compiler2_tir/phase5.rs
  • baml_language/crates/baml_tests/src/compiler2_tir/phase6.rs
  • baml_language/crates/baml_tests/src/type_spec/fixtures/empty_list_element_inferred_from_push.baml
  • baml_language/crates/baml_tests/tests/backtick_block_diagnostics.rs
  • baml_language/crates/baml_tests/tests/convert_boundary_regressions.rs
  • baml_language/crates/baml_tests/tests/interfaces.rs
  • baml_language/crates/baml_tests/tests/runtime_session.rs
  • baml_language/crates/baml_type/src/codegen_ty.rs
  • baml_language/crates/baml_type/src/decl_cycles.rs
  • baml_language/crates/baml_type/src/family.rs
  • baml_language/crates/baml_type/src/interned.rs
  • baml_language/crates/baml_type/src/lib.rs
  • baml_language/crates/baml_type/src/normalize.rs
  • baml_language/crates/baml_type/src/normalize/mu.rs
  • baml_language/crates/baml_type/src/normalize/tests.rs
  • baml_language/crates/baml_type/src/pattern_overlap.rs
  • baml_language/crates/baml_type/src/realized_ty.rs
  • baml_language/crates/baml_type/src/runtime_ty.rs
  • baml_language/crates/baml_type/src/template.rs
  • baml_language/crates/baml_type/src/unify.rs
  • baml_language/crates/baml_type_runtime/src/lib.rs
  • baml_language/crates/bex_cache/src/lib.rs
  • baml_language/crates/bex_engine/src/conversion.rs
  • baml_language/crates/bex_engine/src/lib.rs
  • baml_language/crates/bex_engine/src/trace_heap.rs
  • baml_language/crates/bex_engine/src/trace_value_encode.rs
  • baml_language/crates/bex_engine/tests/host_value_callable.rs
  • baml_language/crates/bex_external_types/src/host_return.rs
  • baml_language/crates/bex_external_types/src/runtime_ty_identity.rs
  • baml_language/crates/bex_heap/src/accessor.rs
  • baml_language/crates/bex_project/src/runtime_compile.rs
  • baml_language/crates/bex_sap/src/sap_model/convert.rs
  • baml_language/crates/bex_vm/src/package_baml/json.rs
  • baml_language/crates/bex_vm/src/package_reflect/reflect.rs
  • baml_language/crates/bex_vm/src/package_reflect/type_class.rs
  • baml_language/crates/bex_vm/src/vm.rs
  • baml_language/crates/bex_vm_types/src/link.rs
  • baml_language/crates/bex_vm_types/src/relink.rs
  • baml_language/crates/bex_vm_types/src/types/function.rs
  • baml_language/crates/bridge_ctypes/src/ty_encode.rs
  • baml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.proto
  • baml_language/crates/sys_ops/src/lib.rs
  • baml_language/crates/sys_ops/src/output_format.rs
  • baml_language/sdks/agent-docs/bridge-ref/ref-java-type-mappings.md
  • baml_language/sdks/csharp/sdkgen_csharp/src/semantic.rs
  • baml_language/sdks/java/sdkgen_java/src/lib.rs
  • baml_language/sdks/java/sdkgen_java/src/translate_ty.rs
  • baml_language/sdks/python/rust/sdkgen_python_pydantic2/src/leaf.rs
  • baml_language/sdks/python/rust/sdkgen_python_pydantic2/src/lib.rs
  • baml_language/sdks/python/rust/sdkgen_python_pydantic2/src/translate_ty.rs
  • baml_language/sdks/rust/bridge_rust/src/wire/baml_bridge.cffi.v1.rs
  • baml_language/sdks/rust/sdkgen_rust/src/analyze.rs
  • baml_language/sdks/rust/sdkgen_rust/src/effect_rename.rs
  • baml_language/sdks/rust/sdkgen_rust/src/translate_ty.rs
  • baml_language/sdks/rust/sdkgen_rust/src/unions.rs
  • baml_language/sdks/swift/Sources/BamlBridge/Proto/.generated-from
  • baml_language/sdks/swift/Sources/BamlBridge/Proto/baml_type.pb.swift
  • baml_language/sdks/typescript/bridge_typescript/typescript_src/proto/baml_cffi.js
  • baml_language/sdks/typescript/sdkgen_typescript_shared/src/lib.rs
  • baml_language/sdks/typescript/sdkgen_typescript_shared/src/translate_ty.rs

📝 Walkthrough

Walkthrough

The PR makes Unknown the user-denotable top type, uses Missing for omitted annotations, and reserves Error for compiler recovery. It removes evolving collection variants, updates lowering and type algebra behavior, bumps the cache format, and propagates the renamed representation through runtimes, bridges, SDKs, and tests.

Changes

Type Sentinel Migration

Layer / File(s) Summary
AST and front-end contracts
baml_language/crates/baml_compiler2_ast/*, baml_language/crates/baml_compiler2_hir/*
Explicit unknown uses Unknown. Omitted annotations use Missing. Missing types render as ? and lower to Error.
Type algebra and lowering
baml_language/crates/baml_type/*, baml_language/crates/baml_compiler2_hir_ty/*, baml_language/crates/baml_compiler2_mir/*
Unknown acts as the top type. Error remains the recovery sentinel. Evolving list and map variants are removed. MIR fallback and signature lowering use the revised model.
Runtime and SDK integration
baml_language/crates/bex_*/*, baml_language/crates/bridge_ctypes/*, baml_language/sdks/*
Runtime type matching, serialization, bridges, SAP handling, and SDK generators use Unknown instead of BuiltinUnknown.
Validation and generated artifacts
baml_language/crates/baml_tests/*, baml_language/crates/bex_cache/*, baml_language/sdks/typescript/bridge_typescript/*, baml_language/ARCHITECTURE.md
Tests and documentation reflect the sentinel split. Cache format version changes from 9 to 10. Generated TypeScript protobuf encoders fork writers before length-delimited encoding.

Estimated code review effort: 5 (Critical) | ~120 minutes

Possibly related PRs

  • BoundaryML/baml#3933: Related changes to shared Ty, TyTemplate, emit, and runtime type handling.
  • BoundaryML/baml#3998: Related changes to Ty, RealizedTy, associated-type projections, and normalization.
  • BoundaryML/baml#4301: Related changes to baml_compiler2_hir_ty inference and sentinel semantics.

Suggested reviewers: codeshaunted, antoniosarosi, sxlijin

Poem

A rabbit sorts the types in rows
Unknown blooms where broadness grows
Missing marks the blank-shaped space
Error keeps recovery in place
Old evolving paths now rest
New cache numbers pass the test

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch kai/ty_family_infer

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Now that the defunct "Unknown" error-sentinel is gone, the `unknown`
type can be called `Unknown` internally as well.
It probably shouldn't even be checked in but for now
@github-actions

Copy link
Copy Markdown

Binary size checks failed

2 violations · ✅ 5 passed

⚠️ Please fix the size gate issues or acknowledge them by updating baselines.

Artifact Platform File Gzip Gated on Baseline Delta Status
baml-cli Linux 🔒 72.8 MB 27.4 MB file 82.3 MB -9.5 MB (-11.5%) OK
packed-program Linux 🔒 28.6 MB 10.9 MB file 32.5 MB -3.9 MB (-11.9%) OK
baml-cli macOS 🔒 63.3 MB 25.1 MB file 63.1 MB +177.1 KB (+0.3%) OK
packed-program macOS 🔒 25.8 MB 10.2 MB file 25.8 MB -10.6 KB (-0.0%) OK
baml-cli Windows 🔒 83.0 MB 27.9 MB file 80.2 MB +2.8 MB (+3.5%) FAIL
packed-program Windows 🔒 30.9 MB 10.7 MB file 28.4 MB +2.5 MB (+8.7%) FAIL
bridge_wasm WASM 22.2 MB 🔒 5.7 MB gzip 5.7 MB +7.0 KB (+0.1%) OK

🔒 = the size this artifact is GATED on (ceiling + delta). Binaries gate on file size (installed binary); WASM gates on gzip (download size). The other size is shown for information only.

Details & how to fix

Violations:

  • baml-cli (Windows) file_bytes: 83.0 MB exceeds limit of 82.6 MB (exceeded by +386.9 KB, policy: max_file_bytes)
  • baml-cli (Windows) file_delta_pct: +3.5% exceeds limit of 3.0% (exceeded by +0.5pp, policy: max_delta_pct)
  • packed-program (Windows) file_bytes: 30.9 MB exceeds limit of 29.3 MB (exceeded by +1.6 MB, policy: max_file_bytes)
  • packed-program (Windows) file_delta_pct: +8.7% exceeds limit of 3.0% (exceeded by +5.7pp, policy: max_delta_pct)

Add/update baselines:

.ci/size-gate/x86_64-pc-windows-msvc.toml:

[artifacts.baml-cli]
file_bytes = 83014656
stripped_bytes = 83014656
gzip_bytes = 27869997
[artifacts.packed-program]
file_bytes = 30901618
gzip_bytes = 10742068

Generated by cargo size-gate · workflow run

Merged via the queue into canary with commit 819d1b9 Aug 26, 2026
77 of 100 checks passed
@2kai2kai2
2kai2kai2 deleted the kai/ty_family_infer branch August 26, 2026 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant