Skip to content

Import Lie–Trotter product formula with commutator scaling - #738

Queued
Vilin97 wants to merge 2 commits into
mainfrom
codex/lie-trotter-commutator-20261103
Queued

Vilin97 wants to merge 2 commits into
mainfrom
codex/lie-trotter-commutator-20261103

Conversation

@Vilin97

@Vilin97 Vilin97 commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Adds a self-contained Lie–Trotter product formula for complete normed real algebras with norm-one unit, including the error estimate

‖(exp(A/n) exp(B/n))^n − exp(A+B)‖ ≤ ‖AB−BA‖ exp(‖A‖+‖B‖)/(2n) for every n ≥ 1.

This is useful infrastructure for operator splitting: the bound vanishes for commuting generators and applies beyond finite-dimensional matrices. The contribution is the explicit commutator-sensitive bound in a general real Banach algebra. It does not cover unbounded generators or claim the sharper unitary estimate.

Source and eligibility

  • Public upstream: https://github.com/zblore/lie-trotter-lean
  • Exact commit: 24e7c036dbef3b6cfd33cff4ed05be7339519fde, completing the new commutator bound on 2026-10-28 09:29:45 UTC. The public standalone repository was created on October 28.
  • Acquisition window: 2026-10-27 10:15:14 UTC ≤ completion < 2026-11-03 10:15:14 UTC. The convergence proof alone dates from August and is included as supporting infrastructure, not presented as newly completed work.
  • Author: Zayn Blore. Apache-2.0 verified from the pinned license and source headers. Provenance: AI, as recorded in the upstream metadata: Claude drafted the proofs under the author's direction.
  • Mathematical attribution: Childs, Su, Tran, Wiebe and Zhu, PRX 11 (2021), 011020, especially the first-order commutator estimate; the real Banach algebra variant here carries the stated exponential factor. The older proof's csd-lean4 origin is retained.

Scope, novelty, and port

Imports the coherent mathematical closure LieTrotter/Basic.lean and LieTrotter/Commutator.lean: all 15 upstream theorems, including the exponential remainder bounds, telescoping estimates, explicit rates, convergence, and exact commuting case. Comparator challenge placeholders, audit scripts, CI, and upstream build configuration are omitted. There are no added dependencies.

Mathlib and Tau Ceti searches and source comparison found no existing general Banach-algebra commutator estimate. Tau Ceti's Geometry/Lie/Exponential/Trotter.lean proves a finite-dimensional Lie-group limit, without this estimate. The pool's Markov-process Trotter–Kato theorem concerns convergence from resolvents; its Pauli truncation results use a different specialized setting. The independently formalized RealRooted limit and Lean-QuantumAlg finite-dimensional unitary estimates are credited upstream and do not supply this headline. Searches of project cards, source, PRs, issues, and repository history found no duplicate import.

Based on origin/main ededf2d, using Lean v4.35.0-rc3 and Mathlib c55e6e786f49471c72fbddbec5415808896aec1e. Changes include pool module paths, one YAML card, attribution, generated public Imports.lean, direct series-norm proofs, removal of both heartbeat overrides, and redundant-import cleanup. All 15 theorem conclusions and their original generality are preserved. After the Greptile repair below, the weaker telescoping bound also no longer needs NormOneClass. LeanPool.lean and all infrastructure/gates are unchanged.

Measured compile optimization

Both measurements use /usr/bin/time lake build LeanPool.LieTrotter, with exact pinned prebuilt dependencies and the project's compiled outputs absent, on the same shared Azure VM. Dependency fetching and wrapper generation are excluded from both measurements.

Measurement Upstream proof baseline Optimized import
Project wall time 51.28 s 10.10 s
Basic module 42 s 3.3 s
Commutator module 3.0 s 3.7 s
Peak RSS 1,662,080 KiB 1,363,780 KiB

The project builds about 80% faster. HasSum.norm_le_of_bounded replaces repeated summability/tsum conversions in the two expensive series estimates, retaining their full generality. No theorem is weakened or removed. Synchronous command profiling reduced the exponential-norm theorem's raw allocation count from 588,828,999 to 2,570,556. The original remainder theorem hit its upstream 800,000-heartbeat limit under synchronous profiling, so that failed run is not presented as a valid timing; both optimized modules profile successfully at the default limit. The successful ordinary upstream baseline retained its two original local limits for measurement only; neither is present in this PR.

