Skip to content

fix(release-autopilot): per-repo gating, Automations page links, plugin install step (EMSR-2676, EMSR-2650, EMSR-2634) - #245

Open
fsaresh wants to merge 8 commits into
mainfrom
fsaresh/emsr-2676-2650-2634-onboarding-skill
Open

fsaresh wants to merge 8 commits into
mainfrom
fsaresh/emsr-2676-2650-2634-onboarding-skill

Conversation

@fsaresh

@fsaresh fsaresh commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The Release Autopilot onboarding and settings skills are wrong in three places:

  • EMSR-2650: the settings skill says "Account settings are the master gate", and onboarding writes account settings so that mapped repos inherit them. With enable-automations-settings on, gonfalon reads only each repo's own row (resolve_repo_settings.go), and a capability the repo does not set is off. A repo that onboarding maps comes back with auto-flagging off, and PR diagnosis stops at the account setting and gives the wrong cause.
  • EMSR-2676: bring your own key, auto-cleanup, and auto-archival send users to /projects/{key}/settings/vega and /settings/lifecycle. With the Automations page on, those sections are on /projects/{key}/settings/automations (projects.$projectKey.settings.automations.tsx).
  • EMSR-2634: nothing tells the user to install the LaunchDarkly plugin first.

Fix

  • Gating: each repo's own settings decide what runs in it. Accounts that are not migrated yet still use the account settings as well, so the account tools and the account write stay until the migration runs. Onboarding repo writes now send { "enabled": true } for each picked capability. The settings skill sends both capabilities on a new mapping. PR diagnosis reads the repo's effective enabled and enabledOverride. Before, it read enabledOverride: true as "opted out", but that field holds the repo's stored value.
  • Links: the skills now link to /projects/{projectKey}/settings/automations, in the Inference, Automated flag cleanup, and Automatic archival sections. The reference files keep the old pages as the fallback for accounts where the link opens the general project settings page instead.
  • Plugin: the onboarding prerequisites and README give the Claude Code and Cursor install steps. They also say which plugin versions include the skill (Claude Code 1.0.3, Cursor 1.0.4).
  • Existing mappings: onboarding also turns on a picked capability that a mapped repo does not set, on accounts that use project Automations settings (from Bugbot review). The repo-override eval fixture now uses enabledOverride: false for a repo that turns the capability off.
  • Versions: onboarding 0.4.0-experimental, settings 1.5.0-experimental. skills.json is regenerated and CHANGELOG is updated. The plugin versions do not change.

Testing

  • python3 scripts/validate_skills.py: 54 skills valid.
  • python3 -m unittest tests/test_*.py: OK.
  • cd evals && npm test: 157 pass. The new tests/release-autopilot-onboarding-assertions.test.js covers the Automations-link assertions and repoTurnsAutoFlaggingOn.
  • The promptfoo suite was not run locally because no API key is available here. The eval-skills CI job runs it.

Related

🤖 Generated with Claude Code

Opened from termag

Link to Devin session: https://app.devin.ai/sessions/b392772a83b5402b9cc688095c66d6c9
Open in Devin Desktop: https://app.devin.ai/desktop/session/b392772a83b5402b9cc688095c66d6c9?variant=devin
Requested by: @sarahlessner


Note

Overview
Adds two experimental agent skills for Automations auto-cleanup and auto-archival (MCP get/update-automations-cleanup and get/update-automations-archival), registers them in the Claude/Cursor plugins, and documents them in the README and CHANGELOG.

Release Autopilot onboarding (0.4.0) and settings (1.5.0) now treat each repo’s mapping as the source of truth on accounts with the project Automations page: repo writes explicitly turn on picked capabilities; PR diagnosis checks mapping and effective repo auto-flagging first (including enabledOverride), not “account gate off” alone. Browser guidance for bring-your-own-key, cleanup, and archival points at /projects/{key}/settings/automations, with lifecycle/vega as fallbacks. Onboarding prerequisites tell users to install the LaunchDarkly plugin first.

Evals gain repoTurnsAutoFlaggingOn, Automations-link assertions (replacing lifecycle/vega checks), an updated repo-override mock, and a small unit test file for those assertions.

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


Related Jira issue: EMSR-2676: [Claude] Release Autopilot onboarding skill sends users to old /settings/lifecycle and /settings/vega pages instead of Automations

…in install step (EMSR-2676, EMSR-2650, EMSR-2634)

- Onboarding and settings skills: each repo's own settings decide what
  runs in it. Accounts on the project Automations page do not read the
  account settings; other accounts still do until the migration runs, so
  the account tools and write stay. Repo writes now turn on each picked
  capability, and PR diagnosis reads the repo's effective setting and
  enabledOverride.
- Bring your own key, auto-cleanup, and auto-archival link to
  /projects/{projectKey}/settings/automations, with the old pages as the
  fallback when the Automations page is missing.
- Onboarding prerequisites and README: install the LaunchDarkly plugin
  first.
- Evals: Automations links, repo mapping turns auto-flagging on, and unit
  tests for those assertions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Generated-by: termag
@github-actions

github-actions Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Skill eval results

Skill Before After Δ
agentcontrol/configs-create 100/100 (4/4) 75/100 (3/4) -25
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
experiments/launchdarkly-experiment-hypothesis-builder - 100/100 (13/13) new
experiments/launchdarkly-experiment-setup - 100/100 (8/8) 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.

@fsaresh
fsaresh marked this pull request as ready for review November 5, 2026 19:57
@fsaresh
fsaresh requested a review from sarahlessner November 5, 2026 19:57
@sarahlessner

Copy link
Copy Markdown
Contributor

FYI that we maybe have a tiny bit of overlap here #246
but not in a bad way @fsaresh

@sarahlessner

Copy link
Copy Markdown
Contributor

@fsaresh I can take this over and clean this up unless your agent is just doing it

@fsaresh

fsaresh commented Nov 5, 2026

Copy link
Copy Markdown
Contributor Author

@sarahlessner Go for it, all yours -- was about to message you on slack saying about the same

@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.

Stale Bugbot comment from a previous run.

@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.

Stale Bugbot comment from a previous run.

## Core Principles

1. **Confirm before every write.** State the current and proposed values, wait for a yes that names the change in this turn, then write. A yes from an earlier turn, or a vague "go ahead", is not enough.
2. **Only a person can turn it on.** Turning archival on requires confirming its risk on the Automations page. Never claim you turned it on.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@twahlfeld-dev could you check the new auto-archival skill? It uses the MCP tools from launchdarkly/mcp#462. Please check these against how archival actually works:

  • A person turns archival on, and the agent only links to the Automations page.
  • Flags with no maintainer are never archived (from the notifyMemberIds API docs).
  • The "why wasn't my flag archived" checklist: off, no maintainer, not ready or still in the grace period, waiting on approval, run limit reached.
  • Flags archived this way get the auto-archived tag.

@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.

Stale Bugbot comment from a previous run.

…0-2634-onboarding-skill

# Conflicts:
#	CHANGELOG.md

@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 44d59a8. Configure here.

…ng a cause; diagnosis eval accepts the unmapped-repo answer
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.

3 participants