Implement profiles.json v2 config parser with validation invariants #103
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implement support for
profiles.jsonversion 2 using the agreed environment → service → identity hierarchy from Issue #100.Canonical profile address:
Examples:
Source discussion
Refs #100
Scope
Add config-loader support for:
version: 2environmentsservicesidentitiesaliasesRequired validation invariants
The loader must fail closed on:
versionTBD-*usernamesReviewer-identity deadlock rule
Any identity allowed to perform either:
gitea.pr.approvegitea.pr.mergemust explicitly forbid:
gitea.pr.creategitea.branch.pushThis prevents the PR #102-style deadlock where the reviewer identity creates the PR and then cannot independently review it.
Backward compatibility
Existing v1 profiles must continue to resolve through aliases or v1 compatibility loading:
mdcpsprgs-authorprgs-reviewerResolution order should be strict:
No fuzzy matching.
Non-goals
Acceptance criteria
TBD-*usernames fail closed.