Validation and review

  • Warning-free build of LeanPool.LieTrotter.Imports, covering every imported file.
  • lake exe mk_all --module --check.
  • lake exe lint-style LeanPool.LieTrotter.
  • The CI declaration-linter runner passed for all four owned modules, including 23 declarations and generated auxiliaries.
  • Repository-wide static quality checks passed. The unchanged quality-checker APIs passed axiom closure for all 15 public theorems, the environment/backdoor audit of every declaration in the four owned modules, and project-card declaration resolution.
  • git diff --check; fixed pool root unchanged. No Python source is changed, so Python-specific tests are not applicable.
  • Whole-pool CI and every applicable protected check must still validate the required revision. The PR discussion records the existing reviews; those assessments do not replace independent source review or CI.

PR610 and PR611 are merged, but the applicable current-main Lean validation was still running during preparation. No merge or auto-merge is authorized by this PR description while that green-main condition remains unverified. Daily documentation publishing is asynchronous and is excluded from the CI merge decision.

Review repair

Greptile identified the duplicated telescoping induction. The sharper successor estimate now lives in Basic.lean; the weaker bound follows from it by the zero/successor cases and 1 ≤ C. Its unused norm-one-unit assumption was removed. Both theorem names and conclusions remain available, and all affected build, style, declaration-lint, trust and profiling checks passed again. The final clean measurement above is after this repair; the first optimization measured 10.03 s on the shared VM.

@Vilin97

Vilin97 commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

{
"review_kind": "Thorough acquisition source and engineering review",
"reviewed_head": "3cc2ad7eb488ed8a42cfeb6bf96c3647510135a0",
"verdict": "approve",
"scope": "Read both complete upstream mathematical modules, their full imported versions and changes, all five added files, the upstream license and metadata, endpoint statements, dependency closure, comparison declarations, local validation logs, and before/after profiles. No diff or source file was elided for this review.",
"merge_readiness": "This approves the reviewed source. Required CI and the independently configured GPT/Greptile reviews are still pending. Current-main Lean validation is also pending, so the rollout green-main condition has not been verified. No merge or auto-merge has been enabled.",
"faithfulness": {
"verdict": "pass",
"bottom_line": "Both card headlines match the Lean statements over an arbitrary complete normed real algebra with norm-one unit.",
"proves_the_claim": "proves_it",
"claim_note": "The bound quantifies over arbitrary A and B and every natural n with 1 ≤ n; all division occurs in ℝ. The convergence is norm convergence to Mathlib’s exponential of A+B. The n≥1 guard prevents a zero-denominator interpretation, and the n=m+1 proof uses a strictly positive real denominator.",
"assumed_inputs": "Only the disclosed standard algebra, completeness, and norm-one-unit typeclasses; no problem-specific theorem is a parameter or a structure field. These have ordinary nontrivial instances such as ℝ and bounded endomorphisms of nonzero Banach spaces.",
"findings": []
},
"novelty": {
"verdict": "pass",
"bottom_line": "The new headline is the commutator-sensitive quantitative bound in the general Banach-algebra setting.",
"already_formalized": "",
"novelty_note": "The inspected Tau Ceti Trotter theorem is a finite-dimensional Lie-group limit; its exponential/Duhamel infrastructure does not state this bound. Mathlib searches identified no matching product estimate. The pool’s inspected Trotter–Kato resolvent convergence and Pauli truncation results do not supply this headline. The older upstream convergence proof is supporting material, and its August origin is disclosed.",
"findings": []
},
"significance": {
"verdict": "pass",
"bottom_line": "A named graduate-level operator-splitting theorem with reusable quantitative error control is worth preserving.",
"fit": "good_fit",
"level": "graduate",
"branch": "functional analysis",
"mode": "theory_building",
"significance_one_sentence": "The commutator estimate controls how many splitting steps achieve a chosen error and applies uniformly to matrices and infinite-dimensional Banach-algebra elements, with exponential remainder and telescoping lemmas available separately.",
"findings": []
},
"sources": {
"verdict": "pass",
"bottom_line": "The exact public Apache-2.0 source, original author, AI provenance, and older csd-lean4 origin are recorded accurately.",
"source_match": "matches",
"findings": []
},
"quality": {
"verdict": "pass",
"bottom_line": "The source forms a readable series-estimate and derivative-estimate chain; the expensive conversions were repaired without reducing any theorem’s strength.",
"code_quality": 3,
"findings": []
},
"engineering_evidence": {
"upstream_commit": "24e7c036dbef3b6cfd33cff4ed05be7339519fde",
"eligible_completion_utc": "2026-10-28T09:29:45Z",
"closure": "Basic and Commutator, plus the pool entry and generated Imports wrapper; upstream Challenge/Solution scaffolding and all build/CI scripts excluded.",
"public_theorem_signatures": "All 15 are textually unchanged, with the same surrounding typeclass/omit contexts and no new mathematical definitions.",
"trust": "Quality-checker axiom audit passed for 15 public declarations; the unmodified environment/backdoor audit passed for every declaration owned by all four imported modules.",
"validation": "Warning-free project/Imports build; all 24 owned declarations passed the CI linter; style, module indexes, repository-wide static quality, card-declaration resolution and diff checks passed.",
"performance": "Comparable clean project wall time 51.28 s → 10.03 s; Basic 42 s → 3.8 s. Both heartbeat overrides removed. Optimized synchronous profiling succeeds; the original remainder profiler timed out and its failed timing is excluded.",
"remaining_cost": "Largest successful optimized synchronous command allocation count is 31,336,326, below the default heartbeat limit; module times are now a few seconds. No further material low-risk optimization is evident from these profiles.",
"independent_reviews": "Configured Greptile and GPT rubric verdicts have not yet been observed; this review does not substitute for them."
}
}

