Skip to content

ci: per-app vanilla-vs-Pilot A/B report on publish PRs (reopen of #33 against main)#49

Merged
Alexgodoroja merged 2 commits into
mainfrom
ci/ab-report-on-main
Jun 29, 2026
Merged

ci: per-app vanilla-vs-Pilot A/B report on publish PRs (reopen of #33 against main)#49
Alexgodoroja merged 2 commits into
mainfrom
ci/ab-report-on-main

Conversation

@Alexgodoroja

Copy link
Copy Markdown
Collaborator

Reopens #33 against main. The original PR was merged into the deprecated dev branch feat/r2-artifacts-on-cli, so its changes never reached main. This re-applies the feature as it was last modified before that merge (head ci/ab-report-workflow @ dc0fbf46c), rebased cleanly onto current main.

What's included

  • .github/workflows/ab-report.yml — the per-app vanilla-vs-Pilot A/B report workflow.
  • scripts/ab_report.py — externalized command loading (load_commands) so each app supplies its own command pairs.
  • submissions/io.pilot.smolvm/ab-commands.json — sample command set.
  • docs/CI-AB-REPORT.md — docs.
  • "skip gracefully when no bundle tarball is present" (the dc0fbf46c follow-up).

Notes on the rebase onto main

Build + python3 -m py_compile scripts/ab_report.py pass locally.

🤖 Generated with Claude Code

Alex Godoroja and others added 2 commits June 29, 2026 14:40
Adds .github/workflows/ab-report.yml: when a PR touches submissions/<id>/, it
extracts the app's bundle, runs the adapter in socket mode (no daemon — it
stages artifacts from the R2 registry on startup), runs the equivalent commands
vanilla vs Pilot via cmd/ipc-call, and posts an HTML A/B report (artifact +
upserted PR comment with a summary table).

- scripts/ab_report.py: add --mode {pilotctl,socket}; socket mode drives the
  adapter over cmd/ipc-call. Load the command set from
  submissions/<id>/ab-commands.json (else a version+help default). Pure stdlib.
- submissions/io.pilot.smolvm/ab-commands.json: CI-safe set (version + top-level
  and subcommand --help) — proves the adapter forwards the whole smolvm command
  tree (machine/pack/serve/config) without booting a VM.
- docs/CI-AB-REPORT.md: workflow, the no-KVM limitation, per-app command sets.

Validated locally: socket mode against the running smolvm adapter produced a
valid 6-pair report, all exit-matched, ~8-21ms adapter overhead; YAML + JSON +
PR-comment regex checked.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Alexgodoroja Alexgodoroja merged commit 89a8d52 into main Jun 29, 2026
7 checks passed
@Alexgodoroja Alexgodoroja deleted the ci/ab-report-on-main branch June 29, 2026 21:44
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.

2 participants