Skip to content

feat(identity): establish audited identity and membership storage - #38

Open
cemililik wants to merge 638 commits into
mainfrom
development
Open

cemililik wants to merge 638 commits into
mainfrom
development

Conversation

@cemililik

@cemililik cemililik commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Establish application-owned global actors, audited subject bindings, scoped Membership/Profile and Role/grant storage, finite development seed manifests, and read-only existing-binding API admission. ADR-0072/0073 are jointly Accepted; ADR-0074 owns admission timing under ordered User/tenant locks.

This packet adds no HTTP/SDK operation. Live authorization belongs to P03-2; usable new-user onboarding to P03-3; production first-admin/rebind and closure to P03-9/P03-10.

Approach

Verified review corrections cover atomic migration inputs and confined child environments, early connector release after binding reads, fixed provider-failure translation without retained private payloads, seed target/assignment checks, and real audit/privacy/concurrency controls. A forward parent-lock correction serializes assignment admission with Membership revocation while preserving historical migration output.

CI retains every case and complete selector ownership. Independent mutation methods have separate topical collections with unchanged bodies and two-thread cap. Accepted ADR-0075 supplies one verified mode/job/index budget policy: ordinary execution and enclosing observations receive 25 minutes; base/Architecture/native retain 20. Fixture preparation verifies source/workflow/job identity before image I/O. The 203-second reserve, operation caps, counts, weights, assignment algorithm and required names stay fixed.

All three ADR-0075 steps and both fresh independent review rounds per step are complete. The final evidence review corrected one fixture-population label; execution results were unchanged.

Tests

  • Qualified implementation source: ea114d25266d7db7729d276c07d0011a7ba180fd; actual merge c633763c0a8fb086c1f8fd09231075e8149da1c4, common tree 53daaf89c9527ccf370f108ef8dfb0f7bca8edfe.
  • Run 40412041726, full A/B attempts 1/2: each 27/27 successful jobs and 6,490 Passed .NET cases, zero skips. Exact backend/Docker unions are 3,664/2,826, including 31 native cases. Each attempt has twenty natural complete owners and 27 public JSON/HTML report pairs. All fifty original archives and API metadata were retained and independently audited; six IDs missing from the historical twenty-minute B now pass in both attempts.
  • Distinct Architecture, ordinary and actual SharedSchema co-membership is independently recomputed. SDK/console/adapter, source, plan, manifest and image identities agree. Maximum execution-producer API walls are A 938s / B 1,058s; this establishes observed fit, not a required minimum or future guarantee.
  • Local budget controls: 81 combined plan/result (including 38 aggregate controls) and 89 launcher controls pass. Complete hosted attempts also pass build/format, frontend/native ingress, public demo/Lighthouse, OpenAPI, secret and meta gates.
  • Documentation fragments, roadmap/index, lifecycle and whitespace checks pass. Current documentation head 58e5a1d939ddc9f6641eb2dffeef46a5707f3043 separately passes run 40420048044: 27/27 jobs, all seven required contexts and 6,490 Passed cases. Its 25 original packages are also retained and production-validated; this normal head check is distinct from the implementation-source A/B above.

Migration / Rollback

Identity adds seven tables and an immutable deployment authority. Select the migration connection and complete authority pair from one private source, run managed Audit→Identity migrations/authority installation, then reconcile development seed personas. API startup requires the matching installed authority even for anonymous reads; direct dotnet processes do not load root .env. See the deployment contract below for exact configuration and commands.

Three forward function corrections preserve historical migration output: two fix parent-refusal classification; the third serializes child lifecycle checks with revocation. Down/Up and predecessor/current controls run only in disposable databases. Reversing schema containing real Identity data needs a controlled restore/migration plan preserving bindings and audit links.

Risk

  • Five confined owner functions operate within the four-login-role model. Runtime owner execution, uncached identity storage and uniform 401 behavior are explicit ADR-0072 decisions. Seed admission remains default-denied in API composition; ordinary reruns refuse authority drift.
  • Durable actor/digest/audit links are personal data. Closure and retained-link handling remain P03-10 responsibilities; this packet grants no new public bootstrap or Platform authority.
  • Ordinary jobs can consume five additional running minutes each. Workflow feedback also depends on queueing/concurrency; no overall five-minute bound or numeric child CPU/memory quota is claimed.

Related

Prepared with Codex.

The source Docker guard correctly treats direct fixture references as
provider dependencies. Put pure finite classification in its own type
so offline canary controls remain Docker-free without weakening the guard.

ADR: 0063, 0064
Record independent final-source verification of finite failure codes
and the fixture-free diagnostic boundary, without claiming a repair.

ADR: 0063
Distinguish PostgreSQL SDK milestones and fixed daemon failure families
without exporting provider text or changing startup and cleanup policy.
Keep malformed and unknown responses on the existing generic diagnostic.

Validate seven offline cases, seven corpus/Docker-sweep cases, all 43
launcher controls and sixty combined shard/aggregate controls.

ADR: 0063
Map raw unpaired UTF-16 parser failures to the existing fixed fallback.
Four independently reproduced red controls now pass within the seven-case
offline suite with warnings as errors. Record first-round review and the
successful isolated Linux startup without claiming hosted reproduction.

ADR: 0063
Record both fresh second-round approvals, independent offline checks and
source-bound evidence limits before the next complete hosted A run.

