Skip to content

chore: delete watch - #4003

Closed
sxlijin wants to merge 1 commit into
canaryfrom
push-wkmlotzskxuv
Closed

sxlijin wants to merge 1 commit into
canaryfrom
push-wkmlotzskxuv

Conversation

@sxlijin

@sxlijin sxlijin commented Jul 13, 2026 •

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Breaking Changes
    • Removed end-to-end support for watch let, the watch keyword, and all watch/unwatch/notify runtime behavior (including watch-accessor types across the compiler/VM and SDK/bridges).
  • New Features
    • VM execution can handle custom runtime events without interrupting normal program flow.
    • Go SDK: added NewFunctionCall() and updated cancellation to use a 64-bit call ID.
  • Documentation
    • Updated engine VM diagrams and documentation to remove the watch/notification workflow.

@vercel

vercel Bot commented Jul 13, 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, Comment Jul 14, 2026 12:11am
promptfiddle Ready Ready Preview, Comment Jul 14, 2026 12:11am
promptfiddle2 Ready Ready Preview, Comment Jul 14, 2026 12:11am

Request Review

@vercel
vercel Bot temporarily deployed to Preview – beps July 13, 2026 21:20 Inactive
@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 Jul 13, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 8cbbb06a-ac7b-4986-ae06-f7133c535215

📥 Commits

Reviewing files that changed from the base of the PR and between f02a7bd and e19bc7f.

