Skip to content

Make CI checks truthful and harden benchmark publication - #111

Merged
konard merged 12 commits into
mainfrom
issue-110-e1f96d946132
Oct 5, 2026
Merged

konard merged 12 commits into
mainfrom
issue-110-e1f96d946132

Conversation

@konard

@konard konard commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

CI could publish partial or stale benchmark results, suppress cancelled/failed outcomes, and run an unsupported C++ build. This PR validates complete current-run measurements, makes failures explicit, and applies the applicable practices from all three templates while preserving the Rust/C# harnesses and both C# SQLite providers.

Changes

  • Remove the C++ workflow with no source/CMake project; retain its placeholder and document prerequisites.
  • Freeze the validated benchmark merge tree, bound workloads, require every artifact/variant/operation, and separate reporting from publication. Serialize main writers, regenerate after concurrent writes, reject changed measured source, and retry only actual branch races.
  • Gate Dependabot automation on its own patch/minor updates using official Node 24 metadata. Pin runners/actions, permissions, time budgets and current-base merge checks.
  • Enforce formatting, strict builds, workflow/security scans, Python type/security checks, documentation/links, secret scans, complete transitive dependency audits and truthful terminal status across maintained code and experiments.
  • Preserve the investigation, every template file inventory, raw logs (including recovered terminal-escape downloads), reproductions, analyzer findings and upstream reports under dev/log/issues/110/pulls/111. Package raw evidence with a per-file SHA-256 integrity check to keep the PR within review-service diff limits.

Reproduction and validation

The original reporter accepted empty/invalid measurements and valid baselines with missing Doublets variants. Regression logs demonstrate these failures before the fix. Git integration tests reproduce concurrent publication and changed-source rejection; artifact tests reject missing/stale/extra files and inconsistent merge trees. YAML policy tests preserve privileged-event and cancellation behavior.

Local validation passes: 61 Python tests (including six archive-integrity regressions), 9 Rust tests, 37 C# tests, provider-report checks, and eight real benchmark cells at size 1,000. Formatting, strict builds, Ruff/mypy/Bandit, actionlint/ShellCheck/zizmor, Markdown/links, secretlint, and Python/all-Rust/all-NuGet dependency audits pass. All hosted implementation workflows pass, including Rust/C# on Ubuntu, macOS and Windows. The oversized raw-evidence diff later exposed a Codacy comparison timeout; the evidence is now packaged and verified without changing its bytes. All five workflows, Codacy and CodeFactor pass on the final implementation revision 6eff47b. Archived run/check metadata identifies exact revisions; the final evidence-only revision is checked again at its own head.

Evidence and upstream reports

Timeline, causes, requirements and best-practice decisions, solution choices and plans, and complete evidence archive.

Reported C# template #65, doublets #68, and Bandit #1477; added a current-version reproduction to Bandit #1041 and linked the existing Rust template #180. Historical toolchain failures were already fixed; service-owned CA warnings and practical benchmark budgets are documented with their evidence. The old human-author warning persists in pull_request_target logs until this workflow change reaches the default branch.

Closes #110.

Changes

  • 52 file(s) modified
  • 12877 line(s) added
  • 245 line(s) removed
  • Files:
    • .codacy.yml
    • .github/actions/prepare-ci/action.yml
    • .github/dependabot.yml
    • .github/workflows/AutoMerge.yml
    • .github/workflows/benchmarks.yml
    • .github/workflows/cpp.yml
    • .github/workflows/csharp.yml
    • .github/workflows/dependencies.yml
    • .github/workflows/quality.yml
    • .github/workflows/rust.yml
    • .github/zizmor.yml
    • .gitignore
    • .markdownlint.json
    • .pre-commit-config.yaml
    • .secretlintrc.json
    • CONTRIBUTING.md
    • cpp/README.md
    • dev/log/issues/110/pulls/111/ANALYSIS.md
    • dev/log/issues/110/pulls/111/PLAN.md
    • dev/log/issues/110/pulls/111/README.md
    • dev/log/issues/110/pulls/111/SOLUTION_PLANS.md
    • dev/log/issues/110/pulls/111/collection.log
    • dev/log/issues/110/pulls/111/diagnostic-index.json
    • dev/log/issues/110/pulls/111/manifest.json
    • dev/log/issues/110/pulls/111/raw-evidence.tar.gz
    • experiments/ci/bandit_loader_probe.py
    • experiments/ci/bandit_nosec_probe.py
    • experiments/ci/collect_evidence.py
    • experiments/ci/index_evidence.py
    • experiments/ci/package_evidence.py
    • experiments/ci/run_smoke.py
    • experiments/ci/test_package_evidence.py
    • experiments/split_store_delete/src/main.rs
    • experiments/system_data_sqlite/check_reports.py
    • pyproject.toml
    • scripts/audit_dotnet.py
    • scripts/benchmark_ci.py
    • scripts/benchmark_report.py
    • scripts/check_pipeline_status.py
    • scripts/ci_checks.py
    • scripts/ci_process.py
    • scripts/publish_benchmarks.py
    • scripts/requirements-ci.txt
    • scripts/test_audit_dotnet.py
    • scripts/test_benchmark_ci.py
    • scripts/test_benchmark_report.py
    • scripts/test_check_pipeline_status.py
    • scripts/test_ci_checks.py
    • scripts/test_ci_process.py
    • scripts/test_publish_benchmarks.py
    • …and 2 more

Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: #110
@konard konard self-assigned this Oct 5, 2026
@konard konard changed the title [WIP] Check for all false positives, false negatives, warnings and errors in CI/CD and fix them all Make CI checks truthful and harden benchmark publication Oct 5, 2026
@konard
konard marked this pull request as ready for review October 5, 2026 12:01
@konard

konard commented Oct 5, 2026

Copy link
Copy Markdown
Member Author

Working session summary

Completed in PR #111, marked ready.

  • Fixed CI checks and benchmark validation/publication.
  • Preserved 687 raw evidence files, with analysis, timeline, requirements, comparisons and solution plans.
  • Reported reproduced upstream defects.
  • Final commit passes all five workflows, Codacy and CodeFactor. Tests pass: 61 Python, 9 Rust, 37 C#.
  • Working tree is clean; main is synchronized.

Two cancelled historical jobs had no downloadable logs; their API errors are preserved.


This summary was automatically extracted from the AI working session output.

@konard

konard commented Oct 5, 2026

Copy link
Copy Markdown
Member Author

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Model: GPT-6.1 Sol
  • Provider: OpenAI
  • Public pricing estimate: $10.121516

📊 Context and tokens usage:

  • 890.7K input tokens across requests (cumulative, larger than the 200K context window, so not one request's context), 199.7K / 128K (156%) output tokens

Total: (890.7K + 17.8M cached) input tokens, 199.7K output tokens, $10.121516 cost

🤖 Models used:

  • Tool: OpenAI Codex
  • Requested: gpt-6.1-sol
  • Thinking level: xhigh (~31999 tokens)
  • Model: GPT-6.1 Sol (gpt-6.1-sol)

📎 Log file uploaded as Gist (14054KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard
konard merged commit d3855ea into main Oct 5, 2026
28 checks passed
@konard

konard commented Oct 5, 2026

Copy link
Copy Markdown
Member Author

🎉 Auto-merged

This pull request has been automatically merged by hive-mind.

  • All CI checks have passed

Auto-merged by hive-mind with --auto-merge flag

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.

Check for all false positives, false negatives, warnings and errors in CI/CD and fix them all

1 participant