Repository navigation
Conversation
Implement guardian approvals, delayed account-access recovery, owner cancellation, notifications, audit logging, credential/session revocation, API docs, and tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Implements Neurowealth#546 with atomic position ownership transfers, compliance scoring, tax-lot basis carryover, audit events, and API documentation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@dunnie99 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Guard the webhook index migration until its table exists, add a follow-up migration and the missing rollback scripts, and scope blocking npm audit to production dependencies. Pin brace-expansion to a patched release. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Make the missing-model migration safe when it encounters treasury, agent breaker, user event, signer rotation, and multisig objects already created by earlier migrations. Keep the rollback limited to objects and indexes this migration actually adds. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Apply the repository's configured Prettier formatting to the eight TypeScript files flagged by the release preflight formatter. No behavior changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Register the recovery and transfer routers in the active route table, remove the obsolete duplicate mount table, and document the transfer API-key scope. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Description
Implements guardian-based account access recovery (#535) and platform-internal peer-to-peer transfers (#546) in separate commits. Recovery adds explicit guardian acceptance, quorum approvals, a fixed 72-hour delay, owner cancellation, notifications, audit logging, and session/credential invalidation on completion. Transfers resolve users by public referral handle and atomically reassign unlocked Position balances, preserve available tax-lot basis, apply compliance scoring, and record audit events without submitting an on-chain transaction.
Related Issues
Closes #535
Closes #546
Type of Change
Checklist
npm run lintwith no errors (targeted ESLint passed; full command not run)npm run typecheckwith no errorsnpm test) (focused tests passed; full command not run)Database Migration (only if
prisma/migrations/**changed)Class (A metadata / B blocking DDL / C backfill / D irreversible): B / C — includes validated foreign keys and non-concurrent indexes, plus a backfill and
NOT NULLchange for the recovery auth key.Backup taken (snapshot identifier, or
n/afor class A): No backup taken. A verified snapshot andpg_dumpare required before deployment.Downtime impact
Locks taken: ACCESS EXCLUSIVE and index-build locks
Expected lock duration: Not measured; depends on production table size and database load.
Writes blocked during migration: yes
Requires traffic drain: yes
Rollback tier: 2 before transfer history exists; 3 (snapshot restore) after transfer history is recorded because rollback refuses to discard it.
rollback.sqlships in the same commit and is idempotent (rollback scripts ship; idempotency has not been verified)Rollback rehearsed with
bash scripts/rehearse-migration-rollback.sh(not run; requires a rehearsal database)Added columns are nullable or defaulted (the recovery auth key is backfilled and made
NOT NULL)Indexes on request-path tables use
CREATE INDEX CONCURRENTLY(indexes are not concurrent)Previous application version still works against the new schema (not verified)