[workshop-sync] workshop/side-quest-23-01-ab-roundrobin.md: tie-break and state-storage description is outdated

Offen Anfängerfreundlich
#5,752 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
1/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
85/100
Issue-Typ
Dokumentation
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
markdown
Bereich
documentation

Rechercherichtung

Öffne workshop/side-quest-23-01-ab-roundrobin.md und lies den Tie-Break-Satz, den Checkpoint und die Tabelle "Predict assignment order", und vergleiche sie dann mit den verlinkten Docs zum statistischen Ausgleich. Ersetze Aussagen zum First-in-Array durch zufälliges Tie-Breaking (unter Beibehaltung der Least-Used-Regel), schreibe Runs 1/2/4/5 als "eine der gebundenen Varianten" um und korrigiere den State-Branch auf experiments/{sanitizedWorkflowID}, wobei storage, weight und start_date/end_date zu beachten sind. Erledigt, wenn jede Aussage in der Datei dem dokumentierten Verhalten entspricht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

documentation

Workshop file reviewed

workshop/side-quest-23-01-ab-roundrobin.md (gh-aw v1.2.2)

Problem

  1. The file says: "Picks the variant with the lowest invocation count (ties are broken by first-in-array order)." and "Because ties are broken by first-in-array order, you can predict every assignment before you run the workflow". The checkpoint repeats "I know ties are broken by first-in-array order". The "Predict assignment order" section and its table (runs 1, 2, 4, 5) depend on this.
  2. The file says: "Loads state from experiments/{workflow-id} (created on first run)." The branch name is actually experiments/{sanitizedWorkflowID} (lowercased, hyphens removed, e.g. my-workflow -> experiments/myworkflow). Also storage: repo (default) vs cache is not mentioned. The file also omits the weight option (weighted random selection) and start_date/end_date (returns the control variant without incrementing counters).

Current correct behaviour

From https://github.github.com/gh-aw/experimental/experiments/#statistical-balancing: "By default, gh-aw chooses the least-used variant on each run. If multiple variants are tied, including on the first run, one of them is chosen at random." With weight, selection is weighted random.

Suggested fix

  • Replace the first-in-array tie-break claims with random tie-breaking, including in the checkpoint.
  • Rework "Predict assignment order" and the table: the least-used rule still holds (e.g. a newly added variant with count 0 is picked next), but ties among equal counts are not predictable, so runs 1, 2, 4 and 5 should show "one of the tied variants".
  • Correct the state branch name to experiments/{sanitizedWorkflowID} and mention the storage setting.

Generated by 🔍 Workshop Sync Check · copilot · auto · ~21 AIC · ⌖ ~1 AIC · ⊞ 4.7K · ◷

  • expires on Nov 16, 2026, 10:03 AM UTC
Vorherrschende Sprache
JavaScript
Sterne
62
Forks
43
Ø Merge
11 Std. 26 Min.
Gemergte PRs (30 T.)
13

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Keine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus githubnext/gh-aw-workshop

Alle Issues in githubnext/gh-aw-workshop

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.