⛔ Files ignored due to path filters (13)
  • baml_language/crates/baml_tests/snapshots/baml_src/_root.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/lambdas.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/watch.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__01_lexer__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__02_parser__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__03_hir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_5_mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_tir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__06_codegen.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__10_formatter__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_type.pb.go is excluded by !**/*.pb.go
  • baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.d.ts is excluded by !**/dist/**
  • baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.js is excluded by !**/dist/**
📒 Files selected for processing (84)
  • baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yaml
  • baml_language/crates/baml_cli/src/paint.rs
  • baml_language/crates/baml_compiler2_ast/src/ast.rs
  • baml_language/crates/baml_compiler2_ast/src/disambiguate.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_expr_body.rs
  • baml_language/crates/baml_compiler2_emit/src/analysis.rs
  • baml_language/crates/baml_compiler2_emit/src/emit.rs
  • baml_language/crates/baml_compiler2_emit/src/pull_semantics.rs
  • baml_language/crates/baml_compiler2_emit/src/stack_carry.rs
  • baml_language/crates/baml_compiler2_emit/src/verifier.rs
  • baml_language/crates/baml_compiler2_mir/src/builder.rs
  • baml_language/crates/baml_compiler2_mir/src/ir.rs
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_mir/src/optimize.rs
  • baml_language/crates/baml_compiler2_mir/src/pretty.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
  • baml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rs
  • baml_language/crates/baml_compiler2_tir/src/exhaustiveness.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rs
  • baml_language/crates/baml_compiler2_tir/src/normalize.rs
  • baml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rs
  • baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
  • baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
  • baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
  • baml_language/crates/baml_compiler_lexer/src/tokens.rs
  • baml_language/crates/baml_compiler_parser/src/parser.rs
  • baml_language/crates/baml_compiler_syntax/src/ast.rs
  • baml_language/crates/baml_compiler_syntax/src/syntax_kind.rs
  • baml_language/crates/baml_exec/src/auto_cli.rs
  • baml_language/crates/baml_fmt/src/ast/statements.rs
  • baml_language/crates/baml_fmt/src/ast/tokens.rs
  • baml_language/crates/baml_lsp2_actions/src/completions_tests.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.baml
  • baml_language/crates/baml_project/src/client_codegen.rs
  • baml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.baml
  • baml_language/crates/baml_tests/baml_src/ns_watch/watch.baml
  • baml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.baml
  • baml_language/crates/baml_tests/tests/incremental_typing_repro.rs
  • baml_language/crates/baml_type/src/family.rs
  • baml_language/crates/baml_type/src/lib.rs
  • baml_language/crates/baml_type/src/normalize.rs
  • baml_language/crates/baml_type/src/runtime_ty.rs
  • baml_language/crates/baml_type/src/template.rs
  • baml_language/crates/baml_type/tests/simplify_sap_tests.rs
  • baml_language/crates/baml_type_macros/src/emit.rs
  • baml_language/crates/baml_type_macros/src/parse.rs
  • baml_language/crates/bex_engine/README.md
  • baml_language/crates/bex_engine/src/conversion.rs
  • baml_language/crates/bex_engine/src/lib.rs
  • baml_language/crates/bex_engine/src/trace_value_encode.rs
  • baml_language/crates/bex_events/src/prof/proto/bamlprof.proto
  • baml_language/crates/bex_sap/src/sap_model/convert.rs
  • baml_language/crates/bex_vm/README.md
  • baml_language/crates/bex_vm/src/debug.rs
  • baml_language/crates/bex_vm/src/lib.rs
  • baml_language/crates/bex_vm/src/package_baml/json.rs
  • baml_language/crates/bex_vm/src/package_baml/resolve.rs
  • baml_language/crates/bex_vm/src/type_match.rs
  • baml_language/crates/bex_vm/src/vm.rs
  • baml_language/crates/bex_vm/src/watch.rs
  • baml_language/crates/bex_vm/tests/call_notifications.rs
  • baml_language/crates/bex_vm/tests/deep_equals_bigint.rs
  • baml_language/crates/bex_vm/tests/watch_gc.rs
  • baml_language/crates/bex_vm_types/src/bytecode.rs
  • baml_language/crates/bex_vm_types/src/errors.rs
  • baml_language/crates/bridge_ctypes/src/ty_decode.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_llm/src/types/output_format.rs
  • baml_language/crates/tools_onionskin/src/compiler.rs
  • baml_language/sdks/go/bridge_go/cffi/bridge.h
  • baml_language/sdks/go/bridge_go/cffi/lib.go
  • baml_language/sdks/go/bridge_go/pkg/host_value.go
  • baml_language/sdks/go/bridge_go/pkg/host_value_internal_test.go
  • baml_language/sdks/go/bridge_go/pkg/proto.go
  • baml_language/sdks/go/bridge_go/pkg/runtime.go
  • baml_language/sdks/go/bridge_go/pkg/tests/call_function_test.go
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.ts
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.js
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyi
  • baml_language/sdks/python/src/baml_bridge/proto.py

📝 Walkthrough

Walkthrough

The PR removes the watch language construct, watched-local MIR and VM machinery, WatchAccessor type representations, related bytecode and protobuf variants, and watch-specific tests and documentation. It also adds Go function-call IDs and host-call error encoding.

Changes

Watch system removal

Layer / File(s) Summary
Language surface and AST cleanup
baml_language/crates/baml_compiler_{lexer,parser,syntax,fmt,diagnostics}/*
Removes watch let, the watch token, related formatting, diagnostics, documentation, and fixtures.
MIR and compiler emission
baml_language/crates/baml_compiler2_{ast,mir,emit}/*
Removes watched-local fields, MIR statements, lowering/unwind logic, optimizer handling, verifier rules, and watch bytecode emission.
WatchAccessor type cleanup
baml_language/crates/baml_type/*, baml_language/crates/baml_compiler2_tir/*
Removes WatchAccessor from type families, normalization, TIR traversal, runtime lowering, and type matching.
VM and wire-format removal
baml_language/crates/bex_{vm,vm_types,engine}/*, baml_language/crates/bridge_ctypes/*, baml_language/sdks/*/proto/*
Deletes watch graph execution, notifications, opcodes, protobuf variants, and generated bindings.

Bridge call and host-error updates

Layer / File(s) Summary
Go function-call lifecycle
baml_language/sdks/go/bridge_go/cffi/*, baml_language/sdks/go/bridge_go/pkg/{proto,runtime}.go
Allocates uint64 function-call IDs, includes them in encoded calls, and cancels calls using the allocated ID.
Go host-call error encoding
baml_language/sdks/go/bridge_go/pkg/host_value.go
Classifies host-call failures and encodes them as baml.errors.HostCallable inbound values with optional traceback data.

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

Possibly related PRs

Suggested reviewers: 2kai2kai2, antoniosarosi, hellovai, codeshaunted, rossirpaulo

Poem

I nibbled the watch code, neat and small,
Removed old channels from compiler and wall.
New call IDs hop through the bridge,
Errors wear HostCallable’s badge.
Squeak! The types now march in line.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: removing the watch feature and its related code paths throughout the repo.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ 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 push-wkmlotzskxuv

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ast-grep (0.44.1)
baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.js

ast-grep timed out on this file


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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review


P1 Badge Preserve bytecode enum tags when deleting watch ops

When a generated/packed project is loaded, baml generate stores a Borsh-encoded Program and new_from_bytecode deserializes it before execution. Removing the middle Instruction variants shifts the Borsh tag for Call and every later instruction, so bytecode produced before this change that contains ordinary calls can deserialize as the wrong opcode or fail after reading the wrong payload. Keep dead/reserved variants in this slot or add explicit bytecode versioning/migration before changing the tag space.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 234 to 236
/// Only recursive aliases survive lower_ty; non-recursive are expanded.
#[axis(special)]
TypeAlias(TypeName, TyAttr),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Preserve type-family discriminants when removing WatchAccessor

Generated and packed bytecode persists Program values with Borsh, and those programs contain RuntimeTy/TyTemplate values. This master enum uses declaration order for Borsh tags, so deleting the middle WatchAccessor slot reindexes TypeAlias, TypeVar, AssociatedTypeProjection, BuiltinUnknown, and the rest of the tail; existing bytecode with any of those common types can decode as a different type or fail. Leave a deprecated/reserved variant in this position or version/migrate the serialized format instead of collapsing the tags.

Useful? React with 👍 / 👎.

@vercel
vercel Bot temporarily deployed to Preview – promptfiddle2 July 13, 2026 21:27 Inactive
@github-actions

github-actions Bot commented Jul 13, 2026 •

Copy link
Copy Markdown

Binary size checks passed

✅ 7 passed

Artifact Platform File Gzip Gated on Baseline Delta Status
✅ baml-cli Linux 🔒 22.0 MB 9.4 MB file 21.5 MB +466.3 KB (+2.2%) OK
✅ packed-program Linux 🔒 15.8 MB 6.7 MB file 15.6 MB +138.7 KB (+0.9%) OK
✅ baml-cli macOS 🔒 16.9 MB 8.2 MB file 16.6 MB +349.6 KB (+2.1%) OK
✅ packed-program macOS 🔒 12.2 MB 5.9 MB file 12.1 MB +67.6 KB (+0.6%) OK
✅ baml-cli Windows 🔒 18.5 MB 8.4 MB file 18.1 MB +346.6 KB (+1.9%) OK
✅ packed-program Windows 🔒 13.1 MB 5.9 MB file 13.0 MB +50.6 KB (+0.4%) OK
✅ bridge_wasm WASM 14.5 MB 🔒 4.1 MB gzip 4.1 MB +57.7 KB (+1.4%) 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.


Generated by cargo size-gate · workflow run

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (4)
baml_language/crates/bex_engine/README.md (1)

101-107: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Document the Event variant in the state table.

The diagram now shows Event (custom), and baml_language/crates/bex_engine/src/lib.rs handles VmExecState::Event at Line 5046, but this “VmExecState Variants” table lists only Complete, ScheduleFuture, and Await. Add the custom event row and its stack/resume behavior.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@baml_language/crates/bex_engine/README.md` around lines 101 - 107, Update the
“VmExecState Variants” table in README.md to add the Event variant, documenting
its custom-event purpose and the corresponding stack/resume behavior handled by
VmExecState::Event in lib.rs. Keep the existing variant descriptions unchanged.
baml_language/crates/bex_engine/src/lib.rs (1)

1453-1479: 🩺 Stability & Availability | 🟠 Major | 🏗️ Heavy lift

Handle EarlyYield during $init. VmExecState::EarlyYield is a real VM state and the main loop parks at the safepoint, but this init loop treats it as InitFailed. Route it through the same safepoint path here, or make $init explicitly non-yielding.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@baml_language/crates/bex_engine/src/lib.rs` around lines 1453 - 1479, Handle
VmExecState::EarlyYield in the $init execution loop alongside other
safepoint-yielding states, routing it through the same continuation/safepoint
handling used by the main VM loop instead of returning InitFailed. Preserve
completion, event handling, and unexpected-state behavior in the surrounding
vm.exec match.

Source: Coding guidelines

baml_language/crates/bex_vm_types/src/bytecode.rs (1)

494-499: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Keep Instruction discriminants stable. baml pack borsh-serializes Program (which contains Function.bytecode.instructions), and bex_project::new_from_bytecode deserializes that payload, so removing variants from the middle will break existing packed artifacts.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@baml_language/crates/bex_vm_types/src/bytecode.rs` around lines 494 - 499,
Preserve stable numeric discriminants for the Instruction enum around AwaitAny
and subsequent variants, since serialized Program bytecode depends on them. Do
not remove or reorder existing variants; retain deprecated entries in place and
append any new variants only at the end.
baml_language/crates/baml_compiler2_emit/src/verifier.rs (1)

84-86: 🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Test module needs Local and StatementKind in scope
stmt_assign still uses both, and the switch tests call stmt_assign(Local(0), 1). Add them to the test import instead of the production import to avoid an unused-import warning there.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@baml_language/crates/baml_compiler2_emit/src/verifier.rs` around lines 84 -
86, Update the verifier test module’s imports to bring Local and StatementKind
into scope, allowing stmt_assign and switch tests to compile. Keep these symbols
out of the production import list so it does not gain unused-import warnings.

Source: Coding guidelines

🧹 Nitpick comments (1)
baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py (1)

27-27: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick win

Removed watch_accessor field number likely not reserved in source .proto.

Decoding the embedded descriptor bytes shows the BamlTy oneof jumps from void (field 20) straight to type_var (field 22), with no evidence of a reserved range covering the dropped field 21 (formerly watch_accessor). Per protobuf best practice, deleted field numbers/names should be explicitly reserved in the .proto source to prevent accidental reuse in future schema changes, since reusing a field number with a different type can corrupt wire data for mixed old/new binaries.

This file is generated from baml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.proto (part of a different layer in this PR stack), so the actual fix belongs there (e.g. reserved 21; reserved "watch_accessor"; inside BamlTy).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py` at line
27, Update the BamlTy message in the source protobuf definition to reserve field
number 21 and the removed watch_accessor field name, then regenerate the Python
descriptor output so it reflects the reserved schema.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@baml_language/crates/baml_compiler2_emit/src/verifier.rs`:
- Around line 84-86: Update the verifier test module’s imports to bring Local
and StatementKind into scope, allowing stmt_assign and switch tests to compile.
Keep these symbols out of the production import list so it does not gain
unused-import warnings.

In `@baml_language/crates/bex_engine/README.md`:
- Around line 101-107: Update the “VmExecState Variants” table in README.md to
add the Event variant, documenting its custom-event purpose and the
corresponding stack/resume behavior handled by VmExecState::Event in lib.rs.
Keep the existing variant descriptions unchanged.

In `@baml_language/crates/bex_engine/src/lib.rs`:
- Around line 1453-1479: Handle VmExecState::EarlyYield in the $init execution
loop alongside other safepoint-yielding states, routing it through the same
continuation/safepoint handling used by the main VM loop instead of returning
InitFailed. Preserve completion, event handling, and unexpected-state behavior
in the surrounding vm.exec match.

In `@baml_language/crates/bex_vm_types/src/bytecode.rs`:
- Around line 494-499: Preserve stable numeric discriminants for the Instruction
enum around AwaitAny and subsequent variants, since serialized Program bytecode
depends on them. Do not remove or reorder existing variants; retain deprecated
entries in place and append any new variants only at the end.

---

Nitpick comments:
In `@baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py`:
- Line 27: Update the BamlTy message in the source protobuf definition to
reserve field number 21 and the removed watch_accessor field name, then
regenerate the Python descriptor output so it reflects the reserved schema.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: e759d35a-3388-4074-9291-ce25ea015259

📥 Commits

Reviewing files that changed from the base of the PR and between a05ec5a and 199a07c.

⛔ Files ignored due to path filters (13)
  • baml_language/crates/baml_tests/snapshots/baml_src/_root.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/lambdas.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/watch.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__01_lexer__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__02_parser__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__03_hir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_5_mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_tir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__06_codegen.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__10_formatter__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_type.pb.go is excluded by !**/*.pb.go
  • baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.d.ts is excluded by !**/dist/**
  • baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.js is excluded by !**/dist/**
📒 Files selected for processing (75)
  • baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yaml
  • baml_language/crates/baml_cli/src/paint.rs
  • baml_language/crates/baml_compiler2_ast/src/ast.rs
  • baml_language/crates/baml_compiler2_ast/src/disambiguate.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_expr_body.rs
  • baml_language/crates/baml_compiler2_emit/src/analysis.rs
  • baml_language/crates/baml_compiler2_emit/src/emit.rs
  • baml_language/crates/baml_compiler2_emit/src/pull_semantics.rs
  • baml_language/crates/baml_compiler2_emit/src/stack_carry.rs
  • baml_language/crates/baml_compiler2_emit/src/verifier.rs
  • baml_language/crates/baml_compiler2_mir/src/builder.rs
  • baml_language/crates/baml_compiler2_mir/src/ir.rs
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_mir/src/optimize.rs
  • baml_language/crates/baml_compiler2_mir/src/pretty.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
  • baml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rs
  • baml_language/crates/baml_compiler2_tir/src/exhaustiveness.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rs
  • baml_language/crates/baml_compiler2_tir/src/normalize.rs
  • baml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rs
  • baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
  • baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
  • baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
  • baml_language/crates/baml_compiler_lexer/src/tokens.rs
  • baml_language/crates/baml_compiler_parser/src/parser.rs
  • baml_language/crates/baml_compiler_syntax/src/ast.rs
  • baml_language/crates/baml_compiler_syntax/src/syntax_kind.rs
  • baml_language/crates/baml_exec/src/auto_cli.rs
  • baml_language/crates/baml_fmt/src/ast/statements.rs
  • baml_language/crates/baml_fmt/src/ast/tokens.rs
  • baml_language/crates/baml_lsp2_actions/src/completions_tests.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.baml
  • baml_language/crates/baml_project/src/client_codegen.rs
  • baml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.baml
  • baml_language/crates/baml_tests/baml_src/ns_watch/watch.baml
  • baml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.baml
  • baml_language/crates/baml_tests/tests/incremental_typing_repro.rs
  • baml_language/crates/baml_type/src/family.rs
  • baml_language/crates/baml_type/src/lib.rs
  • baml_language/crates/baml_type/src/normalize.rs
  • baml_language/crates/baml_type/src/runtime_ty.rs
  • baml_language/crates/baml_type/src/template.rs
  • baml_language/crates/baml_type/tests/simplify_sap_tests.rs
  • baml_language/crates/bex_engine/README.md
  • baml_language/crates/bex_engine/src/conversion.rs
  • baml_language/crates/bex_engine/src/lib.rs
  • baml_language/crates/bex_engine/src/trace_value_encode.rs
  • baml_language/crates/bex_events/src/prof/proto/bamlprof.proto
  • baml_language/crates/bex_sap/src/sap_model/convert.rs
  • baml_language/crates/bex_vm/README.md
  • baml_language/crates/bex_vm/src/debug.rs
  • baml_language/crates/bex_vm/src/lib.rs
  • baml_language/crates/bex_vm/src/package_baml/json.rs
  • baml_language/crates/bex_vm/src/package_baml/resolve.rs
  • baml_language/crates/bex_vm/src/type_match.rs
  • baml_language/crates/bex_vm/src/vm.rs
  • baml_language/crates/bex_vm/src/watch.rs
  • baml_language/crates/bex_vm/tests/call_notifications.rs
  • baml_language/crates/bex_vm/tests/deep_equals_bigint.rs
  • baml_language/crates/bex_vm/tests/watch_gc.rs
  • baml_language/crates/bex_vm_types/src/bytecode.rs
  • baml_language/crates/bex_vm_types/src/errors.rs
  • baml_language/crates/bridge_ctypes/src/ty_decode.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_llm/src/types/output_format.rs
  • baml_language/crates/tools_onionskin/src/compiler.rs
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.ts
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.js
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyi
  • baml_language/sdks/python/src/baml_bridge/proto.py
💤 Files with no reviewable changes (35)
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.baml
  • baml_language/crates/baml_tests/baml_src/ns_watch/watch.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.baml
  • baml_language/crates/bex_vm/tests/watch_gc.rs
  • baml_language/crates/tools_onionskin/src/compiler.rs
  • baml_language/crates/baml_compiler2_mir/src/pretty.rs
  • baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yaml
  • baml_language/crates/baml_cli/src/paint.rs
  • baml_language/crates/baml_fmt/src/ast/tokens.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
  • baml_language/crates/bex_vm/src/lib.rs
  • baml_language/crates/bex_vm/tests/call_notifications.rs
  • baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
  • baml_language/crates/baml_compiler2_ast/src/ast.rs
  • baml_language/crates/bex_events/src/prof/proto/bamlprof.proto
  • baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
  • baml_language/crates/bex_engine/src/trace_value_encode.rs
  • baml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.baml
  • baml_language/crates/baml_compiler2_mir/src/ir.rs
  • baml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rs
  • baml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.baml
  • baml_language/crates/bex_vm/src/watch.rs
  • baml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rs
  • baml_language/crates/baml_type/src/family.rs
  • baml_language/crates/baml_compiler_syntax/src/syntax_kind.rs
  • baml_language/crates/baml_compiler2_emit/src/pull_semantics.rs
  • baml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.proto
  • baml_language/crates/bridge_ctypes/src/ty_decode.rs
  • baml_language/crates/sys_llm/src/types/output_format.rs
  • baml_language/crates/baml_type/src/runtime_ty.rs
  • baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
  • baml_language/crates/bex_vm/src/package_baml/json.rs
  • baml_language/crates/bex_vm/src/type_match.rs
  • baml_language/crates/bex_vm_types/src/errors.rs
  • baml_language/crates/bex_sap/src/sap_model/convert.rs

@vercel
vercel Bot temporarily deployed to Preview – promptfiddle July 13, 2026 21:41 Inactive
@sxlijin
sxlijin force-pushed the push-wkmlotzskxuv branch from 199a07c to 98bcd5c Compare July 13, 2026 22:22
@vercel
vercel Bot temporarily deployed to Preview – beps July 13, 2026 22:23 Inactive
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle2 July 13, 2026 22:31 Inactive

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
baml_language/sdks/go/bridge_go/pkg/host_value.go (1)

580-611: 🗄️ Data Integrity & Integration | 🔵 Trivial | 💤 Low value

Remove the unused host-call error category plumbing sendHostCallableError drops hostCallableErrorCategory, and buildHostCallableInbound has no field for it, so the enum/arg currently adds dead code. Either thread it through the payload or delete the type/constants and unused parameter.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@baml_language/sdks/go/bridge_go/pkg/host_value.go` around lines 580 - 611,
Remove the unused hostCallableErrorCategory type and its constants, then remove
the corresponding parameter from sendHostCallableError and update all call sites
to match the simplified signature. Keep the existing payload construction and
error-marshaling behavior unchanged.
baml_language/crates/baml_lsp2_actions/src/completions_tests.rs (1)

720-720: 🎯 Functional Correctness | 🔵 Trivial

Run cargo test --lib -p baml_lsp2_actions from baml_language/.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@baml_language/crates/baml_lsp2_actions/src/completions_tests.rs` at line 720,
Run the library test suite for the baml_lsp2_actions package from the
baml_language workspace, using cargo test --lib -p baml_lsp2_actions, and verify
the completion tests involving SimulateHumanGuess pass.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@baml_language/crates/baml_lsp2_actions/src/completions_tests.rs`:
- Line 720: Run the library test suite for the baml_lsp2_actions package from
the baml_language workspace, using cargo test --lib -p baml_lsp2_actions, and
verify the completion tests involving SimulateHumanGuess pass.

In `@baml_language/sdks/go/bridge_go/pkg/host_value.go`:
- Around line 580-611: Remove the unused hostCallableErrorCategory type and its
constants, then remove the corresponding parameter from sendHostCallableError
and update all call sites to match the simplified signature. Keep the existing
payload construction and error-marshaling behavior unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 563c4aad-8bac-47b4-9be0-e8ac9323f882

📥 Commits

Reviewing files that changed from the base of the PR and between 199a07c and 98bcd5c.

⛔ Files ignored due to path filters (13)
  • baml_language/crates/baml_tests/snapshots/baml_src/_root.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/lambdas.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/watch.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__01_lexer__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__02_parser__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__03_hir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_5_mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_tir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__06_codegen.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__10_formatter__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_type.pb.go is excluded by !**/*.pb.go
  • baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.d.ts is excluded by !**/dist/**
  • baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.js is excluded by !**/dist/**
📒 Files selected for processing (82)
  • baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yaml
  • baml_language/crates/baml_cli/src/paint.rs
  • baml_language/crates/baml_compiler2_ast/src/ast.rs
  • baml_language/crates/baml_compiler2_ast/src/disambiguate.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_expr_body.rs
  • baml_language/crates/baml_compiler2_emit/src/analysis.rs
  • baml_language/crates/baml_compiler2_emit/src/emit.rs
  • baml_language/crates/baml_compiler2_emit/src/pull_semantics.rs
  • baml_language/crates/baml_compiler2_emit/src/stack_carry.rs
  • baml_language/crates/baml_compiler2_emit/src/verifier.rs
  • baml_language/crates/baml_compiler2_mir/src/builder.rs
  • baml_language/crates/baml_compiler2_mir/src/ir.rs
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_mir/src/optimize.rs
  • baml_language/crates/baml_compiler2_mir/src/pretty.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
  • baml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rs
  • baml_language/crates/baml_compiler2_tir/src/exhaustiveness.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rs
  • baml_language/crates/baml_compiler2_tir/src/normalize.rs
  • baml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rs
  • baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
  • baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
  • baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
  • baml_language/crates/baml_compiler_lexer/src/tokens.rs
  • baml_language/crates/baml_compiler_parser/src/parser.rs
  • baml_language/crates/baml_compiler_syntax/src/ast.rs
  • baml_language/crates/baml_compiler_syntax/src/syntax_kind.rs
  • baml_language/crates/baml_exec/src/auto_cli.rs
  • baml_language/crates/baml_fmt/src/ast/statements.rs
  • baml_language/crates/baml_fmt/src/ast/tokens.rs
  • baml_language/crates/baml_lsp2_actions/src/completions_tests.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.baml
  • baml_language/crates/baml_project/src/client_codegen.rs
  • baml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.baml
  • baml_language/crates/baml_tests/baml_src/ns_watch/watch.baml
  • baml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.baml
  • baml_language/crates/baml_tests/tests/incremental_typing_repro.rs
  • baml_language/crates/baml_type/src/family.rs
  • baml_language/crates/baml_type/src/lib.rs
  • baml_language/crates/baml_type/src/normalize.rs
  • baml_language/crates/baml_type/src/runtime_ty.rs
  • baml_language/crates/baml_type/src/template.rs
  • baml_language/crates/baml_type/tests/simplify_sap_tests.rs
  • baml_language/crates/bex_engine/README.md
  • baml_language/crates/bex_engine/src/conversion.rs
  • baml_language/crates/bex_engine/src/lib.rs
  • baml_language/crates/bex_engine/src/trace_value_encode.rs
  • baml_language/crates/bex_events/src/prof/proto/bamlprof.proto
  • baml_language/crates/bex_sap/src/sap_model/convert.rs
  • baml_language/crates/bex_vm/README.md
  • baml_language/crates/bex_vm/src/debug.rs
  • baml_language/crates/bex_vm/src/lib.rs
  • baml_language/crates/bex_vm/src/package_baml/json.rs
  • baml_language/crates/bex_vm/src/package_baml/resolve.rs
  • baml_language/crates/bex_vm/src/type_match.rs
  • baml_language/crates/bex_vm/src/vm.rs
  • baml_language/crates/bex_vm/src/watch.rs
  • baml_language/crates/bex_vm/tests/call_notifications.rs
  • baml_language/crates/bex_vm/tests/deep_equals_bigint.rs
  • baml_language/crates/bex_vm/tests/watch_gc.rs
  • baml_language/crates/bex_vm_types/src/bytecode.rs
  • baml_language/crates/bex_vm_types/src/errors.rs
  • baml_language/crates/bridge_ctypes/src/ty_decode.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_llm/src/types/output_format.rs
  • baml_language/crates/tools_onionskin/src/compiler.rs
  • baml_language/sdks/go/bridge_go/cffi/bridge.h
  • baml_language/sdks/go/bridge_go/cffi/lib.go
  • baml_language/sdks/go/bridge_go/pkg/host_value.go
  • baml_language/sdks/go/bridge_go/pkg/host_value_internal_test.go
  • baml_language/sdks/go/bridge_go/pkg/proto.go
  • baml_language/sdks/go/bridge_go/pkg/runtime.go
  • baml_language/sdks/go/bridge_go/pkg/tests/call_function_test.go
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.ts
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.js
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyi
  • baml_language/sdks/python/src/baml_bridge/proto.py
💤 Files with no reviewable changes (35)
  • baml_language/crates/bex_vm/tests/watch_gc.rs
  • baml_language/crates/baml_compiler2_ast/src/ast.rs
  • baml_language/crates/baml_fmt/src/ast/tokens.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.baml
  • baml_language/crates/baml_cli/src/paint.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.baml
  • baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
  • baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
  • baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
  • baml_language/crates/bex_vm/src/lib.rs
  • baml_language/crates/baml_tests/baml_src/ns_watch/watch.baml
  • baml_language/crates/baml_type/src/family.rs
  • baml_language/crates/bridge_ctypes/src/ty_decode.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
  • baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yaml
  • baml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rs
  • baml_language/crates/bex_engine/src/trace_value_encode.rs
  • baml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.baml
  • baml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.proto
  • baml_language/crates/baml_compiler2_mir/src/pretty.rs
  • baml_language/crates/bex_vm/tests/call_notifications.rs
  • baml_language/crates/bex_vm_types/src/errors.rs
  • baml_language/crates/baml_compiler_syntax/src/syntax_kind.rs
  • baml_language/crates/bex_vm/src/watch.rs
  • baml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rs
  • baml_language/crates/baml_type/src/runtime_ty.rs
  • baml_language/crates/bex_sap/src/sap_model/convert.rs
  • baml_language/crates/sys_llm/src/types/output_format.rs
  • baml_language/crates/bex_events/src/prof/proto/bamlprof.proto
  • baml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.baml
  • baml_language/crates/baml_compiler2_mir/src/ir.rs
  • baml_language/crates/tools_onionskin/src/compiler.rs
  • baml_language/crates/bex_vm/src/type_match.rs
  • baml_language/crates/baml_compiler2_emit/src/pull_semantics.rs
  • baml_language/crates/bex_vm/src/package_baml/json.rs
🚧 Files skipped from review as they are similar to previous changes (37)
  • baml_language/crates/baml_compiler2_ast/src/disambiguate.rs
  • baml_language/sdks/python/src/baml_bridge/proto.py
  • baml_language/crates/baml_exec/src/auto_cli.rs
  • baml_language/crates/baml_compiler2_tir/src/exhaustiveness.rs
  • baml_language/crates/baml_project/src/client_codegen.rs
  • baml_language/crates/bex_engine/README.md
  • baml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rs
  • baml_language/crates/baml_type/tests/simplify_sap_tests.rs
  • baml_language/crates/bex_vm/tests/deep_equals_bigint.rs
  • baml_language/crates/baml_compiler2_tir/src/normalize.rs
  • baml_language/crates/bex_vm/README.md
  • baml_language/crates/baml_compiler2_emit/src/stack_carry.rs
  • baml_language/crates/baml_compiler_lexer/src/tokens.rs
  • baml_language/crates/baml_compiler2_mir/src/builder.rs
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py
  • baml_language/crates/bridge_ctypes/src/ty_encode.rs
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.ts
  • baml_language/crates/bex_vm/src/debug.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rs
  • baml_language/crates/baml_compiler_syntax/src/ast.rs
  • baml_language/crates/baml_compiler2_mir/src/optimize.rs
  • baml_language/crates/baml_compiler2_emit/src/analysis.rs
  • baml_language/crates/baml_compiler2_emit/src/emit.rs
  • baml_language/crates/baml_type/src/template.rs
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.js
  • baml_language/crates/baml_type/src/normalize.rs
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyi
  • baml_language/crates/bex_engine/src/conversion.rs
  • baml_language/crates/baml_fmt/src/ast/statements.rs
  • baml_language/crates/baml_compiler_parser/src/parser.rs
  • baml_language/crates/baml_type/src/lib.rs
  • baml_language/crates/baml_compiler2_emit/src/verifier.rs
  • baml_language/crates/bex_engine/src/lib.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_expr_body.rs
  • baml_language/crates/bex_vm_types/src/bytecode.rs
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/bex_vm/src/vm.rs

@vercel
vercel Bot temporarily deployed to Preview – promptfiddle July 13, 2026 22:44 Inactive
@sxlijin
sxlijin force-pushed the push-wkmlotzskxuv branch from 98bcd5c to f02a7bd Compare July 13, 2026 23:18
@vercel
vercel Bot temporarily deployed to Preview – beps July 13, 2026 23:20 Inactive
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle2 July 13, 2026 23:26 Inactive
@sxlijin
sxlijin force-pushed the push-wkmlotzskxuv branch from f02a7bd to 30e8eb4 Compare July 13, 2026 23:37
@vercel
vercel Bot temporarily deployed to Preview – beps July 13, 2026 23:38 Inactive

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
baml_language/crates/bex_project/src/bex_lsp/multi_project/notification.rs (1)

180-198: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

didSave should not remove the overlay entry. in_memory_changes stores text and version together, so this remove() clears the open-document version too. Keep the overlay until didClose; otherwise later refreshes can publish this file without its saved editor version.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@baml_language/crates/bex_project/src/bex_lsp/multi_project/notification.rs`
around lines 180 - 198, The on_notification_did_save implementation must
preserve the in_memory_changes entry after saving. Remove the
in_memory_changes.remove call and keep the overlay, including its text and
version, until the existing didClose cleanup path handles it; leave the project
lookup and successful return unchanged.
🧹 Nitpick comments (1)
typescript2/pkg-playground/src/ports/WebSocketRuntimePort.test.ts (1)

367-403: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Test doesn't verify the lease actually survives a reconnect.

This test only checks that both messages pass through the already-open socket verbatim — it never reconnects to confirm the mismatched-incarnation releaseProjectRuntime left the standing lease intact. Contrast with the "re-sends the standing lease after every hello" test (Lines 271-332), which asserts retention via a serverClose + reconnect + compatibleHello. As written, a regression that clears the lease on any release (regardless of incarnation) would not be caught here.

♻️ Suggested addition to actually verify retention across reconnect
     expect(socket.parsedSent()).toEqual([
       {
         type: 'ensureProjectRuntime',
         requestId: 40,
         project: '/selected',
         incarnation: 7,
       },
       {
         type: 'releaseProjectRuntime',
         requestId: 41,
         project: '/selected',
         incarnation: 6,
       },
     ]);
+
+    socket.serverClose();
+    vi.useFakeTimers();
+    vi.advanceTimersByTime(500);
+    const reconnected = FakeWebSocket.instances[1]!;
+    reconnected.open();
+    compatibleHello(reconnected);
+    expect(reconnected.parsedSent()).toEqual([
+      { type: 'requestState' },
+      {
+        type: 'ensureProjectRuntime',
+        requestId: 40,
+        project: '/selected',
+        incarnation: 7,
+      },
+    ]);
     port.dispose();
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@typescript2/pkg-playground/src/ports/WebSocketRuntimePort.test.ts` around
lines 367 - 403, Strengthen the test “keeps the lease when a release names a
different incarnation” by closing the active socket with serverClose, creating
or using the reconnecting socket, completing compatibleHello, and asserting the
standing ensureProjectRuntime lease is resent with incarnation 7. Keep the
existing assertions that both original messages were forwarded, and ensure the
reconnect assertion proves the mismatched release did not clear the lease.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@baml_language/crates/bex_project/src/bex_lsp/multi_project/notification.rs`:
- Around line 180-198: The on_notification_did_save implementation must preserve
the in_memory_changes entry after saving. Remove the in_memory_changes.remove
call and keep the overlay, including its text and version, until the existing
didClose cleanup path handles it; leave the project lookup and successful return
unchanged.

---

Nitpick comments:
In `@typescript2/pkg-playground/src/ports/WebSocketRuntimePort.test.ts`:
- Around line 367-403: Strengthen the test “keeps the lease when a release names
a different incarnation” by closing the active socket with serverClose, creating
or using the reconnecting socket, completing compatibleHello, and asserting the
standing ensureProjectRuntime lease is resent with incarnation 7. Keep the
existing assertions that both original messages were forwarded, and ensure the
reconnect assertion proves the mismatched release did not clear the lease.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: c8743888-3850-4bd0-adf5-e487d44c3383

📥 Commits

Reviewing files that changed from the base of the PR and between 98bcd5c and f02a7bd.

⛔ Files ignored due to path filters (14)
  • baml_language/Cargo.lock is excluded by !**/*.lock
  • baml_language/crates/baml_tests/snapshots/baml_src/_root.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/lambdas.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/watch.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__01_lexer__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__02_parser__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__03_hir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_5_mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_tir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__06_codegen.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__10_formatter__lexical_scoping.snap is excluded by !**/*.snap
  • baml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_type.pb.go is excluded by !**/*.pb.go
  • baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.d.ts is excluded by !**/dist/**
  • baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.js is excluded by !**/dist/**
📒 Files selected for processing (125)
  • CONTRIBUTING.md
  • README-DEV.md
  • baml_language/TEST_INSTRUCTIONS.md
  • baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yaml
  • baml_language/crates/baml_cli/src/paint.rs
  • baml_language/crates/baml_compiler2_ast/src/ast.rs
  • baml_language/crates/baml_compiler2_ast/src/disambiguate.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_expr_body.rs
  • baml_language/crates/baml_compiler2_emit/src/analysis.rs
  • baml_language/crates/baml_compiler2_emit/src/emit.rs
  • baml_language/crates/baml_compiler2_emit/src/pull_semantics.rs
  • baml_language/crates/baml_compiler2_emit/src/stack_carry.rs
  • baml_language/crates/baml_compiler2_emit/src/verifier.rs
  • baml_language/crates/baml_compiler2_mir/src/builder.rs
  • baml_language/crates/baml_compiler2_mir/src/ir.rs
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_mir/src/optimize.rs
  • baml_language/crates/baml_compiler2_mir/src/pretty.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
  • baml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rs
  • baml_language/crates/baml_compiler2_tir/src/exhaustiveness.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rs
  • baml_language/crates/baml_compiler2_tir/src/normalize.rs
  • baml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rs
  • baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
  • baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
  • baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
  • baml_language/crates/baml_compiler_lexer/src/tokens.rs
  • baml_language/crates/baml_compiler_parser/src/parser.rs
  • baml_language/crates/baml_compiler_syntax/src/ast.rs
  • baml_language/crates/baml_compiler_syntax/src/syntax_kind.rs
  • baml_language/crates/baml_exec/src/auto_cli.rs
  • baml_language/crates/baml_fmt/src/ast/statements.rs
  • baml_language/crates/baml_fmt/src/ast/tokens.rs
  • baml_language/crates/baml_lsp2_actions/src/annotations.rs
  • baml_language/crates/baml_lsp2_actions/src/completions_tests.rs
  • baml_language/crates/baml_lsp2_actions/src/lib.rs
  • baml_language/crates/baml_lsp2_actions/src/tokens.rs
  • baml_language/crates/baml_lsp2_actions_tests/Cargo.toml
  • baml_language/crates/baml_lsp2_actions_tests/src/lib.rs
  • baml_language/crates/baml_lsp2_actions_tests/src/memoization.rs
  • baml_language/crates/baml_lsp2_actions_tests/src/runner.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.baml
  • baml_language/crates/baml_lsp_server/Cargo.toml
  • baml_language/crates/baml_lsp_server/src/lib.rs
  • baml_language/crates/baml_lsp_server/src/lsp_ingress.rs
  • baml_language/crates/baml_lsp_server/src/lsp_runtime.rs
  • baml_language/crates/baml_lsp_server/src/native_lsp_sender.rs
  • baml_language/crates/baml_lsp_server/src/playground_server.rs
  • baml_language/crates/baml_project/src/client_codegen.rs
  • baml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.baml
  • baml_language/crates/baml_tests/baml_src/ns_watch/watch.baml
  • baml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.baml
  • baml_language/crates/baml_tests/tests/incremental_typing_repro.rs
  • baml_language/crates/baml_type/src/family.rs
  • baml_language/crates/baml_type/src/lib.rs
  • baml_language/crates/baml_type/src/normalize.rs
  • baml_language/crates/baml_type/src/runtime_ty.rs
  • baml_language/crates/baml_type/src/template.rs
  • baml_language/crates/baml_type/tests/simplify_sap_tests.rs
  • baml_language/crates/bex_engine/README.md
  • baml_language/crates/bex_engine/src/conversion.rs
  • baml_language/crates/bex_engine/src/lib.rs
  • baml_language/crates/bex_engine/src/trace_value_encode.rs
  • baml_language/crates/bex_events/src/prof/proto/bamlprof.proto
  • baml_language/crates/bex_project/Cargo.toml
  • baml_language/crates/bex_project/src/bex_lsp/mod.rs
  • baml_language/crates/bex_project/src/bex_lsp/multi_project/diagnostics.rs
  • baml_language/crates/bex_project/src/bex_lsp/multi_project/mod.rs
  • baml_language/crates/bex_project/src/bex_lsp/multi_project/notification.rs
  • baml_language/crates/bex_project/src/bex_lsp/multi_project/request.rs
  • baml_language/crates/bex_project/src/bex_lsp/notification.rs
  • baml_language/crates/bex_project/src/bex_lsp/position_codec.rs
  • baml_language/crates/bex_project/src/bex_lsp/request.rs
  • baml_language/crates/bex_project/src/bex_lsp/request_cancellation.rs
  • baml_language/crates/bex_project/src/lib.rs
  • baml_language/crates/bex_project/src/project.rs
  • baml_language/crates/bex_sap/src/sap_model/convert.rs
  • baml_language/crates/bex_vm/README.md
  • baml_language/crates/bex_vm/src/debug.rs
  • baml_language/crates/bex_vm/src/lib.rs
  • baml_language/crates/bex_vm/src/package_baml/json.rs
  • baml_language/crates/bex_vm/src/package_baml/resolve.rs
  • baml_language/crates/bex_vm/src/type_match.rs
  • baml_language/crates/bex_vm/src/vm.rs
  • baml_language/crates/bex_vm/src/watch.rs
  • baml_language/crates/bex_vm/tests/call_notifications.rs
  • baml_language/crates/bex_vm/tests/deep_equals_bigint.rs
  • baml_language/crates/bex_vm/tests/watch_gc.rs
  • baml_language/crates/bex_vm_types/src/bytecode.rs
  • baml_language/crates/bex_vm_types/src/errors.rs
  • baml_language/crates/bridge_ctypes/src/ty_decode.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_llm/src/types/output_format.rs
  • baml_language/crates/tools_onionskin/src/compiler.rs
  • baml_language/sdks/go/bridge_go/cffi/bridge.h
  • baml_language/sdks/go/bridge_go/cffi/lib.go
  • baml_language/sdks/go/bridge_go/pkg/host_value.go
  • baml_language/sdks/go/bridge_go/pkg/host_value_internal_test.go
  • baml_language/sdks/go/bridge_go/pkg/proto.go
  • baml_language/sdks/go/bridge_go/pkg/runtime.go
  • baml_language/sdks/go/bridge_go/pkg/tests/call_function_test.go
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.ts
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.js
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyi
  • baml_language/sdks/python/src/baml_bridge/proto.py
  • docs/design/lsp-latency-and-mutex-fix.md
  • typescript2/app-promptfiddle/src/playground/baml-lsp-worker.ts
  • typescript2/app-vscode-ext/src/__tests__/projectRoots.test.ts
  • typescript2/app-vscode-ext/src/extension.ts
  • typescript2/app-vscode-ext/src/projectRoots.ts
  • typescript2/app-vscode-webview/src/ExecutionPanel.gating.test.tsx
  • typescript2/pkg-playground/src/ExecutionPanel.tsx
  • typescript2/pkg-playground/src/FunctionSidebar.tsx
  • typescript2/pkg-playground/src/ports/WebSocketRuntimePort.test.ts
  • typescript2/pkg-playground/src/ports/WebSocketRuntimePort.ts
  • typescript2/pkg-playground/src/run-gating.test.ts
  • typescript2/pkg-playground/src/run-gating.ts
  • typescript2/pkg-playground/src/run-store-client.test.ts
  • typescript2/pkg-playground/src/run-store-client.ts
  • typescript2/pkg-playground/src/worker-protocol.ts
💤 Files with no reviewable changes (32)
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.baml
  • baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yaml
  • baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
  • baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
  • baml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rs
  • baml_language/crates/bex_events/src/prof/proto/bamlprof.proto
  • baml_language/crates/sys_llm/src/types/output_format.rs
  • baml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.baml
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
  • baml_language/crates/bex_sap/src/sap_model/convert.rs
  • baml_language/crates/bex_vm_types/src/errors.rs
  • baml_language/crates/baml_tests/baml_src/ns_watch/watch.baml
  • baml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.baml
  • baml_language/crates/bex_vm/src/package_baml/json.rs
  • baml_language/crates/baml_compiler2_ast/src/ast.rs
  • baml_language/crates/bridge_ctypes/src/ty_decode.rs
  • baml_language/crates/bex_vm/src/watch.rs
  • baml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rs
  • baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
  • baml_language/crates/baml_fmt/src/ast/tokens.rs
  • baml_language/crates/baml_type/src/runtime_ty.rs
  • baml_language/crates/bex_engine/src/trace_value_encode.rs
  • baml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.proto
  • baml_language/crates/bex_vm/tests/call_notifications.rs
  • baml_language/crates/bex_vm/src/type_match.rs
  • baml_language/crates/baml_compiler2_mir/src/pretty.rs
  • baml_language/crates/baml_compiler_syntax/src/syntax_kind.rs
  • baml_language/crates/bex_vm/src/lib.rs
  • baml_language/crates/tools_onionskin/src/compiler.rs
  • baml_language/crates/baml_compiler2_emit/src/pull_semantics.rs
  • baml_language/crates/baml_compiler2_mir/src/ir.rs
🚧 Files skipped from review as they are similar to previous changes (41)
  • baml_language/crates/baml_compiler2_ast/src/disambiguate.rs
  • baml_language/crates/baml_lsp2_actions/src/completions_tests.rs
  • baml_language/crates/baml_project/src/client_codegen.rs
  • baml_language/crates/bex_vm/tests/deep_equals_bigint.rs
  • baml_language/sdks/python/src/baml_bridge/proto.py
  • baml_language/crates/baml_type/tests/simplify_sap_tests.rs
  • baml_language/crates/baml_exec/src/auto_cli.rs
  • baml_language/sdks/go/bridge_go/pkg/runtime.go
  • baml_language/sdks/go/bridge_go/pkg/tests/call_function_test.go
  • baml_language/sdks/go/bridge_go/pkg/proto.go
  • baml_language/sdks/go/bridge_go/cffi/lib.go
  • baml_language/sdks/go/bridge_go/cffi/bridge.h
  • baml_language/crates/baml_type/src/template.rs
  • baml_language/sdks/go/bridge_go/pkg/host_value_internal_test.go
  • baml_language/crates/baml_tests/tests/incremental_typing_repro.rs
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.ts
  • baml_language/crates/baml_compiler2_tir/src/exhaustiveness.rs
  • baml_language/crates/bex_vm/src/package_baml/resolve.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rs
  • baml_language/crates/baml_compiler_lexer/src/tokens.rs
  • baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.js
  • baml_language/crates/bridge_ctypes/src/ty_encode.rs
  • baml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rs
  • baml_language/crates/baml_compiler2_emit/src/stack_carry.rs
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py
  • baml_language/crates/baml_compiler2_mir/src/optimize.rs
  • baml_language/crates/baml_type/src/lib.rs
  • baml_language/crates/baml_compiler_syntax/src/ast.rs
  • baml_language/crates/baml_compiler2_mir/src/builder.rs
  • baml_language/crates/baml_compiler_parser/src/parser.rs
  • baml_language/crates/baml_fmt/src/ast/statements.rs
  • baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyi
  • baml_language/crates/baml_compiler2_emit/src/emit.rs
  • baml_language/crates/bex_vm_types/src/bytecode.rs
  • baml_language/crates/bex_engine/src/conversion.rs
  • baml_language/sdks/go/bridge_go/pkg/host_value.go
  • baml_language/crates/bex_vm/src/debug.rs
  • baml_language/crates/baml_compiler2_emit/src/verifier.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_expr_body.rs
  • baml_language/crates/bex_vm/src/vm.rs
  • baml_language/crates/baml_compiler2_mir/src/lower.rs

@vercel
vercel Bot temporarily deployed to Preview – promptfiddle2 July 13, 2026 23:45 Inactive
@sxlijin
sxlijin force-pushed the push-wkmlotzskxuv branch from 30e8eb4 to 207d8b7 Compare July 13, 2026 23:47
@vercel
vercel Bot temporarily deployed to Preview – beps July 13, 2026 23:48 Inactive
@sxlijin
sxlijin force-pushed the push-wkmlotzskxuv branch from 207d8b7 to e19bc7f Compare July 13, 2026 23:50
@vercel
vercel Bot temporarily deployed to Preview – beps July 13, 2026 23:51 Inactive
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle2 July 13, 2026 23:57 Inactive
@sxlijin sxlijin closed this Jul 14, 2026
@sxlijin
sxlijin deleted the push-wkmlotzskxuv branch July 14, 2026 00:00
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle July 14, 2026 00:11 Inactive

This branch was previously deployed

3 inactive deployments
Preview – promptfiddle — e19bc7f6 Deployed Jul 14, 2026 by vercel[bot]
Preview – promptfiddle2 — e19bc7f6 Deployed Jul 13, 2026 by vercel[bot]
Preview – beps — e19bc7f6 Deployed Jul 13, 2026 by vercel[bot]
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