ADR: 0063
Publish application PostgreSQL on the identity fixtures' loopback address.
Share publication checks and require real configured/runtime inspection;
retain all database roles and ownership cleanup.

Poll only valid empty browser target lists within the original shared
five-second discovery budget. Preserve immediate invalid-response refusal,
closed diagnostics and owner/liveness checks.

Validate nine C# cases, seven corpus/Docker-sweep cases, 1756 guarded
frontend cases, 43 launcher controls and sixty shard/aggregate controls.
Record actual Linux before-red/after-green publication and role proofs.

ADR: 0003, 0063, 0064
Retain both scoped approvals, independently executed controls and the
fourth frozen source's verified auxiliary evidence without promoting its
failed integration result or claiming an observed daemon version.

ADR: 0063
Record both fresh second-round approvals and independent browser,
PostgreSQL privilege and cleanup checks before complete final-source A/B
qualification. Keep source-bound evidence limits explicit.

ADR: 0063
Keep unsafe private-file refusals actionable without exposing their
contents, and make realm drift controls reject malformed profiles and
exercise username uniqueness independently. Extend owned fixture TLS
validity without changing trust. Record the existing issuance choice in
a Proposed ADR pending separate maintainer approval.

ADR: 0004, 0064
Describe the actual dependencies of provider-only and combined API tests
without implying every Keycloak proof configures application modules.
Record the first independent correction reviews and their verified fix.

ADR: 0004, 0064
Record both independent correction reviews and their validation limits,
while keeping the dedicated issuance ADR Proposed until explicit approval.

ADR: 0004, 0064
Clarify the proposed issuance ADR's authority and provider consequences
without treating the review as acceptance. Preserve historical package
statements through dated adjacent corrections and name the actual
reconciliation owners.

Validate signed access and ID expiration together, including session
clamping, and plant an independent ID-expiration payload defect that
passes each fresh-window check. Retain the existing runtime and case
population.

ADR: 0004, 0064
Record independent proof/security and ADR/provenance approval while
retaining the second review and explicit ADR acceptance gates.

ADR: 0004, 0064
Record the fresh second-round proof and ADR reviews and their limits.
Keep formal ADR acceptance and current-head hosted qualification separate.

ADR: 0004, 0064
Record explicit maintainer acceptance of revised ADR-0067 and complete
its authority references in Security 11, the catalogue and local guides.
Preserve original phase approval and Proposed-state reviews with dated
adjacent disclosures.

Keep issuance configuration, API acceptance, session ownership and
source-bound qualification unchanged. The preceding ordinary CI failure
remains separately under investigation.

ADR: 0004, 0064, 0067
Record the independent authority and scope reviews of the approved
ADR-0067 carrier changes, with hosted failure investigation retained.

ADR: 0067
Record both completed independent carrier reviews and the source-bound
CI triage. Preserve the failed lifecycle case without inferring its
missing assertion diagnostic or waiving aggregate refusal.

ADR: 0067
Add the one observed lifecycle test source to the finite diagnostic
projection while keeping paths, stacks and provider messages private.
Plant the missing location in the existing control, observe it fail,
then pass all 43 offline launcher controls after adding the mapping.

This does not identify or fix the previous runtime assertion failure.
Success witnesses, aggregate refusal and execution budgets stay intact.

ADR: 0063
Record independent privacy and counterexample reviews of the one-source
mapping, including all 43 controls and the removed-mapping negative.

ADR: 0063
Record the fresh second-round privacy and proof checks, including the
missing-map negative, all offline controls and byte-preserved execution.
Keep the preceding failed lifecycle receipt unwaived.

ADR: 0063
Keep teardown usable before realm convergence, retain closed setup diagnostics,
and confine private configuration and migration credentials to their owners.
Add actual-launcher controls without changing accepted realm capabilities.

ADR: 0004, 0053, 0054, 0064, 0067
Exercise retained-account and transport boundaries independently, keep the
realm gates mandatory, and project only recognized safe failure kinds.
Record source-bound checks without treating repeat passes as a root cause.
Guard the documented migration build before executing no-build EF.

ADR: 0004, 0063, 0064, 0067
Keep the demonstrated hidden-identity refusal while examining a bounded
metadata-first exception. Record the independent historical-bootstrap scope
prerequisite explicitly; approval and dependent runtime remain pending.

ADR: 0004, 0064, 0067, 0068
Separate profile visibility preparation from fully planned detachment of only
three qualified stock console edges. Retain compatible scopes, existing grants
and explicit approval before dependent runtime. Record actual feasibility,
completed correction reviews and the remaining proof boundary honestly.

ADR: 0004, 0064, 0067, 0068
Supply the test mode required by Next's process environment types without
inheriting application credentials into child fixtures. Full typecheck,
lint and all 197 affected cases pass. Record the proposed warm-realm
correction steps and reflow the first document review's long lines.

ADR: 0064, 0067
Record both fresh review rounds for the isolated fixture typing fix and
the final Proposed warm-realm correction. Preserve the approval hold and
separate author checks, private feasibility and hosted qualification.

ADR: 0064, 0067
Admin assignment endpoints return only ID and name. Read and bind the
complete representation before checking protocol, while preserving all
existing compatible allowance and mapper checks. Add independent graph,
identity, readback and transport-cap counterexamples; 256 guarded Node
cases and six workflow-gate controls pass.

ADR: 0004, 0064
Require all identity-independent refusals before preparation, preserve
readable prior definitions, and specify preparation diagnostics, write
accounting and exact assignment-only DELETE authority. Retain shipped
catalogue status with pending extensions. Correct raw provider anchors
and distinguish actual console token effects from unproved POST/runtime
behavior. Record conditional maintainer acceptance authority and the
separate source-bound CI failure without guessing its cause.

ADR: 0004, 0064, 0067
Add the existing settlement test file to the finite diagnostic source
projection. Verify exact and near-match handling without exposing raw
paths or errors. All 43 offline controls pass. This does not infer the
lost CI assertion or alter runtime, deadlines or success witnesses.

ADR: 0063
Record the first fresh review of the compatible-read correction and
conditional decision revision. Reflow its one minor finding and clarify
what the failed launcher envelope can and cannot establish.

ADR: 0063, 0064, 0067
Use Chromium's own test-launcher isolation flags for the private BFF
browser, matching the existing admission fixture. Keep the original
readiness, sandbox and cleanup contracts and qualify the real local
positive/counter flow.

Record the failed first hosted assignment separately from passing
pieces; the missing DevTools file's lower-level cause remains unknown.

ADR: 0063, 0070
Replace stale timing estimates with complete passing selector observations
from the retained first qualification attempt. Preserve measured floors
for interrupted owners and slower architecture observations, and leave
all censored groups unchanged.

Keep counts, algorithm, selectors, fixture census and deadlines intact.
Publish both assignment diffs and require fresh full A/B qualification;
case-duration estimates do not establish wall-time fit.

ADR: 0063, 0072, 0073
Record the independently verified complete A/B results on the final
implementation source and reconcile packet state to PR review pending.
Preserve failed receipts and distinguish later documentation-head checks
from the qualified implementation commit.

ADR: 0063, 0069, 0072, 0073, 0074

@sourcery-ai sourcery-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.

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 300 files, and this pull request has 328

@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 369 files, which is 219 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to Team to raise the limit.

Usage-priced reviews support at most 300 files.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: f3611c0d-8217-44d2-9929-84920a5e4f3a
Commits

Reviewing files that changed from the base of the PR and between 7cad840 and 58e5a1d.

