Repository navigation
feat(profile): add roster-owned run profiles with CAS and audit - #191
Draft
amad-malik wants to merge 8 commits into
Draft
amad-malik wants to merge 8 commits into
amad-malik wants to merge 8 commits into
Conversation
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.
Summary
Add the storage-A run-profile contract for H-D641/H-D643 to the maintained Cortex v1 API. The existing
agents.capabilitiesrow owns the typed desired profile and mutable label; the canonicalname@projectkey stays unchanged.Registration cannot bypass the protected profile/label writer, ordinary log/sync inputs cannot forge profile audit events, and unset or corrupt profiles refuse without a provider/model fallback. No migration, new store, model catalogue, native launcher or live deployment is included.
Open read seam: addendum a7e2871e requires current execution grant + authorization revision. This desired-profile DTO does not supply them. Consult 3d68bda3-2171-48bb-883f-5d9f94b2bdcc asks Kai for the admitted authority/writer/version/revocation binding; desired permission and HTTP API scopes must not be treated as native grants. Do not connect the current reader as launch authorization.
Open cutover: the chosen KOS path is retirement of profile-only
agent_settingsauthority. Its legacy writers/reads are not retired by this Cortex-only PR; reconciliation and the coordinated KOS/Pike resolver binding remain required before pilot enablement.docs/run-profile-v1.mdspecifies the API and one-writer cutover contract. DFP-03 native effects and full claim/run/outbox integration remain separate acceptance gates. Request one code-only review from Hale through Kai.Evidence
After: 72 focused tests pass on this Mac, including real private PostgreSQL concurrent CAS, audit-trigger rollback, identity/label history and project export/restore. The fixture uses invented identities and a unix-only disposable cluster, never a live DSN. The existing offline gate passes all 145 tests with zero skips/deselections.
Merge Danger
Door: two-way
No schema/data migration or live service change. Source rollback is straightforward; preserve any later configured profile/history data. Deployment of the Helix projection is a separate Kai/CTO step. Keep pilot dispatch disabled until the KOS one-writer cutover and resolver/native gates are complete.
Blast Radius: roster
New owner-authorized profile routes, reserved capability keys and audit event type affect v1 roster/profile writers; legacy profile authorities still need coordinated retirement.