Mémoire Permanent Engineer
Kashira conserve le contexte d’ingénierie entre les sessions en enregistrant décisions, architecture, bugs, conventions, commandes, recherches et changements importants.
Project Memory
Durable engineering notes Kashira carries across sessions: decisions, bugs, conventions, architecture, and important research.
Prevent duplicate invite acceptance
BUGWebhook retries could accept the same organization invite twice. Acceptance now uses the persisted invite event ID as its idempotency key and returns the existing membership on a repeat request.
Open detailsClose detailsDURABLE IMPLEMENTATION CONTEXTThe existing event ID is the durable boundary between delivery retries and membership creation. Do not introduce a second idempotency identifier unless the upstream event format changes.
Prevent duplicate invite acceptance
BUGWebhook retries could accept the same organization invite twice. Acceptance now uses the persisted invite event ID as its idempotency key and returns the existing membership on a repeat request.
Open detailsClose detailsThe existing event ID is the durable boundary between delivery retries and membership creation. Do not introduce a second idempotency identifier unless the upstream event format changes.
Keep invite permissions server-authoritative
DECISIONThe client may hide unavailable actions, but the API remains responsible for checking organization role, seat availability, and existing membership before an invite is created.
Open detailsClose detailsDURABLE IMPLEMENTATION CONTEXTUI state is treated as guidance only. Authorization, capacity, and membership checks must run inside the invite transaction so alternate clients follow the same rules.
Keep invite permissions server-authoritative
DECISIONThe client may hide unavailable actions, but the API remains responsible for checking organization role, seat availability, and existing membership before an invite is created.
Open detailsClose detailsUI state is treated as guidance only. Authorization, capacity, and membership checks must run inside the invite transaction so alternate clients follow the same rules.
Return field errors in the shared API shape
CONVENTIONInvite validation uses the same field-error response as the rest of the admin API, allowing the existing form components to render errors without route-specific handling.
Open detailsClose detailsDURABLE IMPLEMENTATION CONTEXTNew admin endpoints should use the shared validation error helper and return field names that match the client schema. Avoid adding endpoint-specific error envelopes.
Return field errors in the shared API shape
CONVENTIONInvite validation uses the same field-error response as the rest of the admin API, allowing the existing form components to render errors without route-specific handling.
Open detailsClose detailsNew admin endpoints should use the shared validation error helper and return field names that match the client schema. Avoid adding endpoint-specific error envelopes.
Une mémoire durable pour les décisions et actions que le code seul ne peut pas expliquer.
- Conserver les décisions et leur raison
- Retrouver architecture, conventions et incidents
- Transporter le contexte utile entre les sessions