Skip to content

test: fraud解析の成功とJava/Rustの結果一致をCIで必須化 - #258

Merged
opaopa6969 merged 2 commits into
masterfrom
test/fraud-production-acceptance
Oct 17, 2026
Merged

opaopa6969 merged 2 commits into
masterfrom
test/fraud-production-acceptance

Conversation

@opaopa6969

Copy link
Copy Markdown
Owner

不正入力で解析が例外になっても短時間なら成功していたfraud性能テストを修正します。従来のparseMillis('@')が約4msの成功扱いになることを再現しました。新しいテストは5つの既存fraud式について、実際の受理・全文消費・AST・CP範囲・各branchの値を確認したうえで、厳密な1秒未満を検査します。

Closes #257

Java公開parseDetailedとRust公開parseの生AST・phase・PID・ns・入力hashを保存し、独立期待値と3phase×5入力×2言語の30観測を照合します。既存の透過wrapper/数値leaf表現差だけを形状検査付きで比較用に揃えます。例外、null、部分入力、位置/branch違い、欠損/重複、言語間の値違いは失敗です。production実装・文法・5入力は変更しません。

既存ubnfc-parser CIへJava/Rust試験・collector・負例を配線し、失敗時もraw/hash/provenance/metadata/summaryをartifactへ残します。依存取得元がMaven Centralか固定source buildかを記録し、未成功の再実行が古い取得元情報を残さないようにしました。既存versionとsource/ubnfc pinは維持します。

検証: Java21の2 tests、Rust1.85新規2+既存parser_cli21、collector負例6+installer負例3、Clippy/fmt/actionlint/bash-n成功。通常CIと同じparser fc75fe1e / 3.3.0-SNAPSHOTを独立Maven repositoryへ実installし、Java2/Rust2/共有30観測を再検証済み。ローカル開発候補faccb2c9 / 3.3.0の検証とは取得元を区別しています。

共有CI hostでの回帰確認なので全measurement_eligible=falseです。専用hostでの最終性能合格やClassic全性能条件の完了は主張しません。元の2000ms閾値は文書の1秒契約へ合わせました。テスト・CIと任意の依存情報出力をまとめてrevertできます。

@opaopa6969
opaopa6969 merged commit f20d129 into master Oct 17, 2026
9 checks passed
@opaopa6969
opaopa6969 deleted the test/fraud-production-acceptance branch October 17, 2026 00:05
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.

Require actual fraud formula acceptance and honest one-second production timing evidence

1 participant