Repository navigation
fix(flags): report feature flag review dates before they break CI - #15973
Conversation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 5 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (9)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
All contributors have signed the CLA ✍️ ✅ |
|
Verification completed:
The known main branch macOS compile admission failure is also inherited. Main currently has the backwards |
Dogfood tours of
|
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Follow-up verification after the scheduled-path repair:
[
{
"daysRemaining": 1,
"key": "agent-chat-ui-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "cloud-machines-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/CmuxFeatureFlags+Cloud.swift"
},
{
"daysRemaining": 1,
"key": "cloud-machines-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "computer-use-ux-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "mobile-connect-button-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "mobile-task-composer-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "mobile-workspace-changes-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "pro-upgrade-ui-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "pro-upgrade-ui-enabled-release",
"reviewBy": "2026-10-01",
"source": "web/app/lib/feature-flags.ts"
},
{
"daysRemaining": 1,
"key": "sidebar-account-button-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "sidebar-appkit-list-experiment",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "sidebar-workspace-agent-spinner-experiment",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "simulator-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
},
{
"daysRemaining": 1,
"key": "workspace-todo-controls-enabled-release",
"reviewBy": "2026-10-01",
"source": "Sources/FeatureFlags.swift"
}
]
Actionlint produced no output and exited 0. Report script routing: Workflow routing: Broken seam demonstration. With {"error": "Feature flag review report failed: module 'lint_feature_flags' has no attribute 'collect_flags'"}The command exited 0, and the payload is an error object rather than |
|
Review: a subagent reviewed this branch at
Fixed: in
Verification on
The counts in the Verification section above predate these commits; 6, 4 and 2 there are now 8, 9 and 6. Left: nothing from the review. Two judgements recorded rather than changed. The report still exits 0 on every failure, which is deliberate so a collector bug cannot fail an unrelated build; the failure is now visible through the issue instead of the exit code. And expired dates keep failing the feature flag linter, so the issue is a reminder rather than the gate. 🤖 Generated with Claude Code |
|
Review: LAND. Reviewed with a subagent on the exact diff. It fixes a genuine crash. On main, a Boundaries are right at every edge. With The body's claim that expired dates already fail the linter holds on PRs. Two notes, neither blocking. Both scripts use Mutation: Wiring: both new guards run on pull requests under Fixed: nothing needed. Left: the two notes. Auto-merge on. |
|
Merge receipt for |
Feature flag review dates currently fail the feature-flags lint only after a date has already passed. A missed
reviewBydate can turn main and every open PR red on the same day. This change adds an always-green lead-time report, a daily issue workflow, and a shared collector for the web and Swift registries. It also reports malformed calendar dates instead of crashing with a traceback..github/workflows/ci-guards.ymlexplains why this is report-only:The lead-time check follows that policy. It reports dates within 30 days and the scheduled workflow opens or updates one issue without making pull requests fail over repository state they did not introduce.
The regression was kept in two commits as required:
0759abd6b81added the malformed-date regression.python3 tests/test_lint_feature_flags_scope.pywas red withValueError: month must be in 1..12, not 13.ea39a4ab3faguardeddate.fromisoformat, addedcollect_flags(), and added the web plus Swift collector coverage. The same command was green: 6 tests passed.The review dates were extended separately in cmux#15922.
Verification
python3 scripts/lint-feature-flags.pypassed with 18 declarations.python3 tests/test_lint_feature_flags_scope.pypassed, 6 tests.python3 tests/test_feature_flag_review_lead_time.pypassed, 4 tests.python3 tests/test_feature_flag_review_drift_issue.pypassed, 2 tests.python3 tests/test_ci_test_execution_registry.pypassed, 29 tests.python3 scripts/verify-local.pypassed all applicable checks; Swift syntax had zero selected files, and native compilation, app tests, and app launch were not checked for this Python and YAML change.actionlint .github/workflows/feature-flag-review-drift.ymlpassed.python3 scripts/ci/run_ci_guards.py --group ci --keep-going --no-stampran; the unrelatedtest_seed_derived_data.pyfailures are host-sensitive low-disk prune tests that do not establish the low-disk condition. They are being fixed separately.Changelog
none
🤖 Generated with Claude Code