Files selected for processing: 369
  • .claude/skills/local-dev-setup/SKILL.md
  • .claude/skills/run-tests-locally/SKILL.md
  • .env.example
  • .github/workflows/ci.yml
  • CLAUDE.md
  • Makefile
  • README.md
  • backend/LearnStack.slnx
  • backend/README.md
  • backend/src/LearnStack.Api/Authentication/TenantAuthenticationDiagnostics.cs
  • backend/src/LearnStack.Api/Authentication/TenantAuthenticationRegistration.cs
  • backend/src/LearnStack.Api/Authentication/TenantCredentialAdmissionMiddleware.cs
  • backend/src/LearnStack.Api/Authentication/TenantCredentialFeature.cs
  • backend/src/LearnStack.Api/Authentication/TenantIdentityBindingAdmissionMiddleware.cs
  • backend/src/LearnStack.Api/Authentication/TenantSubjectAdmissionMiddleware.cs
  • backend/src/LearnStack.Api/Authentication/TenantSubjectRateLimiter.cs
  • backend/src/LearnStack.Api/Authentication/TenantTokenProfile.cs
  • backend/src/LearnStack.Api/Authentication/VerifiedProviderSubject.cs
  • backend/src/LearnStack.Api/Composition/CrossCuttingFoundationExtensions.cs
  • backend/src/LearnStack.Api/Composition/IdentityStorageSpanProcessor.cs
  • backend/src/LearnStack.Api/Composition/PersistenceCompositionExtensions.cs
  • backend/src/LearnStack.Api/Program.cs
  • backend/src/LearnStack.Application/Audit/AuditExecutionCoordinator.cs
  • backend/src/LearnStack.Application/Persistence/TransactionExecutionCoordinator.GlobalIdentity.cs
  • backend/src/LearnStack.Application/Persistence/TransactionExecutionCoordinator.cs
  • backend/src/LearnStack.Application/Pipeline/MediatRPipelineRegistration.cs
  • backend/src/LearnStack.Infrastructure.Audit/AuditStateCapture.cs
  • backend/src/LearnStack.Infrastructure.Audit/Capture/AuditChangeTrackerInterceptor.cs
  • backend/src/LearnStack.Infrastructure.Audit/IdentityCreationWitnessInstaller.cs
  • backend/src/LearnStack.Infrastructure.Audit/PostgresAuditStore.GlobalIdentity.cs
  • backend/src/LearnStack.Infrastructure.Audit/PostgresAuditStore.cs
  • backend/src/LearnStack.Infrastructure/DataProtection/PersonalDataClassificationConvention.cs
  • backend/src/LearnStack.Infrastructure/DataProtection/PersonalDataClassificationExtensions.cs
  • backend/src/LearnStack.Infrastructure/DataProtection/PersonalDataModelCensus.cs
  • backend/src/LearnStack.Infrastructure/Persistence/AuditColumnMapping.cs
  • backend/src/LearnStack.Infrastructure/Persistence/GlobalIdentityEnrollment.cs
  • backend/src/LearnStack.Infrastructure/Persistence/GlobalIdentityScopeAccessor.cs
  • backend/src/LearnStack.Infrastructure/Persistence/IdentityLockObservation.cs
  • backend/src/LearnStack.Infrastructure/Persistence/IdentityMutationLocks.cs
  • backend/src/LearnStack.Infrastructure/Persistence/ModuleDbContextRegistration.cs
  • backend/src/LearnStack.Infrastructure/Persistence/NpgsqlUnitOfWork.cs
  • backend/src/LearnStack.Infrastructure/Persistence/TenantContextGuardInterceptor.cs
  • backend/src/LearnStack.SharedKernel/Audit/AuditDraftComposer.cs
  • backend/src/LearnStack.SharedKernel/Audit/AuditIntent.cs
  • backend/src/LearnStack.SharedKernel/Audit/GlobalIdentityCreationReference.cs
  • backend/src/LearnStack.SharedKernel/Audit/IAuditStore.cs
  • backend/src/LearnStack.SharedKernel/DataProtection/PersonalDataCategory.cs
  • backend/src/LearnStack.SharedKernel/Identifiers/IdentityAuthorityId.cs
  • backend/src/LearnStack.SharedKernel/Identifiers/UserId.cs
  • backend/src/LearnStack.SharedKernel/Identity/GlobalIdentityContextAnnouncement.cs
  • backend/src/LearnStack.SharedKernel/Identity/GlobalIdentityOwnerDescriptor.cs
  • backend/src/LearnStack.SharedKernel/Identity/GlobalIdentitySubject.cs
  • backend/src/LearnStack.SharedKernel/Identity/IGlobalIdentityEnrollment.cs
  • backend/src/LearnStack.SharedKernel/Identity/IIdentityMutationLocks.cs
  • backend/src/LearnStack.SharedKernel/Identity/IdentityAdvisoryLockKey.cs
  • backend/src/LearnStack.SharedKernel/Identity/IdentityMutationLockException.cs
  • backend/src/LearnStack.SharedKernel/Identity/IdentitySubjectKey.cs
  • backend/src/LearnStack.SharedKernel/Localization/LocaleTag.cs
  • backend/src/LearnStack.SharedKernel/Permissions/PermissionDefinition.cs
  • backend/src/LearnStack.SharedKernel/Persistence/IGlobalIdentityUnitOfWork.cs
  • backend/src/LearnStack.Tools.IdentityAuthorityInstaller/LearnStack.Tools.IdentityAuthorityInstaller.csproj
  • backend/src/LearnStack.Tools.IdentityAuthorityInstaller/Program.cs
  • backend/src/LearnStack.Tools.Seeder/FixedSeedIdentityFoundationAdmission.cs
  • backend/src/LearnStack.Tools.Seeder/LearnStack.Tools.Seeder.csproj
  • backend/src/LearnStack.Tools.Seeder/Program.cs
  • backend/src/LearnStack.Tools.Seeder/SeedComposition.cs
  • backend/src/LearnStack.Tools.Seeder/SeedData.cs
  • backend/src/LearnStack.Tools.Seeder/SeedIdentityFoundationRunner.cs
  • backend/src/LearnStack.Tools.Seeder/SeedProviderWitness.cs
  • backend/src/Modules/Audit/LearnStack.Modules.Audit.Infrastructure/Persistence/AuditDbContext.cs
  • backend/src/Modules/Audit/LearnStack.Modules.Audit.Infrastructure/Persistence/Configurations.cs
  • backend/src/Modules/Customization/LearnStack.Modules.Customization.Infrastructure/Persistence/Configurations.cs
  • backend/src/Modules/Customization/LearnStack.Modules.Customization.Infrastructure/Persistence/CustomizationDbContext.cs
  • backend/src/Modules/Education/LearnStack.Modules.Education.Infrastructure/Persistence/Configurations.cs
  • backend/src/Modules/Education/LearnStack.Modules.Education.Infrastructure/Persistence/EducationDbContext.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application.Contracts/Bindings/IIdentityBindingReader.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application.Contracts/Bindings/IdentityBindingResult.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application.Contracts/Seeding/ISeedIdentityBindingAdopter.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application.Contracts/Seeding/SeedIdentityFoundationAct.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application.Contracts/Seeding/SeedIdentityFoundationCommands.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application.Contracts/Seeding/SeedIdentityStateQueries.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Abstractions/ContextualIdentityStores.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Abstractions/IUserBindingStore.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Abstractions/UserBindingStorageException.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Audit/IdentityAuditCatalogSource.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Bindings/CreateUserBindingHandler.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/LearnStack.Modules.Identity.Application.csproj
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Seeding/CreateSeedMembershipCommandHandlers.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Seeding/InitializeSeedRoleCommandHandler.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Seeding/SeedFoundationGate.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Seeding/SeedFoundationValidators.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Seeding/SeedIdentityStateQueryHandlers.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Seeding/SetSeedMembershipProfileCommandHandler.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Domain/Identifiers.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Domain/IdentityAuthority.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Domain/IdentityFailures.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Domain/IdentityFoundationManifest.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Domain/Membership.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Domain/Role.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Domain/User.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Bindings/GlobalIdentityBindingService.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Bindings/IdentityAuthorityDeploymentInstaller.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Bindings/IdentityAuthorityQualification.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Bindings/IdentityAuthorityRegistration.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Bindings/IdentityFoundationRegistration.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/LearnStack.Modules.Identity.Infrastructure.csproj
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Configurations.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/ContextualConfigurations.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/ContextualIdentityStorageDdl.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/ContextualIdentityStores.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/IdentityDbContext.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/IdentityDbContextFactory.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/IdentityStorageDdl.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/IdentityStorageDiagnostics.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/20261025201338_create_identity_schema.Designer.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/20261025201338_create_identity_schema.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/20261025232309_add_contextual_identity.Designer.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/20261025232309_add_contextual_identity.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/20261026035353_correct_identity_parent_mirror_sqlstate.Designer.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/20261026035353_correct_identity_parent_mirror_sqlstate.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/20261026043921_correct_identity_admission_parent_sqlstate.Designer.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/20261026043921_correct_identity_admission_parent_sqlstate.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/20261026102944_serialize_identity_parent_lifecycle.Designer.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/20261026102944_serialize_identity_parent_lifecycle.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/Migrations/IdentityDbContextModelSnapshot.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/UserBindingStore.cs
  • backend/src/Modules/Tenancy/LearnStack.Modules.Tenancy.Application.Contracts/IdentityLifecycle/IIdentityScopeLifecycleReader.cs
  • backend/src/Modules/Tenancy/LearnStack.Modules.Tenancy.Infrastructure/Persistence/Configurations.cs
  • backend/src/Modules/Tenancy/LearnStack.Modules.Tenancy.Infrastructure/Persistence/IdentityScopeLifecycleReader.cs
  • backend/src/Modules/Tenancy/LearnStack.Modules.Tenancy.Infrastructure/Persistence/TenancyDbContext.cs
  • backend/tests/LearnStack.Tests.Architecture/AggregateWriteTests.cs
  • backend/tests/LearnStack.Tests.Architecture/AsyncStoreInventoryDocument.cs
  • backend/tests/LearnStack.Tests.Architecture/AsyncStoreInventoryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/AuditConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/AuthenticationAuthorityTests.Controls.cs
  • backend/tests/LearnStack.Tests.Architecture/AuthenticationAuthorityTests.Shapes.cs
  • backend/tests/LearnStack.Tests.Architecture/AuthenticationAuthorityTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobApplicationSourceBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobAuthorityBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobCapacityMutationTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobMetricBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobOrchestrationBoundaryTests.Retention.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobOrchestrationBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobOwnerBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobRecipientBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobRecurrenceRuntimeBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/DataProtectionConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/DeliveryDispatchBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/DomainGenericityTests.cs
  • backend/tests/LearnStack.Tests.Architecture/EntitlementKeyTests.cs
  • backend/tests/LearnStack.Tests.Architecture/GlobalIdentityModelTests.cs
  • backend/tests/LearnStack.Tests.Architecture/HangfireBridgeCredentialBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/HangfireRuntimeBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/IdentityAuditConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/IdentityFoundationConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/IntegrationDeliveryBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/IntegrationDeliveryLifecycleBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/LearnStack.Tests.Architecture.csproj
  • backend/tests/LearnStack.Tests.Architecture/ModuleDependencyTests.cs
  • backend/tests/LearnStack.Tests.Architecture/Modules.cs
  • backend/tests/LearnStack.Tests.Architecture/OutboxDispatchBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/OutboxDispatchConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/PersistenceConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/PrivilegedDispatchCleanupBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/TenancyConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/TenantContextConstructionTests.Organizations.cs
  • backend/tests/LearnStack.Tests.Architecture/TenantScopingTests.cs
  • backend/tests/LearnStack.Tests.Contract/DevelopmentWebApplicationFactory.cs
  • backend/tests/LearnStack.Tests.Integration/AuthenticatedRateLimitTests.Admission.cs
  • backend/tests/LearnStack.Tests.Integration/AuthenticatedRateLimitTests.cs
  • backend/tests/LearnStack.Tests.Integration/ConstructionOnlyApiFactory.cs
  • backend/tests/LearnStack.Tests.Integration/ConstructionOnlyApiFactoryTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AccountSiteHttpTests.Audit.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AccountSiteHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuditStoreTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobApplicationSourceTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobControlTests.Terminal.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobExternalIsolationTests.Helpers.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRuntimeFacadeTests.CombinedPhysicalCapacity.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobStorageMigrationTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/CustomizationDefaultDeliveryTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/DeliveryDispatchStoreTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/DeliveryProcessorTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/DomainEventProductionTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/EducationStructureTests.Detectors.cs
  • backend/tests/LearnStack.Tests.Integration/Database/EducationStructureTests.IdentityGuard.cs
  • backend/tests/LearnStack.Tests.Integration/Database/EducationStructureTests.IdentityRelations.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentityAuthorityToolTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentityBootstrapTests.Deadline.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentityBootstrapTests.Evidence.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentityBootstrapTests.Faults.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentityBootstrapTests.Lifecycle.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentityBootstrapTests.Provider.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentityBootstrapTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentitySchemaTests.AuditInsertion.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentitySchemaTests.Controls.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentitySchemaTests.FunctionDeclarations.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentitySchemaTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentityUnitOfWorkTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityCommandQualificationTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityDiagnosticSinkTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityDiagnosticSinks.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.AdminEligibility.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.Contention.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.FirstAdmin.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.Isolation.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.Migrations.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.OrgWriteControls.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.ParentLifecycle.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.ParentMirrors.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.Races.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.Storage.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMembershipTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMutationLockTests.Controls.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityMutationLockTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityPublicReadFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityReadDiagnosticSinkTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityScopeLifecycleTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentitySeederTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/MigrationChains.cs
  • backend/tests/LearnStack.Tests.Integration/Database/MigrationRollbackTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/NoOpAuditStore.cs
  • backend/tests/LearnStack.Tests.Integration/Database/OutboxDispatchStoreTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/OutboxProcessorTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/OutboxProducerTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/PlatformAdminScopeTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/ProducerExecutionTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/PublicLocalLaunchTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/PublicReadFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/PublicReadTransactionTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/SchemaFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/SchemaTableClasses.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenancySchemaTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantAssertionAuditTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantAuthenticationRejectionAuditTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantExistingBindingAdmissionTests.Diagnostics.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantExistingBindingAdmissionTests.Observation.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantExistingBindingAdmissionTests.Resources.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantExistingBindingAdmissionTests.Startup.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantExistingBindingAdmissionTests.cs
  • backend/tests/LearnStack.Tests.Integration/FixtureTenantIdentityBindingResolver.cs
  • backend/tests/LearnStack.Tests.Integration/LearnStack.Tests.Integration.csproj
  • backend/tests/LearnStack.Tests.Integration/SeedProviderWitnessTests.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/KeycloakIdentityDatabase.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantBffSessionTests.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantRealmApiTestGroup.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantRealmApiTests.Assertions.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantRealmApiTests.ExistingBinding.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantRealmApiTests.Host.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantRealmApiTests.WarmQualification.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantRealmApiTests.cs
  • backend/tests/LearnStack.Tests.Integration/TenantAssertionAuditAdmissionTests.cs
  • backend/tests/LearnStack.Tests.Integration/TenantAuthenticationDiagnosticsTests.SuppressionMetrics.cs
  • backend/tests/LearnStack.Tests.Integration/TenantAuthenticationHttpTests.Host.cs
  • backend/tests/LearnStack.Tests.Integration/TenantAuthenticationHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/TenantAuthenticationPipelineProof.cs
  • backend/tests/LearnStack.Tests.Integration/TenantAuthenticationProfileTests.cs
  • backend/tests/LearnStack.Tests.Integration/TenantAuthenticationReconciliationTests.Host.cs
  • backend/tests/LearnStack.Tests.Unit/Api/Authentication/TenantIdentityBindingAdmissionTests.cs
  • backend/tests/LearnStack.Tests.Unit/Api/Authentication/TenantSubjectRateLimiterTests.cs
  • backend/tests/LearnStack.Tests.Unit/Api/Tenancy/AuditingTenantAssertionRecorderTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Pipeline/AuditLogBehaviorTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Pipeline/AuditPipelineHarness.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Pipeline/GlobalIdentityExecutionTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Pipeline/JobAuditReconciliationTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Pipeline/TransactionBehaviorTests.cs
  • backend/tests/LearnStack.Tests.Unit/Identity/ContextualIdentityDomainTests.cs
  • backend/tests/LearnStack.Tests.Unit/Identity/GlobalIdentityKeyTests.cs
  • backend/tests/LearnStack.Tests.Unit/Identity/IdentityAuthorityRegistrationTests.cs
  • backend/tests/LearnStack.Tests.Unit/Identity/SeedIdentityHandlerTests.cs
  • backend/tests/LearnStack.Tests.Unit/Identity/UserBindingWritePortTests.cs
  • backend/tests/LearnStack.Tests.Unit/Infrastructure/Audit/AuditChangeTrackerInterceptorTests.cs
  • backend/tests/LearnStack.Tests.Unit/Infrastructure/Audit/DeliveryAuditDiagnosticsTests.cs
  • docs/architecture/02-domain-model.md
  • docs/architecture/03-module-boundaries.md
  • docs/architecture/05-mvp-scope.md
  • docs/architecture/09-tenant-isolation.md
  • docs/architecture/13-identity-and-auth.md
  • docs/architecture/23-data-protection.md
  • docs/architecture/28-platform-tenant-organization.md
  • docs/architecture/30-api-gateway.md
  • docs/architecture/31-audit-subsystem.md
  • docs/architecture/32-tenant-customization-model.md
  • docs/architecture/33-cross-cutting-concerns.md
  • docs/decisions/0003-tenant-isolation-defense-in-depth.md
  • docs/decisions/0010-cross-module-communication.md
  • docs/decisions/0017-tenant-organization-hierarchy.md
  • docs/decisions/0033-audit-durability-model.md
  • docs/decisions/0036-tenant-resolution-trusted-inputs.md
  • docs/decisions/0040-ambient-unit-of-work.md
  • docs/decisions/0044-audit-write-path.md
  • docs/decisions/0062-native-crash-proof-ci-provisioning.md
  • docs/decisions/0063-complete-bounded-ci-test-shards.md
  • docs/decisions/0064-tenant-api-authentication-boundary.md
  • docs/decisions/0065-bounded-tenant-assertion-diagnostics.md
  • docs/decisions/0066-bounded-tenant-subject-admission.md
  • docs/decisions/0070-owned-tenant-bff-sessions.md
  • docs/decisions/0071-uncertain-account-site-refusals.md
  • docs/decisions/0072-application-owned-identity-bootstrap.md
  • docs/decisions/0073-scoped-membership-and-identity-data-foundation.md
  • docs/decisions/0074-membership-admission-under-ordered-locks.md
  • docs/decisions/0075-ordinary-ci-job-window.md
  • docs/decisions/README.md
  • docs/glossary.md
  • docs/modules/audit/README.md
  • docs/modules/audit/audit.md
  • docs/modules/audit/permissions.md
  • docs/modules/customization/README.md
  • docs/modules/customization/audit.md
  • docs/modules/education/audit.md
  • docs/modules/identity/README.md
  • docs/modules/identity/audit.md
  • docs/modules/identity/permissions.md
  • docs/modules/tenancy/audit.md
  • docs/roadmap/README.md
  • docs/roadmap/phase-02b-delivery-log.md
  • docs/roadmap/phase-02b-events-auth.md
  • docs/roadmap/phase-02b-exit-evidence.md
  • docs/roadmap/phase-03-delivery-log.md
  • docs/roadmap/phase-03-identity-admin.md
  • docs/roadmap/phase-04-cms-media-pages.md
  • docs/roadmap/phase-06-renderer-admin-studio.md
  • docs/roadmap/phase-08a-assessment-notifications.md
  • docs/roadmap/phase-10-english-learning-mvp.md
  • docs/standards/01-architecture-standards.md
  • docs/standards/04-api-design.md
  • docs/standards/05-database.md
  • docs/standards/06-testing.md
  • docs/standards/07-frontend-architecture.md
  • docs/standards/10-observability.md
  • docs/standards/11-security.md
  • docs/standards/18-audit-coverage.md
  • docs/standards/19-permissions.md
  • docs/standards/20-infrastructure-stack.md
  • docs/standards/21-architecture-tests-catalogue.md
  • docs/standards/README.md
  • frontend/apps/web/scripts/verify-bff-browser.mjs
  • frontend/apps/web/src/server/auth/provider-core.ts
  • frontend/apps/web/src/server/auth/provider.test.ts
  • frontend/apps/web/src/server/ingress.test.ts
  • frontend/apps/web/src/server/ingress.ts
  • frontend/apps/web/src/test/demo-lifecycle.test.ts
  • frontend/apps/web/src/test/demo-realm-lifecycle.test.ts
  • frontend/apps/web/src/test/migration-build.test.ts
  • infra/keycloak/README.md
  • scripts/ci-native-tests.py
  • scripts/ci-test-shard-results.py
  • scripts/ci-test-shards-plan.json
  • scripts/ci-test-shards.py
  • scripts/connection-string.awk
  • scripts/demo-process.d.mts
  • scripts/demo-process.mjs
  • scripts/demo.mjs
  • scripts/development-realm-core.mjs
  • scripts/development-realm-core.test.mjs
  • scripts/development-realm-errors.mjs
  • scripts/development-realm-owner.mjs
  • scripts/development-realm-owner.test.mjs
  • scripts/development-realm-plan.mjs
  • scripts/migrate.mjs
  • scripts/public-runtime.mjs
  • scripts/reconcile-development-realm.mjs
  • scripts/reconcile-development-realm.test.mjs
  • scripts/run-realm-node-tests.py
  • scripts/seed.mjs
  • scripts/test-ci-native-tests.py
  • scripts/test-ci-test-shard-results.py
  • scripts/test-ci-test-shards.py

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@cemililik
cemililik marked this pull request as ready for review October 26, 2026 07:04
@coldtea-pr-lens

