fix(gitignore): ignore infra/*-tenant.personas.json (ADR-0026) #268

Merged
julien merged 1 commits from fix/gitignore-tenant-personas into main 2026-06-02 12:25:00 +02:00
Owner

Summary

Add infra/*-tenant.personas.json to .gitignore mirroring the existing *-tenant.entra.json pattern, so the per-persona Entra oid map consumed by apps/portal-bff/prisma/seed.ts (ADR-0026) cannot accidentally be committed. The schema template infra/test-tenant.personas.example.json was already in place; the matching ignore was missed when the personas file was introduced.

Background

ADR-0026 §"Seed personas" introduced two parallel tenant-private files:

  • *-tenant.entra.json — Entra security-group GUIDs → role-slug map (24 entries). Has been correctly ignored since shipped (.gitignore lines 34-36).
  • *-tenant.personas.json — Per-persona Entra oid map (19 entries). The example template was committed correctly but the matching ignore pattern was never added.

Practical consequence: infra/test-tenant.personas.json has been showing up as untracked (??) in git status on the R&D Lead's machine since the seed personas work landed in late May, surviving multiple sessions and PR opens — and could have been accidentally git add .-ed at any point. Confirmed via git log --all -- infra/test-tenant.personas.json (empty) that no commit has touched it yet, so no history rewrite needed — pure forward-only fix.

What lands

File Change
.gitignore Three new lines mirroring the entra pattern: a comment, infra/*-tenant.personas.json (ignore), !infra/*-tenant.personas.example.json (keep the template tracked).
infra/README.md New row in the top-level table for the per-persona oid map, pointing at the .example.json template and ADR-0026, right under the existing entra row.

Verification

  • git check-ignore -v infra/test-tenant.personas.json → matched by .gitignore:40:infra/*-tenant.personas.json.
  • git check-ignore -v infra/test-tenant.personas.example.json → not ignored (the ! negation correctly preserves the example template as a tracked file).
  • git status --short no longer surfaces the ?? for the personas file.
  • git log --all -- infra/test-tenant.personas.json confirms zero commits ever referenced this path, so no git rm --cached or history rewrite is required.

Related

  • ADR-0025 — entra group map, the pattern this PR copies.
  • ADR-0026 — Person/User/UserScope seed which consumes the personas map.
## Summary Add `infra/*-tenant.personas.json` to `.gitignore` mirroring the existing `*-tenant.entra.json` pattern, so the per-persona Entra `oid` map consumed by `apps/portal-bff/prisma/seed.ts` (ADR-0026) cannot accidentally be committed. The schema template `infra/test-tenant.personas.example.json` was already in place; the matching ignore was missed when the personas file was introduced. ## Background ADR-0026 §"Seed personas" introduced two parallel tenant-private files: - **`*-tenant.entra.json`** — Entra security-group GUIDs → role-slug map (24 entries). Has been correctly ignored since shipped (`.gitignore` lines 34-36). - **`*-tenant.personas.json`** — Per-persona Entra `oid` map (19 entries). The example template was committed correctly but the matching ignore pattern was never added. Practical consequence: `infra/test-tenant.personas.json` has been showing up as untracked (`??`) in `git status` on the R&D Lead's machine since the seed personas work landed in late May, surviving multiple sessions and PR opens — and could have been accidentally `git add .`-ed at any point. Confirmed via `git log --all -- infra/test-tenant.personas.json` (empty) that no commit has touched it yet, so no history rewrite needed — pure forward-only fix. ## What lands | File | Change | | --- | --- | | `.gitignore` | Three new lines mirroring the entra pattern: a comment, `infra/*-tenant.personas.json` (ignore), `!infra/*-tenant.personas.example.json` (keep the template tracked). | | `infra/README.md` | New row in the top-level table for the per-persona oid map, pointing at the `.example.json` template and ADR-0026, right under the existing entra row. | ## Verification - [x] `git check-ignore -v infra/test-tenant.personas.json` → matched by `.gitignore:40:infra/*-tenant.personas.json`. - [x] `git check-ignore -v infra/test-tenant.personas.example.json` → not ignored (the `!` negation correctly preserves the example template as a tracked file). - [x] `git status --short` no longer surfaces the `??` for the personas file. - [x] `git log --all -- infra/test-tenant.personas.json` confirms zero commits ever referenced this path, so no `git rm --cached` or history rewrite is required. ## Related - [ADR-0025](docs/decisions/0025-authorization-model-privileges-roles-scopes.md) — entra group map, the pattern this PR copies. - [ADR-0026](docs/decisions/0026-person-user-portal-data-model.md) — Person/User/UserScope seed which consumes the personas map.
julien added 1 commit 2026-06-02 12:24:48 +02:00
fix(gitignore): ignore infra/*-tenant.personas.json (ADR-0026)
CI / check (pull_request) Successful in 1m27s
CI / commits (pull_request) Successful in 1m39s
CI / a11y (pull_request) Successful in 2m0s
CI / perf (pull_request) Successful in 5m9s
CI / scan (pull_request) Failing after 1m3s
39f47a859b
The per-persona Entra oid map consumed by prisma/seed.ts was missing
the matching ignore pattern when the personas seed work landed.
infra/test-tenant.personas.json has been showing up as untracked
(??) across multiple sessions, exposing it to an accidental
'git add .'. Mirror the existing *-tenant.entra.json pattern:
ignore the tenant-private file, keep the .example.json template
tracked.

Verified via 'git log --all -- infra/test-tenant.personas.json'
that no commit ever referenced this path, so no history rewrite
needed — pure forward-only fix.
julien merged commit 2a5ab4fb46 into main 2026-06-02 12:25:00 +02:00
julien deleted branch fix/gitignore-tenant-personas 2026-06-02 12:25:03 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: julien/apf_portal#268