You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
extracted corpus は段階的に threshold ベースから全件 non-fallback へ寄せる
fallback をまだ許すなら、理由を issue 番号付きで明示する
6. 検証と完了条件
targeted smoke を branch の acceptance set として固定する
fallback inventory が空になった時点で、この issue を close する
close 条件:
targeted P4 tests が green
curated parity corpus で fallback marker が出ない
extracted / medium corpus で既知除外なしに fallback 0
_p4FallbackReason に依存するテスト期待が残っていない
検証候補コマンド
sh mvnw -q -Dtest=org.unlaxer.tinyexpression.p4.P4BackendParityTest test
sh mvnw -q -Dtest=org.unlaxer.tinyexpression.evaluator.ast.AstEvaluatorParityCorpusTest test
sh mvnw -q -Dtest=org.unlaxer.tinyexpression.evaluator.ast.ThreeExecutionBackendExtractedCorpusParityTest test
背景
fix-p4-bugsで #23 / #25 / #30 の局所バグは前進したが、P4 runtime ではまだ fallback が残っている。現状、targeted parity test は通る一方で、実行ログと corpus ではno P4 AST mapping attempted/javacode-fallback/ semantic reject がまだ観測される。関連:
not(...)boolean evaluation bugゴール
P4 を優先する経路で fallback を 0 にする。具体的には、runtime / parity corpus / targeted smoke で P4 対象式が legacy fallback に落ちない状態にする。
非ゴール
unlaxer-dsl/unlaxer-common) 変更を先に前提化すること作業計画
1. fallback 実態の棚卸し
_tinyP4ParserUsed,_tinyP4ParserExact,_tinyP4ParserProbeMode,_p4FallbackReason,_astEvaluatorRuntime,_tinyDslJavaEmitterModeを使って fallback 発生式を収集する2. policy blocker を先に潰す
3. parser / mapper 起因の fallback を削減する
P4PreferredAstMapperの preferred root / retry 戦略で、残っている top-level shape を吸収するno P4 AST mapping attemptedを出している代表式を再現テスト化してから潰す4. evaluator / generated runtime 起因の fallback を削減する
P4TypedAstEvaluatorと generated-ast path の未対応ノードを棚卸しするembedded-bridge/javacode-fallbackに落ちる supported slice を 1 件ずつ削る5. テスト基準を tighten する
P4BackendParityTestの fallback 許容前提を見直し、修正済みケースはparserUsed=true/ non-fallback を必須化するjavacode-fallback/embedded-bridge/ legacy override を禁止する6. 検証と完了条件
_p4FallbackReasonに依存するテスト期待が残っていない検証候補コマンド
メモ
fix-p4-bugsは局所バグ修正として維持しつつ、この issue は fallback 0 の親計画として扱う