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

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

Description and use

The workflow adds a separate probe compiler that checks C++ headers in a clean translation unit, uncovering include hygiene issues missed by the functional grader.

Problem

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

Outcome

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

Workflow

  • 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.

Evidence

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

Source

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

Source

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.

Source

  • Record date: 2026-10-08T07:41:08.552Z