Skip to content

BC5 launch reconciliation: memories regression brief + registry scope cuts#325

Open
jeremy wants to merge 7 commits into
bc5-readiness-spec-foundationsfrom
bc5-readiness-launch-reconciliation
Open

BC5 launch reconciliation: memories regression brief + registry scope cuts#325
jeremy wants to merge 7 commits into
bc5-readiness-spec-foundationsfrom
bc5-readiness-launch-reconciliation

Conversation

@jeremy

@jeremy jeremy commented May 27, 2026

Copy link
Copy Markdown
Member

Post-launch (2026-05-27) reconciliation of the API-gap registry. Companion to #308, which reframes the live-canary memories rule and adds the pairwiseDeltaAllowed waiver pointing at the new brief introduced here.

Stacked on bc5-readiness-spec-foundations (#293) — it needs the spec/api-gaps/ registry that #293 creates, so this PR is based on that branch. Retarget to main once #293 merges.

It also realigns one Smithy doc comment with the reconciliation: GetMyNotificationsOutput.memories previously framed the [] as an unresolved keep-vs-break decision and told readers to "consume both", which contradicted the registry. It now states the confirmed regression + the in-flight fix (#10947) and points at the brief. The artifacts that inherit @documentation are regenerated — openapi.json/openapi-stripped.json, TS schema.d.ts, Go client.gen.go; Ruby/TS metadata carry only a generated: timestamp bump and Python/Kotlin/Swift output is unchanged.

What changed

  • New spec/api-gaps/memories-emptied-regression.md — the confirmed live subtractive regression: BC5 master ships json.memories [] while BC4 (the four branch) still populates it. Not an additive gap (status: partial-coverage is the closest schema fit; the body frames it as a regression). The fix is written but unmerged in BC3 #10947 (json.memories @bubble_ups, head 589b1970, verified 2026-07-13); bc3_pr: 10947 is set and the status flips to addressed-in-bc3-pr-10947 on merge.
  • stack-doc-and-smithy.mdconfirmed-not-api-resource. Stacks are web-only on both four and master (no respond_to :json, no doc/api section, Stacks::CollectablesController absent on master; the _stack partial renders only when nested). No StacksService. Retained as the classification record (briefs trump the allowlist).
  • everything-aggregates.md → refreshed against the live #10947 contract (doc/api/sections/everything.md, head 589b1970, verified 2026-07-13): 18 documented GET operations across 9 groups — todos ×5 and cards ×6 via filtered sub-routes, plus 7 root-path feeds (/documents.json, /messages.json, /comments.json, /checkins.json, /forwards.json, /files.json, /boosts.json). The files group is restored (GET /files.json with kind and people_ids[] filters); the launch reconciliation's interim 17-operation scoping (files group cut, feed groups framed as recent-suffixed sub-routes) is kept in the brief as superseded history. /<resource>/recent.json paths are internal web Turbo-frame feeds, not API surface — the SDK must not model them. Only the bare /todos.json and /cards.json roots remain HTML shells.
  • activity-timeline.md — FYI: /activity.json + /projects/:project_id/timeline.json ship on master directly (not via PR #10947); the removed /activity/days/:date + /activity/dates sub-routes were never modeled.
  • README.md — stack row re-statused; new memories-emptied-regression row; a note distinguishing the subtractive regression from the registry's additive gaps.
  • COORDINATION.md — both contract-decision items reframed as open pending a merge, not pending a decision. The counterfactual "commit 64acf34 aliases memories to bubble_ups" claim is purged (that commit does not exist on four, five, or master). #10947 head repinned to 589b1970.

Verification

  • make validate-api-gaps — clean (12 entries; the new brief has all five required body sections + valid frontmatter; the stack flip carries bc3_refs.bc3_plan_section; everything-aggregates still validates).
  • everything-aggregates.md frontmatter route set diffed against the 18 GET markers in doc/api/sections/everything.md @ 589b1970 — exact match, no recent.json entries.
  • spec/basecamp.smithy memories doc comment realigned with the reconciliation + regenerated; smithy-check, go-check-drift, kt-check-drift, and behavior-model-check all clean (openapi.json is up to date / No drift detected / behavior-model.json is up to date).

BC3 provenance at the finding: five+api @ 716e710ee5 (reconciliation handoff, suite green). Everything-surface contract pin: #10947 @ 589b1970 (2026-07-13).

Copilot AI review requested due to automatic review settings May 27, 2026 23:31
@github-actions github-actions Bot added documentation Improvements or additions to documentation spec Changes to the Smithy spec or OpenAPI labels May 27, 2026
@github-actions

github-actions Bot commented May 27, 2026

Copy link
Copy Markdown

Spec Change Impact

Summary of Changes

  • Modified: BC5 operations related to launch reconciliation and regression of memories.
  • Removed: Specific registry scope definitions have been cut.

Impact

  • Breaking Change: Yes, due to the removal of certain operations/fields related to registry scope.
  • All SDKs will require regeneration to reflect these changes.

SDKs Requiring Updates

  • Go
  • TypeScript
  • Ruby
  • Kotlin
  • Swift

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6a6d438ebb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread spec/api-gaps/activity-timeline.md Outdated

Copilot AI 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.

Pull request overview

This docs/registry-only PR reconciles the BC5 API-gap registry with launch findings and pending BC3 follow-up work.

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

Changes:

  • Adds a memories-emptied-regression brief for the BC5 memories: [] regression.
  • Reclassifies Stacks as web-only / not an API resource.
  • Narrows Everything aggregate scope and updates coordination notes around pending merges.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
spec/api-gaps/memories-emptied-regression.md Adds the regression brief and SDK/canary absorption notes.
spec/api-gaps/stack-doc-and-smithy.md Reclassifies Stacks as not an API resource.
spec/api-gaps/everything-aggregates.md Updates Everything aggregate endpoint scope from 22 to 17.
spec/api-gaps/activity-timeline.md Adds launch note about activity/timeline routes on master.
spec/api-gaps/README.md Updates registry table and explanatory notes.
COORDINATION.md Reframes contract decisions as pending merges rather than decisions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread spec/api-gaps/everything-aggregates.md
Comment thread spec/api-gaps/activity-timeline.md Outdated

@cubic-dev-ai cubic-dev-ai 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.

2 issues found across 6 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread spec/api-gaps/activity-timeline.md Outdated
Comment thread spec/api-gaps/everything-aggregates.md Outdated
jeremy added a commit that referenced this pull request May 27, 2026
…tatus)

- everything-aggregates.md: the leftover "all 9 groups" consistency bullet now
  reads "all 8 groups", matching the files-group drop above.
- activity-timeline.md: reword the launch FYI so it no longer reads as a
  shipped, consumable JSON contract (which conflicted with status
  no-json-contract). The routes were rewritten on master directly (not gated
  behind #10947) but still lack a documented/SDK-absorbable contract, so the
  entry stays no-json-contract; absorption pulls from master when that lands.
@jeremy
jeremy requested a review from Copilot May 27, 2026 23:41

Copilot AI 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.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 37cdb289c4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread spec/api-gaps/memories-emptied-regression.md Outdated
jeremy added a commit that referenced this pull request May 28, 2026
The GetMyNotificationsOutput.memories Smithy doc still framed the BC5 `[]` as an
unresolved keep-vs-break decision and told readers to "consume both", which
contradicts the reconciliation (PR #325): the decision is made and the fix is
written but unmerged in BC3 #10947. Reword to state the confirmed regression,
the in-flight fix, and "prefer bubble_ups; don't rely on memories being
populated on BC5 until #10947 ships". Points at the regression brief.

Regenerated the artifacts that inherit the @documentation trait: openapi.json +
openapi-stripped.json, the TS schema.d.ts JSDoc, and the Go client.gen.go
comment. Ruby/TS metadata + Ruby types.rb carry only a generated-timestamp
bump (their generators don't emit this field description); Python/Kotlin/Swift
generated output is unchanged. Drift checks (smithy-check, go-check-drift,
behavior-model-check) clean.

Addresses the Copilot/cubic doc-consistency thread on PR #325.
@jeremy
jeremy requested a review from Copilot May 28, 2026 00:02
@github-actions github-actions Bot added typescript Pull requests that update TypeScript code ruby Pull requests that update the Ruby SDK go labels May 28, 2026

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e12fe8f402

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread spec/api-gaps/memories-emptied-regression.md Outdated

Copilot AI 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.

Pull request overview

Copilot reviewed 8 out of 14 changed files in this pull request and generated 1 comment.

Comment thread spec/basecamp.smithy

@cubic-dev-ai cubic-dev-ai 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.

1 issue found across 8 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread spec/basecamp.smithy
@jeremy
jeremy requested a review from Copilot May 28, 2026 00:10
@github-actions github-actions Bot added the breaking Breaking change to public API label May 28, 2026
@github-actions

github-actions Bot commented May 28, 2026

Copy link
Copy Markdown

⚠️ Potential breaking changes detected:

  • Change in behavior of the 'memories' field: previously populated in BC4 but now emits an empty array in BC5. This represents a confirmed subtractive regression and impacts consumers relying on the 'memories' field being populated.

Review carefully before merging. Consider a major version bump.

@github-actions github-actions Bot added bug Something isn't working and removed documentation Improvements or additions to documentation labels May 28, 2026

Copilot AI 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.

Pull request overview

Copilot reviewed 8 out of 14 changed files in this pull request and generated no new comments.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 37c17655ea

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread COORDINATION.md Outdated
@jeremy
jeremy requested a review from Copilot May 28, 2026 00:17
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 28, 2026
@github-actions github-actions Bot removed the documentation Improvements or additions to documentation label May 28, 2026

Copilot AI 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.

Pull request overview

Copilot reviewed 8 out of 14 changed files in this pull request and generated no new comments.

@jeremy
jeremy force-pushed the bc5-readiness-spec-foundations branch from 6d6d16f to dce5610 Compare July 14, 2026 02:30
jeremy and others added 7 commits July 13, 2026 19:32
…pe cuts

Post-launch (2026-05-27) reconciliation of the API-gap registry to what BC5
master actually shipped vs BC4 (the four branch).

- New spec/api-gaps/memories-emptied-regression.md: the confirmed live
  subtractive regression (BC5 master ships json.memories [] while BC4 four
  populates it). Not an additive gap; status partial-coverage (closest fit).
  The fix is written but unmerged in BC3 #10947 (json.memories @bubble_ups);
  status flips to addressed-in-bc3-pr-10947 on merge. bc3_pr: 10947 set.
- stack-doc-and-smithy.md: flipped partial-coverage -> confirmed-not-api-resource.
  Stacks are web-only on both four and master (layout false, no respond_to
  :json, no doc section; Stacks::CollectablesController absent on master; the
  _stack partial only renders nested). No StacksService. Retained as the
  classification record per the briefs-trump-allowlist rule.
- everything-aggregates.md: 22 -> 17 endpoints. The files group was dropped
  (master consolidated file-type routes into /files/recent?kind= and unions
  unrenderable attachment recordings). 8 active groups; explicit route list.
  Files-by-kind noted as a possible future deliverable, not modeled now.
- activity-timeline.md: FYI that /activity.json + /projects/:id/timeline.json
  ship on master directly (not PR #10947); the removed /activity/days +
  /activity/dates sub-routes were never modeled.
- README.md: stack row -> confirmed-not-api-resource; new
  memories-emptied-regression row; note distinguishing the subtractive
  regression from the registry's additive gaps.
- COORDINATION.md: both contract-decision items reframed as open-pending-merge,
  not open-pending-decision. The counterfactual "commit 64acf34 aliases
  memories to bubble_ups" claim is purged (no such commit on four/five/master).

BC3 provenance at the finding: five+api @ 716e710ee5 (reconciliation handoff).

make validate-api-gaps: clean (12 entries). No spec/generated changes — the
smithy doc comment is left as-is (already substantively accurate) so this stays
a docs/registry-only change with no cross-language regen.
…tatus)

- everything-aggregates.md: the leftover "all 9 groups" consistency bullet now
  reads "all 8 groups", matching the files-group drop above.
- activity-timeline.md: reword the launch FYI so it no longer reads as a
  shipped, consumable JSON contract (which conflicted with status
  no-json-contract). The routes were rewritten on master directly (not gated
  behind #10947) but still lack a documented/SDK-absorbable contract, so the
  entry stays no-json-contract; absorption pulls from master when that lands.
The GetMyNotificationsOutput.memories Smithy doc still framed the BC5 `[]` as an
unresolved keep-vs-break decision and told readers to "consume both", which
contradicts the reconciliation (PR #325): the decision is made and the fix is
written but unmerged in BC3 #10947. Reword to state the confirmed regression,
the in-flight fix, and "prefer bubble_ups; don't rely on memories being
populated on BC5 until #10947 ships". Points at the regression brief.

Regenerated the artifacts that inherit the @documentation trait: openapi.json +
openapi-stripped.json, the TS schema.d.ts JSDoc, and the Go client.gen.go
comment. Ruby/TS metadata + Ruby types.rb carry only a generated-timestamp
bump (their generators don't emit this field description); Python/Kotlin/Swift
generated output is unchanged. Drift checks (smithy-check, go-check-drift,
behavior-model-check) clean.

Addresses the Copilot/cubic doc-consistency thread on PR #325.
…s branch

The brief's SDK-absorption runbook read as if the pairwiseDeltaAllowed waiver
and conformance/tests/live-my-surface.json were present here, but those canary
files are on PR #308's branch (this branch is the registry record only).
Reword to state #308 introduces the waiver and that it gets removed from
live-my-surface.json once #308 and BC3 #10947 both land. Also reframe the
"no Smithy change" bullet to "no structural change" — this PR does realign the
memories doc comment (documentation, not a shape change).
COORDINATION.md said the pairwiseSupersetArray rule "is waived via
pairwiseDeltaAllowed", which reads as if the canary surface exists on this
branch — it does not (conformance/tests/live-my-surface.json is on PR #308).
Reword to attribute the rule + waiver to #308's branch, matching the same fix
already made in the memories-emptied-regression brief.
…ntract

The brief captured the launch-reconciliation interim state: a 17-operation
surface with the files group cut and the feed groups framed as
recent-suffixed sub-routes. doc/api/sections/everything.md at #10947's
live head 589b1970 (verified 2026-07-13) supersedes that:

- 18 documented GET operations across 9 groups: todos x5 and cards x6 via
  filtered sub-routes, plus 7 root-path feeds (documents, messages,
  comments, checkins, forwards, files, boosts).
- The files group is restored (GET /files.json with kind and people_ids[]
  filters).
- Root collections are the documented contract for the feed groups; only
  the bare /todos.json and /cards.json roots remain HTML shells.
- /<resource>/recent.json paths are internal web Turbo-frame feeds, not
  API surface — the SDK must not model them.

Also repin the #10947 head references in memories-emptied-regression.md
and COORDINATION.md from 9dc63e2e to 589b1970.
@jeremy
jeremy force-pushed the bc5-readiness-launch-reconciliation branch from 2dac455 to 47f7741 Compare July 14, 2026 02:40
Copilot AI review requested due to automatic review settings July 14, 2026 02:40
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jul 14, 2026
@jeremy

jeremy commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

Rebased onto the rebased #293 head (dce56102, which carries the post-launch provenance repin and current main). All five branch commits survived cleanly (range-diff: only the regen commit differs, from re-running make generate on the new base), plus a follow-up regen commit for artifacts whose format changed under the new base.

Also refreshed spec/api-gaps/everything-aggregates.md against the live upstream contract — doc/api/sections/everything.md at BC3 #10947's head 589b1970 (verified 2026-07-13):

  • 17 → 18 operations: the files group is restored (GET /files.json with kind and people_ids[] filters), superseding the launch reconciliation's interim files-group cut.
  • Feed groups are documented at their root paths (/documents.json, /messages.json, /comments.json, /checkins.json, /forwards.json, /files.json, /boosts.json); only the bare /todos.json and /cards.json roots remain HTML shells, with the filtered sub-routes as their JSON surface.
  • /<resource>/recent.json paths are internal web Turbo-frame aliases, not API surface — the brief now says explicitly that the SDK must not model them.
  • Repinned the #10947 head references in memories-emptied-regression.md and COORDINATION.md from 9dc63e2e to 589b1970.

Verified: frontmatter route set matches the 18 documented GET markers in everything.md exactly; validate-api-gaps clean (12 entries); smithy-check / behavior-model-check / go-check-drift / kt-check-drift / bucket-flat parity / provenance all clean.

@github-actions github-actions Bot removed the documentation Improvements or additions to documentation label Jul 14, 2026

Copilot AI 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.

Pull request overview

Copilot reviewed 8 out of 14 changed files in this pull request and generated 1 comment.

Comment thread spec/api-gaps/everything-aggregates.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change to public API bug Something isn't working go ruby Pull requests that update the Ruby SDK spec Changes to the Smithy spec or OpenAPI typescript Pull requests that update TypeScript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants