Skip to content

fix(release-autopilot-onboarding): address #229 review follow-ups - #237

Merged
fsaresh merged 7 commits into
mainfrom
feat/release-autopilot-onboarding-followups
Nov 2, 2026
Merged

fsaresh merged 7 commits into
mainfrom
feat/release-autopilot-onboarding-followups

Conversation

@fsaresh

@fsaresh fsaresh commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Follow-ups to the review on #229.

Skill (launchdarkly-release-autopilot-onboarding 0.3.0-experimental)

  • Browser steps that change settings (bring your own key, auto-cleanup, auto-archival) happen only after "Looks good", in Step 8. Preview lists them and never asks for them, and lists "Connect GitHub" instead of asking for it.
  • GitHub runs only for auto-flagging, auto-releasing, or auto-cleanup; repo mapping only for auto-flagging or auto-releasing. Auto-cleanup or auto-archival alone picks projects directly, and auto-archival alone skips the AI model step.
  • A picked capability that a repo override keeps off is turned back on (Step 8 sends enabled: true), unless it cannot work yet, and Step 9 checks the effective value before calling the setup complete.
  • Resume re-lists browser steps that were pending when the flow paused.
  • A plan with only browser steps still goes through the confirmation and the Step 8 browser steps.
  • Preview with GitHub disconnected lists the later repo mapping and, for auto-releasing, the later release setup (environments and release policies or plans).

Evals (evals/release-autopilot-onboarding, 25 cases)

  • Mappings must name the exact projectKey.
  • Release setup lookups must name the requested project and its environments: with release policies (today), exactly one release-plans lookup (the 403) and a policy lookup for the project; with environment release plans (GA), plan lookups for the project.
  • Browser steps count as approved only after a "Looks good" answer.
  • Plan mode must write the acme/demo → default mapping after the release plan.
  • Browser-step and repo-picker questions are detected by content, not only by link.
  • New cases: archival only, preview with auto-cleanup, a repo override that keeps a picked capability off, bring your own key, and preview with GitHub disconnected and auto-releasing picked.

