Skip to content

Restore explicit local ID capture plumbing - #4066

Merged
rossirpaulo merged 6 commits into
canaryfrom
agent/restore-explicit-local-id-capture
Jul 21, 2026
Merged

rossirpaulo merged 6 commits into
canaryfrom
agent/restore-explicit-local-id-capture

Conversation

@rossirpaulo

@rossirpaulo rossirpaulo commented Jul 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Restores explicit call-site capture IDs using the trailing $id argument:

let id = boundary.id()
let value = SomeFunction(arg, $id = id)

The compiler now treats $id as structural call metadata owned by the TIR call plan instead of as a normal function parameter. MIR consumes that metadata directly and routes it through the existing direct, indirect, optional, virtual, union-dispatch, and sysop VM branches.

Root cause

The TIR cleanup accidentally changed $id into a rejected unknown call-site argument while lower layers still retained most of the runtime-ID plumbing. LLM-oriented playground paths continued to appear functional through other capture mechanisms, but arbitrary function-to-function propagation could no longer be expressed through the language.

Behavior

  • $id must be the final call argument.
  • Its value must have the exact type boundary.LocalId.
  • It does not participate in ordinary arity, default-parameter, or generic inference.
  • Duplicate, misplaced, and incorrectly typed values receive targeted diagnostics.
  • Native and host-callable targets retain catchable runtime rejection rather than receiving a new compile-time target restriction.
  • Existing VM behavior and capture artifact semantics remain unchanged.

Tests

Added or restored coverage for:

  • TIR call-plan structure, argument ordering, defaults, generics, and diagnostics
  • MIR propagation through direct, indirect, optional, virtual, union-dispatched, and sysop calls
  • bytecode selection for runtime-ID-aware call opcodes
  • input, output, and error capture artifacts
  • capture timing, ID reuse, and post-consumption mutation errors
  • nested identity restoration
  • native builtin and host-callable runtime rejection
  • native and WASM retained-history paths

Validation completed:

  • cargo check --workspace --all-targets
  • cargo test -p baml_tests --lib — 1,832 passed
  • cargo test -p bex_engine --test prof_gate — 32 passed
  • cargo test -p bex_engine --test identity — 19 passed
  • cargo test -p bex_engine --test host_value_callable — 18 passed
  • focused Clippy across all modified crates with -D warnings
  • formatting and diff checks

The workspace-wide Clippy hook also reports an unrelated existing duration_suboptimal_units warning in bex_cache; the modified crates pass focused Clippy.

Summary by CodeRabbit

  • New Features
    • Added support for explicitly supplying a runtime ID with $id = ... across direct calls, indirect/optional calls, virtual dispatch, unions, and system-operation calls.
    • Preserves the provided runtime ID for the callee while restoring the caller’s identity after the call.
  • Bug Fixes
    • Improved $id validation for duplicates, required placement, and type mismatches, with clearer $id-specific diagnostics.
    • Ensures $id does not affect ordinary argument counting or arity/type checking.
  • Tests
    • Expanded compiler, MIR, and VM end-to-end coverage for explicit runtime IDs and identity behavior.

@vercel

vercel Bot commented Jul 16, 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 21, 2026 6:03pm
promptfiddle Ready Ready Preview, Comment Jul 21, 2026 6:03pm
promptfiddle2 Ready Ready Preview, Comment Jul 21, 2026 6:03pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 16, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 0020c58f-6def-4f04-b2bf-6719bd05ba90

📥 Commits

Reviewing files that changed from the base of the PR and between f938427 and f61f5d6.

📒 Files selected for processing (7)
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
  • baml_language/crates/baml_compiler2_tir/src/infer_context.rs
  • baml_language/crates/baml_compiler2_tir/src/inference.rs
  • baml_language/crates/baml_lsp2_actions/src/check.rs
  • baml_language/crates/bex_cache/src/lib.rs
  • baml_language/crates/bex_engine/tests/host_value_callable.rs
🚧 Files skipped from review as they are similar to previous changes (5)
  • baml_language/crates/baml_compiler2_tir/src/infer_context.rs
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_tir/src/inference.rs
  • baml_language/crates/baml_lsp2_actions/src/check.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs

📝 Walkthrough

Walkthrough

Explicit $id arguments are validated as call side-channel metadata, excluded from ordinary arity, preserved through TIR and MIR, and emitted through runtime-id call instructions. Compiler, diagnostic, identity, error, profiling, and evaluation-order tests cover the behavior.

Changes

Runtime-id call side channel

Layer / File(s) Summary
TIR validation and call-plan contract
baml_language/crates/baml_compiler2_tir/src/{builder.rs,infer_context.rs,inference.rs}, baml_language/crates/baml_lsp2_actions/src/check.rs, baml_language/crates/baml_tests/src/compiler2_tir/phase3a.rs
$id arguments receive dedicated validation, do not affect ordinary arity, and are stored in CallSideChannels; diagnostics distinguish duplicate, misplaced, and mistyped values.
MIR runtime-id propagation
baml_language/crates/baml_compiler2_mir/src/lower.rs
MIR lowering reads runtime IDs from call plans, removes them from ordinary operands, and forwards them for direct and optional calls.
Compiler and bytecode validation
baml_language/crates/baml_tests/src/compiler2_mir/mod.rs, baml_language/crates/baml_tests/src/compiler2_emit/mod.rs
Tests verify runtime-id preservation and runtime-id instructions across direct, system, indirect, optional, virtual, and union calls.
Engine identity, errors, and profiling validation
baml_language/crates/bex_engine/tests/{host_value_callable.rs,identity.rs,prof_gate.rs}
Tests verify identity scoping, catchable invalid arguments, profiling artifacts, reuse handling, and single evaluation.
Diagnostic fixture update
baml_language/crates/baml_tests/projects/diagnostic_errors/runtime_id_misuse/runtime_id.baml
The misuse fixture uses the explicit $id = boundary.id() form.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant BAMLSource
  participant TIRBuilder
  participant CallPlan
  participant MIRLowering
  participant Bytecode
  BAMLSource->>TIRBuilder: parse call with $id
  TIRBuilder->>CallPlan: validate and store runtime_id
  CallPlan->>MIRLowering: provide side-channel runtime_id
  MIRLowering->>Bytecode: emit *WithRuntimeId instruction
Loading

Possibly related PRs

Suggested reviewers: sxlijin

Poem

I’m a rabbit with an ID in tow,
Through TIR’s paths the runtimes flow.
Calls stay neat, diagnostics clear,
Bytecode keeps the side-channel near.
Hop, hop—identity’s restored!

🚥 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 accurately summarizes the main change: restoring explicit local ID capture plumbing through the call pipeline.
Docstring Coverage ✅ Passed Docstring coverage is 95.65% 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 agent/restore-explicit-local-id-capture

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.

@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.

@vercel
vercel Bot temporarily deployed to Preview – beps July 16, 2026 21:31 Inactive
@rossirpaulo
rossirpaulo marked this pull request as ready for review July 16, 2026 21:32
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle2 July 16, 2026 21:39 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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
baml_language/crates/baml_lsp2_actions/src/check.rs (1)

1720-1862: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Consider adding RuntimeIdArgumentTypeMismatch to file-aware rendering.

source_aware_tir_type_error_message gives several Ty-embedding variants (TypeMismatch, NotCallable, OrderingRequiresCompare, …) file-aware type rendering via ty(), but the new RuntimeIdArgumentTypeMismatch { got } falls through to the generic Display impl, losing per-file qualified-name shortening for got.

♻️ Proposed addition
         TirTypeError::InvalidInterfaceUpcastTarget { target } => {
             format!("`.as<T>` requires an interface target, got {}", ty(target))
         }
+        TirTypeError::RuntimeIdArgumentTypeMismatch { got } => format!(
+            "`$id` at a call site expects `boundary.LocalId`, got {}",
+            ty(got)
+        ),
         _ => error.to_string(),
