858/07: peel EventGuide into EventGuideDbContext#1119
Open
peterdrier wants to merge 2 commits into
Open
Conversation
9 tasks
|
Reviewed commit cc98741 — no issues found. |
PR Surface ReportCompared Summary: 22 changed file(s) | EF migrations: 2 file(s), max 1/1 per context Reforge Surface Score
Section DeltasNo section score changes. Rule DeltasNo rule score changes. Interface SurfaceNo new interfaces or interface methods. Diff Size
New Files
EF Migrations (OK)
|
Owner
Author
|
Ready for review — EventGuide peel (final of the stack), all DoD verified (reviewer PASS, CI green incl. the doc-count rider). |
peterdrier
force-pushed
the
858/06-surveys
branch
from
July 16, 2026 06:31
807cc82 to
b0df743
Compare
…ive#858) Move the EventGuide section's seven tables (events, event_categories, event_venues, event_guide_settings, event_moderation_actions, event_favourites, event_preferences) out of HumansDbContext into a dedicated EventGuideDbContext with its own __EFMigrationsHistory_EventGuide table and migrations under Migrations/EventGuide/. - Add EventGuideDbContext + EventGuideDbContextFactory (internal-sealed, explicit configuration application; history table __EFMigrationsHistory_EventGuide). The Shifts-owned event_settings and event_participations tables stay in HumansDbContext. - git mv the seven EventGuide entity configurations into Configurations/EventGuide/ and renamespace them accordingly. - Remove the seven EventGuide DbSets from HumansDbContext and register the EventGuide configuration namespace in PeeledConfigurationNamespaces. - Register the section context via AddSectionDbContext<EventGuideDbContext> (sentinel events). - Switch EventRepository to IDbContextFactory<EventGuideDbContext> and its private MatchingFavourites helper to EventGuideDbContext. - Add BaselineEventGuide (creates the seven tables, their intra-section FKs and indexes incl. the NullsDistinct=false per-occurrence favourites unique index, and the event_categories HasData seed) and the snapshot-only PeelEventGuide migration (emptied bodies per the #858 execution brief). - Add EventGuideDbContext to the build.yml pending-model-changes and per-section-baseline apply loops, and add the EventGuide SectionCase to SectionMigrationRunnerTests (workshop-category seed probe). Migrate EventRepositoryTests to seed through EventGuideDbContext, dropping the now-modelless User/Camp seed helpers. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
event_categories seed is 8 rows (verified by the peel-7 EF review against the old chain — the 11 was an audit typo, never a divergence), and Surveys carries 8 model-declared jsonb defaults, not 7. nobodies-collective#858 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
peterdrier
force-pushed
the
858/07-eventguide
branch
from
July 16, 2026 06:42
cc98741 to
bdf1671
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Peel 7 — the final peel of the stacked sequence for nobodies-collective#858. Base =
858/06-surveys. Merge bottom-up.Tables owned
events,event_categories,event_venues,event_guide_settings,event_moderation_actions,event_favourites,event_preferences(7 tables; four intra-section FKs verified behavior-identical to the old chain; all user/camp references are bare Guid columns). The Shifts-ownedevent_settingsandevent_participationsare explicitly NOT part of this section and remain in the main pile — verified in both models.What's in the peel
EventGuideDbContextmapping only the seven tables; own__EFMigrationsHistory_EventGuide; real-up baseline20260715112050_BaselineEventGuide(7 CreateTable + 13 indexes incl. theNullsDistinct(false)per-occurrence favourites unique index + the 8-rowevent_categoriesseed) underMigrations/EventGuide/; registered viaAddSectionDbContext<EventGuideDbContext>(sentinel: "events").Configurations/EventGuide/(namespace-only renames).HumansDbContextstops mapping the tables; snapshot-onlyPeelEventGuidemigration with hand-emptied Up/Down (Peter-authorized exception, documented in-file). Snapshot diff = exactly the seven entity blocks + relationships (401 deletions, 0 insertions; reviewer verified the removed content is character-identical to the section snapshot — a verbatim model move).EventRepositoryswitches toIDbContextFactory<EventGuideDbContext>incl. its privateMatchingFavouriteshelper;EventRepositoryTestsmigrated (its removedEnsureUser/EnsureCampseeders were only feeding rows no assertion read — verified).SectionMigrationRunnerTestscase (with seed probe) extended.Audit dispositions applied (design doc §5 / §5.1)
The seed evolution got a dedicated review check: the old chain seeded 8 category rows once (
AddEventsSection) and never touched them again; configHasData, baselineInsertData, Designer, and section snapshot all agree row-by-row (ids/slugs/IsSensitive/DisplayOrder). Index evolution (AddEventFavouriteDayOffset's drop-and-rebuild, Description 300→450, Host column) verified folded into the baseline. Physical-defaults audit: clean.Verification evidence
dotnet format --verify-no-changesclean.has-pending-model-changesclean for all eight contexts.nobodies-collective#858
🤖 Generated with Claude Code