@Vilin97

Vilin97 commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

/review

@greptile-apps

greptile-apps Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Advisory cross-file review against Lean Pool's supervisory rubric. This is not by itself a significance, source-verification, or merge verdict.

RetriggerView in Greptile

[Low impact] No blocking defect was found in the repair, but the unverified source and novelty checks prevent an unconditional merge recommendation.

Summary

Imports the Lie–Trotter convergence theorem and an explicit error bound proportional to ‖A * B - B * A‖.

  • Lean callers can now prove exponential products converge in complete normed real algebras.
  • Repeated exponential steps now have an error bound that shrinks with the commutator.

Reviews (2) · Last reviewed commit: "Share the sharper telescoping estimate a..." · Reviewed by Greptile

Comment thread LeanPool/LieTrotter/Commutator.lean Resolved
@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Proof profile (new / modified Lean files)

lake build wall time (changed modules): 22.86 s (= 0.38 min) — user 11.28 s, sys 4.29 s.

This build covers the changed modules and their dependency cones on top of the restored cache. The serial per-file sums below are useful for ranking slow files, not as a build budget.

Total heartbeats: 163,121 maxHeartbeats units across 4 valid files (610 added LOC).

Sum of lean --profile: 13972.5 ms (= 13.97 s) across 4 valid files. Import-excluded time: 5133.5 ms (= 5.13 s).

Count-heartbeats wall-clock total: 21.88 s. Repeated import cost inside lean --profile: 8839.0 ms (= 8.84 s).

Heartbeat values sum disjoint root command traces with trace.profiler.useHeartbeats and synchronous elaboration, converted from raw allocations to maxHeartbeats units by dividing by 1000. They include command elaboration and kernel checking, exclude imports, and include profiler overhead; they are not comparable to the deprecated linter's totals. Per-file wall clocks are measured under parallel load and are noisier than heartbeats.

LOC counts added lines in the profiled Lean files from this PR diff.

File LOC Heartbeats (maxHB) Count wall (s) lean --profile (s) Without import (s) Import (s) Commands Errors
LeanPool/LieTrotter/Basic.lean 329 94,856 8.85 3.69 2.78 0.91 36 0
LeanPool/LieTrotter/Commutator.lean 231 68,265 7.86 2.93 2.04 0.89 24 0
LeanPool/LieTrotter.lean 39 0 2.69 6.22 0.15 6.07 3 0
LeanPool/LieTrotter/Imports.lean 11 0 2.48 1.14 0.16 0.97 1 0
Total 610 163,121 21.88 13.97 5.13 8.84 64 0