🤖 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/check.rs` around lines 1720 -
1862, Update source_aware_tir_type_error_message to explicitly handle
TirTypeError::RuntimeIdArgumentTypeMismatch, rendering its got type through the
existing ty() closure and preserving the generic error wording otherwise.
🤖 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.

Inline comments:
In `@baml_language/crates/baml_compiler2_tir/src/builder.rs`:
- Around line 2382-2397: Update has_named_args in the argument-processing logic
to exclude the special "$id" label, matching ordinary_arg_count’s filtering.
Ensure "$id" does not affect reported_positional_arity or missing-argument
diagnostic selection, while preserving normal named-argument detection for all
other labels.

---

Nitpick comments:
In `@baml_language/crates/baml_lsp2_actions/src/check.rs`:
- Around line 1720-1862: Update source_aware_tir_type_error_message to
explicitly handle TirTypeError::RuntimeIdArgumentTypeMismatch, rendering its got
type through the existing ty() closure and preserving the generic error wording
otherwise.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 876d1599-5f04-4832-ad49-f4d88d817c33

📥 Commits

Reviewing files that changed from the base of the PR and between 8af9bbc and f0bf650.

⛔ Files ignored due to path filters (6)
  • baml_language/crates/baml_tests/snapshots/diagnostic_errors/runtime_id_misuse/baml_tests__diagnostic_errors__runtime_id_misuse__01_lexer__runtime_id.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/diagnostic_errors/runtime_id_misuse/baml_tests__diagnostic_errors__runtime_id_misuse__02_parser__runtime_id.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/diagnostic_errors/runtime_id_misuse/baml_tests__diagnostic_errors__runtime_id_misuse__03_hir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/diagnostic_errors/runtime_id_misuse/baml_tests__diagnostic_errors__runtime_id_misuse__04_tir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/diagnostic_errors/runtime_id_misuse/baml_tests__diagnostic_errors__runtime_id_misuse__05_diagnostics.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/diagnostic_errors/runtime_id_misuse/baml_tests__diagnostic_errors__runtime_id_misuse__10_formatter__runtime_id.snap is excluded by !**/*.snap
📒 Files selected for processing (12)
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
  • baml_language/crates/baml_compiler2_tir/src/infer_context.rs
  • baml_language/crates/baml_compiler2_tir/src/inference.rs
  • baml_language/crates/baml_lsp2_actions/src/check.rs
  • baml_language/crates/baml_tests/projects/diagnostic_errors/runtime_id_misuse/runtime_id.baml
  • baml_language/crates/baml_tests/src/compiler2_emit/mod.rs
  • baml_language/crates/baml_tests/src/compiler2_mir/mod.rs
  • baml_language/crates/baml_tests/src/compiler2_tir/phase3a.rs
  • baml_language/crates/bex_engine/tests/host_value_callable.rs
  • baml_language/crates/bex_engine/tests/identity.rs
  • baml_language/crates/bex_engine/tests/prof_gate.rs

@github-actions

github-actions Bot commented Jul 16, 2026 •

Copy link
Copy Markdown

Binary size checks passed

✅ 7 passed

Artifact Platform File Gzip Gated on Baseline Delta Status
✅ baml-cli Linux 🔒 25.4 MB 10.8 MB file 25.3 MB +171.6 KB (+0.7%) OK
✅ packed-program Linux 🔒 17.0 MB 7.0 MB file 17.0 MB +4.3 KB (+0.0%) OK
✅ baml-cli macOS 🔒 19.7 MB 9.4 MB file 19.5 MB +165.5 KB (+0.8%) OK
✅ packed-program macOS 🔒 13.2 MB 6.1 MB file 13.2 MB +16.7 KB (+0.1%) OK
✅ baml-cli Windows 🔒 21.2 MB 9.6 MB file 21.1 MB +166.4 KB (+0.8%) OK
✅ packed-program Windows 🔒 14.2 MB 6.3 MB file 14.1 MB +13.5 KB (+0.1%) OK
✅ bridge_wasm WASM 16.2 MB 🔒 4.4 MB gzip 4.4 MB +602 B (+0.0%) 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

@vercel
vercel Bot temporarily deployed to Preview – promptfiddle July 16, 2026 21:48 Inactive
@vercel
vercel Bot temporarily deployed to Preview – beps July 16, 2026 22:00 Inactive
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle2 July 16, 2026 22:08 Inactive
@rossirpaulo
rossirpaulo enabled auto-merge July 16, 2026 22:21
@vercel
vercel Bot temporarily deployed to Preview – beps July 16, 2026 22:22 Inactive
@coderabbitai

coderabbitai Bot commented Jul 16, 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

Run ID: b552a62a-d2af-42bd-ac0c-ce37f040b9e3

📥 Commits

Reviewing files that changed from the base of the PR and between f938427 and 0cb2f34.

📒 Files selected for processing (2)
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
 ___________________________________________________________________________________________________________________________________________________________________________
< You talkin' to me? You talkin' to me? Then who the hell else are you talking...you talking to me? Well, I'm the only one here. Who do the bugs think they're hiding from? >
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
📝 Walkthrough

Walkthrough

Explicit $id arguments are validated as call side-channel metadata, excluded from ordinary arity, preserved through TIR and MIR, and emitted through runtime-id call instructions. Compiler, diagnostic, identity, error, profiling, and evaluation-order tests cover the behavior.

Changes

Runtime-id call side channel

Layer / File(s) Summary
TIR validation and call-plan contract
baml_language/crates/baml_compiler2_tir/src/{builder.rs,infer_context.rs,inference.rs}, baml_language/crates/baml_lsp2_actions/src/check.rs, baml_language/crates/baml_tests/src/compiler2_tir/phase3a.rs
$id arguments receive dedicated validation, do not affect ordinary arity, and are stored in CallSideChannels; diagnostics distinguish duplicate, misplaced, and mistyped values.
MIR runtime-id propagation
baml_language/crates/baml_compiler2_mir/src/lower.rs
MIR lowering reads runtime IDs from call plans, removes them from ordinary operands, and forwards them for direct and optional calls.
Compiler and bytecode validation
baml_language/crates/baml_tests/src/compiler2_mir/mod.rs, baml_language/crates/baml_tests/src/compiler2_emit/mod.rs
Tests verify runtime-id preservation and runtime-id instructions across direct, system, indirect, optional, virtual, and union calls.
Engine identity, errors, and profiling validation
baml_language/crates/bex_engine/tests/{host_value_callable.rs,identity.rs,prof_gate.rs}
Tests verify identity scoping, catchable invalid arguments, profiling artifacts, reuse handling, and single evaluation.
Diagnostic fixture update
baml_language/crates/baml_tests/projects/diagnostic_errors/runtime_id_misuse/runtime_id.baml
The misuse fixture uses the explicit $id = boundary.id() form.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant BAMLSource
  participant TIRBuilder
  participant CallPlan
  participant MIRLowering
  participant Bytecode
  BAMLSource->>TIRBuilder: parse call with $id
  TIRBuilder->>CallPlan: validate and store runtime_id
  CallPlan->>MIRLowering: provide side-channel runtime_id
  MIRLowering->>Bytecode: emit *WithRuntimeId instruction
Loading

Possibly related PRs

Suggested reviewers: codeshaunted, hellovai, 2kai2kai2

Poem

I’m a rabbit with an ID in tow,
Through TIR’s paths the runtimes flow.
Calls stay neat, diagnostics clear,
Bytecode keeps the side-channel near.
Hop, hop—identity’s restored!

🚥 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 clearly matches the main change: restoring explicit local ID capture plumbing and related call-site propagation.
Docstring Coverage ✅ Passed Docstring coverage is 95.45% 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 agent/restore-explicit-local-id-capture

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.

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

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

Run ID: fa8f0c34-cd3e-440c-a51e-a9e2bcd031d3

📥 Commits

Reviewing files that changed from the base of the PR and between f938427 and 332f834.

📒 Files selected for processing (2)
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
 ____________________________________________________
< Your logging is so chatty it needs a podcast deal. >
 ----------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ 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 agent/restore-explicit-local-id-capture

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.

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

An error occurred during the review process. Please try again later.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/restore-explicit-local-id-capture

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.

@coderabbitai

coderabbitai Bot commented Jul 16, 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

Run ID: fa8f0c34-cd3e-440c-a51e-a9e2bcd031d3

📥 Commits

Reviewing files that changed from the base of the PR and between f938427 and 332f834.

📒 Files selected for processing (2)
  • baml_language/crates/baml_compiler2_mir/src/lower.rs
  • baml_language/crates/baml_compiler2_tir/src/builder.rs
 ___________________________________________
< Crossing the tensor streams to find bugs. >
 -------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ 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 agent/restore-explicit-local-id-capture

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.

@rossirpaulo
rossirpaulo disabled auto-merge July 16, 2026 22:56
@rossirpaulo
rossirpaulo enabled auto-merge July 16, 2026 22:56
@vercel
vercel Bot temporarily deployed to Preview – beps July 17, 2026 00:01 Inactive
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle2 July 17, 2026 00:07 Inactive
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle July 17, 2026 00:20 Inactive
@vercel
vercel Bot temporarily deployed to Preview – beps July 21, 2026 17:41 Inactive
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle2 July 21, 2026 17:48 Inactive
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle July 21, 2026 18:03 Inactive
@rossirpaulo
rossirpaulo added this pull request to the merge queue Jul 21, 2026
Merged via the queue into canary with commit 02eda1d Jul 21, 2026
66 checks passed
@rossirpaulo
rossirpaulo deleted the agent/restore-explicit-local-id-capture branch July 21, 2026 19:04

This branch was previously deployed

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