gitextract_t_kevelm/ ├── .beads/ │ ├── .gitignore │ ├── README.md │ ├── config.yaml │ ├── interactions.jsonl │ ├── issues.jsonl │ └── metadata.json ├── .config/ │ └── dotnet-tools.json ├── .gitattributes ├── .github/ │ ├── code_review_instructions.md │ ├── copilot-instructions.md │ └── workflows/ │ ├── dotnet.yml │ └── validate.yml ├── .gitignore ├── .markdownlint.jsonc ├── AGENTS.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── REPO_INDEX.md ├── SECURITY.md ├── _endpoint_stub.txt ├── code_of_conduct.md ├── docs/ │ ├── .markdownlint.jsonc │ ├── AI Submissions.md │ ├── Authentication.md │ ├── Branching strategy.md │ ├── Continuous review.md │ ├── Data types in Grace.md │ ├── Design and Motivations.md │ ├── Design concepts/ │ │ ├── Backups.md │ │ └── Directory and file-level ACL's.md │ ├── Frequently asked questions.md │ ├── How Grace computes the SHA-256 value.md │ ├── Mermaid diagrams.md │ ├── The potential for misusing Grace.md │ ├── What grace watch does.md │ ├── Why Auto-Rebase isn't a problem.md │ ├── Why Grace isn't just a version control system.md │ └── Work items.md ├── global.json ├── prompts/ │ ├── ContentPack.prompt.md │ ├── Grace issue summary.md │ ├── Grace pull request summary.md │ └── PlanPack.prompt.md ├── scripts/ │ ├── bootstrap.ps1 │ ├── collect-runtime-metadata.ps1 │ ├── dev-local.ps1 │ ├── install-githooks.ps1 │ ├── start-debuglocal.ps1 │ └── validate.ps1 ├── src/ │ ├── .aspire/ │ │ └── settings.json │ ├── .dockerignore │ ├── .editorconfig │ ├── .gitattributes │ ├── .github/ │ │ ├── copilot-instructions.md │ │ └── workflows/ │ │ └── deploy-to-app-service.yml │ ├── AGENTS.md │ ├── CountLines.ps1 │ ├── Create-Grace-Objects.ps1 │ ├── Directory.Build.props │ ├── Grace.Actors/ │ │ ├── AGENTS.md │ │ ├── AccessControl.Actor.fs │ │ ├── ActorProxy.Extensions.Actor.fs │ │ ├── Artifact.Actor.fs │ │ ├── Branch.Actor.fs │ │ ├── BranchName.Actor.fs │ │ ├── CodeGenAttribute.Actor.fs │ │ ├── Constants.Actor.fs │ │ ├── Context.Actor.fs │ │ ├── Diff.Actor.fs │ │ ├── DirectoryAppearance.Actor.fs │ │ ├── DirectoryVersion.Actor.fs │ │ ├── Extensions/ │ │ │ └── MemoryCache.Extensions.Actor.fs │ │ ├── FileAppearance.Actor.fs │ │ ├── GlobalLock.Actor.fs │ │ ├── Grace.Actors.fsproj │ │ ├── GrainRepository.Actor.fs │ │ ├── Interfaces.Actor.fs │ │ ├── NamedSection.Actor.fs │ │ ├── Organization.Actor.fs │ │ ├── OrganizationName.Actor.fs │ │ ├── Owner.Actor.fs │ │ ├── OwnerName.Actor.fs │ │ ├── PersonalAccessToken.Actor.fs │ │ ├── Policy.Actor.fs │ │ ├── PromotionQueue.Actor.fs │ │ ├── PromotionSet.Actor.fs │ │ ├── Reference.Actor.fs │ │ ├── Reminder.Actor.fs │ │ ├── Repository.Actor.fs │ │ ├── Repository.Actor.fs (ApplyEvent Method) │ │ ├── RepositoryName.Actor.fs │ │ ├── RepositoryPermission.Actor.fs │ │ ├── Review.Actor.fs │ │ ├── Services.Actor.fs │ │ ├── Timing.Actor.fs │ │ ├── Types.Actor.fs │ │ ├── User.Actor.fs │ │ ├── ValidationResult.Actor.fs │ │ ├── ValidationSet.Actor.fs │ │ ├── WorkItem.Actor.fs │ │ ├── WorkItemNumber.Actor.fs │ │ └── WorkItemNumberCounter.Actor.fs │ ├── Grace.Aspire.AppHost/ │ │ ├── AGENTS.md │ │ ├── Grace.Aspire.AppHost.csproj │ │ ├── Program.Aspire.AppHost.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ └── appsettings.json │ ├── Grace.Aspire.ServiceDefaults/ │ │ ├── Extensions.cs │ │ └── Grace.Aspire.ServiceDefaults.csproj │ ├── Grace.Authorization.Tests/ │ │ ├── AuthorizationSemantics.Tests.fs │ │ ├── ClaimMapping.Tests.fs │ │ ├── EndpointAuthorizationManifest.Tests.fs │ │ ├── Grace.Authorization.Tests.fsproj │ │ ├── PathPermissions.Tests.fs │ │ ├── PermissionEvaluator.Tests.fs │ │ ├── PersonalAccessToken.Tests.fs │ │ └── Program.fs │ ├── Grace.CLI/ │ │ ├── AGENTS.md │ │ ├── Command/ │ │ │ ├── Access.CLI.fs │ │ │ ├── Admin.CLI.fs │ │ │ ├── Agent.CLI.fs │ │ │ ├── Auth.CLI.fs │ │ │ ├── Branch.CLI.fs │ │ │ ├── Candidate.CLI.fs │ │ │ ├── Common.CLI.fs │ │ │ ├── Config.CLI.fs │ │ │ ├── Connect.CLI.fs │ │ │ ├── Diff.CLI.fs │ │ │ ├── DirectoryVersion.CLI.fs │ │ │ ├── History.CLI.fs │ │ │ ├── Maintenance.CLI.fs │ │ │ ├── Organization.CLI.fs │ │ │ ├── Owner.CLI.fs │ │ │ ├── PromotionSet.CLI.fs │ │ │ ├── Queue.CLI.fs │ │ │ ├── Reference.CLI.fs │ │ │ ├── Repository.CLI.fs │ │ │ ├── Review.CLI.fs │ │ │ ├── Services.CLI.fs │ │ │ ├── Watch.CLI.fs │ │ │ └── WorkItem.CLI.fs │ │ ├── Conversion.md │ │ ├── Grace.CLI.fsproj │ │ ├── HistoryStorage.CLI.fs │ │ ├── LocalStateDb.CLI.fs │ │ ├── Log.CLI.fs │ │ ├── Program.CLI.fs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── Text.CLI.fs │ │ └── packages-microsoft-prod.deb │ ├── Grace.CLI.LocalStateDb.Worker/ │ │ ├── Grace.CLI.LocalStateDb.Worker.fsproj │ │ └── Program.fs │ ├── Grace.CLI.Tests/ │ │ ├── AGENTS.md │ │ ├── Agent.CLI.Tests.fs │ │ ├── Auth.Tests.fs │ │ ├── AuthTokenBundle.Tests.fs │ │ ├── Connect.CLI.Tests.fs │ │ ├── Grace.CLI.Tests.fsproj │ │ ├── History.CLI.Tests.fs │ │ ├── HistoryStorage.CLI.Tests.fs │ │ ├── LocalStateDb.Tests.fs │ │ ├── Program.CLI.Tests.fs │ │ ├── Program.fs │ │ ├── PromotionSet.CLI.Tests.fs │ │ ├── Queue.CLI.Tests.fs │ │ ├── Review.CLI.Tests.fs │ │ ├── Watch.Tests.fs │ │ └── WorkItem.CLI.Tests.fs │ ├── Grace.Load/ │ │ ├── Grace.Load.fsproj │ │ ├── Program.Load.fs │ │ └── Properties/ │ │ └── launchSettings.json │ ├── Grace.Orleans.CodeGen/ │ │ ├── Declaration.Orleans.CodeGen.cs │ │ ├── Grace.Orleans.CodeGen.csproj │ │ └── instructions.md │ ├── Grace.SDK/ │ │ ├── AGENTS.md │ │ ├── Access.SDK.fs │ │ ├── Admin.SDK.fs │ │ ├── Artifact.SDK.fs │ │ ├── Auth.SDK.fs │ │ ├── Branch.SDK.fs │ │ ├── Common.SDK.fs │ │ ├── Diff.SDK.fs │ │ ├── DirectoryVersion.SDK.fs │ │ ├── Grace.SDK.fsproj │ │ ├── Organization.SDK.fs │ │ ├── Owner.SDK.fs │ │ ├── PersonalAccessToken.SDK.fs │ │ ├── Policy.SDK.fs │ │ ├── PromotionSet.SDK.fs │ │ ├── Queue.SDK.fs │ │ ├── Repository.SDK.fs │ │ ├── Review.SDK.fs │ │ ├── Storage.SDK.fs │ │ ├── ValidationResult.SDK.fs │ │ ├── ValidationSet.SDK.fs │ │ └── WorkItem.SDK.fs │ ├── Grace.Server/ │ │ ├── AGENTS.md │ │ ├── Access.Server.fs │ │ ├── ApplicationContext.Server.fs │ │ ├── Artifact.Server.fs │ │ ├── Auth.Server.fs │ │ ├── Branch.Server.fs │ │ ├── CorrelationId.Server.fs │ │ ├── DerivedComputation.Server.fs │ │ ├── Diff.Server.fs │ │ ├── DirectoryVersion.Server.fs │ │ ├── Dockerfile │ │ ├── Eventing.Server.fs │ │ ├── Grace.Server.fsproj │ │ ├── Middleware/ │ │ │ ├── CorrelationId.Middleware.fs │ │ │ ├── Fake.Middleware.fs │ │ │ ├── HttpSecurityHeaders.Middleware.fs │ │ │ ├── LogAuthorizationFailure.Middleware.fs │ │ │ ├── LogRequestHeaders.Middleware.fs │ │ │ ├── Timing.Middleware.fs │ │ │ └── ValidateIds.Middleware.fs │ │ ├── Notification.Server.fs │ │ ├── Organization.Server.fs │ │ ├── OrleansFilters.Server.fs │ │ ├── Owner.Server.fs │ │ ├── PartitionKeyProvider.fs │ │ ├── Policy.Server.fs │ │ ├── Program.Server.fs │ │ ├── PromotionSet.Server.fs │ │ ├── Properties/ │ │ │ ├── PublishProfiles/ │ │ │ │ └── DisableContainerBuild.pubxml │ │ │ └── launchSettings.json │ │ ├── Queue.Server.fs │ │ ├── Reminder.Server.fs │ │ ├── ReminderService.Server.fs │ │ ├── Repository.Server.fs │ │ ├── Review.Server.fs │ │ ├── ReviewAnalysis.Server.fs │ │ ├── ReviewModels.Server.fs │ │ ├── Security/ │ │ │ ├── AuthorizationMiddleware.Server.fs │ │ │ ├── ClaimMapping.Server.fs │ │ │ ├── ClaimsTransformation.Server.fs │ │ │ ├── EndpointAuthorizationManifest.Server.fs │ │ │ ├── ExternalAuthConfig.Server.fs │ │ │ ├── PermissionEvaluator.Server.fs │ │ │ ├── PersonalAccessTokenAuth.Server.fs │ │ │ ├── PrincipalMapper.Server.fs │ │ │ └── TestAuth.Server.fs │ │ ├── Services.Server.fs │ │ ├── Startup.Server.fs │ │ ├── Storage.Server.fs │ │ ├── ValidationResult.Server.fs │ │ ├── ValidationSet.Server.fs │ │ ├── Validations.Server.fs │ │ ├── WorkItem.Server.fs │ │ ├── appsettings.json │ │ └── web.config │ ├── Grace.Server.Tests/ │ │ ├── AGENTS.md │ │ ├── Access.Server.Tests.fs │ │ ├── AspireTestHost.fs │ │ ├── Auth.Server.Tests.fs │ │ ├── AuthMapping.Unit.Tests.fs │ │ ├── Authorization.Unit.Tests.fs │ │ ├── Eventing.Server.Tests.fs │ │ ├── Evidence.Determinism.Tests.fs │ │ ├── General.Server.Tests.fs │ │ ├── Grace.Server.Tests.fsproj │ │ ├── Notification.Server.Tests.fs │ │ ├── OrleansFilters.Server.Tests.fs │ │ ├── Owner.Server.Tests.fs │ │ ├── Policy.Determinism.Tests.fs │ │ ├── Policy.Validation.Derived.Tests.fs │ │ ├── Program.fs │ │ ├── PromotionSet.CommandValidation.Tests.fs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── Queue.Server.Tests.fs │ │ ├── Repository.Server.Tests.fs │ │ ├── Review.Server.Tests.fs │ │ ├── ReviewNotes.Determinism.Tests.fs │ │ ├── Services.EffectivePromotion.Tests.fs │ │ ├── Slop.Server.Tests.fs │ │ ├── Smoke.Server.Tests.fs │ │ ├── Validation.Artifact.Contract.Tests.fs │ │ ├── Validations.Server.Tests.fs │ │ ├── WorkItem.Integration.Server.Tests.fs │ │ ├── WorkItem.Server.Tests.fs │ │ └── appsettings.json │ ├── Grace.Shared/ │ │ ├── AGENTS.md │ │ ├── Authorization.Shared.fs │ │ ├── AzureEnvironment.Shared.fs │ │ ├── BaselineDrift.Shared.fs │ │ ├── Client/ │ │ │ ├── Configuration.Shared.fs │ │ │ ├── Theme.Shared.fs │ │ │ └── UserConfiguration.Shared.fs │ │ ├── Combinators.fs │ │ ├── Constants.Shared.fs │ │ ├── Converters/ │ │ │ └── BranchDtoConverter.Shared.fs │ │ ├── Diff.Shared.fs │ │ ├── Dto/ │ │ │ └── Dto.Shared.fs │ │ ├── Evidence.Shared.fs │ │ ├── Extensions.Shared.fs │ │ ├── Grace.Shared.fsproj │ │ ├── Monikers.imagemanifest │ │ ├── Parameters/ │ │ │ ├── Access.Parameters.fs │ │ │ ├── Artifact.Parameters.fs │ │ │ ├── Auth.Parameters.fs │ │ │ ├── Branch.Parameters.fs │ │ │ ├── Common.Parameters.fs │ │ │ ├── Diff.Parameters.fs │ │ │ ├── Directory.Parameters.fs │ │ │ ├── Organization.Parameters.fs │ │ │ ├── Owner.Parameters.fs │ │ │ ├── Policy.Parameters.fs │ │ │ ├── PromotionSet.Parameters.fs │ │ │ ├── Queue.Parameters.fs │ │ │ ├── Reference.Parameters.fs │ │ │ ├── Reminder.Parameters.fs │ │ │ ├── Repository.Parameters.fs │ │ │ ├── Review.Parameters.fs │ │ │ ├── Storage.Parameters.fs │ │ │ ├── Validation.Parameters.fs │ │ │ └── WorkItem.Parameters.fs │ │ ├── Resources/ │ │ │ ├── Text/ │ │ │ │ ├── Languages.Resources.fs │ │ │ │ └── en-US.fs │ │ │ └── Utilities.Resources.fs │ │ ├── ReviewNotes.Shared.fs │ │ ├── Services.Shared.fs │ │ ├── Utilities.Shared.fs │ │ └── Validation/ │ │ ├── Common.Validation.fs │ │ ├── Connect.Validation.fs │ │ ├── Errors.Validation.fs │ │ ├── Repository.Validation.fs │ │ └── Utilities.Validation.fs │ ├── Grace.Types/ │ │ ├── AGENTS.md │ │ ├── Artifact.Types.fs │ │ ├── Auth.Types.fs │ │ ├── Authorization.Types.fs │ │ ├── Automation.Types.fs │ │ ├── Branch.Types.fs │ │ ├── Diff.Types.fs │ │ ├── DirectoryVersion.Types.fs │ │ ├── Events.Types.fs │ │ ├── Grace.Types.fsproj │ │ ├── Organization.Types.fs │ │ ├── Owner.Types.fs │ │ ├── PersonalAccessToken.Types.fs │ │ ├── Policy.Types.fs │ │ ├── PromotionSet.Types.fs │ │ ├── Queue.Types.fs │ │ ├── Reference.Types.fs │ │ ├── Reminder.Types.fs │ │ ├── Repository.Types.fs │ │ ├── RequiredAction.Types.fs │ │ ├── Review.Types.fs │ │ ├── Types.Types.fs │ │ ├── Validation.Types.fs │ │ └── WorkItem.Types.fs │ ├── Grace.Types.Tests/ │ │ ├── AGENTS.md │ │ ├── Automation.Types.Tests.fs │ │ ├── Grace.Types.Tests.fsproj │ │ ├── Program.fs │ │ ├── PromotionSet.ConflictModel.Types.Tests.fs │ │ ├── PromotionSet.Types.Tests.fs │ │ ├── Queue.Types.Tests.fs │ │ ├── Validation.Types.Tests.fs │ │ └── WorkItem.Types.Tests.fs │ ├── Grace.slnx │ ├── OpenAPI/ │ │ ├── Branch.Components.OpenAPI.yaml │ │ ├── Branch.Paths.OpenAPI.yaml │ │ ├── Diff.Components.OpenAPI.yaml │ │ ├── Diff.Paths.OpenAPI.yaml │ │ ├── Directory.Components.OpenAPI.yaml │ │ ├── Directory.Paths.OpenAPI.yaml │ │ ├── Dto.Components.OpenAPI.yaml │ │ ├── Grace.OpenAPI.yaml │ │ ├── Main.OpenAPI.yaml │ │ ├── Organization.Components.OpenAPI.yaml │ │ ├── Organization.Paths.OpenAPI.yaml │ │ ├── Owner.Components.OpenAPI.yaml │ │ ├── Owner.Paths.OpenAPI.yaml │ │ ├── Reference.Components.OpenAPI.yaml │ │ ├── Repository.Components.OpenAPI.yaml │ │ ├── Repository.Paths.OpenAPI.yaml │ │ ├── Responses.OpenAPI.yaml │ │ ├── Shared.Components.OpenAPI.yaml │ │ └── Shared2.Components.OpenAPI.yaml │ ├── Processing file system changes.md │ ├── docs/ │ │ ├── ASPIRE_SETUP.md │ │ └── ENVIRONMENT.md │ ├── fantomas-config.json │ ├── launchSettings.json │ ├── nuget.config │ └── packages-microsoft-prod.deb └── update-contributing.skill