You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs(meetings): add the v2 rollout and retirement plan - #3267
Adds the V2-03 rollout and retirement plan for meeting details V2, and reconciles the spec directory now that the foundation PRs have merged into feat/meeting-details-v2.
Two separate controls: the integration branch decides whether the code reaches production; LaunchDarkly targeting decides who sees V2 once it is there.
Adds specs/011-meeting-details-redesign/rollout.md for V2-03. It
separates the two controls: the integration branch decides whether the
code is in production at all (nothing reaches main until release PR
#3249), and MEETING_V2_ENABLED_FLAG decides who sees V2 once it is.
Defines eight stages (build, release, internal testers, extended
testers, signed-in percentage, anonymous, soak, retire), each with who
decides and exit criteria. States that the code default never changes
and targeting is the switch. Gives the anonymous plan: a code change
that needs #2920's server-side evaluation, then an anonymous
LaunchDarkly context ramped by percentage. Adds what is measured, a
rollback table, and flag retirement: this page drops its read of the
shared flag, and the flag itself retires only with the composer.
The V1-deletion checklist is filed as #3266. The README's contents
table now lists the files that actually exist.
Refs #2875
Signed-off-by: Nuno Eufrasio <nmeufrasio@gmail.com>
The foundation PRs (#2909, #2910, #2911, #2913, #2914, #2935) now sit
together on feat/meeting-details-v2, so the "pending sibling, not on
main yet" notes they carried are stale. They become plain
cross-references in spec.md, state-matrix.md, data-model.md,
requirements.md, testid-contract.md, v2-scaffold.md and the
meeting-view-model resolver comments.
Also records the newly filed Phase 1 issues (#3250-#3265) in spec.md's
work order and requirements.md's traceability table, and the V1
retirement issue #3266.
Refs #1766
Signed-off-by: Nuno Eufrasio <nmeufrasio@gmail.com>
Make #2920 the stage 4 entry gate rather than a release blocker,
scope R05 and FR-001 to the stages before the anonymous stage, give
the V1 rollback a targeted-revert path, and stop reusing the D-2 label.
Refs #2875
Signed-off-by: Nuno Eufrasio <nmeufrasio@gmail.com>
Low Risk
Documentation and comment-only updates; no application runtime, flag gate, or API changes.
Overview
Adds rollout.md (V2-03) as the authoritative plan for shipping meeting details V2: integration branch vs LaunchDarkly targeting, eight stages (build → release #3249 → tester ramps → #2920-gated signed-in percentages → anonymous stage 5 code change → soak → V1 retirement #3266), metrics, rollback, and flag retirement scope.
Reconciles the 011-meeting-details-redesign spec set now that foundation work lives on feat/meeting-details-v2: README contents table and integration-branch note; drops “pending / not on main” language across spec.md, state-matrix.md, testid-contract.md, v2-scaffold.md, and data-model.md; wires Phase 1 issue numbers (#3250–#3266) into spec.md and the requirements.md traceability table; narrows R05 and FR-001 so anonymous visitors stay on V1 only until rollout stage 5 and documents post-hydration flag behavior until #2920.
No behavior change — only comment edits in meeting-view-model.utils.ts / .spec.ts pointing at state-matrix.md without PR references.
Reviewed by Cursor Bugbot for commit e0fd7ba. Bugbot is set up for automated code reviews on this repo. Configure here.
Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Essentials
Run ID: a02a13cf-aa44-4176-8ff6-78f7889af311
You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.
Use the checkbox below for a quick retry:
🔍 Trigger review
Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
@nunoeufrasio I'm starting review 1 of this pull request now (started 2026-10-04 23:26 UTC). This usually takes a few minutes — I'll update this comment with the summary when I'm done.
Hi @nunoeufrasio, thanks for this one. The eight-stage rollout plan is clear. Keeping the branch (does the code reach production) separate from LaunchDarkly targeting (who sees V2) is the right framing. The cross-reference cleanup is consistent: the stale "pending / not on main" notes are gone, the #3250–#3266 issue numbers are in the traceability table, and R05 and FR-001 are scoped to the stages before stage 5. The only .ts edits are comments. The #2920 dependency is stated the same way in rollout.md and spec.md.
⚪ Nit: 1 issue: awkward line wrap in spec.md
✅ Approved
➡️ This auto-review agent is a preview. Please send feedback to @dealako.
Make FR-001 platform-neutral with the signed-in and post-hydration
rules scoped to their stages, limit stage 2 to signed-in states, define
the baseline once a V1 cohort is gone, and re-wrap a spec paragraph.
Refs #2875
Signed-off-by: Nuno Eufrasio <nmeufrasio@gmail.com>
The fail-closed guarantee is too broad. After an initial successful true evaluation, getBooleanFlag() still consults the initialized client (feature-flag.service.ts:238-257), while stale/error events only refresh or log (:352-358). LaunchDarkly may therefore serve the last cached true value during an outage instead of switching this gate to V1. Scope this rule to initial evaluation, or make explicit post-ready failure handling a rollout prerequisite.
This issue also appears on line 74 of the same file.
* docs(meetings): add the v2 rollout and retirement plan
Adds specs/011-meeting-details-redesign/rollout.md for V2-03. It
separates the two controls: the integration branch decides whether the
code is in production at all (nothing reaches main until release PR
#3249), and MEETING_V2_ENABLED_FLAG decides who sees V2 once it is.
Defines eight stages (build, release, internal testers, extended
testers, signed-in percentage, anonymous, soak, retire), each with who
decides and exit criteria. States that the code default never changes
and targeting is the switch. Gives the anonymous plan: a code change
that needs #2920's server-side evaluation, then an anonymous
LaunchDarkly context ramped by percentage. Adds what is measured, a
rollback table, and flag retirement: this page drops its read of the
shared flag, and the flag itself retires only with the composer.
The V1-deletion checklist is filed as #3266. The README's contents
table now lists the files that actually exist.
Refs #2875
Signed-off-by: Nuno Eufrásio <nmeufrasio@gmail.com>
* docs(meetings): reconcile v2 spec cross-references after the merge
The foundation PRs (#2909, #2910, #2911, #2913, #2914, #2935) now sit
together on feat/meeting-details-v2, so the "pending sibling, not on
main yet" notes they carried are stale. They become plain
cross-references in spec.md, state-matrix.md, data-model.md,
requirements.md, testid-contract.md, v2-scaffold.md and the
meeting-view-model resolver comments.
Also records the newly filed Phase 1 issues (#3250-#3265) in spec.md's
work order and requirements.md's traceability table, and the V1
retirement issue #3266.
Refs #1766
Signed-off-by: Nuno Eufrásio <nmeufrasio@gmail.com>
* docs(meetings): fix rollout plan gating and rollback guidance
Make #2920 the stage 4 entry gate rather than a release blocker,
scope R05 and FR-001 to the stages before the anonymous stage, give
the V1 rollback a targeted-revert path, and stop reusing the D-2 label.
Refs #2875
Signed-off-by: Nuno Eufrásio <nmeufrasio@gmail.com>
* docs(meetings): address review feedback on the rollout plan
Make FR-001 platform-neutral with the signed-in and post-hydration
rules scoped to their stages, limit stage 2 to signed-in states, define
the baseline once a V1 cohort is gone, and re-wrap a spec paragraph.
Refs #2875
Signed-off-by: Nuno Eufrásio <nmeufrasio@gmail.com>
---------
Signed-off-by: Nuno Eufrásio <nmeufrasio@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the V2-03 rollout and retirement plan for meeting details V2, and reconciles the spec directory now that the foundation PRs have merged into
feat/meeting-details-v2.specs/011-meeting-details-redesign/rollout.md(new). Eight stages, from build to retiring V1 (refactor(meetings): retire meeting details v1 and its flag gate #3266). Each stage says who decides and what must be true before moving on.falsethroughout.main" notes.spec.mdand the requirements traceability table..tsedits are comments inmeeting-view-model.utils{,.spec}.ts.Docs only; no runtime change.
Test plan
./check-headers.sh,yarn format:check,yarn lint:check,yarn buildspecs/011-meeting-details-redesign/*.mdCloses #2875
Refs #1765, #1766
🤖 Generated with Claude Code