Keep quoted string contents intact in CI condition expressions
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- python
- 領域
- ci-cd, testing-qa, tooling
調査の方向性
tools/ci/common.py:39 から始め、提供された evaluate() の再現を a!b に対して実行します。引用符で囲まれたリテラルと実際の演算子がどのように処理されるかを追跡し、記載された演算子、関数、コンテキストの表記に対して、肯定ケースと否定ケースに絞った回帰テストを追加します。完了の基準は、引用符で囲まれた同一の文字列が等しく比較されつつ、真偽値演算子、コンテキスト参照、短絡評価が引き続き機能することです。
索引モデルが issue の本文から書いたものです。
説明
Problem
The plan evaluator rewrites operators and function spellings before parsing quoted strings. Equality against the identical values a!b, a&&b, a||b, and always() returns false. Context-looking text inside a string needs the same protection.
Starting point: tools/ci/common.py:39.
Validation
Audited canonical Wave 540728c2eb6cc12f5c69c3fb3fdb96e07ba059a4 (0.0.1-alpha-dev), whose tree matches the local checkout. Validation: Executed Python evaluate() reproductions. Executed compiler probes use the matching checkout-built compiler and std on Linux amd64 (Rust 1.89.0 / LLVM 21.1.8). Source/header or mocked checks are not native execution on another OS.
from tools.ci.common import evaluate
print(evaluate("inputs.value == 'a!b'", {"inputs.value": "a!b"}))
# False; the comparison should be True.
Scope
Make expression token handling respect quoted literals while preserving the existing small checked expression language; do not broaden it into unrestricted evaluation.
Completion criteria
- Identical quoted strings containing operators/function/context spellings compare equal.
- Actual boolean operators, context lookup and short-circuiting retain their behavior.
- Add focused positive/negative evaluator regressions.
This is a bounded, unassigned task with the starting point and focused checks above. Keep unrelated refactoring out of the change.
- 主要言語
- Rust
- スター
- 56
- フォーク
- 21
- 平均マージ
- 7時間 19分
- マージ済み PR(30日)
- 61
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
wavefnd/Wave のほかの issue
-
Validate CI command vectors before indexing Cargo subcommands対応中かも @amandeavor が今日担当しました。 オープンbug ci good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
メンテナーはふだん 1 日以内に返信
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
build good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 67/100
rust-bitcoin/rust-bitcoin#7089 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 2 日以内に返信
-
area/tools bug session-analysis
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
[Bug]: Python OpenTelemetrySectionConfig has no file_sinks再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
NVIDIA/NeMo-Relay#1514 ·
メンテナーはふだん 1 日以内に返信
-
prompting proposal tool triaged
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
can1357/oh-my-pi#17041 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
nix-community/fenix#262 ·