coldtea-pr-lens Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
  • Redraw · drawn at d32f310, the branch has moved on

Architecture

Architecture diagram for HodeTech/LearnStack at d32f310

Play the walkthrough

Inside the changed components — 1 view

Component view — Identity and locking core

Internal modules managing global bindings, contextual mutations, and transaction coordination.

Architecture view of Component view — Identity and locking core in HodeTech/LearnStack

Data flow

Data flow diagram for HodeTech/LearnStack at d32f310

Follow each request


Review

✨ Nothing flagged · reviewed d32f310


Tip

Run npx skills add coldteadotai/pr-lens, then tell your coding agent: "Diagram the change you just made with PR Lens and attach it to the pull request."

🪧 More tips
  • Run npx @coldtea/pr-lens-cli analyze --base origin/main on a branch, then npx @coldtea/pr-lens-cli render .pr-lens/graph.json. Same lenses, your own model key, before the pull request exists
  • Click the link under each diagram to open it on a canvas you can zoom, pan and step through
  • The diagrams are links. Click one to open it on the canvas, then press W or click play to walk through the change
  • Open a diagram on the canvas, then press W or click play to walk through the change one step at a time
  • The CLI's render reads .github/pr-lens.yml and applies your renames, exclusions and lane pins at draw time
  • Set github.comment.collapsed: true in .github/pr-lens.yml to fold the comment behind one View architecture and data flow row. Drawing still runs as before
  • Set github.draw: on-demand in .github/pr-lens.yml and PR Lens stops drawing pull requests on its own. Comment @pr-lens draw on a pull request when you want that one drawn
  • Add .github/workflows/pr-lens.yml with coldteadotai/pr-lens/packages/action@v0 and your model provider's key as its api-key to run PR Lens from your own CI. Any /chat/completions endpoint works
  • After a push, tick Redraw to draw the latest commit
  • Switch GitHub to dark mode and the diagrams follow. The moving dots are this pull request's data in motion
  • Set github.description: false in .github/pr-lens.yml to stop PR Lens adding buttons to your PR descriptions

Thanks for using PR Lens! It's free for OSS. If it helped, a star helps other teams find it.  Star PR Lens on GitHub

@sourcery-ai sourcery-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.

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 300 files, and this pull request has 328

Select deployment inputs atomically, release completed lookup connectors, and
translate bounded EF failure wrappers without retaining provider payloads.
Serialize child lifecycle checks with revocation through a forward migration,
strengthen real PostgreSQL proofs, and reconcile mutable documentation.

ADR: 0040, 0044, 0064, 0070, 0072, 0073, 0074
Complete the existing G19 boundary for current contextual reads and transient
save wrappers, including secondary rollback diagnostics. Preserve cancellation
and COMMIT semantics; align independent parent-guard expectations and add
regression controls for each verified first-round finding.

ADR: 0032, 0040, 0072, 0073, 0074
Reject duplicate role assignments before starting migration children, including
aliases with equal values, and retain quoted password parsing. Record the two
completed independent correction reviews and keep packet qualification pending
until current-source hosted checks finish.

ADR: 0069, 0072, 0073
Keep the closed shared-fixture witness equal to the actual test classes without
changing shard counts, assignment rules, weights or resource ceilings. Record
the failed metadata gate and require both complete layouts on the corrected
source while keeping current-head status independent of historical receipts.