Unrelated fixes included to unblock CI (evals/flag-release)

  • The hold-intent cases held production until 2026-09-01 and 2026-10-01. Both dates have passed, so the agent correctly released production and the date-hold case failed on every run (main's nightly eval has failed since 2026-10-30). The dates are now 2099.
  • The cases name dev, staging, and production, but the shared get-environments mock has only test and production, so an agent that checked environments first mapped staging to test or stopped to ask. The suite now loads its own environments mock via tool_mocks; other suites are unchanged.

Testing

  • python3 scripts/validate_skills.py and tests/test_*.py pass
  • cd evals && npm test: 125 pass
  • npm run eval:release-autopilot-onboarding: 25/25 pass; the new and changed cases passed three runs each

🤖 Generated with Claude Code

via LD Research 🤖


Note

Overview
Bumps launchdarkly-release-autopilot-onboarding to 0.3.0-experimental with wizard flow fixes from #229 review: settings-changing browser work (bring-your-own-key, auto-cleanup, auto-archival) moves to Step 8 after "Looks good"; Preview lists those steps (and deferred GitHub mapping / release setup) instead of prompting in the browser. GitHub and repo mapping run only when the picked capabilities need them; auto-archival-only skips GitHub, mapping, and the AI model step. Repo overrides that block a picked capability are cleared with enabled: true and re-verified in Step 9.

The release-autopilot-onboarding eval suite grows to 25 cases with stricter assertions: latest "Looks good" before writes or browser steps, release setup lookups scoped to the right project and environments (policy vs plan paths), plan-before-repo for acme/demo, and new scenarios (archival-only, preview cleanup, repo override, BYOK, preview without GitHub).

CI unblock for flag-release evals: production hold dates move from 2026 to 2099 so holds stay in the future, and the suite gets a dedicated get-environments mock with dev, staging, and production instead of the shared mock that lacked staging.

Reviewed by Cursor Bugbot for commit 315f72a. Bugbot is set up for automated code reviews on this repo. Configure here.

fsaresh and others added 2 commits October 30, 2026 14:46
… and mapping, clear opt-out overrides

Follow-ups from review on #229:
- Bring your own key, auto-cleanup, and auto-archival change settings in
  the browser, so they now happen only after 'Looks good'; Preview lists
  them and never asks for them.
- GitHub runs only for auto-flagging, auto-releasing, or auto-cleanup, and
  repo mapping only for auto-flagging or auto-releasing; auto-archival
  alone picks projects directly.
- A picked capability that a repo override keeps off is turned back on,
  and verification checks the effective value.
- Evals: mappings must name the exact project, the policy case must take
  the 403-then-policies path, and plan mode must write the repo mapping.
  New cases for archival-only, preview with cleanup, and the repo override.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
 review

Step 8 now sends enabled:true for a picked capability a repo override
kept off (unless it cannot work yet), and Step 7 describes that write.
Preview with GitHub disconnected lists mapping as a later step instead of
contradicting the no-mapping-without-GitHub rule. Resume re-lists pending
browser steps after the confirmation. Evals detect browser-step and
repo-picker questions by content, not only by link, require the
override case to read the repo back, and add a bring-your-own-key case
(24 total).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Skill eval results

Skill Before After Δ
agentcontrol/configs-create 100/100 (4/4) 100/100 (4/4) no change
agentcontrol/configs-update 80/100 (4/5) 100/100 (5/5) +20
agentcontrol/configs-variations 80/100 (4/5) 80/100 (4/5) no change
agentcontrol/tools 75/100 (3/4) 75/100 (3/4) no change
aws-devops-agent/experiment-orchestration - 100/100 (9/9) new
experiments/launchdarkly-experiment-guide - 100/100 (5/5) new
feature-flags/flag-and-release-change - 100/100 (4/4) new
feature-flags/flag-release - 100/100 (5/5) new
feature-flags/launchdarkly-flag-command - 100/100 (3/3) new
feature-flags/launchdarkly-flag-create 100/100 (3/3) 100/100 (4/4) no change
feature-flags/launchdarkly-flag-drift - 100/100 (4/4) new
feature-flags/should-flag-change - 100/100 (17/17) new
onboarding - 86/100 (6/7) new
release-autopilot/launchdarkly-release-autopilot-onboarding - 100/100 (25/25) new

Only suites whose source actually changed since their last recorded score were re-run. Soft-failing while we stabilise the baseline.

@vroske-ld vroske-ld left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a few more findings 🙂

- Browser steps count as approved only after a 'Looks good' answer, not
  after the confirmation question is merely shown.
- Release setup lookups must name the requested project and one of its
  environments; the check accepts either path, release policies (403
  then a policy lookup for the project) or environment release plans, so
  it keeps working at GA.
- Preview with GitHub disconnected and auto-releasing picked also lists
  the deferred release setup (environments and release policies or
  plans) after repo mapping. New eval case (25 total).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
fsaresh and others added 2 commits November 2, 2026 09:36
approvedConfirmBefore walked back past a 'Change something' answer to an
older 'Looks good', so a withdrawn approval still passed. It now inspects
only the latest confirmation before the browser step or write, and
confirmsBeforeWriting uses the same helper. Addresses review on #237.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
On the release-plans path, every lookup must target an environment the
case selected, and each selected environment needs a successful lookup
(the plan-mode case selects Production; a Test lookup no longer passes).
The single account-wide call stays only on the 403 release-policies path.
Addresses review on #237.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@fsaresh
fsaresh marked this pull request as ready for review November 2, 2026 19:10
The hold-intent cases held production until 2026-09-01 and 2026-10-01.
Both dates have passed, so the agent correctly treats the hold as over
and releases production, and the 'Single-target date hold' case fails on
every run (main's nightly eval has failed since 2026-10-30). Use 2099
dates so the hold is always in the future.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Comment thread evals/flag-release/promptfooconfig.yaml Resolved

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 3cd2b63. Configure here.

…ck; Bugbot follow-ups

flag-release: its cases name dev, staging, and production, but the
shared get-environments mock has only test and production, so an agent
that checked environments mapped staging to test or stopped to ask. The
suite now loads its own environments mock via tool_mocks; 15/15 local
runs pass.

Onboarding (Bugbot on #237): the no-writes edge case now keeps
browser-only plans going through confirmation and Step 8, and Preview
with GitHub disconnected lists repo mapping only for auto-flagging or
auto-releasing (auto-cleanup alone picks projects).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@fsaresh
fsaresh merged commit b583340 into main Nov 2, 2026
21 checks passed
@fsaresh
fsaresh deleted the feat/release-autopilot-onboarding-followups branch November 2, 2026 22:34
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