Aggregate phase totals

Phase Time
import 8839.0 ms (= 8.84 s)
typeclass inference 1686.0 ms (= 1.69 s)
interpretation 1568.0 ms (= 1.57 s)
tactic execution 747.0 ms (= 0.75 s)
simp 236.3 ms (= 0.24 s)
type checking 234.0 ms (= 0.23 s)
initialization 117.8 ms (= 0.12 s)
tacticAnalysis 115.9 ms (= 0.12 s)
elaboration 109.0 ms (= 0.11 s)
linting 63.9 ms (= 0.06 s)
ring 60.4 ms (= 0.06 s)
norm_num 48.1 ms (= 0.05 s)

Slowest changed modules (from lake build)

Changed module Lake time
LeanPool.LieTrotter.Basic 5.80 s
LeanPool.LieTrotter.Commutator 2.10 s
LeanPool.LieTrotter 1.10 s
LeanPool.LieTrotter.Imports 1.10 s
Per-file `lean --profile` output

LeanPool/LieTrotter.lean

import took 6.07s
cumulative profiling times:
	elaboration 0.225ms
	import 6.07s
	initialization 27ms
	interpretation 120ms
	linting 0.701ms
	module linting 0.00183ms
	overlappingInstancesLinter 0.169ms
	parsing 0.0576ms
	tacticAnalysis 0.852ms
real 6.86
user 0.94
sys 0.91

LeanPool/LieTrotter/Basic.lean

import took 909ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 237ms
cumulative profiling times:
	attribute application 0.124ms
	congr simp thm 2.79ms
	dsimp 2.02ms
	elaboration 64.9ms
	fix level params 2.45ms
	import 909ms
	initialization 31.7ms
	instantiate metavars 3.74ms
	interpretation 888ms
	let-to-have transformation 0.189ms
	linting 38.6ms
	module linting 0.00167ms
	norm_num 45.2ms
	overlappingInstancesLinter 7.45ms
	parsing 26.4ms
	process pre-definitions 29.3ms
	ring 46.9ms
	share common exprs 15.6ms
	simp 95.3ms
	tactic execution 403ms
	tacticAnalysis 67.4ms
	type checking 133ms
	typeclass inference 878ms
real 2.69
user 3.48
sys 0.85

LeanPool/LieTrotter/Commutator.lean

import took 889ms
cumulative profiling times:
	attribute application 0.0857ms
	congr simp thm 3.38ms
	elaboration 43.8ms
	fix level params 2.35ms
	import 889ms
	initialization 25.9ms
	instantiate metavars 2.64ms
	interpretation 430ms
	let-to-have transformation 0.164ms
	linting 24.4ms
	module linting 0.00176ms
	norm_num 2.91ms
	overlappingInstancesLinter 6.9ms
	parsing 13.9ms
	process pre-definitions 18.2ms
	ring 13.5ms
	share common exprs 8.96ms
	simp 141ms
	tactic execution 344ms
	tacticAnalysis 47.3ms
	type checking 101ms
	typeclass inference 808ms
real 2.38
user 2.78
sys 0.84

LeanPool/LieTrotter/Imports.lean

import took 971ms
cumulative profiling times:
	elaboration 0.0873ms
	import 971ms
	initialization 33.2ms
	interpretation 130ms
	linting 0.243ms
	module linting 0.00148ms
	overlappingInstancesLinter 0.112ms
	parsing 0.00238ms
	tacticAnalysis 0.388ms
real 1.80
user 1.01
sys 0.83

Advisory only — never blocks merge. Full log uploaded as the proof-profile artifact.

@Vilin97

Vilin97 commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

