Skip to content

docs(openspec): Use the existing Owner column and migrate only proven legacy data - #2489

Merged
dcramer merged 1 commit into
mainfrom
docs/identity-plan-legacy-data
Oct 31, 2026
Merged

dcramer merged 1 commit into
mainfrom
docs/identity-plan-legacy-data

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Refs #2439

Updates the Actor identity plan (openspec/changes/actor-identity-end-state/) to the reevaluated plan that David answered in the #2439 Slack thread.

David's answers, quoted in proposal.md:

  • "(1) yes": old event Messages get the system Identity as their author.
  • "(2), why not just make them system? if they dont have an author just make them without an author? should be uncommon": plan reading: old user Messages whose author cannot be proven stay with no author. The dry run counts them.
  • "(3) i guess? usually theres just like one actor.. everything else is metadata": junior_conversations.actor_identity_id stays as the Owner column. Code and docs call it the Owner.

Plan decisions:

  • The new Owner column work (old steps 4a/4b) is gone. ref(identity): Set author Identity ids at ingress #2482 makes the existing column keep its first value, which is the Owner rule.
  • New legacy data rule: migrate an old shape only when special code exists for it, and only with a rule that a read-only dry run proves. Then delete that code. design.md, Legacy Data, lists the shapes that need it and the ones that do not (junior/<email> Identities, Redis and Turn checkpoints).
  • Owner repair (Personal spend omits web conversations and loses the web actor #2431) is a separate step. It fixes wrong data, not a code path.
  • The Bugbot open question is closed with David's "yeah Bugbot and sentry will end up on trusted actors".

New step order: 1 (#2443, done), 2 (#2473 done, finish #2482), 3 labels, system for new system Conversations, child Owner, and root Owner readers, 4 real Identities and trust (needs #2260), 5 dry run and David's OK, 6 one data migration, 7 Owner repair, 8 delete fallbacks and stored Actors after the Redis window, 9 drop columns and delete the plan. Steps 1 and 2 keep their numbers, so the references in #2482 stay correct.

All other decided rules stay the same. TERMINOLOGY.md does not change.

via David Cramer.

--

View Session [Sentry]

… legacy data

Co-Authored-By: David Cramer <david@sentry.io>
@vercel

vercel Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
junior-docs Ready Ready Preview Oct 31, 2026 4:59pm UTC

Request Review

@github-actions

Copy link
Copy Markdown
Contributor

2 screenshot changes — 2 changed · 0 added · 0 removed

Review screenshots in Frameshift

Conversation Child Agent Drawer · Desktop
Conversation Child Agent Drawer · Desktop
Changed
Conversation Child Agent Drawer · Mobile
Conversation Child Agent Drawer · Mobile
Changed

@dcramer
dcramer merged commit 41ea1d2 into main Oct 31, 2026
45 checks passed
@dcramer
dcramer deleted the docs/identity-plan-legacy-data branch October 31, 2026 17:20

This branch was successfully deployed

1 active deployment
Preview – junior-docs — 0c5ba2be Deployed Oct 31, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: high PR risk score: high

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant