Skip to content

feat(identity): enforce live scoped authorization and trusted evidence - #39

Merged
cemililik merged 697 commits into
mainfrom
development
Oct 28, 2026
Merged

cemililik merged 697 commits into
mainfrom
development

Conversation

@cemililik

@cemililik cemililik commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Enforce current Membership, scoped permission and lifecycle authority at both HTTP and application dispatch, with explicit default denial.
  • Expose the bounded administrative membership directory using the existing Tenant capability and commit its sensitive-read audit before disclosure.
  • Retain one trusted central MUST event per denied invocation, including absorbed nested refusals, without replacing ordinary resource intents.

Approach

Authorization reads use a separate four-owner app-role lane; standalone evidence uses a separate two-owner lane. Qualification binds both to the installed Identity authority and actual business database. Operation-bound witnesses carry accepted tenant-wide read authority through the same EF/RLS owner and generation. Writable outer success commits unresolved denials atomically; read-only/ownerless success requires prior standalone acknowledgement.

Finite grant administration and manifest adoption remain explicit audited application operations. Current native BFF operations retain their existing AccountSite ceiling; P03-3 owns the next web administration and new-user entry surfaces.

Tests

  • Complete hosted A/B, implementation source c39ab614: 27/27 jobs per attempt, all seven required checks. Each passes 6,927 backend cases (2,998 Unit, 3,331 Integration, 593 Architecture, five Contract), zero failures/skips, with different complete assignments and identical source/toolchain/plan/population. All 50 original ZIPs pass API identity, size, SHA-256 and CRC checks; two independent reviewers audit the original evidence.

  • Each A/B hosted frontend run passes 2,458 tests / 73 files / two packages, zero skips/todos, plus typecheck, lint, build and native ingress cleanup. Each hosted public demo verifies 27 audits, nine browser navigations, 24 visibility controls, TLS/timeout counterfactuals, 134 HTTP-200 API completions and owned cleanup. Eight LCP medians per attempt remain advisory warnings.

  • Real PostgreSQL/PgBouncer small-pool progress, denial commit/crash, fixed-key reconciliation, scoped SQL/EF, grant/delegation and real provider/native controls are part of the completed population. Earlier failed and cancelled attempts remain disclosed in the delivery log.

  • Final documentation-only commits follow the qualified implementation source and receive corpus checks plus documentation lint. The PR's own protected checks run against its merge head; they are distinct from the implementation-source A/B evidence.

  • Review follow-up: seed and API share the explicit auxiliary-pair rule; invalid empty/partial pairs refuse before stack startup or migrations. Six stale documentation/skill carriers now match runtime. Validation: 246 focused tests, 2,481 guarded frontend tests, six seed environment controls, three real PostgreSQL/API launcher cases, typecheck, lint and documentation checks pass. This follow-up retains the original implementation-source A/B attribution and the maintainer's broader review scope limits.

  • CI cancellation-control follow-up: failed run 40662644606 contained one cancellation-test failure; integration aggregation correctly rejected that producer. The test now uses a private SQL lock acknowledgement, exact holder PID/mode checks and explicit joined release. Application admission timeouts remain unchanged. Validation passes 9/9 focused PostgreSQL tests, 95/95 native controls, an expected-failing wrong-mode counterfactual and two fresh review rounds. Current PR merge-head CI, head 4406c1d3, passes 27/27 jobs, all seven required checks and 6,927/6,927 backend cases, zero failures/skips. All 25 original ZIPs pass API identity, size, SHA-256 and CRC verification.

Risk

  • Tenant isolation changes are governed by ADR-0076: fresh uncached reads add database dependency; admission is bounded and can return 503 under saturation. Retained cleanup owns its slot until actual completion.
  • The two auxiliary lanes add at most six connectors per process and require independent backend capacity through PgBouncer.
  • ADR-0077 deliberately records per-occurrence denial evidence. High volume and retained Membership/Role metadata are explicit personal-data costs; Phase 11 owns production sizing/purge and P03-10 owns applicable locators.

Migration / Rollback

Use the existing P03-1 schema and installed authority. Outside Development, configure both ConnectionStrings:IdentityAuthorization and ConnectionStrings:AuthorizationEvidence; Development can derive the pair from its owned direct PostgreSQL Default. Keep the real app role and qualify the actual database/authority. Configuration and binary rollback follow retained-owner shutdown before replacing the process.

Related

Prepared with Codex.


Play the walkthrough    Follow each request

cemililik and others added 30 commits October 22, 2026 12:13
Record the different second review pair and retain the failed initial
attempt's evidence limits. Fresh same-source A/B qualification follows.

ADR: 0007, 0056, 0063
Retain the first body or explicit runtime-join exception instead of
masking it in finally. Export only case-bound closed boundary and owner
task observations so startup and cleanup cancellations can be separated.

Validate clean and three planted fault paths with actual native work,
including the old test's masking counterexample. The earlier hosted
cancellation remains unexplained; no timeout or runtime policy changes.

ADR: 0007, 0047, 0060, 0063
Preserve original proof receipts and disclose the corrected container
count against retained raw cleanup evidence. Record source binding and
the first independent review round without asserting a hosted cause.

ADR: 0007, 0047, 0060, 0063
Record the second fresh independent pair and exact retained evidence
verification. Keep hosted cancellation and helper scheduling causes
unproven until source-bound qualification supplies actual evidence.

ADR: 0007, 0047, 0060, 0063
The native execution fixtures may consume their sole extra hint while
an earlier empty recovery still owns private cleanup. Wait for actual
native work and local identity release before issuing that same hint.

Reproduce premature consumption with real SQL/native workers and an
owned System timer cleanup barrier. Preserve all existing budgets,
production policy and original case identities; add one regression fact.

ADR: 0047, 0059, 0060, 0063
Restore the original final cancellation check after readiness waits.
Record the first independent review round and fresh exact-source clean
and planted-failure evidence without claiming atomic cancellation or a
cause for the earlier hosted failure.

ADR: 0007, 0047, 0059, 0060, 0063
Record the second fresh pair and exact proof/source verification.
Preserve the unknown hosted cause and require complete final-source
A/B qualification before the follow-up draft is ready for review.

ADR: 0007, 0047, 0059, 0060, 0063
Let the hosted browser installer leave stalled APT mirrors while retaining
its complete dependency set, verification and existing time budgets.
Read back effective root settings and remove only the exclusive fragment.

Exercise the actual workflow shell across success and failure paths,
and retain the failed prior attempts as unqualified observations.

ADR: 0007, 0056, 0063
Make the write-failure control leave a genuinely incomplete fragment
before refusing, then verify that the actual workflow shell removes it.
Record the first independent review pair and the failed A receipt.

ADR: 0007, 0056, 0063
Record the second fresh independent review pair and its extracted-shell
checks. Keep the prior failed attempts separate from the complete hosted
A/B qualification still required on the resulting source.

ADR: 0007, 0056, 0063
The complete B assignment reaches the last public audit before its
sixteen-minute outer allowance cancels it. Allocate seventeen minutes
inside the same twenty-minute job, twelve-minute proof and thirty-second
native cleanup limits. Bound the remaining cleanup/receipt steps and
restore NuGet without a save post-hook to retain a three-minute tail.

Exercise actual deadline and tail shells, preserving forced failures.
Keep failed partial evidence distinct from complete qualification.

ADR: 0007, 0056, 0063
Record two independent approvals, their actual-shell controls and
historical evidence checks without claiming new hosted qualification.

ADR: 0056, 0063
Record fresh second-round approvals and independent historical evidence
revalidation. Keep complete final-source hosted A/B as a separate gate.

ADR: 0056, 0063
The hosted snapshot control fails strict temporary cleanup while its Git
object directory changes. Keep maintenance in the foreground only in the
synthetic repository so the waited commit also waits its actual work.
Prove nested commit-graph completion with a real Git trace under a
private configuration that otherwise requests background maintenance.

Retain strict cleanup and all OpenAPI comparison and admission rules.
The observed mechanism is not a captured trace of the hosted failure.

ADR: 0007, 0052
Reject a planted graph write failure even when a prior graph exists.
Correct pinned source anchors using physical raw-file lines and record
both first-round reviews and their verified fixes.

ADR: 0007, 0052
Record two fresh second-round approvals and the independently repeated
clean, detached and planted-failure controls with their runtime limits.

ADR: 0007, 0052
Both aggregate jobs reject a gate but discard which source-owned producer
and step failed validation. Emit finite state words before the unchanged
refusal so later API success cannot obscure the original observation.
Never export arbitrary provider values or retry inconsistent evidence.

Keep the unsuccessful historical attempt separate from new qualification.

ADR: 0007, 0063
Retain independent closed-output checks and historical evidence limits.
Separate complete public component observations from failed whole-run
qualification and final-source A/B still required.

ADR: 0007, 0056, 0063
Record fresh differential and mutant controls, independent component
archive checks and the unchanged final-source whole-workflow gate.

ADR: 0007, 0063
Disable the unowned telemetry exporter in the Outbox host fixture and
join actual startup before disposal even when its assertion wait expires.
Retain only finite startup facts from the real test adapter output.

Report closed producer states before the unchanged aggregate refusal.
Keep unknown hosted causes distinct from local counterfactual evidence.

ADR: 0007, 0044, 0046, 0063
Record independent code, protocol and retained-evidence validation while
preserving unknown hosted causes and complete final-source A/B gates.

ADR: 0063
Record the second fresh review pair and narrow container identity prose
to the exact retained evidence. Keep full final-source A/B pending.

ADR: 0063
Read fresh complete attempt snapshots under one short acquisition
budget before applying the unchanged successful-producer witness.
Refuse terminal, malformed and identity-invalid evidence immediately,
including when an earlier owner is pending. Never combine snapshots.

Keep the five-minute aggregate ceiling and upload reserve unchanged.

ADR: 0063
Reject malformed or reversed creation timestamps before a pending
owner can cause another read. Record independent repros and corrected
first-round review validation.

ADR: 0063
Record fresh second-round deadline and malformed-evidence controls,
with retained failed-attempt and pending hosted qualification limits.

ADR: 0063
Phase 02b's phase document reached 18,884 lines, 92% of them dated packet
records, and Phase 02d followed the same shape; status was narrated in five
places and no check covered link fragments. The maintainer accepts keeping
the plan and the record in separate files, status in one place, and two CI
guards that hold both, after one review round whose findings this text
resolves.

ADR: 0069

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Moves every dated packet record out of the two phase documents into
sibling append-only delivery logs, grouped by packet in source order,
with the superseded Status blocks kept verbatim in each log's archive.
Each heading's anchor was recomputed in its new file and checked against
its original one, duplicates included, and every original line survives
the split; only heading levels and link targets around the text change.
606 inbound links are retargeted with their text unchanged, so the
Accepted ADRs touched owe no amendment. Phase 04's one dated plan heading
keeps its date in its acceptance line and its six links follow it.

ADR: 0069

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Packet state was narrated in the phase Status block, the packet table,
the Completion Criteria preamble, the roadmap index, CLAUDE.md and the
repository README, and every step edited all of them. Each now points
at the phase document, whose bounded Status block owns packet state;
CLAUDE.md drops from 856 to 405 lines. The rule itself lands where
readers look for it: Roadmap § Phase Structure and § Decision Timing,
Documentation Standards, the glossary, CLAUDE.md and the two skills
that write roadmap records. ADR-0069's dated amendment names the README
as a sixth carrier and fixes how its budgets are counted.

ADR: 0069

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The link audit strips fragments and reads only changed files, so a
moved heading broke links silently, and nothing stopped a phase
document from growing records again. The meta job now resolves every
fragment link in the tree against GitHub's heading slugs and holds
phase documents, delivery logs, the roadmap index, CLAUDE.md and the
README to ADR-0069; `make lint` runs both through `lint-docs`. Each
guard ships planted-violation controls, the source census classifies
the four new tooling files, and the link audit now skips code spans as
it already skipped fenced samples.

ADR: 0069

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A delivery log is too large to read whole, so an agent needing one entry
has no map of the rest. The amendment opens each log with an index
generated from its headings and checked in CI, listing lengths rather
than line numbers and no inferred record kinds, and states that the
index is navigation, not a record.

ADR: 0069

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Retain two fresh second-round approvals and actual rediscovery of both
complete assignments. Keep the unchanged plan and population explicit;
final-source hosted A/B remains the qualification gate.

ADR: 0063, 0076, 0077
Give admission, routing, generation binding, framework capabilities and
provenance their own whole-method proofs in the existing collection.
Preserve the complete control bodies and one shared capability inventory;
leave detectors, production code and execution limits unchanged.

Record exact source-token reconstruction and instrumented control/result
multiset equality. Clean timing, plan review and full hosted A/B remain
required; diagnostic instrumentation is restored and never ships.

ADR: 0047, 0063, 0076, 0077
Retain all prior timing rows and add only actual complete passing new
Facts, with clean source/tree/binary and raw TRX provenance. Review the
new population and both complete assignment discoveries without changing
counts, algorithms, concurrency, ceilings or cleanup reserve.

Record the first independent review and measured-plan approval; second
review and final-source hosted A/B remain open.

ADR: 0047, 0063, 0076, 0077
Retain two fresh independent second-round approvals and the complete
source/control/timing/discovery evidence. Keep final-source hosted A/B as
the remaining qualification gate with unchanged execution limits.

ADR: 0047, 0063, 0076, 0077
Expand each nonsealed helper once per detector evaluation while retaining
all direct helper visits and existing clean, dirty and restored controls.
The three focused controls pass before and after; local mutation duration
falls from 122.297 to 6.486 seconds without changing the CI window.

Preserve the latest failed hosted attempt and keep complete final-source
A/B qualification open.

ADR: 0046, 0063, 0069
Record independent semantic and evidence review plus both actual selector
layouts without treating local speed measurements as hosted fit.

ADR: 0063, 0069
Record the second fresh semantic and evidence reviews while retaining the
existing complete hosted A/B qualification gate and CI limits.

ADR: 0063, 0069
Include historical stock proofs in the existing closed failure projection.
Observe provider SDK milestones and capture startup cancellation before
cleanup without exporting raw errors or changing lifecycle authority.

Preserve the failed full attempt, existing startup limits and incomplete
qualification status. Native controls and a real HTTPS provider smoke pass.

ADR: 0062, 0063, 0069
Record independent semantic and protocol review with repeated native
controls and raw failed-attempt audit. Keep the provider cause unknown.

ADR: 0062, 0063, 0069
Close the second independent review while retaining the unknown provider
cause, unchanged bounds and mandatory complete hosted A/B qualification.

ADR: 0062, 0063, 0069
Poll incomplete readiness within the existing startup allowance instead
of admitting a numeric prefix or refusing an empty publication immediately.
Preserve owner, cancellation, native-exit and closed-diagnostic boundaries.

Add actual-file and counterfactual controls, preserve the failed hosted
attempt, and keep complete clean-source qualification open.

ADR: 0055, 0056, 0063, 0069
Retain independent source review and a complete clean-workspace frontend
replay while keeping actual demo and hosted qualification separate.

ADR: 0055, 0056, 0063, 0069
Keep real renewal and expired-window proof, then hold the next actual
pacing callback while the positive Outcome completes. Preserve every
assertion, allowed conservative refusal and existing lease/stage bound.

Join real callbacks and factories on all exits; retain clean, refusal and
isolated dirty-cleanup evidence without claiming hosted qualification.

ADR: 0047, 0059, 0063, 0069
Retain independent source and raw-proof review while distinguishing the
selected positive schedule from unknown historical CI interleavings.

ADR: 0047, 0059, 0063, 0069
Record both fresh review closures and the clean managed browser proof
before restarting complete hosted qualification on one stable source.
Local evidence does not promote the packet or replace the full A/B pair.

ADR: 0063, 0069, 0076, 0077
The final permission promotion leaves no Adopted standards. Preserve the
existing status/index check while allowing its truthful zero count.
An isolated future-document twin fails before and passes after this fix.

ADR: 0069, 0076, 0077
Retain independent raw before/after and cancelled-attempt checks before
the next review round and complete hosted source qualification.

ADR: 0063, 0069, 0076, 0077
Close the second independent census review and preserve the source-bound
qualification gate before promoting final permission and test carriers.

ADR: 0063, 0069, 0076, 0077
Promote live permission and catalogue status only after complete same-source
hosted A/B and independent original-evidence audits. Keep later entry,
UI, Platform and closure work in their owning Phase 03 packets.

ADR: 0063, 0069, 0076, 0077
Module: Identity, Tenancy, Customization, Education, Audit
Close the fresh documentation review after qualified A/B and preserve
source provenance, later packet ownership and the pending PR review.

ADR: 0063, 0069, 0076, 0077

@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 366

@coldtea-pr-lens

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

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

Architecture

Architecture diagram for HodeTech/LearnStack at c37c3df

Play the walkthrough

Inside the changed components — 1 view

Component view — Live Authorization and Evidence

Internal components handling policy verification, isolated read sessions, and mandatory evidence durability

Architecture view of Component view — Live Authorization and Evidence in HodeTech/LearnStack

Data flow

Data flow diagram for HodeTech/LearnStack at c37c3df

Follow each request


Review

✨ Nothing flagged · reviewed c37c3df


Tip

Open a diagram on the canvas, then press W or click play to walk through the change one step at a time

🪧 More tips
  • 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."
  • 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
  • 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… 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

@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 368 files, which is 218 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: 9898d438-01c7-40d4-bfff-c5ef9e2893a9
Commits

Reviewing files that changed from the base of the PR and between 012e67c and 4406c1d.

Files ignored due to path filters: 1
  • frontend/packages/sdk/src/generated/schema.d.ts is excluded by !**/generated/**
Files selected for processing: 368
  • .claude/skills/add-mediatr-handler/SKILL.md
  • .claude/skills/add-permission/SKILL.md
  • .claude/skills/local-dev-setup/SKILL.md
  • .claude/skills/run-tests-locally/SKILL.md
  • .claude/skills/seed-tenant/SKILL.md
  • .env.example
  • README.md
  • backend/LearnStack.slnx
  • backend/openapi/v1.json
  • backend/src/LearnStack.Api/Account/AccountController.cs
  • backend/src/LearnStack.Api/Authentication/ClaimContextAssertionRecorder.cs
  • backend/src/LearnStack.Api/Authentication/ConfirmedClaimAssertionSource.cs
  • backend/src/LearnStack.Api/Authentication/HttpAuthorizationTransportSource.cs
  • backend/src/LearnStack.Api/Authentication/LiveAuthorizationRegistration.cs
  • backend/src/LearnStack.Api/Authentication/LiveTenantMembershipReader.cs
  • backend/src/LearnStack.Api/Authentication/OperationAuthorizationPolicyProvider.cs
  • backend/src/LearnStack.Api/Authentication/OperationClassificationMiddleware.cs
  • backend/src/LearnStack.Api/Authentication/OperationHttpClassification.cs
  • backend/src/LearnStack.Api/Authentication/TenantAuthenticationDocumentTransformer.cs
  • backend/src/LearnStack.Api/Authentication/TenantAuthorizationCandidateSource.cs
  • backend/src/LearnStack.Api/Authentication/TenantAuthorizationResultHandler.cs
  • backend/src/LearnStack.Api/Authentication/TenantSurfaceAdmissionMiddleware.cs
  • backend/src/LearnStack.Api/Composition/PersistenceCompositionExtensions.cs
  • backend/src/LearnStack.Api/Identity/MembershipsController.cs
  • backend/src/LearnStack.Api/Program.cs
  • backend/src/LearnStack.Api/PublicReads/PublicEducationController.cs
  • backend/src/LearnStack.Api/PublicReads/PublicResponsePolicy.cs
  • backend/src/LearnStack.Api/PublicReads/PublicSiteController.cs
  • backend/src/LearnStack.Api/Tenancy/IClaimContextAssertionRecorder.cs
  • backend/src/LearnStack.Api/Tenancy/TenancyCompositionExtensions.cs
  • backend/src/LearnStack.Api/Tenancy/TenantAssertionMiddleware.cs
  • backend/src/LearnStack.Api/Versioning/ApiVersioningExtensions.cs
  • backend/src/LearnStack.Application/Audit/AuditExecutionCoordinator.cs
  • backend/src/LearnStack.Application/Audit/AuthorizationEvidenceCoordinator.cs
  • backend/src/LearnStack.Application/Authorization/BackgroundJobOperationPolicySource.cs
  • backend/src/LearnStack.Application/Authorization/OperationAuthorizationCoordinator.cs
  • backend/src/LearnStack.Application/Authorization/OperationAuthorizationRegistration.cs
  • backend/src/LearnStack.Application/Authorization/OperationPolicyCatalog.cs
  • backend/src/LearnStack.Application/Jobs/BackgroundJobExecutionAdmission.OperationSource.cs
  • backend/src/LearnStack.Application/Jobs/BackgroundJobExecutionAdmission.cs
  • backend/src/LearnStack.Application/Persistence/TransactionExecutionCoordinator.cs
  • backend/src/LearnStack.Application/Pipeline/AuthorizationBehavior.cs
  • backend/src/LearnStack.Application/Pipeline/MediatRPipelineRegistration.cs
  • backend/src/LearnStack.Infrastructure.Audit/AuditStateCapture.cs
  • backend/src/LearnStack.Infrastructure.Audit/PostgresAuditStore.AuthorizationEvidence.cs
  • backend/src/LearnStack.Infrastructure.Audit/PostgresAuditStore.cs
  • backend/src/LearnStack.Infrastructure/Jobs/BackgroundJobContractsRegistration.cs
  • backend/src/LearnStack.Infrastructure/Messaging/DeliveryExecutor.cs
  • backend/src/LearnStack.Infrastructure/Messaging/DeliveryOperationSource.cs
  • backend/src/LearnStack.Infrastructure/MultiTenancy/OrganizationScopeValidator.cs
  • backend/src/LearnStack.Infrastructure/Persistence/ApplicationDataSource.cs
  • backend/src/LearnStack.Infrastructure/Persistence/AuthorizationEvidenceSession.cs
  • backend/src/LearnStack.Infrastructure/Persistence/AuthorizationEvidenceSource.cs
  • backend/src/LearnStack.Infrastructure/Persistence/AuthorizationReadOwner.cs
  • backend/src/LearnStack.Infrastructure/Persistence/AuthorizationSourceConfiguration.cs
  • backend/src/LearnStack.Infrastructure/Persistence/DatabaseQualificationProof.cs
  • backend/src/LearnStack.Infrastructure/Persistence/IdentityAuthorizationReadSource.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.Infrastructure/Persistence/TenantQueryFilters.cs
  • backend/src/LearnStack.SharedKernel/Audit/AuditDraftComposer.cs
  • backend/src/LearnStack.SharedKernel/Audit/AuditEntryDraft.cs
  • backend/src/LearnStack.SharedKernel/Audit/AuditIntent.cs
  • backend/src/LearnStack.SharedKernel/Audit/AuthorizationAuditContext.cs
  • backend/src/LearnStack.SharedKernel/Audit/AuthorizationEvidenceOccurrence.cs
  • backend/src/LearnStack.SharedKernel/Audit/ConfirmedClaimAssertion.cs
  • backend/src/LearnStack.SharedKernel/Audit/IAuditHealth.cs
  • backend/src/LearnStack.SharedKernel/Audit/IAuditStateCapture.cs
  • backend/src/LearnStack.SharedKernel/Audit/IAuditStore.cs
  • backend/src/LearnStack.SharedKernel/Audit/IAuthorizationEvidenceSession.cs
  • backend/src/LearnStack.SharedKernel/Audit/IAuthorizationRefusalReporter.cs
  • backend/src/LearnStack.SharedKernel/Audit/OperationTransportProvenance.cs
  • backend/src/LearnStack.SharedKernel/Jobs/JobApplicationSourceOwner.cs
  • backend/src/LearnStack.SharedKernel/Permissions/AuthorizationCandidate.cs
  • backend/src/LearnStack.SharedKernel/Permissions/IOperationInvocationContext.cs
  • backend/src/LearnStack.SharedKernel/Permissions/OperationInvocation.cs
  • backend/src/LearnStack.SharedKernel/Permissions/OperationPolicy.cs
  • backend/src/LearnStack.SharedKernel/Permissions/OperationReadWitness.cs
  • backend/src/LearnStack.SharedKernel/Permissions/ProtectedOperationDecision.cs
  • backend/src/LearnStack.SharedKernel/Permissions/TrustedOperationDescriptor.cs
  • backend/src/LearnStack.SharedKernel/Persistence/IUnitOfWork.cs
  • backend/src/LearnStack.Tools.Seeder/Program.cs
  • backend/src/LearnStack.Tools.Seeder/SeedComposition.cs
  • backend/src/LearnStack.Tools.Seeder/SeedOperationSource.cs
  • backend/src/Modules/Customization/LearnStack.Modules.Customization.Application/Authorization/CustomizationOperationPolicySource.cs
  • backend/src/Modules/Education/LearnStack.Modules.Education.Application/Authorization/EducationOperationPolicySource.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application.Contracts/Authorization/IIdentityAuthorizationReader.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application.Contracts/Memberships/ListMembershipsQuery.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application.Contracts/Roles/RoleGrantCommands.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Abstractions/IIdentityAuthorizationSession.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Abstractions/IMembershipDirectoryReader.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Audit/IdentityAuditCatalogSource.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Authorization/CommittedIdentityAuthorizationReader.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Authorization/IdentityOperationAuthorizer.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Authorization/RoleGrantAuthorization.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/IdentityOperationPolicySource.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Memberships/ListMembershipsQueryHandler.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Memberships/ListMembershipsQueryValidator.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Memberships/MembershipDirectoryCursorCodec.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Roles/RoleGrantCommandHandlers.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Application/Roles/RoleGrantValidators.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Domain/Role.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Authorization/IdentityAuthorizationRegistration.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Authorization/PreContextIdentityAuthorizationSessionFactory.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Bindings/IdentityAuthorityQualification.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Bindings/IdentityFoundationRegistration.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/ContextualIdentityStores.cs
  • backend/src/Modules/Identity/LearnStack.Modules.Identity.Infrastructure/Persistence/MembershipDirectoryReader.cs
  • backend/src/Modules/Tenancy/LearnStack.Modules.Tenancy.Application.Contracts/IdentityLifecycle/IIdentityScopeLifecycleReader.cs
  • backend/src/Modules/Tenancy/LearnStack.Modules.Tenancy.Application/Audit/TenancyAuditCatalogSource.cs
  • backend/src/Modules/Tenancy/LearnStack.Modules.Tenancy.Application/Authorization/TenancyOperationPolicySource.cs
  • backend/src/Modules/Tenancy/LearnStack.Modules.Tenancy.Infrastructure/Persistence/IdentityScopeLifecycleReader.cs
  • backend/tests/AuthorizationEvidenceProof/AuthorizationBarrierHarness.cs
  • backend/tests/LearnStack.Tests.Architecture/AggregateWriteTests.cs
  • backend/tests/LearnStack.Tests.Architecture/AuditConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/AuthenticatedHttpSurfaceTests.AttachedMetadata.cs
  • backend/tests/LearnStack.Tests.Architecture/AuthenticatedHttpSurfaceTests.ControllerMetadata.cs
  • backend/tests/LearnStack.Tests.Architecture/AuthenticatedHttpSurfaceTests.Controls.cs
  • backend/tests/LearnStack.Tests.Architecture/AuthenticatedHttpSurfaceTests.PolicyMetadata.cs
  • backend/tests/LearnStack.Tests.Architecture/AuthenticatedHttpSurfaceTests.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/BackgroundJobAdmissionBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobApplicationSourceBoundaryTests.Fields.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobApplicationSourceBoundaryTests.Qualification.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobApplicationSourceBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobAuthorityBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobManifestBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/BackgroundJobOwnerBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/CorpusConsistencyTests.cs
  • backend/tests/LearnStack.Tests.Architecture/EndpointComposition.Metadata.cs
  • backend/tests/LearnStack.Tests.Architecture/EndpointComposition.cs
  • backend/tests/LearnStack.Tests.Architecture/EndpointCompositionControls.cs
  • backend/tests/LearnStack.Tests.Architecture/IdentityAuditConventionTests.AuthorizationEvidence.cs
  • backend/tests/LearnStack.Tests.Architecture/IdentityAuditConventionTests.AuthorizationEvidenceGeneration.cs
  • backend/tests/LearnStack.Tests.Architecture/IdentityAuditConventionTests.AuthorizationEvidenceSource.cs
  • backend/tests/LearnStack.Tests.Architecture/IdentityAuditConventionTests.DatabaseProof.cs
  • backend/tests/LearnStack.Tests.Architecture/IdentityAuditConventionTests.RefusalObservation.cs
  • backend/tests/LearnStack.Tests.Architecture/IdentityAuditConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/IdentityAuthorizationConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/IdentityFoundationConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/IntegrationDeliveryLifecycleBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/OperationPermissionConventionTests.DeniedProofs.cs
  • backend/tests/LearnStack.Tests.Architecture/OperationPermissionConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/OperationPolicyOwnershipTests.Activation.cs
  • backend/tests/LearnStack.Tests.Architecture/OperationPolicyOwnershipTests.cs
  • backend/tests/LearnStack.Tests.Architecture/OutboxDispatchBoundaryTests.AuthorizationCredentials.cs
  • backend/tests/LearnStack.Tests.Architecture/OutboxDispatchBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/OutboxDispatchConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/PersistenceConventionTests.Enrollment.cs
  • backend/tests/LearnStack.Tests.Architecture/PersistenceConventionTests.ReadScope.cs
  • backend/tests/LearnStack.Tests.Architecture/PersistenceConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/PlatformAdminScopeConventionTests.cs
  • backend/tests/LearnStack.Tests.Architecture/PrivilegedDispatchCleanupBoundaryTests.cs
  • backend/tests/LearnStack.Tests.Architecture/PublicSurfaceTests.cs
  • backend/tests/LearnStack.Tests.Architecture/TenancyConventionTests.ScopeCarrier.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.Architecture/TrustedOperationSourceConventionTests.cs
  • backend/tests/LearnStack.Tests.AuthorizationEvidenceProbe/LearnStack.Tests.AuthorizationEvidenceProbe.csproj
  • backend/tests/LearnStack.Tests.AuthorizationEvidenceProbe/Program.cs
  • backend/tests/LearnStack.Tests.Contract/DevelopmentWebApplicationFactory.cs
  • backend/tests/LearnStack.Tests.Contract/OpenApiContractTests.Authentication.cs
  • backend/tests/LearnStack.Tests.Contract/OpenApiContractTests.Directory.cs
  • backend/tests/LearnStack.Tests.Contract/OpenApiContractTests.cs
  • backend/tests/LearnStack.Tests.Integration/Api/OperationHttpClassificationTests.cs
  • backend/tests/LearnStack.Tests.Integration/Api/UndeclaredHttpOperationTests.cs
  • backend/tests/LearnStack.Tests.Integration/ApiVersioningHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/AuthenticatedHttpSurfaceRuntimeTests.Metadata.cs
  • backend/tests/LearnStack.Tests.Integration/AuthenticatedHttpSurfaceRuntimeTests.cs
  • backend/tests/LearnStack.Tests.Integration/AuthenticatedRateLimitTests.cs
  • backend/tests/LearnStack.Tests.Integration/AuthorityCeilingHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/BackgroundJobProductionManifestTests.cs
  • backend/tests/LearnStack.Tests.Integration/ComponentApiFactory.cs
  • backend/tests/LearnStack.Tests.Integration/ComponentOperationRegistration.Database.cs
  • backend/tests/LearnStack.Tests.Integration/ComponentOperationRegistration.ExactAuthority.cs
  • backend/tests/LearnStack.Tests.Integration/ComponentOperationRegistration.cs
  • backend/tests/LearnStack.Tests.Integration/ComponentOperationRegistrationTests.cs
  • backend/tests/LearnStack.Tests.Integration/ConstructionOnlyApiFactory.cs
  • backend/tests/LearnStack.Tests.Integration/ConstructionOnlyApiFactoryTests.cs
  • backend/tests/LearnStack.Tests.Integration/CrossCuttingFoundationHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AccountSiteHttpTests.Audit.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AccountSiteHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AccountSiteQueryTests.Transactions.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AccountSiteQueryTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuditWorkflowTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuthorizationEvidenceBarrierTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuthorizationEvidenceFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuthorizationEvidenceSourceTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuthorizationEvidenceStoreTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuthorizationPoolProgressFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuthorizationPoolProgressTests.DatabaseProof.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuthorizationPoolProgressTests.Evidence.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuthorizationPoolProgressTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/AuthorizationReadSourceTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobBusinessTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobCapacityAdmissionTests.Completion.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobExternalCheckpointStoreTests.Budgets.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobFixtureOperations.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkFixture.Sources.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkTests.AuditRollback.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkTests.FinalizerPolicyWindow.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkTests.FinalizerRetry.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkTests.NativeRecovery.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkTests.NativeRecoveryScheduling.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkTests.NoPlanPolicyWindow.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkTests.SourceContention.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkTests.Transactions.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobPositiveSdkTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRecurrenceStoreTests.RecipientFaults.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRecurrenceStoreTests.RecipientHistory.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRecurrenceStoreTests.Submission.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRuntimeFacadeTests.AuxiliaryCleanup.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRuntimeFacadeTests.Business.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRuntimeFacadeTests.CombinedPhysicalCapacity.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRuntimeFacadeTests.CommitFaults.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRuntimeFacadeTests.ComposedLifetime.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRuntimeFacadeTests.HandoffQualification.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobRuntimeFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/BackgroundJobSubmissionTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/ComponentAuthorizationEvidence.cs
  • backend/tests/LearnStack.Tests.Integration/Database/ComponentDatabaseOperations.cs
  • backend/tests/LearnStack.Tests.Integration/Database/CustomizationContentTypeQuotaTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/CustomizationDefaultDeliveryTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/CustomizationDefaultInitializationTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/CustomizationPublicationConcurrencyTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/DatabaseQualificationProofTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/DeliveryProcessorTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/EducationWriterTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentityBootstrapTests.Lifecycle.cs
  • backend/tests/LearnStack.Tests.Integration/Database/GlobalIdentityBootstrapTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityAuthorizationHttpProof.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityAuthorizationHttpTests.Evidence.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityAuthorizationHttpTests.Pagination.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityAuthorizationHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityAuthorizationReaderFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityAuthorizationReaderTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentityPublicReadFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/IdentitySeederTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/MembershipDirectoryIntegrationTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/MembershipDirectoryPipelineTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/OperationReadScopeTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/OutboxProcessorTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/OutboxProducerHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/OutboxProducerTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/P02d2FoundationTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/PostgresFixture.cs
  • backend/tests/LearnStack.Tests.Integration/Database/ProducerExecutionTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/PublicLocalLaunchTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/PublicLocaleEvolutionHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/RoleGrantCommandIntegrationTests.Registry.cs
  • backend/tests/LearnStack.Tests.Integration/Database/RoleGrantCommandIntegrationTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/RoleGrantPipelineHarness.cs
  • backend/tests/LearnStack.Tests.Integration/Database/SeedAuthorizationActivationTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/SeederTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenancyWriterTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantCreatedProducerTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantExistingBindingAdmissionTests.Diagnostics.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantExistingBindingAdmissionTests.Resources.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantExistingBindingAdmissionTests.SourceProof.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantExistingBindingAdmissionTests.Startup.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantExistingBindingAdmissionTests.cs
  • backend/tests/LearnStack.Tests.Integration/Database/TenantIsolationHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/ErrorShapeHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/HostClassificationHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/IdempotencyHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/LearnStack.Tests.Integration.csproj
  • backend/tests/LearnStack.Tests.Integration/SeedOperationSourceTests.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/KeycloakFixture.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantBffSessionTests.Membership.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantBffSessionTests.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantRealmApiTests.Directory.cs
  • backend/tests/LearnStack.Tests.Integration/TenancyIdentity/TenantRealmApiTests.cs
  • backend/tests/LearnStack.Tests.Integration/TenantAssertionHttpTests.cs
  • backend/tests/LearnStack.Tests.Integration/TenantAuthenticationPipelineProof.cs
  • backend/tests/LearnStack.Tests.Integration/TenantAuthenticationReconciliationTests.Host.cs
  • backend/tests/LearnStack.Tests.Integration/VersionedRouteEnforcementTests.cs
  • backend/tests/LearnStack.Tests.Unit/Api/Authentication/AuthorizationEvidenceApiSourceTests.cs
  • backend/tests/LearnStack.Tests.Unit/Api/Authentication/TenantAuthorizationCandidateSourceTests.cs
  • backend/tests/LearnStack.Tests.Unit/Api/Tenancy/TenantAssertionMiddlewareTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Authorization/AuthorizationEvidenceCoordinatorTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Authorization/OperationAuthorizationCoordinatorTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Authorization/OperationPolicyCatalogTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Authorization/RefusedResultCleanupEvidenceTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Jobs/BackgroundJobCapacityCleanupTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Jobs/BackgroundJobExecutionAdmissionTests.cs
  • backend/tests/LearnStack.Tests.Unit/Application/Jobs/TrustedJobOperationSourceTests.cs
  • backend/tests/LearnStack.Tests.Unit/Identity/IdentityOperationAuthorizerTests.cs
  • backend/tests/LearnStack.Tests.Unit/Identity/MembershipDirectoryTests.cs
  • backend/tests/LearnStack.Tests.Unit/Identity/RoleGrantCommandTests.cs
  • backend/tests/LearnStack.Tests.Unit/Identity/RoleGrantDomainTests.cs
  • backend/tests/LearnStack.Tests.Unit/Infrastructure/Audit/AuthorizationEvidenceStoreTests.cs
  • backend/tests/LearnStack.Tests.Unit/Infrastructure/AuthorizationSourceConfigurationTests.cs
  • backend/tests/LearnStack.Tests.Unit/Infrastructure/Jobs/JobAuthorizationLaneTests.cs
  • backend/tests/LearnStack.Tests.Unit/Infrastructure/Messaging/DeliveryOperationSourceTests.cs
  • backend/tests/LearnStack.Tests.Unit/SharedKernel/Tenancy/TenantContextFactoryTests.cs
  • docs/architecture/09-tenant-isolation.md
  • docs/architecture/13-identity-and-auth.md
  • docs/architecture/23-data-protection.md
  • docs/architecture/31-audit-subsystem.md
  • docs/architecture/33-cross-cutting-concerns.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/0047-transactional-background-job-runtime.md
  • docs/decisions/0064-tenant-api-authentication-boundary.md
  • docs/decisions/0065-bounded-tenant-assertion-diagnostics.md
  • docs/decisions/0073-scoped-membership-and-identity-data-foundation.md
  • docs/decisions/0076-live-scoped-authorization.md
  • docs/decisions/0077-trusted-authorization-evidence.md
  • docs/decisions/README.md
  • docs/glossary.md
  • docs/modules/audit/audit.md
  • docs/modules/audit/permissions.md
  • docs/modules/customization/permissions.md
  • docs/modules/education/permissions.md
  • docs/modules/identity/README.md
  • docs/modules/identity/audit.md
  • docs/modules/identity/permissions.md
  • docs/modules/tenancy/README.md
  • docs/modules/tenancy/audit.md
  • docs/modules/tenancy/permissions.md
  • docs/roadmap/phase-03-delivery-log.md
  • docs/roadmap/phase-03-identity-admin.md
  • docs/roadmap/phase-11-production-hardening.md
  • docs/standards/04-api-design.md
  • docs/standards/05-database.md
  • docs/standards/06-testing.md
  • docs/standards/10-observability.md
  • docs/standards/11-security.md
  • docs/standards/12-infrastructure.md
  • docs/standards/18-audit-coverage.md
  • docs/standards/19-permissions.md
  • docs/standards/21-architecture-tests-catalogue.md
  • docs/standards/README.md
  • frontend/apps/web/README.md
  • frontend/apps/web/scripts/admission-browser.mjs
  • frontend/apps/web/scripts/public-demo-diagnostics.d.mts
  • frontend/apps/web/scripts/public-demo-diagnostics.mjs
  • frontend/apps/web/scripts/verify-public-demo.mjs
  • frontend/apps/web/src/server/ingress.ts
  • frontend/apps/web/src/test/demo-realm-lifecycle.test.ts
  • frontend/apps/web/src/test/public-api-environment.test.ts
  • frontend/apps/web/src/test/public-demo-readiness.test.ts
  • frontend/apps/web/src/test/public-local-file.test.ts
  • frontend/packages/sdk/src/authenticated-contract.test.ts
  • frontend/packages/sdk/src/authenticated-contract.ts
  • frontend/packages/sdk/src/index.ts
  • infra/compose/README.md
  • infra/keycloak/README.md
  • scripts/ci-native-tests.py
  • scripts/ci-test-shard-results.py
  • scripts/ci-test-shards-plan.json
  • scripts/demo-database.d.mts
  • scripts/demo-database.mjs
  • scripts/demo-database.test.mjs
  • scripts/demo.mjs
  • scripts/public-runtime.mjs
  • scripts/reconcile-development-realm.mjs
  • 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.

Share the explicit pair rule across seed and API runtime projections so
invalid local configuration cannot reach stack startup or migrations.
Reconcile verified stale authorization carriers with the delivered code.

ADR: 0069, 0076, 0077
Retain the first independent review and complete guarded frontend result
for the two verified review fixes before the second review round.

ADR: 0069, 0076, 0077
Keep the real launcher fixture's dependency closure intact after sharing
auxiliary configuration validation. Record live PostgreSQL/API results
and the second independent correction review before updating PR 39.

ADR: 0069, 0076, 0077
Replace a racy any-lock observation and timed release with positive SQL
acquisition and explicit cleanup ownership. Keep runtime cancellation
bounds intact and retain safe source locations for future CI failures.

ADR: 0063, 0069, 0076
Retain the independent lifetime and evidence checks together with a real
wrong-mode counterfactual before the second correction review round.

ADR: 0063, 0069, 0076
Record independent lifetime and diagnostic proof without attributing a
historical interleaving or new-head CI success that has not been observed.

ADR: 0063, 0069, 0076
@cemililik
cemililik merged commit e55aa5d into main Oct 28, 2026
29 checks passed
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