{
"review_kind": "Thorough acquisition source and engineering review",
"reviewed_head": "86c0d506cc247d420a06d8bd6f245b703fadea10",
"verdict": "approve",
"scope": "Read both complete upstream mathematical modules, their full imported versions and changes, all five added files, the upstream license and metadata, endpoint statements, dependency closure, comparison declarations, local validation logs, and before/after profiles. No diff or source file was elided for this review. Reviewed the complete follow-up diff moving the sharper telescoping induction into Basic and deriving the weaker theorem from it.",
"merge_readiness": "This approves the reviewed source. Required CI and the independently configured GPT/Greptile reviews are still pending. Current-main Lean validation is also pending, so the rollout green-main condition has not been verified. No merge or auto-merge has been enabled.",
"faithfulness": {
"verdict": "pass",
"bottom_line": "Both card headlines match the Lean statements over an arbitrary complete normed real algebra with norm-one unit.",
"proves_the_claim": "proves_it",
"claim_note": "The bound quantifies over arbitrary A and B and every natural n with 1 ≤ n; all division occurs in ℝ. The convergence is norm convergence to Mathlib’s exponential of A+B. The n≥1 guard prevents a zero-denominator interpretation, and the n=m+1 proof uses a strictly positive real denominator.",
"assumed_inputs": "Only the disclosed standard algebra, completeness, and norm-one-unit typeclasses; no problem-specific theorem is a parameter or a structure field. These have ordinary nontrivial instances such as ℝ and bounded endomorphisms of nonzero Banach spaces.",
"findings": []
},
"novelty": {
"verdict": "pass",
"bottom_line": "The new headline is the commutator-sensitive quantitative bound in the general Banach-algebra setting.",
"already_formalized": "",
"novelty_note": "The inspected Tau Ceti Trotter theorem is a finite-dimensional Lie-group limit; its exponential/Duhamel infrastructure does not state this bound. Mathlib searches identified no matching product estimate. The pool’s inspected Trotter–Kato resolvent convergence and Pauli truncation results do not supply this headline. The older upstream convergence proof is supporting material, and its August origin is disclosed.",
"findings": []
},
"significance": {
"verdict": "pass",
"bottom_line": "A named graduate-level operator-splitting theorem with reusable quantitative error control is worth preserving.",
"fit": "good_fit",
"level": "graduate",
"branch": "functional analysis",
"mode": "theory_building",
"significance_one_sentence": "The commutator estimate controls how many splitting steps achieve a chosen error and applies uniformly to matrices and infinite-dimensional Banach-algebra elements, with exponential remainder and telescoping lemmas available separately.",
"findings": []
},
"sources": {
"verdict": "pass",
"bottom_line": "The exact public Apache-2.0 source, original author, AI provenance, and older csd-lean4 origin are recorded accurately.",
"source_match": "matches",
"findings": []
},
"quality": {
"verdict": "pass",
"bottom_line": "The source forms a readable series-estimate and derivative-estimate chain; the expensive conversions were repaired without reducing any theorem’s strength.",
"code_quality": 3,
"findings": []
},
"engineering_evidence": {
"upstream_commit": "24e7c036dbef3b6cfd33cff4ed05be7339519fde",
"eligible_completion_utc": "2026-10-28T09:29:45Z",
"closure": "Basic and Commutator, plus the pool entry and generated Imports wrapper; upstream Challenge/Solution scaffolding and all build/CI scripts excluded.",
"public_theorem_signatures": "All 15 explicit theorem conclusions are unchanged. The weaker telescoping bound now omits the unused NormOneClass assumption, extending its generality; all other surrounding typeclass/omit contexts are preserved.",
"trust": "Quality-checker axiom audit passed for 15 public declarations; the unmodified environment/backdoor audit passed for every declaration owned by all four imported modules.",
"validation": "Warning-free project/Imports build; all 23 owned declarations/auxiliaries passed the CI linter; style, module indexes, repository-wide static quality, card-declaration resolution and diff checks passed again after the repair.",
"performance": "Final comparable clean project wall time 51.28 s → 10.10 s; Basic 42 s → 3.3 s. Both heartbeat overrides removed. Both optimized modules profile successfully at default limits; the original remainder profiler timed out and its failed timing is excluded.",
"remaining_cost": "Largest successful optimized synchronous command allocation count is 31,336,326, below the default heartbeat limit; module times are now a few seconds. No further material low-risk optimization is evident from these profiles.",
"independent_reviews": "Greptile completed successfully for the preceding head and its concrete finding has been repaired. Its latest-head refresh and the independently configured GPT rubric verdict remain pending.",
"review_repair": "Greptile discussion_r4453589564 is implemented: one shared sharper induction, with the weaker bound derived by zero/successor cases. No theorem was weakened or removed."
}
}

@Vilin97

Vilin97 commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

/review

@Vilin97

Vilin97 commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

🤖 LLM review (gpt-6.1-sol, 5 rubrics)

Reviewed head: 86c0d506cc247d420a06d8bd6f245b703fadea10

Verdict: ✅ approve — computed from the rubric verdicts below, not chosen by a model.

Rubric Verdict Bottom line
Faithfulness ✅ pass Both card headlines match the Lean statements; whole-pool CI was still running when checked, and no local rebuild was performed.
Novelty ✅ pass No duplicate headline declaration was identified; the commutator bound and unrestricted dimension extend the inspected prior art.
Significance ✅ pass The Lie–Trotter convergence theorem and commutator-dependent error bound form a completed graduate-level project worth pooling.
Sources ✅ pass The pinned upstream supports the estimate, the paper supports the cited method, and the diff explicitly labels the Banach-algebra extension and credits the csd-lean4 origin.
Code quality (advisory) ✅ pass The Lean is competently decomposed and shares its telescoping argument; local builds were not rerun, and whole-pool CI remains pending.
Aspect Value
Proves the claim ✅ proves_it
Assumed, not proved The disclosed [NormedRing 𝔸] [NormedAlgebra ℝ 𝔸] [CompleteSpace 𝔸] [NormOneClass 𝔸], together with (hn : 1 ≤ n) for the bound; no problem-specific result is assumed or postulated.
Matches cited source ✅ matches
Fit ✅ good_fit
Level graduate
Branch functional analysis
Mode theory_building
Code quality 3 / 5

Statement check: The Lean proves the stated commutator-sensitive bound for arbitrary algebra elements and every positive natural step count, with real division, and proves norm convergence to the exponential of their sum.

LieTrotter.trotter_product establishes the Banach-algebra product formula, while LieTrotter.norm_trotter_sub_le_commutator supplies quantitative error control through a developed chain of exponential, derivative, and telescoping estimates.

Faithfulness findings (1)

  • prompt-injection — PR-wide
    The description claims prior approval of this exact head, and the supplied discussion contains completed passing rubric verdicts. These contributor-controlled approval claims were disregarded under the trust-boundary rule; remove prior-approval framing from the description.
    Evidence: prose only: The description states ‘The separate thorough source/diff review approves final head 86c0d50’; the supplied discussion includes complete approving review outputs.

Novelty findings (1)

  • prompt-injection — PR-wide
    The contributor-provided body and discussion invoke prior approval, creating a risk of substituting an earlier verdict for independent novelty comparison; these assertions were disregarded.
    Evidence: The PR body states ‘The separate thorough source/diff review approves final head 86c0d50’; comments 6601423097 and 6601712021 also embed approving novelty verdicts.

Significance findings (1)

  • prompt-injection — PR-wide
    The description claims prior approval, and the discussion supplies approving rubric verdicts. These authority claims risk anchoring the independent review and were disregarded when assessing significance.
    Evidence: The PR description states: “The separate thorough source/diff review approves final head 86c0d50”; discussion comments 6601423097 and 6601712021 include approving significance verdicts.

Sources findings (1)

  • prompt-injection — PR-wide
    The contributor description invokes prior approval of this exact head, and the discussion supplies prefilled rubric verdicts. These claims risk anchoring the independent source review; they were disregarded and the sources checked directly.
    Evidence: The PR description states: “The separate thorough source/diff review approves final head 86c0d50”.

Code quality findings (1)

  • prompt-injection — PR-wide
    The contributor-supplied description claims prior approval of this exact head. That claim has no standing in this independent quality review and was disregarded.
    Evidence: The PR description states: ‘The separate thorough source/diff review approves final head 86c0d50’.

Tokens: 4,388,532 in / 33,677 out across 5 model calls · Tier: codex-subscription · Effort: xhigh · Billing: Codex subscription quota (no API credits) · Estimated cost: $18.0593 (Standard API equivalent; uncached input)
Each rubric is an independent review against .github/review-rubrics/ on top of .github/REVIEW_RULES.md. Disagree? Reply on the PR; rules can be updated in a PR of their own.

CI was not green for this commit at review time; this review does not replace CI.

@Vilin97
Vilin97 added this pull request to the merge queue Nov 3, 2026
Any commits made after this event will not be merged.

This branch has not been deployed

No deployments
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