ADR: 0063, 0069, 0073
Account for complete hosted selector costs in both layouts instead of leaving
new proofs on default weights. Preserve prior measured floors, omit partial
observations, and retain source-bound archive provenance. Keep shard counts,
assignment rules and ceilings unchanged and require fresh complete A/B runs.

ADR: 0063, 0069
Keep separately owned Cecil mutation graphs in topical xUnit collections so
large proofs do not serialize behind unrelated controls. Preserve every body,
case and the two-thread cap; bind renamed selectors to explicit historical
timing aliases and require complete qualification of both layouts.

ADR: 0063, 0069
Record the retained current-source A success and B budget refusals. Propose
a bounded ordinary-only 25-minute exception without changing policy code
or the Accepted record before maintainer approval.

ADR: 0063, 0069
Name the additional Standard 20 acceptance carrier and accurately describe
resource accounting without invented numeric quotas. Record independent
source and original-archive review results.

ADR: 0063, 0069
Record two fresh independent source and retained-evidence approvals,
with explicit proof limits and the pending maintainer decision.

ADR: 0063, 0069
Prepare own-record amendments for both inherited CI decisions and scope
feedback cost per running job. Distinguish expected-owner observations
from unchanged operation deadlines without implementing the policy.

ADR: 0062, 0063, 0069
Record independent source and corpus checks of the maintainer review
clarifications, including the justified observation-bound disposition.

