Maintenance 202607#26
Merged
Merged
Conversation
mabiede
commented
Jul 9, 2026
Contributor
- use devcontainer features
- use .env file for devcontainer (disable ssh socket in devcontainer)
- Version Prefix mentioned here: Use v-prefix in guardian, jupyter, slugline, soteria, and virtfs package bounds (7/7) ocaml/opam-repository#30231
- caqti package update
There was a problem hiding this comment.
Pull request overview
Maintenance update focused on improving backend authorization performance/caching and modernizing the development environment (DevContainer), alongside dependency updates.
Changes:
- Refactors MariaDB backend caching (per-actor generation invalidation + target UUID→model cache) and optimizes permission deduplication.
- Updates DB migrations with new indexes and removes redundant indexes; adjusts queries for efficiency.
- Modernizes DevContainer setup (features +
.env-based configuration), and bumps OCaml dependencies (notably caqti).
Reviewed changes
Copilot reviewed 21 out of 22 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| test/main.ml | Adds tests covering cache invalidation, promote/model refresh, role scope coexistence, and grant deduplication. |
| README.md | Updates development instructions to the new DevContainer/.env workflow. |
| lib/utils.ml | Switches to CCFun.Infix usage. |
| lib/guardian_entity.ml | Optimizes PermissionOnTarget.remove_duplicates and adjusts CCFun.flip usage. |
| lib/dune | Adds caqti.classic and reformats library list. |
| guardian.opam | Bumps caqti dependencies and adjusts ppx_sexp_conv version constraint. |
| dune-project | Aligns dependency constraints with opam changes. |
| CHANGELOG.md | Documents cache/index/performance changes and dependency fix. |
| backend/migrations.ml | Adds role indexes and drops redundant indexes. |
| backend/mariadb_backend.ml | Implements cache generation invalidation, adds model-resolution cache, updates SQL joins/unions, and ensures cache clearing on clean/delete. |
| backend/dune | Adds caqti.classic dependency. |
| backend/database_pools.ml | Minor compatibility change (CCInt.max) and cleanup around CCFun.Infix usage. |
| backend/caqti_encoders.ml | Uses CCResult.map and aligns CCFun.Infix usage. |
| .gitignore | Ensures .env.example files are not ignored while keeping .env* ignored. |
| .devcontainer/wait-for-database.sh | Removes legacy wait script. |
| .devcontainer/README.md | Removes duplicate DevContainer README (instructions moved to root README). |
| .devcontainer/postCreate.sh | Removes legacy post-create provisioning script. |
| .devcontainer/Dockerfile | Removes custom image build (switches to base image + features). |
| .devcontainer/docker-compose.yml | Switches to upstream image, adds env file usage and volume changes. |
| .devcontainer/devcontainer.json | Migrates to DevContainer features and updates postCreate command. |
| .devcontainer/devcontainer-lock.json | Adds lockfile pinning DevContainer feature versions. |
| .devcontainer/.env.example | Adds env template for DevContainer credentials/config. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.