feat(cpp): CppToolRegistrar evidence emission — §6.8 compliance

每个 command executor 现在发射完整的 evidence 链:
- command.started / command.completed / command.failed
- artifact.created (stdout + stderr 落 .air/local/artifacts/)
- diagnostic.created (编译器/分析器错误逐条解析)
- evidence.created (链接到 task_id)

验收: 失败构建后 session.db 四个表全有数据
  command_runs=2, diagnostics=1, evidence_refs=1, artifacts=2

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
AirCoding
2026-06-09 18:27:33 +08:00
parent 8476d5c96f
commit cfc4dfdd2c
2 changed files with 232 additions and 27 deletions

View File

@@ -273,7 +273,7 @@ export class RuntimeApp {
// Register tools through the CppToolRegistrar
// This follows INV-4: registered via capability boundary
registrar.register(this.tool_registry, this.config.project_root)
registrar.register(this.tool_registry, this.config.project_root, this.event_ingestor)
this.logger.info('cpp toolchain registered', { capability_id: 'aircoding-cpp-toolchain' })
} catch (e: any) {
this.logger.warn('cpp toolchain registration failed', { error: e.message })