Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Clean Includes, Separate Grades: Probing AI C++ Patches Outside the Driver

说明与用途

该工作流程添加了一个单独的 probe 编译器,在干净的翻译单元中检查 C++ 头文件,发现功能评估器忽略的包含卫生问题。

问题

C++ patches can pass functional graders while failing to compile when included in a clean translation unit, exposing header hygiene issues.

结果

The workflow introduces a clean‑translation‑unit probe that uncovers header hygiene failures missed by functional graders, enabling more reliable merge decisions.

工作流

  • Copy patched tree to a scratch directory and remove driver‑specific include flags.
  • Read public_headers.txt and generate a probe_main.cpp for each public header.
  • Compile each probe_main.cpp as a standalone translation unit with explicit language mode and include path.
  • Classify compiler output: missing_declaration, other_compile_error, or clean.
  • Record the result as a gate entry (case, header, lane, status, class).
  • Run functional golden cases separately with the original driver.
  • If available, repeat probe on a clean build tree without cached headers.
  • Combine probe and functional results to decide merge eligibility.

证据

The driver is a convenience program. It exists to call functions and check return values. It is a poor witness for header hygiene.

来源

A driver that already included <string> will compile a call through that header. A standalone consumer will not.

来源

Classify the compiler result before reading the functional grade. A missing declaration, an incomplete type, or an unknown name is a hygiene failure even when every driver assertion passed.

来源

  • 记录日期: 2026-10-08T07:41:08.552Z