Summary: current invite API behaves like direct member add while schema/docs imply pending invitation acceptance. Evidence: apps/web/src/app/api/drives/[driveId]/members/invite/route.ts sets acceptedAt immediately and requires userId; packages/lib/src/services/drive-member-service.ts also auto-accepts; packages/db/src/schema/members.ts defines driveInvitations but runtime references are absent; docs/2.0-architecture/2.2-backend/database.md describes pending invitations. Prompt: choose one model (true invitation workflow vs direct add-member workflow) and align endpoint naming, data model usage, and docs. Acceptance criteria: invite semantics are unambiguous, code/schema/docs agree, tests cover the chosen behavior.
Summary: current invite API behaves like direct member add while schema/docs imply pending invitation acceptance. Evidence: apps/web/src/app/api/drives/[driveId]/members/invite/route.ts sets acceptedAt immediately and requires userId; packages/lib/src/services/drive-member-service.ts also auto-accepts; packages/db/src/schema/members.ts defines driveInvitations but runtime references are absent; docs/2.0-architecture/2.2-backend/database.md describes pending invitations. Prompt: choose one model (true invitation workflow vs direct add-member workflow) and align endpoint naming, data model usage, and docs. Acceptance criteria: invite semantics are unambiguous, code/schema/docs agree, tests cover the chosen behavior.