ADR: 0062, 0063, 0069
Record fresh source and corpus approvals with explicit execution and
acceptance limits. Keep the policy Proposed for maintainer review.

ADR: 0062, 0063, 0069
Record maintainer acceptance, append each predecessor amendment and
reconcile current carriers before implementing the closed budget policy.
Acceptance and existing catalogue enforcement do not establish new fit.

ADR: 0062, 0063, 0069, 0075
Record independent amendment-byte and carrier-consistency approvals
without claiming executable implementation or hosted fit.

ADR: 0062, 0063, 0069, 0075
Record two fresh second-round approvals and the completed documentation
step before starting dependent budget implementation.

ADR: 0062, 0063, 0069, 0075
Share one closed mode/job/index duration policy across launch, fixture
preparation and independent result validation. Extend only ordinary whole
job and enclosing observation windows while preserving cleanup and
operation caps. Add positive and forged-identity threshold controls.

ADR: 0062, 0063, 0075
Record independent authority-path approval and offline counterfactual
reruns while leaving hosted qualification explicitly pending.

ADR: 0062, 0063, 0069, 0075
Record fresh independent second-round approvals and freeze the reviewed
source for complete same-source A/B qualification without inferred fit.

ADR: 0062, 0063, 0069, 0075
Record two complete same-source hosted assignments, retained original
packages and exact result/lifecycle evidence before independent review.
Keep implementation-source qualification distinct from later doc heads.

ADR: 0062, 0063, 0069, 0075
Record independent original-archive and lifecycle/public audits of both
complete assignments, with explicit source and chronology proof limits.

ADR: 0062, 0063, 0069, 0075
Correct an unshipped evidence-label finding and record independent
second-round audits. Both actual fixture subsets demonstrate distinct
assignments; no execution source or result changes.

ADR: 0062, 0063, 0069, 0075
Record completed acceptance, code and hosted-evidence review cycles with
source-bound full A/B qualification. Keep later documentation identity
and normal protected checks explicit for the PR handoff.

ADR: 0062, 0063, 0069, 0075
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant