Skip to content

Activity Dashboard

Branch activity from ch/product and jy/product · All history · Generated 2026-09-10 15:41:16 KST

BranchCommitsActive Days
🟢 ch/product636111
🔵 jy/product780

2026-09-10 (Thu)

🟢 ch/product

other 15:40:45 c1d5f8eb

ci: align PoC deployments and add Slack notifications

5 files · +239 · -7
  • CI/CD
    • deploy-poc-admin-web.yml
    • deploy-poc-docs.yml
    • deploy-poc-frontend.yml
    • deploy-poc-landing.yml
    • deploy-poc-web.yml

other 15:36:08 6cce8f5b

ci: split PoC deployments into independent workflows

6 files · +319 · -203
  • CI/CD
    • deploy-poc-admin-web.yml
    • deploy-poc-docs.yml
    • deploy-poc-frontend.yml
    • deploy-poc-landing.yml
    • deploy-poc-web.yml
    • deploy-poc.yml

feat 15:30:32 d83649de

feat(infra): isolate PoC deployments and add frontend CI

46 files · +828 · -63
  • Admin
    • .env.poc
    • package
  • CI/CD
    • deploy-admin-web.yml
    • deploy-landing.yml
    • deploy-poc.yml
    • deploy-web.yml
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • CDK Stack (api-stage-routes.test)
    • CDK Stack (certificate-stack)
    • CDK Stack (ci-deploy-role-stack)
    • CDK Stack (docs-stack)
    • CDK Stack (lambda-helpers)
    • CDK Stack (poc-ci-role.test)
    • CDK Stack (poc-stacks.test)
    • CDK Stack (spa-bucket-deployment)
    • CDK Stack (spa-bucket-deployment.test)
    • addresses.ts
    • app.ts
    • ci.ts
    • client-lazy-signer.test.ts
    • client.ts
    • derive-signer-addresses.ts
    • docs-app.test.ts
    • docs-environment.test.ts
    • docs-environment.ts
    • docs.ts
    • environment-stage-split.test.ts
    • environment.ts
    • fund-signers.ts
    • kms.ts
    • kyc-upgrade.ts
    • load-env.ts
    • migrate-signer-roles.ts
    • package.json
    • poc-isolation.test.ts
    • roles.ts
    • script-stage.test.ts
    • script-stage.ts
    • verify-signer-roles.ts
  • Investor Web
    • .env.poc
    • package
  • Other
    • .gitignore
    • landing/.env.poc.example
    • landing/package.json

fix 00:38:50 e2a9e1db

fix(admin): preserve delinquency drafts and their original revisions

4 files · +266 · -82
  • Admin
    • panel
    • test-delinquency-editor
    • use-delinquency-editor
  • Docs
    • delinquency-inputs.md

fix 00:33:20 29585f08

fix(delinquency): select supplemental observations for the current population

3 files · +49 · -4
  • Infra
    • DB 0223_delinquency_supplement_population.sql
    • delinquency-snapshot.postgres.py
    • supabase-projection.ts

fix 00:16:28 703fa598

fix(delinquency): prevent stale edits and incorrect bucket reuse

20 files · +299 · -66
  • Admin
    • api
    • panel
    • use-delinquency
  • Infra
    • DB 0222_delinquency_snapshot_revision.sql
    • assemble.ts
    • buckets.ts
    • delinquency-consumers.test.ts
    • delinquency-monitor.test.ts
    • delinquency-repository.test.ts
    • delinquency-snapshot.postgres.py
    • delinquency.ts
    • inputs.test.ts
    • manage.ts
    • pools.get.delinquency.test.ts
    • pools.post.delinquency-snapshot.test.ts
    • pools.put.delinquency.test.ts
    • read.ts
    • repository.ts
    • supabase-projection.ts
  • Other
    • packages/types/src/delinquency.ts

🔵 jy/product

No activity

2026-09-09 (Wed)

🟢 ch/product

feat 22:31:08 82bac9de

feat(delinquency): support supplemental inputs for monitoring and loss calculations

59 files · +1823 · -61
  • Admin
    • Route (admin-settings)
    • api
    • config-form
    • field
    • panel
    • snapshot-draft
    • snapshot-draft.test
    • snapshot-form
    • use-delinquency
  • Docs
    • delinquency-inputs.md
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (route-configs)
    • DB 0219_pool_delinquency_configuration.sql
    • DB 0220_restrict_delinquency_config_execution.sql
    • DB 0221_delinquency_alert_attempts.sql
    • alerts.ts
    • assemble.ts
    • compute.test.ts
    • compute.ts
    • context.ts
    • delinquency-alert-recipients.test.ts
    • delinquency-alerts.postgres.py
    • delinquency-alerts.ts
    • delinquency-consumers.test.ts
    • delinquency-monitor.test.ts
    • delinquency-notification-recovery.test.ts
    • delinquency-repository.test.ts
    • delinquency.ts
    • derive-report.ts
    • dispatch.ts
    • evaluate.test.ts
    • evaluate.ts
    • freshness.ts
    • index.ts
    • inputs.test.ts
    • manage.ts
    • monitor.ts
    • npl.ts
    • parse.ts
    • pool-mutation-registry.ts
    • pools.get.delinquency.test.ts
    • pools.post.delinquency-snapshot.test.ts
    • pools.put.delinquency.test.ts
    • read.ts
    • repository.ts
    • types.ts
  • Investor Web
    • Widget (fund-data-tab)
    • Widget (overview-tab)
    • dpd-buckets
    • dpd-buckets.test
  • Investor Web API
    • pools
  • Lambda API
    • pools.get.delinquency
    • pools.post.delinquency-snapshot
    • pools.put.delinquency
  • Other
    • packages/types/src/delinquency.ts
    • packages/types/src/index.ts

fix 17:58:54 d5ccb725

fix(web): use approved maturity disclosure for zero-lockup pools

4 files · +54 · -21
  • Investor Web
    • Widget (invest-sidebar)
    • Widget (maturity-disclosure.test)
    • Widget (risk-disclosure)
    • status

fix 17:48:29 8a45fb18

fix(yield): expose read failures and block deposits until totals recover

18 files · +353 · -91
  • Admin
    • Route (yield)
    • create-distribution-dialog
    • due-now-card
    • partner-owes-block
    • partner-owes-block.test
    • yield-calc-breakdown
    • yield-read-failure
    • yield-read-failure-notice
  • Admin API
    • yield-due-row
    • yield-prepayment.test
  • Docs
    • 15-api-reference.md
  • Infra
    • chain-read-failure.test.ts
    • chain-read-failure.ts
    • due-row-math.ts
    • due-rows.ts
    • holder-yield.ts
    • yield-due-escrow.test.ts

fix 17:27:06 ef133006

fix(repayment): expose UNKNOWN reasons in API and progress notices

10 files · +145 · -21
  • Admin
    • cumulative-progress-bar
    • cumulative-progress-logic
    • maturity-due-progress.test
    • repayment-plan
  • Admin API
    • pools
  • Docs
    • 15-api-reference.md
  • Infra
    • maturity-due.test.ts
    • maturity-due.ts
    • pools.get.repayment-cycles.test.ts

🔵 jy/product

other 11:20:16 b63b13ce

revert(landing): put the /partners hero and What you get copy back

1 files · +3 · -11
  • Other
    • landing/app/shared/copy/fund-managers.ts

other 11:16:01 a6ee99c9

revert(landing): hide the Contact nav link again

2 files · +17 · -8
  • Other
    • landing/app/shared/config/hidden-sections.ts
    • landing/app/widgets/header/header.tsx

other 11:09:48 939c9048

Revert "refactor(landing): take the stock photography off /trust and let the type carry it"

7 files · +208 · -290
  • Other
    • landing/app/shared/copy/trust.ts
    • landing/app/shared/ui/facts.tsx
    • landing/app/shared/ui/index.ts
    • landing/app/widgets/trust/audit-access.tsx
    • landing/app/widgets/trust/hero.tsx
    • landing/app/widgets/trust/how-we-operate.tsx
    • landing/app/widgets/trust/what-you-can-say.tsx

other 11:05:21 59d7e5f5

revert(landing): take the header Log in button back out

2 files · +1 · -20
  • Other
    • landing/app/shared/copy/landing.ts
    • landing/app/widgets/header/header.tsx

fix 10:58:48 5b3a4b1a

fix(landing): the hidden /investors hero stops carrying the CTA that was removed twice

2 files · +17 · -8
  • Other
    • landing/app/shared/copy/site.ts
    • landing/app/widgets/investors/hero.tsx

fix 10:54:36 e7fef82f

fix(landing): the 404 page stops offering the way in it was told twice not to

1 files · +17 · -17
  • Other
    • landing/app/routes/$.tsx

2026-09-08 (Tue)

🟢 ch/product

docs 16:07:12 0b1d97c9

docs(infra): 리저브 08 연체 데이터 정규화와 회수 반영 설계

2 files · +43 · -7
  • Other
    • .scratch/external-reserve/drafts/08-delinquency-recovery-data.md
    • .scratch/spec/external-reserve.spec.md

docs 16:05:37 e4a405d7

docs(infra): 리저브 07 연체 일수 모니터링 기준과 발송 설계

3 files · +40 · -14
  • Other
    • .scratch/external-reserve/README.md
    • .scratch/external-reserve/drafts/07-delinquency-monitoring.md
    • .scratch/spec/external-reserve.spec.md

fix 16:05:15 47a26d69

fix(web,admin): 회차 15 마지막 계획 회차의 충족률로 완료 판정

12 files · +118 · -47
  • Admin
    • plan-completion.test
    • plan-heading
    • repayment-schedule-card
    • repayment-stage
    • repayment-stage.test
  • Investor Web
    • Widget (repayment-cycles-card)
    • Widget (repayment-progress)
    • Widget (repayment-progress.test)
  • Investor Web API
    • repayment-cycles
  • Other
    • .scratch/post-maturity-yield-reserve/README.md
    • .scratch/post-maturity-yield-reserve/drafts/15-investor-cycle-progress.md
    • .scratch/spec/post-maturity-repayment.spec.md

fix 16:04:55 b92b3508

fix(admin): TARGET 07 잠금 시점과 편집 제한 설명 일치

6 files · +37 · -13
  • Admin
    • lock-note.test
    • permissions
    • permissions.test
  • Other
    • .scratch/spec/target-yield.spec.md
    • .scratch/target-yield/README.md
    • .scratch/target-yield/drafts/07-approved-lock-labels.md

docs 16:04:33 76a01833

docs(infra): TARGET 06 실제 구현체 기록 실패의 인수조건 보완

2 files · +7 · -3
  • Other
    • .scratch/spec/target-yield.spec.md
    • .scratch/target-yield/drafts/06-record-created-implementation.md

docs 15:37:03 5e644094

docs(external-reserve): 리저브 08 연체 데이터 정규화와 회수 반영 명세 작성

1 files · +19
  • Other
    • .scratch/external-reserve/drafts/08-delinquency-recovery-data.md

docs 15:37:03 dd199f27

docs(external-reserve): 리저브 07 연체 일수 모니터링 기준과 발송 명세 작성

3 files · +56 · -4
  • Other
    • .scratch/external-reserve/README.md
    • .scratch/external-reserve/drafts/07-delinquency-monitoring.md
    • .scratch/spec/external-reserve.spec.md

fix 15:36:54 e6aa15ce

fix(web): 회차 18 투자자 앱의 기본 문서 언어 수정

2 files · +23 · -1
  • Investor Web
    • root
  • Other
    • .scratch/post-maturity-yield-reserve/drafts/18-english-document-language.md

fix 15:36:54 fc47aa77

fix(web): 회차 17 펀드 대출 잔액 라벨 구분

2 files · +23 · -1
  • Investor Web
    • Widget (fund-data-tab)
  • Other
    • .scratch/post-maturity-yield-reserve/drafts/17-loan-book-label.md

fix 15:36:46 82f49f3e

fix(infra): 회차 16 누적 진행률의 미신청 원금 표시

13 files · +144 · -4
  • Admin
    • cumulative-progress-bar
    • overview-tab
    • repayment-schedule-card
    • unrequested-progress.test
  • Admin API
    • pools
    • use-pools
  • Infra
    • index.ts
    • pools.get.repayment-cycles.test.ts
    • read-repayment-cycles.ts
    • repayment-cycles.ts
    • unrequested-principal.test.ts
    • unrequested-principal.ts
  • Other
    • .scratch/post-maturity-yield-reserve/drafts/16-unrequested-principal.md

fix 15:36:33 25e8e037

fix(web): 회차 15 정산 중 회차와 계획 잔여 회차 표시

8 files · +125 · -14
  • Investor Web
    • Route (pool.$id)
    • Widget (pool-header-card)
    • Widget (repayment-cycles-card)
    • Widget (repayment-progress)
    • Widget (repayment-progress.test)
  • Investor Web API
    • use-repayment-cycles
  • Investor Web UI
    • PoolStatusAlert
  • Other
    • .scratch/post-maturity-yield-reserve/drafts/15-investor-cycle-progress.md

fix 15:36:14 038dcee9

fix(web): 회차 14 잔여원금·청구 가능액·손실 분리

4 files · +76
  • Investor Web
    • Widget (position-card)
    • Widget (repayment-principal)
    • Widget (repayment-principal.test)
  • Other
    • .scratch/post-maturity-yield-reserve/drafts/14-principal-and-loss.md

fix 15:36:06 5cf151e1

fix(infra): 회차 13 정산 시점에 투자자 청구 안내

7 files · +186 · -65
  • Infra
    • epoch.ts
    • redemption.ts
    • settlement-notification.test.ts
  • Other
    • .scratch/post-maturity-yield-reserve/README.md
    • .scratch/post-maturity-yield-reserve/drafts/13-notify-at-settlement.md
    • .scratch/spec/post-maturity-repayment.spec.md

fix 15:35:57 800f8dd5

fix(admin): TARGET 07 잠금 시점의 승인 문구 적용

9 files · +76 · -24
  • Admin
    • editorial
    • field-lock
    • lock-note.test
    • step-basics
    • step-compliance
    • step-redemption
    • step-terms
    • step-yield-fees
  • Other
    • .scratch/target-yield/drafts/07-approved-lock-labels.md

fix 15:35:46 350077d5

fix(infra): TARGET 06 생성된 풀의 실제 구현체 기록

5 files · +66 · -27
  • Infra
    • create-pool.ts
  • Other
    • .scratch/spec/target-yield.spec.md
    • .scratch/target-yield/README.md
    • .scratch/target-yield/drafts/06-record-created-implementation.md
    • scripts/check-accrual-mode.mjs

fix 15:13:13 1ba996e1

fix(landing): use approved safeguards text token

1 files · +1 · -1
  • Other
    • landing/app/widgets/landing/safeguards.tsx

docs 12:25:07 0ead5b35

docs(handoff): 리저브 티켓 완료와 기존 풀 범위 제외 기록

9 files · +113 · -48
  • Other
    • .scratch/external-reserve/README.md
    • .scratch/external-reserve/drafts/02-decide-legacy-gating.md
    • .scratch/external-reserve/drafts/03-enforce-legacy-gating.md
    • .scratch/external-reserve/drafts/06-operator-exit-procedure.md
    • .scratch/external-reserve/legacy-gating-decision.md
    • .scratch/external-reserve/operator-exit-procedure.draft.md
    • .scratch/external-reserve/retired-guarantees-audit.md
    • .scratch/post-maturity-yield-reserve/README.md
    • .scratch/spec/external-reserve.spec.md

docs 12:24:50 0779cd3a

docs(vitepress): 외부 리저브와 철회된 출구 보장 설명 수정

20 files · +145 · -115
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09a-custody.md
    • 23-money-path.md
    • 24-field-governance.md
    • 26-glossary.md

fix 12:24:33 a63eefbe

fix(landing): 외부 리저브와 모순되는 수탁 설명 제거

3 files · +21 · -29
  • Other
    • landing/app/shared/copy/trust.ts
    • landing/app/widgets/trust/tests/pillars.test.ts
    • landing/app/widgets/trust/pillars.tsx

fix 12:24:15 919ddfd0

fix(admin): 현재 온체인 게이팅 표시와 감소 전용 입력 적용

5 files · +80 · -18
  • Admin
    • overview-tab
    • pool-controls
    • redemption-gating-status
    • redemption-gating.test
    • use-redemption-gating

fix 12:23:58 d350417e

fix(infra): 게이팅 온체인 검증과 신규 설정 경로 제거

13 files · +199 · -17
  • Infra
    • build-params-mode.test.ts
    • build-params.ts
    • create-pool-params.ts
    • create-pool.ts
    • deploy-payload-yield-promise.test.ts
    • deploy-payload.ts
    • eth-rpc.ts
    • governance-rules.ts
    • governance.ts
    • index.ts
    • messages.ts
    • pools.post.governance.test.ts

fix 12:23:34 ffcc5d17

fix(contract): 게이팅 신규 설정과 증가 차단

5 files · +88 · -19
  • Contract Test
    • GatingLowering.t
    • GoldenFixtures.t
    • LegacyGatingTransitions.t
    • PlatformPoolEpoch.t
  • Smart Contract
    • GovernanceLib

fix 12:23:15 d621421b

fix(money-domain): 기존 게이팅의 감소 전용 규칙 정의

3 files · +17
  • Other
    • packages/money-domain/src/tests/redemption-gating.test.ts
    • packages/money-domain/src/index.ts
    • packages/money-domain/src/policies/redemption-gating.ts

🔵 jy/product

refactor 17:42:25 955403d8

refactor(landing): take the stock photography off /trust and let the type carry it

7 files · +290 · -208
  • Other
    • landing/app/shared/copy/trust.ts
    • landing/app/shared/ui/facts.tsx
    • landing/app/shared/ui/index.ts
    • landing/app/widgets/trust/audit-access.tsx
    • landing/app/widgets/trust/hero.tsx
    • landing/app/widgets/trust/how-we-operate.tsx
    • landing/app/widgets/trust/what-you-can-say.tsx

fix 17:36:43 f5b9e069

fix(landing): correct the four claims that were wrong, and the doors that were missing

25 files · +309 · -116
  • Other
    • landing/app/routes.ts
    • landing/app/routes/$.tsx
    • landing/app/routes/about.tsx
    • landing/app/routes/fund-managers-redirect.tsx
    • landing/app/routes/fund-managers.tsx
    • landing/app/routes/investors.tsx
    • landing/app/routes/landing.tsx
    • landing/app/routes/partners.tsx
    • landing/app/routes/trust.tsx
    • landing/app/shared/config/anchors.ts
    • landing/app/shared/config/app-url.ts
    • landing/app/shared/config/contact.ts
    • landing/app/shared/copy/about.ts
    • landing/app/shared/copy/fund-managers.ts
    • landing/app/shared/copy/investors.ts
    • landing/app/shared/copy/landing.ts
    • landing/app/shared/copy/trust.ts
    • landing/app/shared/ui/pill-button.tsx
    • landing/app/widgets/footer/footer.tsx
    • landing/app/widgets/header/header.tsx
    • landing/app/widgets/landing/final-cta.tsx
    • landing/app/widgets/landing/hero.tsx
    • landing/app/widgets/landing/investor-access.tsx
    • landing/app/widgets/landing/talk-to-us.tsx
    • landing/app/widgets/trust/security.tsx

fix 15:15:01 fe35a3a5

fix(landing): restore the type-scale token the mk/product merge reverted

1 files · +1 · -1
  • Other
    • landing/app/widgets/landing/safeguards.tsx

refactor 10:12:53 1a04176f

refactor(ds,admin,landing): stop shipping three typefaces nobody renders, and load Quicksand once

9 files · +120 · -12
  • Admin
    • drop-unused-font-imports
    • no-font
    • root
    • vite.config
  • Other
    • landing/global.css
    • packages/ds-editorial/package.json
    • packages/ds-editorial/src/fonts-sans.css
    • packages/ds-editorial/src/fonts-serif.css
    • packages/ds-editorial/src/fonts.css

2026-09-07 (Mon)

🟢 ch/product

docs 19:24:29 5c7b06ab

docs(handoff): 티켓 구현 결과와 정책 대기 상태 갱신

3 files · +9 · -3
  • Other
    • .scratch/external-reserve/README.md
    • .scratch/post-maturity-yield-reserve/README.md
    • .scratch/target-yield/README.md

docs 19:23:52 ae6735ea

docs(handoff): 리저브 06 정산 지연 운영 절차 초안 작성

2 files · +30 · -2
  • Other
    • .scratch/external-reserve/drafts/06-operator-exit-procedure.md
    • .scratch/external-reserve/operator-exit-procedure.draft.md

docs 19:23:11 34ac1edc

docs(handoff): 리저브 03의 게이팅 정책 의존성 기록

1 files · +3 · -1
  • Other
    • .scratch/external-reserve/drafts/03-enforce-legacy-gating.md

test 19:23:01 8046cb1a

test(contract): 리저브 02 게이팅 전이의 실제 상환액 검증

3 files · +70 · -4
  • Contract Test
    • LegacyGatingTransitions.t
  • Other
    • .scratch/external-reserve/drafts/02-decide-legacy-gating.md
    • .scratch/external-reserve/legacy-gating-decision.md

fix 19:21:54 f3d2564e

fix(web): 리저브 05 배너의 신청창 상태를 주기적으로 갱신

2 files · +15 · -6
  • Investor Web
    • Widget (timelock-countdown)
  • Other
    • .scratch/external-reserve/drafts/05-exit-guarantee-disclosure.md

test 19:21:46 803b9373

test(web): 회차 03 브라우저 동작 검증 기록

3 files · +4 · -2
  • Investor Web
    • Widget (repayment-cycles-card)
    • Widget (repayment-cycles-list)
  • Other
    • .scratch/post-maturity-yield-reserve/drafts/03-investor-cycle-disclosure.md

fix 19:21:10 124c6e61

fix(web): 회차 04 투자 확인 단계의 상환 계획 공시 보완

4 files · +22 · -1
  • Investor Web
    • Widget (invest-confirm-dialog)
    • Widget (invest-confirm-plan.test)
    • repayment-plan
  • Other
    • .scratch/post-maturity-yield-reserve/drafts/04-repayment-plan-disclosure.md

fix 19:20:06 107cebdb

fix(web): TARGET 02 투자 확인 화면의 모드 공시 보완

3 files · +36 · -3
  • Investor Web
    • Widget (invest-confirm-dialog)
    • Widget (invest-confirm-yield.test)
  • Other
    • .scratch/target-yield/drafts/02-investor-yield-mode.md

fix 19:12:34 1ef3e624

fix(admin,contract): 검증된 FIXED 수익 선납 경로 허용

6 files · +141 · -67
  • Admin
    • create-distribution-dialog
    • yield-calc-breakdown
  • Admin API
    • yield-due-row
    • yield-prepayment.test
  • Contract Test
    • ZeroSupplyPrepayment.t
  • Other
    • .scratch/target-yield/drafts/05-zero-supply-prepayment.md

fix 19:08:27 4bef3165

fix(web): 다음 상환 회차와 접힌 전체 일정 제공

6 files · +209 · -159
  • Investor Web
    • Widget (repayment-cycles-card)
    • Widget (repayment-cycles-list)
    • Widget (repayment-cycles-list.test)
    • package
  • Other
    • .scratch/post-maturity-yield-reserve/drafts/03-investor-cycle-disclosure.md
    • pnpm-lock.yaml

fix 19:05:08 ead703cf

fix(web): 청산 대기 출구 안내에 실제 신청 조건 반영

7 files · +57 · -13
  • Investor Web
    • Route (activity)
    • Route (help)
    • Widget (timelock-countdown)
    • index
    • timelock-exit
    • timelock-exit.test
  • Other
    • .scratch/external-reserve/drafts/05-exit-guarantee-disclosure.md

fix 19:03:11 1f5322b8

fix(web): 만기와 계획 회차 상환 안내 구분

7 files · +55 · -15
  • Investor Web
    • PoolBrowseCard
    • Widget (invest-sidebar)
    • repayment-plan
    • repayment-plan.test
  • Investor Web API
    • pools
    • pools.test
  • Other
    • .scratch/post-maturity-yield-reserve/drafts/04-repayment-plan-disclosure.md

fix 18:57:08 9938bf9b

fix(web): 투자자 금리와 예상 수익에 계약 모드 반영

7 files · +83 · -15
  • Investor Web
    • Widget (invest-sidebar)
    • Widget (pool-header-card)
    • pool-yield
    • pool-yield.test
  • Investor Web API
    • pools
    • pools.test
  • Other
    • .scratch/target-yield/drafts/02-investor-yield-mode.md

fix 18:54:38 df489e75

fix(admin,contract): 외부 리저브 청산 안내를 오라클 NAV 기준으로 수정

5 files · +47 · -12
  • Admin
    • pool-controls
    • status
    • wind-down-copy.test
  • Contract Test
    • PlatformPool.t
  • Other
    • .scratch/external-reserve/drafts/04-wind-down-confirmation.md

fix 18:52:48 a33c533e

fix(admin): 수익 분배 미리보기와 서명 안내를 모드별로 구분

7 files · +63 · -57
  • Admin
    • create-distribution-dialog
    • package
    • yield-allocation-note
    • yield-allocation-note.test
    • yield-calc-breakdown
  • Other
    • .scratch/target-yield/drafts/04-distribution-mode-copy.md
    • pnpm-lock.yaml

fix 18:49:41 e916e8ab

fix(admin,infra): 수익 큐의 FIXED 추정치와 불완전 채무 표시 수정

7 files · +71 · -51
  • Admin
    • due-now-card
    • partner-owes-block
    • partner-owes-block.test
  • Infra
    • due-row-math.test.ts
    • due-row-math.ts
    • due-rows.ts
  • Other
    • .scratch/target-yield/drafts/03-yield-due-mode-total.md

fix 18:45:31 d1cc69d2

fix(admin,infra): 신규 풀 게이팅 설정의 생성·편집 경로 제거

8 files · +87 · -24
  • Admin
    • gating-payload.test
    • payload
  • Infra
    • create-rules.test.ts
    • create-rules.ts
    • pools.patch.update.test.ts
    • update.ts
  • Other
    • .scratch/external-reserve/drafts/01-remove-new-gating-input.md

fix 18:41:50 67b8e687

fix(admin,infra): TARGET 연체 환산 실패와 원금 조회 부재 구분

9 files · +69 · -82
  • Admin
    • cumulative-progress-bar
    • cumulative-progress-logic
    • cumulative-progress.test
    • maturity-due-progress.test
    • repayment-plan
  • Admin API
    • pools
  • Infra
    • maturity-due.test.ts
    • maturity-due.ts
  • Other
    • .scratch/target-yield/drafts/01-target-unpriced-overdue.md

fix 18:38:21 ef1952d5

fix(infra): 신청창 시작 전 미신청 알림 차단

4 files · +37 · -5
  • Infra
    • redemption-requests.scheduler.unrequested-holders.test.ts
    • unrequested-holders-firing.test.ts
    • unrequested-holders.ts
  • Other
    • .scratch/post-maturity-yield-reserve/drafts/02-reminder-window-start.md

docs 18:34:40 6c62e4a8

docs(handoff): 회차상환·TARGET·외부 리저브 명세와 티켓 추가

37 files · +1937
  • Other
    • .scratch/external-reserve/README.md
    • .scratch/external-reserve/code-audit.md
    • .scratch/external-reserve/drafts/01-remove-new-gating-input.md
    • .scratch/external-reserve/drafts/02-decide-legacy-gating.md
    • .scratch/external-reserve/drafts/03-enforce-legacy-gating.md
    • .scratch/external-reserve/drafts/04-wind-down-confirmation.md
    • .scratch/external-reserve/drafts/05-exit-guarantee-disclosure.md
    • .scratch/external-reserve/drafts/06-operator-exit-procedure.md
    • .scratch/external-reserve/manifest.json
    • .scratch/post-maturity-yield-reserve/README.md
    • .scratch/post-maturity-yield-reserve/baseline-test-results.txt
    • .scratch/post-maturity-yield-reserve/code-audit.md
    • .scratch/post-maturity-yield-reserve/drafts/01-target-unpriced-overdue.md
    • .scratch/post-maturity-yield-reserve/drafts/02-reminder-window-start.md
    • .scratch/post-maturity-yield-reserve/drafts/03-investor-cycle-disclosure.md
    • .scratch/post-maturity-yield-reserve/drafts/04-repayment-plan-disclosure.md
    • .scratch/post-maturity-yield-reserve/drafts/05-investor-yield-mode.md
    • .scratch/post-maturity-yield-reserve/drafts/06-yield-due-mode-total.md
    • .scratch/post-maturity-yield-reserve/drafts/07-distribution-mode-copy.md
    • .scratch/post-maturity-yield-reserve/drafts/08-remove-new-gating-input.md
    • .scratch/post-maturity-yield-reserve/drafts/09-decide-legacy-gating.md
    • .scratch/post-maturity-yield-reserve/drafts/10-enforce-legacy-gating.md
    • .scratch/post-maturity-yield-reserve/drafts/11-wind-down-confirmation.md
    • .scratch/post-maturity-yield-reserve/drafts/12-zero-supply-prepayment.md
    • .scratch/post-maturity-yield-reserve/manifest.json
    • .scratch/post-maturity-yield-reserve/regressions.test.ts
    • .scratch/spec/external-reserve.spec.md
    • .scratch/spec/post-maturity-repayment.spec.md
    • .scratch/spec/target-yield.spec.md
    • .scratch/target-yield/README.md
    • .scratch/target-yield/code-audit.md
    • .scratch/target-yield/drafts/01-target-unpriced-overdue.md
    • .scratch/target-yield/drafts/02-investor-yield-mode.md
    • .scratch/target-yield/drafts/03-yield-due-mode-total.md
    • .scratch/target-yield/drafts/04-distribution-mode-copy.md
    • .scratch/target-yield/drafts/05-zero-supply-prepayment.md
    • .scratch/target-yield/manifest.json

🔵 jy/product

fix 18:10:02 7ba15d39

fix(infra,build): the email font stack comes from the design system, and a guard keeps it there

6 files · +216 · -8
  • Infra
    • design-tokens.generated.ts
    • notification-email.ts
    • package.json
    • templates.ts
  • Other
    • scripts/check-design-tokens.mjs
    • scripts/sync-email-tokens.mjs

fix 11:03:48 b3a1bbba

fix(admin): a TARGET pool's principal is a denominator, not a withheld total

3 files · +76 · -27
  • Admin
    • cumulative-progress-logic
    • cumulative-progress.test
    • repayment-plan

2026-09-06 (Sun)

🟢 ch/product

fix 17:15:13 eb3dced0

fix(infra): a TARGET pool has no interest leg, but it does have a principal (W-T)

2 files · +45 · -6
  • Infra
    • maturity-due.test.ts
    • maturity-due.ts

🔵 jy/product

No activity

2026-09-04 (Fri)

🟢 ch/product

No activity

🔵 jy/product

docs 18:39:21 e3588f9a

docs(redemption): record the permissionless exit fallback as withdrawn (v3-157)

4 files · +116 · -8
  • Docs
    • 14-decisions.md
    • 17-changelog.md

feat 18:38:54 fcdd5ca9

feat(admin): name the yield mode, so a missing accrual row means one thing (A')

1 files · +47
  • Admin
    • configuration-tab

docs 09:15:44 97181db9

docs(rbac): unregister v3-156 — the role redesign is being re-planned

4 files · +4 · -96
  • Docs
    • 09-rbac.md
    • 14-decisions.md

feat 18:11:31 760a6868

feat(admin): the cumulative bar measures principal, net of delinquency (A-1)

7 files · +288 · -275
  • Admin
    • cumulative-progress-bar
    • cumulative-progress-logic
    • cumulative-progress.test
    • overview-tab
    • repayment-plan
    • repayment-schedule-card
  • Admin API
    • pools

fix 18:06:04 279a2622

fix(admin): a committed rate of zero is not the absence of one (A-2)

2 files · +25 · -5
  • Admin
    • configuration-tab
  • Admin API
    • pools

feat 15:55:26 28595c43

feat(admin): the cumulative bar measures the partner debt, both legs (F-6)

4 files · +484 · -87
  • Admin
    • cumulative-progress-bar
    • cumulative-progress-logic
    • cumulative-progress.test
    • repayment-plan

fix 15:33:07 8e0a5114

fix(admin): the cumulative bar gates on its data, not on the stage (F-6)

1 files · +16 · -13
  • Admin
    • repayment-schedule-card

feat 14:37:57 175da4e4

feat(admin): cumulative repayment bar on the plan (F-6)

7 files · +420 · -7
  • Admin
    • cumulative-progress-bar
    • cumulative-progress-logic
    • cumulative-progress.test
    • overview-tab
    • repayment-schedule-card
  • Admin API
    • pools
    • use-pools

2026-09-03 (Thu)

🟢 ch/product

feat 11:52:01 71a70590

feat(infra): what the pool owes when its term ends, and a cancel path no button reaches (W-T, 3-5)

10 files · +451 · -5
  • Infra
    • epoch-redemption.ts
    • index.ts
    • maturity-due.test.ts
    • maturity-due.ts
    • pools.get.repayment-cycles.test.ts
    • pools.get.repayment-cycles.ts
    • read-repayment-cycles.ts
    • repayment-cycles.ts
  • Smart Contract
    • RedemptionLib

test 11:52:01 8bb2fbd1

test(contract): a campaign that starts empty has to get lucky, and one run in three did not

1 files · +34 · -1
  • Contract Test
    • PlatformPoolYieldInvariant.t

fix 11:52:01 77939ef8

fix(contract): capital returned is not cash paid, and the escrow period is billed once (CR-9)

4 files · +123 · -77
  • Contract Test
    • FixedAccrualBasis.t
  • Smart Contract
    • FixedYieldEngine
    • PoolLedgerLib
    • RedemptionLib

perf 11:52:01 73a1fbee

perf(contract): eighteen doors were eighteen delegatecalls, and the room was in the calling

11 files · +445 · -795
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolGovernanceDoor.t
  • Infra
    • governance.ts
  • Other
    • packages/money-contract/src/generated/platform-pool-base.ts
    • packages/money-contract/src/generated/platform-pool-target.ts
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • GovernanceLib
    • PlatformPoolBase
    • PlatformPoolTypes
    • foundry.toml

fix 11:52:01 535aa5e7

fix(infra): a cost basis that outlived its LP, and a NAV record the chain never took (W-W)

8 files · +411 · -6
  • Infra
    • apply-pending-nav.ts
    • fold.test.ts
    • fold.ts
    • index.ts
    • nav-changes.scheduler.apply-pending.test.ts
    • nav-changes.scheduler.apply-pending.ts
    • nav-changes.ts
    • pool.ts

🔵 jy/product

No activity

2026-09-02 (Wed)

🟢 ch/product

No activity

🔵 jy/product

docs 04:55:27 5c559fe7

docs(rbac): v3-156 had the split backwards — ADMIN retires, not FUND_MANAGER

4 files · +19 · -17
  • Docs
    • 09-rbac.md
    • 14-decisions.md

feat 12:09:43 947969da

feat(admin): a pool can be performance-based, and the mode is the rate it commits to

9 files · +154 · -58
  • Admin
    • Route (pools)
    • configuration-tab
    • payload
    • permissions
    • pool-metrics-line
    • step-structure
    • step-terms
    • validation
  • Admin API
    • pools

docs 02:40:15 f361d976

docs(rbac): register v3-156 and mark the sections it inverts

4 files · +96 · -6
  • Docs
    • 09-rbac.md
    • 14-decisions.md

fix 11:30:38 073b5c77

fix(admin): the reserve wallet gets the control its copy already promised, and the surplus moves to where it can be seen

4 files · +55 · -26
  • Admin
    • cycle-axis-rows
    • cycle-progress-bar
    • pool-controls
  • Admin API
    • pools

2026-09-01 (Tue)

🟢 ch/product

docs 17:46:40 9d1cc3da

docs(contract): the round is on Base Sepolia, and this is what is actually there

2 files · +252 · -248
  • Contract Deploy
    • run
  • Smart Contract
    • sepolia.md

feat 17:46:40 4030cdd6

feat(infra): the mode a pool is deployed with, the rate it may not have, and a wallet governance could not reach (W-Q, W-R, W-S)

27 files · +705 · -34
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0216_apy_rate_is_a_rate_a_pool_may_not_have.sql
    • DB 0217_governance_can_change_the_reserve_wallet.sql
    • DB 0218_a_target_pool_commits_no_rate.sql
    • DB schema.sql
    • build-params-mode.test.ts
    • build-params.ts
    • create-pool-params.ts
    • create-pool.ts
    • create-rules.ts
    • deploy-payload.ts
    • governance-rules.ts
    • governance.ts
    • index.ts
    • messages.ts
    • package.json
    • pools.post.create.test.ts
    • pools.post.create.ts
    • pools.post.governance.test.ts
    • pools.post.governance.ts
    • pools.worker.deploy.ts
    • publish.ts
    • yield-mode.test.ts
    • yield-mode.ts
  • Other
    • scripts/check-accrual-mode.mjs

docs 17:46:40 92441325

docs(ko): the Korean locale was wired up but empty, so it said nothing at all

27 files · +16845 · -508
  • Docs
    • 01-overview.md
    • 02-core-concepts.md
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 09a-custody.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 12-triggers.md
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 16-timeline.md
    • 17-changelog.md
    • 18-failure-types.md
    • 20-joob-pool-config.md
    • 21-holder-verification.md
    • 22-notifications.md
    • 23-money-path.md
    • 24-field-governance.md
    • 25-design-system.md
    • 26-glossary.md

refactor 17:46:40 8549b59a

refactor(contract): the interest basis is the capital the pool took in, as decided, and what that costs (R-T2)

15 files · +216 · -222
  • Contract Test
    • FixedAccrualBasis.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFlows.t
    • SequenceDiagramVerification.t
  • Other
    • packages/money-contract/src/tests/pool-surfaces.test.ts
    • packages/money-contract/src/generated/platform-pool-base.ts
    • packages/money-contract/src/generated/platform-pool-target.ts
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • FixedYieldEngine
    • PlatformPool
    • PlatformPoolBase
    • PlatformPoolStorage
    • YieldLib
    • foundry.toml

fix 17:46:40 e892dbd2

fix(contract): interest is owed on what the LP was sold for, and impairment does not move it (R-T2)

19 files · +405 · -169
  • Contract Test
    • EscrowAccrualRecognition.t
    • FixedAccrualBasis.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFlows.t
    • SequenceDiagramVerification.t
    • YieldAccrualPolicy.t
  • Other
    • packages/money-contract/src/tests/pool-surfaces.test.ts
    • packages/money-contract/src/generated/platform-pool-base.ts
    • packages/money-contract/src/generated/platform-pool-target.ts
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • FixedYieldEngine
    • LifecyclePolicy
    • PlatformKYCSoulbound
    • PlatformPool
    • PlatformPoolBase
    • PlatformPoolStorage
    • RedemptionLib
    • YieldAccrualPolicy

fix 11:21:40 641707d7

fix(infra): being late is not being lost, and only one of them may price a pool (R-B4)

9 files · +174 · -22
  • Infra
    • compute.test.ts
    • history.ts
    • index.ts
    • observe.test.ts
    • observe.ts
    • read.test.ts
    • summary.ts
    • types.ts

fix 00:53:44 566ce775

fix(web): a pool may not have a rate, and the reader has to know before the column does (F-8)

12 files · +123 · -21
  • Investor Web
    • PoolBrowseCard
    • PoolCard
    • PoolRow
    • Route (dashboard)
    • Route (pools)
    • Widget (PCWidgets)
    • Widget (invest-sidebar)
    • Widget (pool-header-card)
    • apy-rate.test
    • formatters
    • portfolio-stats
  • Investor Web API
    • pools

docs 00:12:26 2eb3db14

docs(infra): why the over-funding detector stays after C-2 makes it unreachable

1 files · +8
  • Infra
    • epoch.ts

refactor 00:12:26 1ec8741c

refactor(admin): the yield mode has one name, and it is the contract's (R-T6-bis)

4 files · +16 · -8
  • Admin
    • Route (pool-create)
    • step-terms
    • types
    • validation

feat 00:12:08 33e09c7d

feat(money-contract): three pool surfaces, with the boundary drawn by the compiler (R-T7)

6 files · +9095 · -3
  • Other
    • packages/money-contract/scripts/generate.mjs
    • packages/money-contract/src/tests/pool-surfaces.test.ts
    • packages/money-contract/src/generated/index.ts
    • packages/money-contract/src/generated/platform-pool-base.ts
    • packages/money-contract/src/generated/platform-pool-factory.ts
    • packages/money-contract/src/generated/platform-pool-target.ts

feat 00:11:42 5893a002

feat(contract)!: a pool can accrue on what its assets produced, and it is a different contract

29 files · +2007 · -95
  • Contract Deploy
    • DeployFactory.s
    • DeployV3Sepolia.s
  • Contract Test
    • EpochFundingWindow.t
    • FixedAccrualBasis.t
    • GoldenFixtures.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
    • PlatformPoolPenaltyInvariant.t
    • PlatformPoolTarget.t
    • PlatformPoolYieldInvariant.t
    • PolicyConformance.t
    • SequenceDiagramVerification.t
    • TargetYieldEngine.t
  • Smart Contract
    • FixedYieldEngine
    • NavLib
    • PlatformPool
    • PlatformPoolBase
    • PlatformPoolFactory
    • PlatformPoolStorage
    • PlatformPoolTarget
    • PlatformPoolTypes
    • PoolLedgerLib
    • RedemptionLib
    • TargetYieldEngine
    • YieldLib

🔵 jy/product

docs 18:30:11 d96002a3

docs(admin): two comments of mine now say the opposite of what is true

2 files · +12 · -7
  • Admin
    • overview-tab
  • Admin API
    • pools

fix 18:27:11 a83610e4

fix(admin): the review screen kept a sentence FD-6 had just retired, and it was half wrong to begin with

1 files · +6 · -1
  • Admin
    • step-compliance

fix 18:23:33 006ff156

fix(admin): a claim we can back again, a countdown that can be late, and a bar with one layer in it

3 files · +82 · -69
  • Admin
    • cycle-progress-bar
    • overview-tab
    • step-basics

fix 17:33:18 2fd0a63e

fix(web): a settlement date that has passed stops calling itself the next one

4 files · +34 · -7
  • Investor Web
    • Widget (epoch-countdown)
    • Widget (timelock-countdown)
    • Widget (withdraw-dialog)
    • status

fix 17:22:17 36b82df3

fix(web): the investor app said the reserve was in two places at once

5 files · +71 · -13
  • Investor Web
    • Widget (PCWidgets)
    • Widget (overview-tab)
    • Widget (risk-disclosure)
    • portfolio
  • Investor Web API
    • pools

feat 16:31:33 dfbf5d50

feat(admin): the cycle being settled, as two layers, and the gap between them says what is stuck

4 files · +239
  • Admin
    • cycle-progress-bar
    • cycle-progress-bar.test
    • cycle-progress-logic
    • repayment-schedule-card

refactor 16:16:06 2d9a16ad

refactor(web,admin): one maturity, answered by the backend, read by both apps

5 files · +53 · -32
  • Admin
    • pool-controls
  • Admin API
    • pools
  • Investor Web
    • Widget (invest-sidebar)
    • Widget (pool-header-card)
  • Investor Web API
    • pools

fix 16:09:43 1a0e550a

fix(admin): the reserve card said the pool holds money it routes away

1 files · +29 · -6
  • Admin
    • overview-tab

fix 16:08:45 4f9a8bf7

fix(admin): the reopen ceiling was measured from the wrong end of the offering

1 files · +12 · -2
  • Admin
    • pool-controls

fix 16:02:14 73542c9c

fix(admin): the gating a live pool is still being held to, back on the screen

1 files · +15
  • Admin
    • overview-tab

refactor 15:40:35 310a07bb

refactor(web,admin): two MVP-scope controls come off the screens, and the columns stay

15 files · +82 · -275
  • Admin
    • Route (pool-edit)
    • epoch-schedule-block
    • step-redemption
    • step-yield-fees
    • validation
    • yield-settings-tab
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
    • Route (styleguide.portfolio)
    • Widget (PCWidgets)
    • Widget (overview-tab)
    • Widget (position-card)
    • status

fix 14:58:03 d6e0ed2e

fix(web,admin): take down the exit the contract no longer offers, and five lines about a reserve that left

7 files · +75 · -153
  • Admin
    • step-terms
  • Investor Web
    • Route (activity)
    • Widget (position-card)
    • portfolio
  • Investor Web API
    • redemption-requests
    • use-redemption-requests

feat 14:57:42 9cd059b8

feat(admin): a pool says where its reserve goes, and can be asked again later

8 files · +107 · -3
  • Admin
    • Route (pool-create)
    • overview-tab
    • payload
    • step-basics
    • step-compliance
    • types
    • validation
  • Admin API
    • pools

2026-08-31 (Mon)

🟢 ch/product

chore 20:41:59 27098720

chore(infra): delete the pending-reserve backfill, which has nothing left to repair

1 files · -167
  • Infra
    • backfill-pending-reserve.ts

feat 20:36:37 6a460488

feat(infra): the yield queue carries the debt the liability figure cannot see (W-O)

5 files · +162 · -4
  • Infra
    • due-row-math.test.ts
    • due-row-math.ts
    • due-rows.ts
    • read.ts
  • Other
    • packages/types/src/index.ts

fix 19:49:45 8e78bc55

fix(infra): a deploy that cannot say what it built now says so (W-M)

8 files · +261 · -21
  • Docs
    • 11-db-schema.md
  • Infra
    • DB schema.sql
    • create-pool.ts
    • deploy-pool.ts
    • pool-generation.test.ts
    • pool-generation.ts
    • pool.ts
  • Other
    • packages/types/src/index.ts

feat 18:30:02 675bcfdd

feat(contract,infra)!: the reserve wallet can pay an exit, with a role of its own

15 files · +278 · -12
  • Contract Test
    • PlatformPool.t
  • Docs
    • 08-smart-contracts.md
    • 09-rbac.md
    • 09a-custody.md
  • Infra
    • client.ts
    • config-mirrors.ts
    • create-pool-config-calls.test.ts
    • create-pool.ts
    • event-coverage.test.ts
    • events.ts
  • Other
    • packages/money-contract/src/generated/platform-pool.ts
    • packages/money-contract/src/roles.ts
  • Smart Contract
    • GovernanceLib
    • PlatformPoolBase

other 18:29:34 90229580

revert(web,admin): the screens go back, because changing them was not mine to do

15 files · +119 · -130
  • Admin
    • Route (pool-create)
    • payload
    • step-basics
    • step-terms
    • types
    • validation
  • Investor Web
    • Route (activity)
    • Widget (position-card)
    • contract-errors
    • index
    • portfolio
  • Investor Web API
    • pools
    • redemption-requests
    • use-redemption-requests

feat 17:39:56 eaef4288

feat(admin,web): a pool asks where its reserve goes, and stops saying the pool holds it

10 files · +67 · -10
  • Admin
    • Route (pool-create)
    • payload
    • step-basics
    • step-terms
    • types
    • validation
  • Investor Web
    • Widget (position-card)
    • portfolio
  • Investor Web API
    • pools

test 17:33:21 36176f21

test(contract): pin the reserve-wallet timelock, including the case it exists for

1 files · +76
  • Contract Test
    • PlatformPool.t

feat 17:27:52 00943f68

feat(contract): the reserve wallet moves on a timelock, like the fund wallet

6 files · +182 · -1
  • Contract Test
    • PlatformPoolEpoch.t
  • Other
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • GovernanceLib
    • PlatformPoolBase
    • PlatformPoolStorage
    • PlatformPoolTypes

feat 17:13:04 feab572e

feat(infra): a pool declares where its reserve goes, or it is not created

18 files · +155 · -27
  • Infra
    • DB 0215_pools_reserve_wallet.sql
    • DB schema.sql
    • create-pool-params.ts
    • create-pool.ts
    • create-rules.test.ts
    • create-rules.ts
    • create.ts
    • deploy-payload-yield-promise.test.ts
    • deploy-payload.ts
    • pool-field-validation.test.ts
    • pool-field-validation.ts
    • pools.post.create.test.ts
    • pools.post.create.ts
    • pools.post.lifecycle.test.ts
    • pools.post.lifecycle.ts
    • pools.ts
    • pools.worker.deploy.ts
    • publish.ts

fix 16:55:16 bfcc3c47

fix(web,docs): take down the exit the contract no longer offers

14 files · +93 · -129
  • Docs
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 09a-custody.md
    • 15-api-reference.md
  • Infra
    • freeze-state.ts
    • redemption.ts
  • Investor Web
    • Route (activity)
    • contract-errors
    • index
  • Investor Web API
    • redemption-requests
    • use-redemption-requests

refactor 16:42:37 fd84769b

refactor(infra): stop watching a reserve the pool does not hold

11 files · +41 · -65
  • Admin API
    • redemption-requests
  • Infra
    • alerts.ts
    • engine.ts
    • index.ts
    • instant-summary.test.ts
    • instant-summary.ts
    • pool.ts
    • reconcile-mirrors.test.ts
    • reconcile.ts
    • redemption-requests.get.instant-summary.ts
    • redemption-sweeps.ts

feat 16:34:43 fc1303aa

feat(infra)!: the backend follows the reserve out of the pool

24 files · +132 · -836
  • Infra
    • CDK Stack (route-configs)
    • DB 0214_money_event_kind_released_to_reserve.sql
    • DB schema.sql
    • announce-epoch-demand.ts
    • approve-redemption.ts
    • catalog-integrity.test.ts
    • claim-fallback.ts
    • decode.ts
    • epoch-redemption.ts
    • events.ts
    • fallback-redemption.ts
    • fold.ts
    • index.ts
    • pool-mutation-registry.ts
    • redemption-reader.ts
    • redemption-requests.post.claim-fallback.test.ts
    • redemption-requests.post.claim-fallback.ts
    • redemption-requests.scheduler.epoch-cutoff.test.ts
    • redemption-requests.scheduler.epoch-cutoff.ts
    • redemption-requests.scheduler.partner-funding.test.ts
    • redemption.ts
  • Lambda API
    • redemption-requests.post.claim-fallback
  • Other
    • packages/money-domain/src/events.ts

feat 16:07:21 55b82aa9

feat(contract)!: the reserve leaves the pool, and every instant exit waits for funding

29 files · +916 · -623
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Contract Test
    • EscrowYieldRule.t
    • GoldenFixtures.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
    • PlatformPoolPenaltyInvariant.t
    • PlatformPoolYieldInvariant.t
    • PolicyConformance.t
    • SequenceDiagramVerification.t
  • Other
    • packages/money-contract/src/generated/platform-pool-factory.ts
    • packages/money-contract/src/generated/platform-pool.ts
    • packages/money-domain/fixtures/deposit.json
    • packages/money-domain/fixtures/epoch.json
    • packages/money-domain/fixtures/redemption-instant.json
  • Smart Contract
    • NavLib
    • PlatformPool
    • PlatformPoolBase
    • PlatformPoolFactory
    • PlatformPoolStorage
    • PlatformPoolTypes
    • PoolConfigLib
    • PoolLedgerLib
    • RedemptionLib
    • YieldLib

refactor 14:59:44 360108cb

refactor(contract): wind-down moves the lifecycle and stops repricing the exit (D3-v)

11 files · +126 · -393
  • Contract Test
    • GoldenFixtures.t
    • PlatformPoolEpoch.t
    • PlatformPoolNonCustodial.t
  • Infra
    • fold.test.ts
    • fold.ts
    • governance.ts
  • Other
    • packages/money-core/src/tests/pricing.test.ts
    • packages/money-core/src/pricing.ts
    • packages/money-domain/fixtures/wind-down.json
    • packages/money-domain/src/tests/money-core-conformance.test.ts
  • Smart Contract
    • PlatformPoolBase

refactor 14:36:16 7736ce53

refactor(types): the lock-up has one anchor, and "not deployed" is now its own question

7 files · +226 · -174
  • Admin
    • permissions.test
    • pool-implementation.test
  • Infra
    • lockup-anchor.test.ts
    • pools.post.close.test.ts
  • Investor Web
    • portfolio-liquidity.test
    • redemption-state.test
  • Other
    • packages/types/src/index.ts

🔵 jy/product

docs 10:28:19 38054cc5

docs(vitepress): point the 2026-08-27 markers at the cards they were written for

14 files · +38 · -38
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 15-api-reference.md
    • 17-changelog.md
    • 23-money-path.md
    • 26-glossary.md

2026-08-30 (Sun)

🟢 ch/product

No activity

🔵 jy/product

docs 23:04:50 20d458e3

docs(vitepress): cards for the 2026-08-27 decisions, and the reinvest rule two pages disagreed about

3 files · +173 · -8
  • Docs
    • 02-core-concepts.md
    • 14-decisions.md
    • 17-changelog.md

2026-08-29 (Sat)

🟢 ch/product

No activity

🔵 jy/product

docs 18:00:47 2ffa5d7d

docs(vitepress): the 2026-08-27 decisions as pending, and five places the docs were wrong

16 files · +72 · -32
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 09a-custody.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 15-api-reference.md
    • 23-money-path.md
    • 24-field-governance.md
    • 26-glossary.md
  • Infra
    • DB schema.sql

2026-08-28 (Fri)

🟢 ch/product

docs 14:19:09 c4a922c1

docs(readme): the three in-flight architecture tracks, structure only

1 files · +55 · -2
  • Other
    • README.md

refactor 12:53:59 865887a3

refactor: dead code, and names that claimed a unit or a shape the code had stopped using

26 files · +213 · -197
  • Admin
    • Route (deposits)
    • Route (pool-detail)
    • investor-panel
    • investor-sidebar
    • pool-controls
    • redemption-detail-panel
  • Admin API
    • pools
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Docs
    • 09-rbac.md
    • 11-db-schema.md
    • 17-changelog.md
    • 23-money-path.md
  • Infra
    • DB 0213_reserve_change_type_says_bps.sql
    • DB schema.sql
    • client.ts
    • config-mirrors.ts
    • governance-rules.test.ts
    • governance-rules.ts
    • governance.ts
    • index.ts
    • messages.ts
    • pools.post.governance.test.ts
    • pools.post.governance.ts
  • Smart Contract
    • .env.example

🔵 jy/product

No activity

2026-08-27 (Thu)

🟢 ch/product

refactor 16:45:04 983957c4

refactor(infra): three auth modules were half live and half oracle-support

8 files · +73 · -41
  • Infra
    • admin-oauth.ts
    • admin-tokens.ts
    • dashboard.ts
    • fund-pools.ts
    • fund-scoping.ts
    • granted-pages.ts
    • page-permissions.ts
    • tokens.ts

fix 16:44:37 c338b6ce

fix(infra): the pools list asked PostgREST to negate is against a value, and got a 500

4 files · +31 · -3
  • Infra
    • list.ts
    • pools.ts
    • query-parts.ts
    • supabase-projection.ts

refactor 15:56:27 de0c3162

refactor(infra): the layer guard passes, and most of what it caught was misfiling

342 files · +5140 · -4679
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (route-group-stack)
    • CDK Stack (ses-send-policy)
    • CDK Stack (ses-stack)
    • activity-events.get.counts.test.ts
    • activity-events.get.export.test.ts
    • activity-events.get.list.test.ts
    • activity-events.ts
    • activity.ts
    • admin-me.patch.update.test.ts
    • admin-mfa.ts
    • admin-notification-preferences.get.list.test.ts
    • admin-notification-preferences.put.update.test.ts
    • admin-notifications.get.list.test.ts
    • admin-notifications.patch.read-all.test.ts
    • admin-notifications.patch.read.test.ts
    • admin-sessions.ts
    • admin-signer-balances.get.list.test.ts
    • admin-tokens.ts
    • admin-user-wallets.get.list.test.ts
    • admin-users.delete.test.ts
    • admin-users.get.list.test.ts
    • admin-users.patch.permissions.test.ts
    • admin-users.patch.update.test.ts
    • admin-users.post.create.test.ts
    • admin-users.post.invite.test.ts
    • admin-users.post.invite.ts
    • admin-wallet.post.nonce.test.ts
    • admin-wallet.post.verify.test.ts
    • alerts.ts
    • applicant-info.ts
    • applicant-mirror.test.ts
    • applicant-mirror.ts
    • applicant-submitted.test.ts
    • apply-review.ts
    • approve-redemption.ts
    • audience.ts
    • auth.post.admin-2fa-verify.test.ts
    • auth.post.admin-2fa-verify.ts
    • auth.post.admin-login.test.ts
    • auth.post.admin-login.ts
    • auth.post.admin-logout-all.ts
    • auth.post.admin-oauth.test.ts
    • auth.post.admin-oauth.ts
    • auth.post.logout.ts
    • auth.post.refresh.test.ts
    • auth.post.verify.test.ts
    • auth.post.verify.ts
    • authoring.ts
    • backfill-invested-at.ts
    • backfill-pending-reserve.ts
    • build-params.ts
    • catalog-integrity.test.ts
    • categories.ts
    • client.ts
    • close.ts
    • config.get.chains.test.ts
    • config.get.stablecoins.test.ts
    • config.ts
    • context.ts
    • cookies.ts
    • create-pool-params.ts
    • create-pool.ts
    • create-rules.ts
    • create-system-update.ts
    • create.ts
    • dashboard.get.stats.test.ts
    • decide-schedule-change.ts
    • deliver.ts
    • deliveries.ts
    • deploy-pool.ts
    • deposits.get.counts.test.ts
    • deposits.get.list.test.ts
    • deposits.post.create.test.ts
    • derive-signer-addresses.ts
    • detail.ts
    • dispatch.ts
    • drain-sbt-queue.ts
    • due-rows.ts
    • email-suppressions.delete.test.ts
    • email-suppressions.get.list.test.ts
    • email-suppressions.post.create.test.ts
    • email.ts
    • engine.ts
    • epoch-funding-plan.ts
    • epoch-redemption.ts
    • epoch-schedule-view.ts
    • epoch-schedule.ts
    • epoch-shortfall.ts
    • epoch-summary.ts
    • event-types.ts
    • event-units.ts
    • events.ts
    • fund-invites.delete.test.ts
    • fund-invites.get.list.test.ts
    • fund-invites.post.accept.test.ts
    • fund-invites.post.create.test.ts
    • fund-invites.post.create.ts
    • fund-members.delete.test.ts
    • fund-members.get.list.test.ts
    • fund-members.patch.update.test.ts
    • fund-members.post.create.test.ts
    • fund-signers.ts
    • funding-date-results.ts
    • funds.delete.test.ts
    • funds.get.list.test.ts
    • funds.patch.update.test.ts
    • funds.post.create.test.ts
    • harness-drives-legacy.test.ts
    • in-app.ts
    • inapp-copy.test.ts
    • index.ts
    • instant-settlement.ts
    • investor-activity.get.list.test.ts
    • invite-admin.ts
    • jwt-token-use.test.ts
    • jwt.ts
    • kyc-logs.get.list.test.ts
    • kyc-sbt.ts
    • kyc-upgrade.ts
    • kyc-verification.ts
    • kyc.get.status.test.ts
    • kyc.post.access-token.ts
    • kyc.post.mint-sbt.test.ts
    • kyc.post.reuse.ts
    • kyc.post.sync.test.ts
    • kyc.post.webhook.ts
    • kyc.scheduler.reconcile-sweep.ts
    • list-handler.ts
    • mailer.ts
    • manage-funds.ts
    • manage-invites.ts
    • manage-updates.ts
    • message.ts
    • messages.ts
    • middleware.ts
    • migrate-signer-roles.ts
    • mint-preview-token.ts
    • mint-queue.ts
    • nav-changes.get.list.test.ts
    • nav-changes.post.activate.test.ts
    • nav-changes.post.approve.test.ts
    • nav-changes.post.cancel.test.ts
    • nav-changes.post.dismiss.test.ts
    • nav-changes.post.override.test.ts
    • nav-changes.post.propose.test.ts
    • nav-pricing.ts
    • nav-proposals.get.list.test.ts
    • notification-email.ts
    • notification-logs.get.list.test.ts
    • notification-logs.post.escalate.test.ts
    • notification-logs.post.resend.test.ts
    • notification-logs.post.resend.ts
    • notification-preferences.get.list.test.ts
    • notification-preferences.put.update.test.ts
    • notifications.get.list.test.ts
    • notifications.patch.read-all.test.ts
    • notifications.patch.read.test.ts
    • notifications.scheduler.sweep.ts
    • notifications.worker.deliver.ts
    • observe.test.ts
    • observe.ts
    • pipeline.ts
    • platform-settings.get.test.ts
    • platform-settings.put.update.test.ts
    • pool-categories.delete.test.ts
    • pool-categories.post.create.test.ts
    • pool-documents.get.list.test.ts
    • pool-field-validation.test.ts
    • pool-field-validation.ts
    • pool-follows.delete.test.ts
    • pool-follows.get.list.test.ts
    • pool-follows.post.create.test.ts
    • pool-tvl-history.get.list.test.ts
    • pool-updates.delete.test.ts
    • pool-updates.get.list.test.ts
    • pool-updates.patch.update.test.ts
    • pool-updates.post.create.test.ts
    • pools.delete.test.ts
    • pools.get.eligibility.test.ts
    • pools.get.list.test.ts
    • pools.get.list.ts
    • pools.get.repayment-cycles.test.ts
    • pools.get.repayment-cycles.ts
    • pools.patch.update.test.ts
    • pools.patch.update.ts
    • pools.post.close.test.ts
    • pools.post.close.ts
    • pools.post.create.test.ts
    • pools.post.create.ts
    • pools.post.epoch-funding.test.ts
    • pools.post.epoch-schedule.test.ts
    • pools.post.escalate-yield.test.ts
    • pools.post.freeze.test.ts
    • pools.post.governance.test.ts
    • pools.post.impairment.test.ts
    • pools.post.lifecycle.test.ts
    • pools.post.lifecycle.ts
    • pools.post.notify-fund.test.ts
    • pools.post.pause.test.ts
    • pools.post.preview-token.test.ts
    • pools.post.preview-token.ts
    • pools.post.schedule-change-request.test.ts
    • pools.post.wind-down.test.ts
    • pools.ts
    • portfolio-positions.get.list.test.ts
    • preview-fees.ts
    • principal.ts
    • principals.ts
    • provider-review.ts
    • provider.ts
    • publish.ts
    • queue.ts
    • read-repayment-cycles.ts
    • read-status.ts
    • read.test.ts
    • receive-webhook.ts
    • recompute-yield-due.ts
    • reconcile.ts
    • record-deposit.ts
    • record-distribution.ts
    • record-reinvest.ts
    • redemption-requests.get.counts.test.ts
    • redemption-requests.get.epoch-summary.test.ts
    • redemption-requests.get.exit-gate.test.ts
    • redemption-requests.get.instant-summary.test.ts
    • redemption-requests.get.list.test.ts
    • redemption-requests.post.approve.test.ts
    • redemption-requests.post.cancel.test.ts
    • redemption-requests.post.claim-fallback.test.ts
    • redemption-requests.post.claim.test.ts
    • redemption-requests.post.create.test.ts
    • redemption-requests.post.escalate.test.ts
    • redemption-requests.post.notify-fund.test.ts
    • redemption-requests.post.record-funding.test.ts
    • redemption-requests.post.reject.test.ts
    • refresh-audience.test.ts
    • refresh-cookies.ts
    • register-email.ts
    • reopen-offering-close.test.ts
    • reopen-offering-close.ts
    • replay.ts
    • report.scheduler.fetch.ts
    • response.ts
    • route.ts
    • run-detail.ts
    • schedule-change-requests.post.decide.test.ts
    • service-providers.ts
    • settle-epochs.ts
    • siwe-verify.ts
    • siwe.ts
    • sources.ts
    • statuses.ts
    • supabase-projection.ts
    • sync-review.ts
    • templates.ts
    • tokens.ts
    • totp.ts
    • tranche.post.writedown.test.ts
    • tsconfig.json
    • unread-bells.ts
    • update.ts
    • users.get.counts.test.ts
    • users.get.investor-detail.test.ts
    • users.get.list.test.ts
    • users.get.me.test.ts
    • users.patch.qualification.test.ts
    • users.post.email.test.ts
    • users.post.email.ts
    • uuid.ts
    • verify-signer-roles.ts
    • verify-wallet.ts
    • wallets.get.list.test.ts
    • window-subscriptions.delete.test.ts
    • window-subscriptions.get.list.test.ts
    • window-subscriptions.post.create.test.ts
    • wire.ts
    • yield-claims.get.list.test.ts
    • yield-claims.post.create.test.ts
    • yield-distributions.get.counts.test.ts
    • yield-distributions.get.fund-summary.test.ts
    • yield-distributions.get.investors.test.ts
    • yield-distributions.get.list.test.ts
    • yield-distributions.get.me.test.ts
    • yield-distributions.get.preview.test.ts
    • yield-distributions.get.preview.ts
    • yield-distributions.post.create.test.ts
    • yield-distributions.post.create.ts
    • yield-distributions.post.distribute.test.ts
    • yield-interval.test.ts
    • yield-interval.ts
    • yield-period.test.ts
    • yield-period.ts
    • yield-schedule.ts
    • yield.post.reinvest.test.ts
  • Lambda API
    • notifications.worker.deliver
  • Other
    • scripts/check-copy.mjs
    • scripts/check-layer-boundaries.mjs
    • scripts/check-onchain-units.mjs

refactor 14:56:11 7c67a6c9

refactor(infra): the first 53, and two of them did not want a port

88 files · +392 · -264
  • Infra
    • activate-change.ts
    • admin-roles.ts
    • admin-users.get.list.ts
    • admin-users.patch.update.ts
    • admin-users.post.create.ts
    • admin-users.post.invite.ts
    • admin-users.ts
    • advance-pool-lifecycle.ts
    • announce-epoch-demand.ts
    • announce-epoch-window.ts
    • apply-pending-nav.ts
    • approve-redemption.ts
    • audience.ts
    • auth.post.logout.ts
    • auth.post.refresh.ts
    • authority.ts
    • build-params.ts
    • config-mirrors.ts
    • config.ts
    • context.ts
    • create-pool.ts
    • create-rules.test.ts
    • create-rules.ts
    • create.ts
    • deposit.ts
    • distribute.ts
    • due-rows.ts
    • engine.ts
    • epoch-funding.ts
    • epoch-redemption.ts
    • epoch-settlement.ts
    • epoch-summary.ts
    • events.ts
    • fallback-redemption.ts
    • fees.ts
    • governance.ts
    • impairment.ts
    • index.ts
    • kyc.post.mint-sbt.ts
    • kyc.post.sync.ts
    • lifecycle.ts
    • manage-accounts.ts
    • manage-members.ts
    • middleware.ts
    • mint-sbt.ts
    • mirror.ts
    • nav.ts
    • notify-fund.ts
    • pools.get.list.ts
    • pools.post.notify-fund.ts
    • pools.ts
    • portfolio-positions.get.list.ts
    • portfolio-positions.ts
    • principal.ts
    • propose-change.ts
    • read-repayment-cycles.ts
    • read-scope.ts
    • read.ts
    • recompute-yield-due.ts
    • reconcile-yield-claimed.ts
    • redemption-requests.get.epoch-summary.ts
    • redemption-requests.scheduler.epoch-cutoff.ts
    • redemption.ts
    • refresh-cookies.ts
    • reinvest.ts
    • reject.ts
    • remind-funding-date.ts
    • remind-governance-execute.ts
    • remind-partner-funding.ts
    • settle-epochs.ts
    • snapshot-pool-tvl.ts
    • sync-review.ts
    • tokens.ts
    • units.test.ts
    • units.ts
    • user-lookups.ts
    • wind-down.ts
    • yield-distribution.ts
    • yield.ts
  • Other
    • scripts/check-layer-boundaries.mjs
    • scripts/check-onchain-units.mjs

refactor 14:38:24 bee32a22

refactor(infra): Q6 — one tree, and the 136 things the second one was hiding

1138 files · +37085 · -37076
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (kms-stack)
    • CDK Stack (lambda-helpers)
    • CDK Stack (parent-dedicated-roles.test)
    • CDK Stack (route-group-stack)
    • activate-change.ts
    • activity-events.get.counts.test.ts
    • activity-events.get.counts.ts
    • activity-events.get.export.test.ts
    • activity-events.get.export.ts
    • activity-events.get.list.test.ts
    • activity-events.get.list.ts
    • activity-events.scheduler.archive.test.ts
    • activity-events.scheduler.archive.ts
    • activity-events.ts
    • activity.ts
    • actors.ts
    • addresses.ts
    • admin-2fa.ts
    • admin-login.ts
    • admin-me.patch.update.test.ts
    • admin-me.patch.update.ts
    • admin-mfa.ts
    • admin-notification-preferences.get.list.test.ts
    • admin-notification-preferences.get.list.ts
    • admin-notification-preferences.put.update.test.ts
    • admin-notification-preferences.put.update.ts
    • admin-notifications.get.list.test.ts
    • admin-notifications.get.list.ts
    • admin-notifications.get.unread-count.ts
    • admin-notifications.patch.read-all.test.ts
    • admin-notifications.patch.read-all.ts
    • admin-notifications.patch.read.test.ts
    • admin-notifications.patch.read.ts
    • admin-oauth.ts
    • admin-roles.ts
    • admin-sessions.ts
    • admin-signer-balances.get.list.test.ts
    • admin-signer-balances.get.list.ts
    • admin-tokens.ts
    • admin-user-wallets.get.list.test.ts
    • admin-user-wallets.get.list.ts
    • admin-users.delete.test.ts
    • admin-users.delete.ts
    • admin-users.get.list.test.ts
    • admin-users.get.list.ts
    • admin-users.patch.permissions.test.ts
    • admin-users.patch.permissions.ts
    • admin-users.patch.update.test.ts
    • admin-users.patch.update.ts
    • admin-users.post.create.test.ts
    • admin-users.post.create.ts
    • admin-users.post.invite.test.ts
    • admin-users.post.invite.ts
    • admin-users.ts
    • admin-wallet.post.nonce.test.ts
    • admin-wallet.post.nonce.ts
    • admin-wallet.post.verify.test.ts
    • admin-wallet.post.verify.ts
    • admin-wallets.ts
    • advance-pool-lifecycle.ts
    • alerts.ts
    • announce-epoch-demand.ts
    • announce-epoch-window.ts
    • announce-writedown.ts
    • announced-nav.ts
    • applicant-mirror.test.ts
    • applicant-mirror.ts
    • applicant-submitted.test.ts
    • apply-on-chain.test.ts
    • apply-on-chain.ts
    • apply-pending-nav.ts
    • apply-plane.ts
    • apply-proposal.ts
    • apply-review.ts
    • approve-redemption.ts
    • approve.ts
    • audience.ts
    • audit-export.ts
    • audit.ts
    • auth-nonces.ts
    • auth.get.admin-sessions.ts
    • auth.post.admin-2fa-verify.test.ts
    • auth.post.admin-2fa-verify.ts
    • auth.post.admin-login.test.ts
    • auth.post.admin-login.ts
    • auth.post.admin-logout-all.ts
    • auth.post.admin-oauth.test.ts
    • auth.post.admin-oauth.ts
    • auth.post.admin-session-revoke.ts
    • auth.post.logout.ts
    • auth.post.nonce.test.ts
    • auth.post.nonce.ts
    • auth.post.refresh.test.ts
    • auth.post.refresh.ts
    • auth.post.verify-email.test.ts
    • auth.post.verify-email.ts
    • auth.post.verify.test.ts
    • auth.post.verify.ts
    • authority.ts
    • body.ts
    • build-params.ts
    • cancel-change.ts
    • cancel.ts
    • catalog-integrity.test.ts
    • catalog.ts
    • chain-config.ts
    • chain.ts
    • claim-fallback.ts
    • claim.ts
    • client-lazy-signer.test.ts
    • client.ts
    • close.ts
    • compute.test.ts
    • compute.ts
    • config-mirrors.test.ts
    • config-mirrors.ts
    • config.get.chains.test.ts
    • config.get.chains.ts
    • config.get.stablecoins.test.ts
    • config.get.stablecoins.ts
    • config.ts
    • consent.ts
    • contact.ts
    • cookies.ts
    • country-eligibility-policy.ts
    • create-pool-config-calls.test.ts
    • create-pool.ts
    • create-rules.ts
    • create-system-update.ts
    • create.ts
    • cursor.ts
    • custody-gate.ts
    • custody-mode.test.ts
    • custody-mode.ts
    • custody.ts
    • dashboard.get.stats.test.ts
    • dashboard.get.stats.ts
    • dashboard.ts
    • decide-channels.test.ts
    • decide-schedule-change.ts
    • decide.ts
    • decode.ts
    • deliver.ts
    • deliveries.ts
    • delivery-feedback.ts
    • delivery-log.ts
    • deploy-payload-yield-promise.test.ts
    • deploy-payload.ts
    • deploy-pool.ts
    • deploy-queue.ts
    • deposit-eligibility.test.ts
    • deposit-eligibility.ts
    • deposit-reader.ts
    • deposit.ts
    • deposits.get.counts.test.ts
    • deposits.get.counts.ts
    • deposits.get.list.test.ts
    • deposits.get.list.ts
    • deposits.post.create.test.ts
    • deposits.post.create.ts
    • deposits.ts
    • derive-from-loss.ts
    • describe-on-chain-error.test.ts
    • detect-exit-gate-blocks.ts
    • diff.ts
    • digest.test.ts
    • digest.ts
    • disclaimer.ts
    • dispatch-coverage.test.ts
    • dispatch.ts
    • display-name.ts
    • distribute-plane.ts
    • distribute.ts
    • distribution.ts
    • drain-sbt-queue.ts
    • due-row-math.test.ts
    • due-row-math.ts
    • due-rows.ts
    • eligibility.ts
    • email-suppressions.delete.test.ts
    • email-suppressions.delete.ts
    • email-suppressions.get.list.test.ts
    • email-suppressions.get.list.ts
    • email-suppressions.post.create.test.ts
    • email-suppressions.post.create.ts
    • email-suppressions.ts
    • email.ts
    • engine.ts
    • enter-review.ts
    • enums.ts
    • epoch-demand.test.ts
    • epoch-demand.ts
    • epoch-funding-plan.ts
    • epoch-funding.ts
    • epoch-redemption.ts
    • epoch-schedule.test.ts
    • epoch-schedule.ts
    • epoch-settlement.ts
    • epoch-summary.ts
    • epoch.ts
    • escalate.ts
    • escape-html.ts
    • eth-rpc.ts
    • event-coverage.test.ts
    • events.ts
    • exit-eligibility.test.ts
    • exit-eligibility.ts
    • exit-gate.ts
    • fallback-redemption.ts
    • fastpath.ts
    • feed.ts
    • fees.ts
    • fetch-all.ts
    • fetch.ts
    • final-rejection.ts
    • format-date.ts
    • format-nav.test.ts
    • format-nav.ts
    • freeze-milestones.test.ts
    • freeze-state.test.ts
    • freeze-state.ts
    • freeze-windows.ts
    • freeze.ts
    • fund-data-reads.ts
    • fund-data.ts
    • fund-invites.delete.test.ts
    • fund-invites.delete.ts
    • fund-invites.get.list.test.ts
    • fund-invites.get.list.ts
    • fund-invites.post.accept.test.ts
    • fund-invites.post.accept.ts
    • fund-invites.post.create.test.ts
    • fund-invites.post.create.ts
    • fund-invites.ts
    • fund-linked-pools.ts
    • fund-members.delete.test.ts
    • fund-members.delete.ts
    • fund-members.get.list.test.ts
    • fund-members.get.list.ts
    • fund-members.patch.update.test.ts
    • fund-members.patch.update.ts
    • fund-members.post.create.test.ts
    • fund-members.post.create.ts
    • fund-members.ts
    • fund-scoping.ts
    • fund-summary.ts
    • funding-date-monotonicity.test.ts
    • funding-date-monotonicity.ts
    • funds.delete.test.ts
    • funds.delete.ts
    • funds.get.list.test.ts
    • funds.get.list.ts
    • funds.patch.update.test.ts
    • funds.patch.update.ts
    • funds.post.create.test.ts
    • funds.post.create.ts
    • funds.ts
    • gas-reader.ts
    • governance-execute-due.test.ts
    • governance-execute-due.ts
    • governance-rules.ts
    • governance-timelock.ts
    • governance.ts
    • handler-roles.ts
    • handler-secrets.ts
    • harness-drives-legacy.test.ts
    • history-window.test.ts
    • history-window.ts
    • history.ts
    • holder-yield.ts
    • impairment.ts
    • in-app-copy.ts
    • in-app.ts
    • inapp-copy.test.ts
    • index.ts
    • indexer.ts
    • ingest.ts
    • instant-summary.ts
    • investor-activity.get.list.test.ts
    • investor-activity.get.list.ts
    • investor-activity.ts
    • investor-pii.ts
    • investor-preferences.test.ts
    • investor-sessions.ts
    • investor-stats.ts
    • invite-admin.ts
    • jwt-token-use.test.ts
    • jwt.ts
    • kms-address.test.ts
    • kms-address.ts
    • kms-signer.test.ts
    • kms-signer.ts
    • kyc-account.ts
    • kyc-gating.test.ts
    • kyc-gating.ts
    • kyc-logs.get.list.test.ts
    • kyc-logs.get.list.ts
    • kyc-sbt.ts
    • kyc-status.ts
    • kyc-sweeps.ts
    • kyc-verification.ts
    • kyc.get.status.test.ts
    • kyc.get.status.ts
    • kyc.post.access-token.ts
    • kyc.post.mint-sbt.test.ts
    • kyc.post.mint-sbt.ts
    • kyc.post.reuse.ts
    • kyc.post.sync.test.ts
    • kyc.post.sync.ts
    • kyc.post.webhook.test.ts
    • kyc.post.webhook.ts
    • kyc.scheduler.reconcile-sweep.test.ts
    • kyc.scheduler.reconcile-sweep.ts
    • kyc.scheduler.reverify-sweep.test.ts
    • kyc.scheduler.reverify-sweep.ts
    • kyc.worker.apply-review.test.ts
    • kyc.worker.apply-review.ts
    • kyc.worker.mint-sbt.test.ts
    • kyc.worker.mint-sbt.ts
    • large-deposit.test.ts
    • large-deposit.ts
    • latest.ts
    • ledger.ts
    • lifecycle-enum.test.ts
    • lifecycle.ts
    • list-controls.ts
    • list-handler.ts
    • lockup-anchor.test.ts
    • lockup-within-term.test.ts
    • lockup-within-term.ts
    • lookup.ts
    • lookups.ts
    • loss-waterfall.test.ts
    • loss-waterfall.ts
    • mailer.ts
    • manage-accounts.ts
    • manage-funds.ts
    • manage-invites.ts
    • manage-members.ts
    • manage-suppressions.ts
    • manage-updates.ts
    • map-with-concurrency.ts
    • mapping.ts
    • middleware.ts
    • migration-numbers-are-unique.test.ts
    • mint-preview-token.ts
    • mint-queue.ts
    • mint-sbt.ts
    • mirror-mode.test.ts
    • mirror-mode.ts
    • mirror.ts
    • nav-changes.get.list.test.ts
    • nav-changes.get.list.ts
    • nav-changes.post.activate.test.ts
    • nav-changes.post.activate.ts
    • nav-changes.post.approve.test.ts
    • nav-changes.post.approve.ts
    • nav-changes.post.cancel.test.ts
    • nav-changes.post.cancel.ts
    • nav-changes.post.dismiss.test.ts
    • nav-changes.post.dismiss.ts
    • nav-changes.post.override.test.ts
    • nav-changes.post.override.ts
    • nav-changes.post.propose.test.ts
    • nav-changes.post.propose.ts
    • nav-changes.scheduler.apply-pending.test.ts
    • nav-changes.scheduler.apply-pending.ts
    • nav-changes.ts
    • nav-formula.test.ts
    • nav-formula.ts
    • nav-proposals.get.list.test.ts
    • nav-proposals.get.list.ts
    • nav-proposals.scheduler.expire.test.ts
    • nav-proposals.scheduler.expire.ts
    • nav-proposals.ts
    • nav.ts
    • next-due.ts
    • nonce.ts
    • notification-email.ts
    • notification-logs.get.list.test.ts
    • notification-logs.get.list.ts
    • notification-logs.post.escalate.test.ts
    • notification-logs.post.escalate.ts
    • notification-logs.post.resend.test.ts
    • notification-logs.post.resend.ts
    • notification-logs.ts
    • notification-preferences.get.list.test.ts
    • notification-preferences.get.list.ts
    • notification-preferences.put.update.test.ts
    • notification-preferences.put.update.ts
    • notification-preferences.ts
    • notification-read-state.ts
    • notifications.get.list.test.ts
    • notifications.get.list.ts
    • notifications.get.unread-count.ts
    • notifications.patch.read-all.test.ts
    • notifications.patch.read-all.ts
    • notifications.patch.read.test.ts
    • notifications.patch.read.ts
    • notifications.scheduler.sweep.test.ts
    • notifications.scheduler.sweep.ts
    • notifications.ts
    • notifications.webhook.ses.test.ts
    • notifications.webhook.ses.ts
    • notifications.worker.deliver.test.ts
    • notifications.worker.deliver.ts
    • notifier.ts
    • notify-fund.ts
    • notify-stalled-yield.ts
    • npl.ts
    • observe.test.ts
    • observe.ts
    • offboard-fund-manager.ts
    • offering-close-day.test.ts
    • onchain-indexer.scheduler.test.ts
    • onchain-indexer.scheduler.ts
    • onchain.ts
    • ops-variants.ts
    • page-permissions.ts
    • pagination.ts
    • parse-body.ts
    • pause.ts
    • pipeline.ts
    • plane.ts
    • platform-settings.get.test.ts
    • platform-settings.get.ts
    • platform-settings.put.update.test.ts
    • platform-settings.put.update.ts
    • platform-settings.ts
    • pool-aggregates.ts
    • pool-archive.test.ts
    • pool-archive.ts
    • pool-categories.delete.test.ts
    • pool-categories.delete.ts
    • pool-categories.get.list.test.ts
    • pool-categories.get.list.ts
    • pool-categories.post.create.test.ts
    • pool-categories.post.create.ts
    • pool-categories.ts
    • pool-consent.ts
    • pool-create.ts
    • pool-deploy.ts
    • pool-documents.get.list.test.ts
    • pool-documents.get.list.ts
    • pool-field-validation.test.ts
    • pool-field-validation.ts
    • pool-follows.delete.test.ts
    • pool-follows.delete.ts
    • pool-follows.get.list.test.ts
    • pool-follows.get.list.ts
    • pool-follows.post.create.test.ts
    • pool-follows.post.create.ts
    • pool-follows.ts
    • pool-lookups.ts
    • pool-maturity.test.ts
    • pool-maturity.ts
    • pool-mirrors.ts
    • pool-mutation-registry.ts
    • pool-publish.ts
    • pool-read-access.ts
    • pool-read.ts
    • pool-registry.ts
    • pool-sweeps.ts
    • pool-tvl-history.get.list.test.ts
    • pool-tvl-history.get.list.ts
    • pool-tvl-history.ts
    • pool-update.ts
    • pool-updates.delete.test.ts
    • pool-updates.delete.ts
    • pool-updates.get.list.test.ts
    • pool-updates.get.list.ts
    • pool-updates.patch.update.test.ts
    • pool-updates.patch.update.ts
    • pool-updates.post.create.test.ts
    • pool-updates.post.create.ts
    • pool-updates.ts
    • pool-visibility.test.ts
    • pool-visibility.ts
    • pool.ts
    • pools.delete.test.ts
    • pools.delete.ts
    • pools.get.eligibility.test.ts
    • pools.get.eligibility.ts
    • pools.get.fund-data-history.ts
    • pools.get.fund-data-summary.ts
    • pools.get.fund-data-writeoffs.ts
    • pools.get.list.test.ts
    • pools.get.list.ts
    • pools.get.loss-history.test.ts
    • pools.get.loss-history.ts
    • pools.get.nav-history.test.ts
    • pools.get.nav-history.ts
    • pools.get.repayment-cycles.test.ts
    • pools.get.repayment-cycles.ts
    • pools.patch.update.test.ts
    • pools.patch.update.ts
    • pools.post.close.test.ts
    • pools.post.close.ts
    • pools.post.create.test.ts
    • pools.post.create.ts
    • pools.post.epoch-funding.test.ts
    • pools.post.epoch-funding.ts
    • pools.post.epoch-schedule.test.ts
    • pools.post.epoch-schedule.ts
    • pools.post.escalate-yield.test.ts
    • pools.post.escalate-yield.ts
    • pools.post.freeze.test.ts
    • pools.post.freeze.ts
    • pools.post.governance.test.ts
    • pools.post.governance.ts
    • pools.post.impairment.test.ts
    • pools.post.impairment.ts
    • pools.post.lifecycle.test.ts
    • pools.post.lifecycle.ts
    • pools.post.notify-fund.test.ts
    • pools.post.notify-fund.ts
    • pools.post.pause.test.ts
    • pools.post.pause.ts
    • pools.post.preview-token.test.ts
    • pools.post.preview-token.ts
    • pools.post.schedule-change-request.test.ts
    • pools.post.schedule-change-request.ts
    • pools.post.wind-down.test.ts
    • pools.post.wind-down.ts
    • pools.scheduler.epoch-funding-date.test.ts
    • pools.scheduler.epoch-funding-date.ts
    • pools.scheduler.epoch-window-open.test.ts
    • pools.scheduler.epoch-window-open.ts
    • pools.scheduler.governance-execute-due.test.ts
    • pools.scheduler.governance-execute-due.ts
    • pools.scheduler.lifecycle.test.ts
    • pools.scheduler.lifecycle.ts
    • pools.scheduler.tvl-snapshot.test.ts
    • pools.scheduler.tvl-snapshot.ts
    • pools.scheduler.yield-due.test.ts
    • pools.scheduler.yield-due.ts
    • pools.ts
    • pools.worker.deploy.test.ts
    • pools.worker.deploy.ts
    • portfolio-positions.get.list.test.ts
    • portfolio-positions.get.list.ts
    • portfolio-positions.ts
    • preference-catalog.test.ts
    • preview-fees.ts
    • principal.ts
    • project.test.ts
    • project.ts
    • proposal-resolver.ts
    • propose-change.ts
    • propose-mode.ts
    • provider.ts
    • publish.ts
    • query-parts.ts
    • queue.ts
    • range-limit.test.ts
    • range-limit.ts
    • read-invites.ts
    • read-repayment-cycles.ts
    • read-scope.ts
    • read-self.ts
    • read-signer-balances.ts
    • read-status.ts
    • read.test.ts
    • read.ts
    • receipt-investors.ts
    • receive-webhook.ts
    • recompute-yield-due.ts
    • reconcile-kyc.ts
    • reconcile-mirrors.test.ts
    • reconcile-yield-claimed.ts
    • reconcile.ts
    • record-claim.ts
    • record-deposit.ts
    • record-distribution.ts
    • record-funding.ts
    • record-reinvest.ts
    • redemption-decision.ts
    • redemption-eligibility.test.ts
    • redemption-eligibility.ts
    • redemption-epochs.ts
    • redemption-exit-gate.test.ts
    • redemption-exit-gate.ts
    • redemption-reader.ts
    • redemption-requests.get.counts.test.ts
    • redemption-requests.get.counts.ts
    • redemption-requests.get.epoch-summary.test.ts
    • redemption-requests.get.epoch-summary.ts
    • redemption-requests.get.exit-gate.test.ts
    • redemption-requests.get.exit-gate.ts
    • redemption-requests.get.instant-summary.test.ts
    • redemption-requests.get.instant-summary.ts
    • redemption-requests.get.list.test.ts
    • redemption-requests.get.list.ts
    • redemption-requests.post.approve.test.ts
    • redemption-requests.post.approve.ts
    • redemption-requests.post.cancel.test.ts
    • redemption-requests.post.cancel.ts
    • redemption-requests.post.claim-fallback.test.ts
    • redemption-requests.post.claim-fallback.ts
    • redemption-requests.post.claim.test.ts
    • redemption-requests.post.claim.ts
    • redemption-requests.post.create.test.ts
    • redemption-requests.post.create.ts
    • redemption-requests.post.escalate.test.ts
    • redemption-requests.post.escalate.ts
    • redemption-requests.post.notify-fund.test.ts
    • redemption-requests.post.notify-fund.ts
    • redemption-requests.post.record-funding.test.ts
    • redemption-requests.post.record-funding.ts
    • redemption-requests.post.reject.test.ts
    • redemption-requests.post.reject.ts
    • redemption-requests.scheduler.epoch-cutoff.test.ts
    • redemption-requests.scheduler.epoch-cutoff.ts
    • redemption-requests.scheduler.epoch-execute.test.ts
    • redemption-requests.scheduler.epoch-execute.ts
    • redemption-requests.scheduler.exit-gate-sweep.test.ts
    • redemption-requests.scheduler.exit-gate-sweep.ts
    • redemption-requests.scheduler.partner-funding.test.ts
    • redemption-requests.scheduler.partner-funding.ts
    • redemption-requests.scheduler.unrequested-holders.test.ts
    • redemption-requests.scheduler.unrequested-holders.ts
    • redemption-requests.ts
    • redemption-sweeps.ts
    • redemption.ts
    • refresh-audience.test.ts
    • refresh-cookies.ts
    • register-email.ts
    • reinvest-reader.ts
    • reinvest.ts
    • reject.ts
    • remind-funding-date.ts
    • remind-governance-execute.ts
    • remind-partner-funding.ts
    • remove.ts
    • reopen-offering-close.test.ts
    • reopen-offering-close.ts
    • repayment-cycle-amounts.test.ts
    • repayment-cycle-amounts.ts
    • repayment-cycle-viewer.test.ts
    • repayment-cycle-viewer.ts
    • repayment-cycles.ts
    • report.scheduler.derive.test.ts
    • report.scheduler.derive.ts
    • report.scheduler.fetch.test.ts
    • report.scheduler.fetch.ts
    • reserve-shortfall.test.ts
    • reserve-shortfall.ts
    • resolve-proposal.ts
    • resolve.ts
    • response-shape.test.ts
    • review-log.ts
    • roles.ts
    • run-count.ts
    • run-detail.ts
    • run-distribution.ts
    • run-list.ts
    • save-preferences.ts
    • sbt-reader.ts
    • sbt-sync.test.ts
    • sbt-sync.ts
    • sbt-validity.test.ts
    • sbt-validity.ts
    • schedule-change-requests.post.decide.test.ts
    • schedule-change-requests.post.decide.ts
    • schedule-change.ts
    • schedule-revert-http.ts
    • self-heal.test.ts
    • self-heal.ts
    • service-providers.ts
    • sessions.ts
    • settle-epochs.ts
    • siwe-message.ts
    • siwe-verify.ts
    • siwe.ts
    • snapshot-pool-tvl.ts
    • source.ts
    • sources.ts
    • stablecoin.ts
    • stalled-threshold.test.ts
    • stalled-yield.ts
    • stalled.ts
    • start-verification.ts
    • status-filter.test.ts
    • status-filter.ts
    • statuses.ts
    • submission-retry.test.ts
    • summary.ts
    • sumsub.ts
    • supabase.ts
    • suppression.ts
    • sweeps.ts
    • sync-onchain-yield-due.ts
    • sync-review.ts
    • team.ts
    • templates.ts
    • token-calculations.ts
    • tokens.ts
    • totp.ts
    • tranche.post.writedown.test.ts
    • tranche.post.writedown.ts
    • transfer-holders.test.ts
    • types.ts
    • underlying-assets.get.list.test.ts
    • underlying-assets.get.list.ts
    • units.test.ts
    • units.ts
    • unread-bells.ts
    • unrequested-holders.ts
    • unwritten-plan-cycles.test.ts
    • unwritten-plan-cycles.ts
    • update.ts
    • users.get.counts.test.ts
    • users.get.counts.ts
    • users.get.investor-detail.test.ts
    • users.get.investor-detail.ts
    • users.get.list.test.ts
    • users.get.list.ts
    • users.get.me.test.ts
    • users.get.me.ts
    • users.patch.qualification.test.ts
    • users.patch.qualification.ts
    • users.post.email.test.ts
    • users.post.email.ts
    • users.ts
    • uuid.test.ts
    • validate-amount.ts
    • validate-request.ts
    • verification-gate.ts
    • verify-email.ts
    • verify-wallet.ts
    • wallets.get.list.test.ts
    • wallets.get.list.ts
    • wallets.ts
    • watched-events.test.ts
    • webhook.ts
    • wind-down.ts
    • window-subscriptions.delete.test.ts
    • window-subscriptions.delete.ts
    • window-subscriptions.get.list.test.ts
    • window-subscriptions.get.list.ts
    • window-subscriptions.post.create.test.ts
    • window-subscriptions.post.create.ts
    • window-subscriptions.ts
    • wire.ts
    • write.ts
    • writedown-crossing.test.ts
    • writedown-governance.test.ts
    • writedown-update-copy.ts
    • writedown.ts
    • yield-aggregates.ts
    • yield-claim-reader.ts
    • yield-claim.ts
    • yield-claims.get.list.test.ts
    • yield-claims.get.list.ts
    • yield-claims.post.create.test.ts
    • yield-claims.post.create.ts
    • yield-distribution.ts
    • yield-distributions.get.counts.test.ts
    • yield-distributions.get.counts.ts
    • yield-distributions.get.fund-summary.test.ts
    • yield-distributions.get.fund-summary.ts
    • yield-distributions.get.investors.test.ts
    • yield-distributions.get.investors.ts
    • yield-distributions.get.list.test.ts
    • yield-distributions.get.list.ts
    • yield-distributions.get.me.test.ts
    • yield-distributions.get.me.ts
    • yield-distributions.get.preview.test.ts
    • yield-distributions.get.preview.ts
    • yield-distributions.post.create.test.ts
    • yield-distributions.post.create.ts
    • yield-distributions.post.distribute.test.ts
    • yield-distributions.post.distribute.ts
    • yield-distributions.ts
    • yield-due-date.ts
    • yield-due-rows.ts
    • yield-due-sync.ts
    • yield-fund-summary.ts
    • yield-interval.test.ts
    • yield-interval.ts
    • yield-mine.ts
    • yield-period.test.ts
    • yield-period.ts
    • yield-reader.ts
    • yield-receipt.ts
    • yield-record.ts
    • yield-schedule.ts
    • yield.post.reinvest.test.ts
    • yield.post.reinvest.ts
    • yield.scheduler.reconcile.test.ts
    • yield.scheduler.reconcile.ts
    • yield.scheduler.stalled.test.ts
    • yield.scheduler.stalled.ts
    • yield.ts
  • Lambda API
    • fund-invites.get.list
    • kyc.worker.apply-review
    • notifications.worker.deliver
    • pool-tvl-history.get.list
    • pools.get.nav-history
    • yield-distributions.get.list
    • yield-distributions.get.me
    • yield-distributions.post.distribute
  • Other
    • scripts/check-handler-secrets.mjs
    • scripts/check-layer-boundaries.mjs
    • scripts/check-notification-producers.mjs
    • scripts/check-onchain-units.mjs
    • scripts/check-pool-mutations.mjs

refactor 14:19:39 7b4e7b29

refactor(infra): Wave 5 — the oracles stop looking like deployable code, and stay

555 files · +28401 · -28369
  • Infra
    • activity-events.get.counts.test.ts
    • activity-events.get.counts.ts
    • activity-events.get.export.test.ts
    • activity-events.get.export.ts
    • activity-events.get.list.test.ts
    • activity-events.get.list.ts
    • activity-events.scheduler.archive.test.ts
    • activity-events.scheduler.archive.ts
    • admin-me.patch.update.test.ts
    • admin-me.patch.update.ts
    • admin-notification-preferences.get.list.test.ts
    • admin-notification-preferences.get.list.ts
    • admin-notification-preferences.put.update.test.ts
    • admin-notification-preferences.put.update.ts
    • admin-notifications.get.list.test.ts
    • admin-notifications.get.list.ts
    • admin-notifications.get.unread-count.test.ts
    • admin-notifications.get.unread-count.ts
    • admin-notifications.patch.read-all.test.ts
    • admin-notifications.patch.read-all.ts
    • admin-notifications.patch.read.test.ts
    • admin-notifications.patch.read.ts
    • admin-signer-balances.get.list.test.ts
    • admin-signer-balances.get.list.ts
    • admin-user-wallets.get.list.test.ts
    • admin-user-wallets.get.list.ts
    • admin-users.delete.test.ts
    • admin-users.delete.ts
    • admin-users.get.list.test.ts
    • admin-users.get.list.ts
    • admin-users.patch.permissions.test.ts
    • admin-users.patch.permissions.ts
    • admin-users.patch.update.test.ts
    • admin-users.patch.update.ts
    • admin-users.post.create.test.ts
    • admin-users.post.create.ts
    • admin-users.post.invite.test.ts
    • admin-users.post.invite.ts
    • admin-wallet.post.nonce.test.ts
    • admin-wallet.post.nonce.ts
    • admin-wallet.post.verify.test.ts
    • admin-wallet.post.verify.ts
    • auth.get.admin-sessions.test.ts
    • auth.get.admin-sessions.ts
    • auth.post.admin-2fa-verify.test.ts
    • auth.post.admin-2fa-verify.ts
    • auth.post.admin-login.test.ts
    • auth.post.admin-login.ts
    • auth.post.admin-logout-all.test.ts
    • auth.post.admin-logout-all.ts
    • auth.post.admin-oauth.test.ts
    • auth.post.admin-oauth.ts
    • auth.post.admin-session-revoke.test.ts
    • auth.post.admin-session-revoke.ts
    • auth.post.logout.test.ts
    • auth.post.logout.ts
    • auth.post.nonce.test.ts
    • auth.post.nonce.ts
    • auth.post.refresh.test.ts
    • auth.post.refresh.ts
    • auth.post.verify-email.test.ts
    • auth.post.verify-email.ts
    • auth.post.verify.test.ts
    • auth.post.verify.ts
    • config.get.chains.test.ts
    • config.get.chains.ts
    • config.get.stablecoins.test.ts
    • config.get.stablecoins.ts
    • dashboard.get.stats.test.ts
    • dashboard.get.stats.ts
    • deposits.get.counts.test.ts
    • deposits.get.counts.ts
    • deposits.get.list.test.ts
    • deposits.get.list.ts
    • deposits.post.create.test.ts
    • deposits.post.create.ts
    • email-suppressions.delete.test.ts
    • email-suppressions.delete.ts
    • email-suppressions.get.list.test.ts
    • email-suppressions.get.list.ts
    • email-suppressions.post.create.test.ts
    • email-suppressions.post.create.ts
    • fund-invites.delete.test.ts
    • fund-invites.delete.ts
    • fund-invites.get.list.test.ts
    • fund-invites.get.list.ts
    • fund-invites.post.accept.test.ts
    • fund-invites.post.accept.ts
    • fund-invites.post.create.test.ts
    • fund-invites.post.create.ts
    • fund-members.delete.test.ts
    • fund-members.delete.ts
    • fund-members.get.list.test.ts
    • fund-members.get.list.ts
    • fund-members.patch.update.test.ts
    • fund-members.patch.update.ts
    • fund-members.post.create.test.ts
    • fund-members.post.create.ts
    • funds.delete.test.ts
    • funds.delete.ts
    • funds.get.list.test.ts
    • funds.get.list.ts
    • funds.patch.update.test.ts
    • funds.patch.update.ts
    • funds.post.create.test.ts
    • funds.post.create.ts
    • investor-activity.get.list.test.ts
    • investor-activity.get.list.ts
    • kyc-logs.get.list.test.ts
    • kyc-logs.get.list.ts
    • kyc.get.status.test.ts
    • kyc.get.status.ts
    • kyc.post.access-token.test.ts
    • kyc.post.access-token.ts
    • kyc.post.mint-sbt.test.ts
    • kyc.post.mint-sbt.ts
    • kyc.post.reuse.test.ts
    • kyc.post.reuse.ts
    • kyc.post.sync.test.ts
    • kyc.post.sync.ts
    • kyc.post.webhook.test.ts
    • kyc.post.webhook.ts
    • kyc.scheduler.reconcile-sweep.test.ts
    • kyc.scheduler.reconcile-sweep.ts
    • kyc.scheduler.reverify-sweep.test.ts
    • kyc.scheduler.reverify-sweep.ts
    • kyc.worker.apply-review.test.ts
    • kyc.worker.apply-review.ts
    • kyc.worker.mint-sbt.test.ts
    • kyc.worker.mint-sbt.ts
    • logs.scheduler.retention.test.ts
    • logs.scheduler.retention.ts
    • nav-changes.get.list.test.ts
    • nav-changes.get.list.ts
    • nav-changes.post.activate.test.ts
    • nav-changes.post.activate.ts
    • nav-changes.post.approve.test.ts
    • nav-changes.post.approve.ts
    • nav-changes.post.cancel.test.ts
    • nav-changes.post.cancel.ts
    • nav-changes.post.dismiss.test.ts
    • nav-changes.post.dismiss.ts
    • nav-changes.post.override.test.ts
    • nav-changes.post.override.ts
    • nav-changes.post.propose.test.ts
    • nav-changes.post.propose.ts
    • nav-changes.scheduler.apply-pending.test.ts
    • nav-changes.scheduler.apply-pending.ts
    • nav-proposals.get.list.test.ts
    • nav-proposals.get.list.ts
    • nav-proposals.scheduler.expire.test.ts
    • nav-proposals.scheduler.expire.ts
    • notification-logs.get.list.test.ts
    • notification-logs.get.list.ts
    • notification-logs.post.escalate.test.ts
    • notification-logs.post.escalate.ts
    • notification-logs.post.resend.test.ts
    • notification-logs.post.resend.ts
    • notification-preferences.get.list.test.ts
    • notification-preferences.get.list.ts
    • notification-preferences.put.update.test.ts
    • notification-preferences.put.update.ts
    • notifications.get.list.test.ts
    • notifications.get.list.ts
    • notifications.get.unread-count.test.ts
    • notifications.get.unread-count.ts
    • notifications.patch.read-all.test.ts
    • notifications.patch.read-all.ts
    • notifications.patch.read.test.ts
    • notifications.patch.read.ts
    • notifications.scheduler.sweep.test.ts
    • notifications.scheduler.sweep.ts
    • notifications.webhook.ses.test.ts
    • notifications.webhook.ses.ts
    • notifications.worker.deliver.test.ts
    • notifications.worker.deliver.ts
    • onchain-indexer.scheduler.test.ts
    • onchain-indexer.scheduler.ts
    • platform-settings.get.test.ts
    • platform-settings.get.ts
    • platform-settings.put.update.test.ts
    • platform-settings.put.update.ts
    • pool-categories.delete.test.ts
    • pool-categories.delete.ts
    • pool-categories.get.list.test.ts
    • pool-categories.get.list.ts
    • pool-categories.post.create.test.ts
    • pool-categories.post.create.ts
    • pool-documents.get.list.test.ts
    • pool-documents.get.list.ts
    • pool-follows.delete.test.ts
    • pool-follows.delete.ts
    • pool-follows.get.list.test.ts
    • pool-follows.get.list.ts
    • pool-follows.post.create.test.ts
    • pool-follows.post.create.ts
    • pool-tvl-history.get.list.test.ts
    • pool-tvl-history.get.list.ts
    • pool-updates.delete.test.ts
    • pool-updates.delete.ts
    • pool-updates.get.list.test.ts
    • pool-updates.get.list.ts
    • pool-updates.patch.update.test.ts
    • pool-updates.patch.update.ts
    • pool-updates.post.create.test.ts
    • pool-updates.post.create.ts
    • pools.delete.test.ts
    • pools.delete.ts
    • pools.get.eligibility.test.ts
    • pools.get.eligibility.ts
    • pools.get.fund-data-history.test.ts
    • pools.get.fund-data-history.ts
    • pools.get.fund-data-summary.test.ts
    • pools.get.fund-data-summary.ts
    • pools.get.fund-data-writeoffs.test.ts
    • pools.get.fund-data-writeoffs.ts
    • pools.get.list.test.ts
    • pools.get.list.ts
    • pools.get.loss-history.test.ts
    • pools.get.loss-history.ts
    • pools.get.nav-history.test.ts
    • pools.get.nav-history.ts
    • pools.get.repayment-cycles.test.ts
    • pools.get.repayment-cycles.ts
    • pools.patch.update.test.ts
    • pools.patch.update.ts
    • pools.post.close.test.ts
    • pools.post.close.ts
    • pools.post.create.test.ts
    • pools.post.create.ts
    • pools.post.epoch-funding.test.ts
    • pools.post.epoch-funding.ts
    • pools.post.epoch-schedule.test.ts
    • pools.post.epoch-schedule.ts
    • pools.post.escalate-yield.test.ts
    • pools.post.escalate-yield.ts
    • pools.post.freeze.test.ts
    • pools.post.freeze.ts
    • pools.post.governance.test.ts
    • pools.post.governance.ts
    • pools.post.impairment.test.ts
    • pools.post.impairment.ts
    • pools.post.lifecycle.test.ts
    • pools.post.lifecycle.ts
    • pools.post.notify-fund.test.ts
    • pools.post.notify-fund.ts
    • pools.post.pause.test.ts
    • pools.post.pause.ts
    • pools.post.preview-token.test.ts
    • pools.post.preview-token.ts
    • pools.post.schedule-change-request.test.ts
    • pools.post.schedule-change-request.ts
    • pools.post.wind-down.test.ts
    • pools.post.wind-down.ts
    • pools.scheduler.epoch-funding-date.test.ts
    • pools.scheduler.epoch-funding-date.ts
    • pools.scheduler.epoch-window-open.test.ts
    • pools.scheduler.epoch-window-open.ts
    • pools.scheduler.governance-execute-due.test.ts
    • pools.scheduler.governance-execute-due.ts
    • pools.scheduler.lifecycle.test.ts
    • pools.scheduler.lifecycle.ts
    • pools.scheduler.tvl-snapshot.test.ts
    • pools.scheduler.tvl-snapshot.ts
    • pools.scheduler.yield-due.test.ts
    • pools.scheduler.yield-due.ts
    • pools.worker.deploy.test.ts
    • pools.worker.deploy.ts
    • portfolio-positions.get.list.test.ts
    • portfolio-positions.get.list.ts
    • redemption-epochs.ts
    • redemption-requests.get.counts.test.ts
    • redemption-requests.get.counts.ts
    • redemption-requests.get.epoch-summary.test.ts
    • redemption-requests.get.epoch-summary.ts
    • redemption-requests.get.exit-gate.test.ts
    • redemption-requests.get.exit-gate.ts
    • redemption-requests.get.instant-summary.test.ts
    • redemption-requests.get.instant-summary.ts
    • redemption-requests.get.list.test.ts
    • redemption-requests.get.list.ts
    • redemption-requests.post.approve.test.ts
    • redemption-requests.post.approve.ts
    • redemption-requests.post.cancel.test.ts
    • redemption-requests.post.cancel.ts
    • redemption-requests.post.claim-fallback.test.ts
    • redemption-requests.post.claim-fallback.ts
    • redemption-requests.post.claim.test.ts
    • redemption-requests.post.claim.ts
    • redemption-requests.post.create.test.ts
    • redemption-requests.post.create.ts
    • redemption-requests.post.escalate.test.ts
    • redemption-requests.post.escalate.ts
    • redemption-requests.post.notify-fund.test.ts
    • redemption-requests.post.notify-fund.ts
    • redemption-requests.post.record-funding.test.ts
    • redemption-requests.post.record-funding.ts
    • redemption-requests.post.reject.test.ts
    • redemption-requests.post.reject.ts
    • redemption-requests.scheduler.epoch-cutoff.test.ts
    • redemption-requests.scheduler.epoch-cutoff.ts
    • redemption-requests.scheduler.epoch-execute.test.ts
    • redemption-requests.scheduler.epoch-execute.ts
    • redemption-requests.scheduler.exit-gate-sweep.test.ts
    • redemption-requests.scheduler.exit-gate-sweep.ts
    • redemption-requests.scheduler.partner-funding.test.ts
    • redemption-requests.scheduler.partner-funding.ts
    • redemption-requests.scheduler.unrequested-holders.test.ts
    • redemption-requests.scheduler.unrequested-holders.ts
    • report.scheduler.derive.test.ts
    • report.scheduler.derive.ts
    • report.scheduler.fetch.test.ts
    • report.scheduler.fetch.ts
    • schedule-change-requests.post.decide.test.ts
    • schedule-change-requests.post.decide.ts
    • tranche.post.writedown.test.ts
    • tranche.post.writedown.ts
    • underlying-assets.get.list.test.ts
    • underlying-assets.get.list.ts
    • users.get.counts.test.ts
    • users.get.counts.ts
    • users.get.investor-detail.test.ts
    • users.get.investor-detail.ts
    • users.get.list.test.ts
    • users.get.list.ts
    • users.get.me.test.ts
    • users.get.me.ts
    • users.patch.qualification.test.ts
    • users.patch.qualification.ts
    • users.post.email.test.ts
    • users.post.email.ts
    • uuid.test.ts
    • uuid.ts
    • wallets.get.list.test.ts
    • wallets.get.list.ts
    • window-subscriptions.delete.test.ts
    • window-subscriptions.delete.ts
    • window-subscriptions.get.list.test.ts
    • window-subscriptions.get.list.ts
    • window-subscriptions.post.create.test.ts
    • window-subscriptions.post.create.ts
    • yield-claims.get.list.test.ts
    • yield-claims.get.list.ts
    • yield-claims.post.create.test.ts
    • yield-claims.post.create.ts
    • yield-distributions.get.counts.test.ts
    • yield-distributions.get.counts.ts
    • yield-distributions.get.fund-summary.test.ts
    • yield-distributions.get.fund-summary.ts
    • yield-distributions.get.investors.test.ts
    • yield-distributions.get.investors.ts
    • yield-distributions.get.list.test.ts
    • yield-distributions.get.list.ts
    • yield-distributions.get.me.test.ts
    • yield-distributions.get.me.ts
    • yield-distributions.get.preview.test.ts
    • yield-distributions.get.preview.ts
    • yield-distributions.post.create.test.ts
    • yield-distributions.post.create.ts
    • yield-distributions.post.distribute.test.ts
    • yield-distributions.post.distribute.ts
    • yield.post.reinvest.test.ts
    • yield.post.reinvest.ts
    • yield.scheduler.reconcile.test.ts
    • yield.scheduler.reconcile.ts
    • yield.scheduler.stalled.test.ts
    • yield.scheduler.stalled.ts
  • Lambda API
    • activity-events.get.counts
    • activity-events.get.export
    • activity-events.get.list
    • activity-events.scheduler.archive
    • admin-me.patch.update
    • admin-notification-preferences.get.list
    • admin-notification-preferences.put.update
    • admin-notifications.get.list
    • admin-notifications.get.unread-count
    • admin-notifications.patch.read
    • admin-notifications.patch.read-all
    • admin-signer-balances.get.list
    • admin-user-wallets.get.list
    • admin-users.delete
    • admin-users.get.list
    • admin-users.patch.permissions
    • admin-users.patch.update
    • admin-users.post.create
    • admin-users.post.invite
    • admin-wallet.post.nonce
    • admin-wallet.post.verify
    • auth.get.admin-sessions
    • auth.post.admin-2fa-verify
    • auth.post.admin-login
    • auth.post.admin-logout-all
    • auth.post.admin-oauth
    • auth.post.admin-session-revoke
    • auth.post.logout
    • auth.post.nonce
    • auth.post.refresh
    • auth.post.verify
    • auth.post.verify-email
    • config.get.chains
    • config.get.stablecoins
    • dashboard.get.stats
    • deposits.get.counts
    • deposits.get.list
    • deposits.post.create
    • email-suppressions.delete
    • email-suppressions.get.list
    • email-suppressions.post.create
    • fund-invites.delete
    • fund-invites.get.list
    • fund-invites.post.accept
    • fund-invites.post.create
    • fund-members.delete
    • fund-members.get.list
    • fund-members.patch.update
    • fund-members.post.create
    • funds.delete
    • funds.get.list
    • funds.patch.update
    • funds.post.create
    • investor-activity.get.list
    • kyc-logs.get.list
    • kyc.get.status
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.reuse
    • kyc.post.sync
    • kyc.post.webhook
    • kyc.scheduler.reconcile-sweep
    • kyc.scheduler.reverify-sweep
    • kyc.worker.apply-review
    • kyc.worker.mint-sbt
    • logs.scheduler.retention
    • nav-changes.get.list
    • nav-changes.post.activate
    • nav-changes.post.approve
    • nav-changes.post.cancel
    • nav-changes.post.dismiss
    • nav-changes.post.override
    • nav-changes.post.propose
    • nav-changes.scheduler.apply-pending
    • nav-proposals.get.list
    • nav-proposals.scheduler.expire
    • notification-logs.get.list
    • notification-logs.post.escalate
    • notification-logs.post.resend
    • notification-preferences.get.list
    • notification-preferences.put.update
    • notifications.get.list
    • notifications.get.unread-count
    • notifications.patch.read
    • notifications.patch.read-all
    • notifications.scheduler.sweep
    • notifications.webhook.ses
    • notifications.worker.deliver
    • onchain-indexer.scheduler
    • platform-settings.get
    • platform-settings.put.update
    • pool-categories.delete
    • pool-categories.get.list
    • pool-categories.post.create
    • pool-documents.get.list
    • pool-follows.delete
    • pool-follows.get.list
    • pool-follows.post.create
    • pool-tvl-history.get.list
    • pool-updates.delete
    • pool-updates.get.list
    • pool-updates.patch.update
    • pool-updates.post.create
    • pools.delete
    • pools.get.eligibility
    • pools.get.fund-data-history
    • pools.get.fund-data-summary
    • pools.get.fund-data-writeoffs
    • pools.get.list
    • pools.get.loss-history
    • pools.get.nav-history
    • pools.get.repayment-cycles
    • pools.patch.update
    • pools.post.close
    • pools.post.create
    • pools.post.epoch-funding
    • pools.post.epoch-schedule
    • pools.post.escalate-yield
    • pools.post.freeze
    • pools.post.governance
    • pools.post.impairment
    • pools.post.lifecycle
    • pools.post.notify-fund
    • pools.post.pause
    • pools.post.preview-token
    • pools.post.schedule-change-request
    • pools.post.wind-down
    • pools.scheduler.epoch-funding-date
    • pools.scheduler.epoch-window-open
    • pools.scheduler.governance-execute-due
    • pools.scheduler.lifecycle
    • pools.scheduler.tvl-snapshot
    • pools.scheduler.yield-due
    • pools.worker.deploy
    • portfolio-positions.get.list
    • redemption-requests.get.counts
    • redemption-requests.get.epoch-summary
    • redemption-requests.get.exit-gate
    • redemption-requests.get.instant-summary
    • redemption-requests.get.list
    • redemption-requests.post.approve
    • redemption-requests.post.cancel
    • redemption-requests.post.claim
    • redemption-requests.post.claim-fallback
    • redemption-requests.post.create
    • redemption-requests.post.escalate
    • redemption-requests.post.notify-fund
    • redemption-requests.post.record-funding
    • redemption-requests.post.reject
    • redemption-requests.scheduler.epoch-cutoff
    • redemption-requests.scheduler.epoch-execute
    • redemption-requests.scheduler.exit-gate-sweep
    • redemption-requests.scheduler.partner-funding
    • redemption-requests.scheduler.unrequested-holders
    • report.scheduler.derive
    • report.scheduler.fetch
    • schedule-change-requests.post.decide
    • tranche.post.writedown
    • underlying-assets.get.list
    • users.get.counts
    • users.get.investor-detail
    • users.get.list
    • users.get.me
    • users.patch.qualification
    • users.post.email
    • wallets.get.list
    • window-subscriptions.delete
    • window-subscriptions.get.list
    • window-subscriptions.post.create
    • yield-claims.get.list
    • yield-claims.post.create
    • yield-distributions.get.counts
    • yield-distributions.get.fund-summary
    • yield-distributions.get.investors
    • yield-distributions.get.list
    • yield-distributions.get.me
    • yield-distributions.get.preview
    • yield-distributions.post.create
    • yield-distributions.post.distribute
    • yield.post.reinvest
    • yield.scheduler.reconcile
    • yield.scheduler.stalled
  • Other
    • scripts/check-layer-boundaries.mjs
    • scripts/check-notification-producers.mjs
    • scripts/check-onchain-units.mjs
    • scripts/check-parity-coverage.mjs
    • scripts/check-pool-mutations.mjs

fix 11:59:14 0944f154

fix(infra): restore what the flat rebase dropped from an evil merge

13 files · +419 · -90
  • Infra
    • announce-epoch-demand.ts
    • index.ts
    • pool-sweeps.ts
    • pools.scheduler.epoch-window-open.test.ts
    • pools.ts
    • recompute-yield-due.ts
    • redemption-requests.scheduler.epoch-cutoff.test.ts
    • yield-aggregates.ts
    • yield-due-sync.ts
  • Lambda API
    • pools.get.list
    • pools.scheduler.yield-due
    • pools.worker.deploy
    • redemption-requests.scheduler.epoch-cutoff

refactor 11:59:14 fc6e87ba

refactor(infra): the last handlers move behind the pipeline, and two live defects stop being invisible

396 files · +59802 · -15655
  • Infra
    • activate-change.ts
    • activity-events.get.export.test.ts
    • admin-2fa.ts
    • admin-login.ts
    • admin-mfa.ts
    • admin-notifications.get.unread-count.test.ts
    • admin-oauth.ts
    • admin-sessions.ts
    • advance-pool-lifecycle.ts
    • alerts.test.ts
    • alerts.ts
    • apply-pending-nav.ts
    • apply-plane.ts
    • approve.ts
    • audit-export.ts
    • audit.ts
    • auth-nonces.ts
    • auth.get.admin-sessions.test.ts
    • auth.post.admin-2fa-verify.test.ts
    • auth.post.admin-login.test.ts
    • auth.post.admin-logout-all.test.ts
    • auth.post.admin-oauth.test.ts
    • auth.post.admin-session-revoke.test.ts
    • auth.post.logout.test.ts
    • auth.post.nonce.test.ts
    • auth.post.refresh.test.ts
    • auth.post.verify-email.test.ts
    • auth.post.verify.test.ts
    • cancel-change.ts
    • cancel.ts
    • claim-fallback.ts
    • claim.ts
    • close.ts
    • config.get.chains.test.ts
    • config.get.stablecoins.test.ts
    • config.ts
    • context.kyc-webhook.ts
    • context.ts
    • create-rules.test.ts
    • create-rules.ts
    • create.ts
    • csv.test.ts
    • csv.ts
    • dashboard.get.stats.test.ts
    • dashboard.ts
    • decide-schedule-change.ts
    • delivery-feedback.ts
    • deploy-queue.ts
    • deposit-reader.ts
    • deposits.post.create.test.ts
    • deposits.ts
    • derive-from-loss.test.ts
    • derive-from-loss.ts
    • eligibility.ts
    • epoch-funding.ts
    • epoch-schedule.ts
    • epoch-summary.ts
    • errors.ts
    • escalate.ts
    • eth-rpc.ts
    • exit-gate.ts
    • export.ts
    • freeze.ts
    • fund-data-reads.ts
    • fund-data.ts
    • fund-scope.ts
    • fund-summary.test.ts
    • fund-summary.ts
    • governance-rules.test.ts
    • governance-rules.ts
    • governance.ts
    • impairment.ts
    • index-chains.ts
    • index.ts
    • indexer.ts
    • instant-summary.test.ts
    • instant-summary.ts
    • investor-detail.ts
    • kyc-status.ts
    • kyc-verification.ts
    • kyc.get.status.test.ts
    • kyc.post.access-token.test.ts
    • kyc.post.mint-sbt.test.ts
    • kyc.post.reuse.test.ts
    • kyc.post.sync.test.ts
    • kyc.post.webhook.test.ts
    • lifecycle.ts
    • list.ts
    • logout.ts
    • loss-history.test.ts
    • loss-history.ts
    • manage-invites.ts
    • manage-members.ts
    • messages.ts
    • mint-sbt.ts
    • money-projections.ts
    • nav-changes.post.activate.test.ts
    • nav-changes.post.cancel.test.ts
    • nav-changes.post.propose.test.ts
    • nav-changes.ts
    • nav.ts
    • nonce.ts
    • notification-read-state.ts
    • notifications.get.unread-count.test.ts
    • notifications.webhook.ses.test.ts
    • notifier.ts
    • notify-fund.ts
    • onchain-indexer.scheduler.test.ts
    • parse.ts
    • pause.ts
    • platform-settings.get.test.ts
    • platform-settings.ts
    • poll.ts
    • pool-create.ts
    • pool-deploy.ts
    • pool-publish.ts
    • pool-read.test.ts
    • pool-sweeps.ts
    • pool-update.ts
    • pool-updates.ts
    • pools.delete.test.ts
    • pools.get.eligibility.test.ts
    • pools.get.fund-data-history.test.ts
    • pools.get.fund-data-summary.test.ts
    • pools.get.fund-data-writeoffs.test.ts
    • pools.get.loss-history.test.ts
    • pools.get.nav-history.test.ts
    • pools.get.repayment-cycles.test.ts
    • pools.patch.update.test.ts
    • pools.post.close.test.ts
    • pools.post.create.test.ts
    • pools.post.epoch-funding.test.ts
    • pools.post.epoch-schedule.test.ts
    • pools.post.escalate-yield.test.ts
    • pools.post.freeze.test.ts
    • pools.post.governance.test.ts
    • pools.post.impairment.test.ts
    • pools.post.lifecycle.test.ts
    • pools.post.notify-fund.test.ts
    • pools.post.pause.test.ts
    • pools.post.schedule-change-request.test.ts
    • pools.post.wind-down.test.ts
    • preview-fees.ts
    • principal.ts
    • propose-change.ts
    • provider.ts
    • publish.ts
    • queue.ts
    • read-history.ts
    • read-loss-history.ts
    • read-mine.ts
    • read-repayment-cycles.ts
    • read-self.ts
    • read-settings.ts
    • read-stats.ts
    • read-status.ts
    • receipt-investors.ts
    • receive-webhook.ts
    • record-claim.ts
    • record-deposit.ts
    • record-distribution.ts
    • record-funding.ts
    • record-reinvest.ts
    • redemption-decisions.ts
    • redemption-reader.ts
    • redemption-requests.get.epoch-summary.test.ts
    • redemption-requests.get.exit-gate.test.ts
    • redemption-requests.get.instant-summary.test.ts
    • redemption-requests.post.approve.test.ts
    • redemption-requests.post.cancel.test.ts
    • redemption-requests.post.claim-fallback.test.ts
    • redemption-requests.post.claim.test.ts
    • redemption-requests.post.create.test.ts
    • redemption-requests.post.escalate.test.ts
    • redemption-requests.post.notify-fund.test.ts
    • redemption-requests.post.record-funding.test.ts
    • redemption-requests.post.reject.test.ts
    • redemption-requests.scheduler.unrequested-holders.test.ts
    • redemption-sweeps.ts
    • refresh-cookies.ts
    • refresh.ts
    • reinvest-reader.ts
    • reinvest.ts
    • reject.ts
    • remove.ts
    • repayment-cycles.ts
    • response.ts
    • route.ts
    • sbt-reader.ts
    • schedule-change-requests.post.decide.test.ts
    • schedule-change.ts
    • ses-feedback.ts
    • sessions.ts
    • siwe-verify.ts
    • siwe.ts
    • stablecoins.ts
    • start-verification.ts
    • state.ts
    • supabase-projection.ts
    • sync-review.ts
    • tokens.ts
    • tranche.post.writedown.test.ts
    • unread-bells.ts
    • unread-count.ts
    • unrequested-holders-firing.test.ts
    • unrequested-holders.ts
    • update-rules.ts
    • update.ts
    • users.get.investor-detail.test.ts
    • users.get.me.test.ts
    • users.ts
    • verify-email.ts
    • wallets.ts
    • webhook.ts
    • wind-down.ts
    • writedown-governance.test.ts
    • writedown.ts
    • yield-claim-reader.ts
    • yield-claim.ts
    • yield-claims.post.create.test.ts
    • yield-distributions.get.fund-summary.test.ts
    • yield-distributions.get.investors.test.ts
    • yield-distributions.get.me.test.ts
    • yield-distributions.get.preview.test.ts
    • yield-distributions.post.create.test.ts
    • yield-fund-summary.ts
    • yield-mine.ts
    • yield-receipt.ts
    • yield-record.ts
    • yield.post.reinvest.test.ts
  • Lambda API
    • activity-events.get.export
    • admin-notifications.get.unread-count
    • auth.get.admin-sessions
    • auth.post.admin-2fa-verify
    • auth.post.admin-login
    • auth.post.admin-logout-all
    • auth.post.admin-oauth
    • auth.post.admin-session-revoke
    • auth.post.logout
    • auth.post.nonce
    • auth.post.refresh
    • auth.post.verify
    • auth.post.verify-email
    • config.get.chains
    • config.get.stablecoins
    • dashboard.get.stats
    • deposits.post.create
    • kyc.get.status
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.reuse
    • kyc.post.sync
    • kyc.post.webhook
    • nav-changes.post.activate
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • notifications.get.unread-count
    • notifications.webhook.ses
    • onchain-indexer.scheduler
    • platform-settings.get
    • pools.delete
    • pools.get.eligibility
    • pools.get.fund-data-history
    • pools.get.fund-data-summary
    • pools.get.fund-data-writeoffs
    • pools.get.loss-history
    • pools.get.nav-history
    • pools.get.repayment-cycles
    • pools.patch.update
    • pools.post.close
    • pools.post.create
    • pools.post.epoch-funding
    • pools.post.epoch-schedule
    • pools.post.escalate-yield
    • pools.post.freeze
    • pools.post.governance
    • pools.post.impairment
    • pools.post.lifecycle
    • pools.post.notify-fund
    • pools.post.pause
    • pools.post.schedule-change-request
    • pools.post.wind-down
    • redemption-requests.get.epoch-summary
    • redemption-requests.get.exit-gate
    • redemption-requests.get.instant-summary
    • redemption-requests.post.approve
    • redemption-requests.post.cancel
    • redemption-requests.post.claim
    • redemption-requests.post.claim-fallback
    • redemption-requests.post.create
    • redemption-requests.post.escalate
    • redemption-requests.post.notify-fund
    • redemption-requests.post.record-funding
    • redemption-requests.post.reject
    • redemption-requests.scheduler.unrequested-holders
    • schedule-change-requests.post.decide
    • tranche.post.writedown
    • users.get.investor-detail
    • users.get.me
    • yield-claims.post.create
    • yield-distributions.get.fund-summary
    • yield-distributions.get.investors
    • yield-distributions.get.me
    • yield-distributions.get.preview
    • yield-distributions.post.create
    • yield.post.reinvest
  • Other
    • scripts/check-parity-coverage.mjs
    • scripts/check-pool-mutations.mjs

refactor 11:57:36 ed13c308

refactor(infra): the NAV dismissal, and with it the second and last viaLookup case

7 files · +571 · -118
  • Infra
    • dismiss-proposal.ts
    • index.ts
    • messages.ts
    • nav-changes.post.dismiss.test.ts
    • nav-proposals.ts
  • Lambda API
    • nav-changes.post.dismiss

refactor 11:57:36 5c2e4323

refactor(infra): the two NAV-proposal writes, and a route may forward a status it was given

14 files · +567 · -84
  • Infra
    • context.ts
    • index.ts
    • messages.ts
    • nav-changes.post.approve.test.ts
    • nav-changes.post.override.test.ts
    • nav-proposal.ts
    • proposal-resolver.ts
    • resolve-proposal.ts
    • route.ts
  • Lambda API
    • nav-changes.post.approve
    • nav-changes.post.override
  • Other
    • scripts/check-pool-mutations.mjs

fix 11:57:36 1f6fc028

fix(infra): BC-1 closes — a mirrored pool's yield can no longer be distributed

9 files · +1065 · -339
  • Infra
    • context.ts
    • distribute-plane.ts
    • distribute.ts
    • index.ts
    • messages.ts
    • yield-distributions.post.distribute.test.ts
  • Lambda API
    • yield-distributions.post.distribute
  • Other
    • scripts/check-pool-mutations.mjs

feat 11:57:36 75e159a8

feat(infra): custody becomes a declaration, so handing the gate the wrong id stops being expressible

6 files · +191
  • Infra
    • context.ts
    • custody.ts
    • index.ts
    • messages.ts
    • route.ts

fix 11:57:31 176c49bc

fix(infra): the reminder fires on the window the pool actually has, not on dev's

5 files · +219 · -67
  • Infra
    • investor-preferences.test.ts
    • pool.ts
    • redemption.ts
    • unrequested-holders-firing.test.ts
  • Lambda API
    • redemption-requests.scheduler.unrequested-holders

feat 11:33:05 3089d913

feat(infra): tell a matured holder the window is closing, because nothing redeems for them

3 files · +270
  • Infra
    • CDK Stack (api-stack)
    • redemption.ts
  • Lambda API
    • redemption-requests.scheduler.unrequested-holders

feat 11:33:05 bcadc904

feat(infra): a partner can ask to move a cycle's payout date, and approving it is what executes

9 files · +537 · -19
  • Infra
    • CDK Stack (route-configs)
    • DB 0212_epoch_schedule_change_requests.sql
    • pool-mutation-registry.ts
    • pool.ts
    • schedule-revert-http.ts
  • Lambda API
    • pools.post.epoch-schedule
    • pools.post.schedule-change-request
    • schedule-change-requests.post.decide
  • Other
    • scripts/check-pool-mutations.mjs

fix 11:32:48 a13492b4

fix(infra): a cycle's demand is what it still owes, not every open request in the pool

5 files · +245 · -20
  • Infra
    • DB 0210_epoch_demand_is_per_cycle_remainder.sql
    • DB schema.sql
    • epoch-demand.test.ts
    • epoch-demand.ts
  • Lambda API
    • redemption-requests.get.epoch-summary

fix 11:32:48 5d2db68c

fix(infra): the cutoff notice reads the cycle whose requests closed, not the one still taking them

3 files · +82 · -8
  • Infra
    • epoch-redemption.ts
    • epoch-schedule.ts
  • Lambda API
    • redemption-requests.get.epoch-summary

fix 11:32:12 90c8515e

fix(infra): a settled cycle re-arms the funding-date confirmation, as its own comment already promised

1 files · +46
  • Infra
    • epoch.ts

refactor 11:31:05 e72ab98f

refactor(infra): the 25 schedulers and workers, and the credentials 168 handlers were about to carry

153 files · +15701 · -4351
  • Infra
    • activity-events.scheduler.archive.test.ts
    • advance-pool-lifecycle.ts
    • announce-epoch-demand.ts
    • announce-epoch-window.ts
    • apply-pending-nav.ts
    • apply-review.ts
    • archive-audit-log.ts
    • build-params.ts
    • config.ts
    • context.kyc.ts
    • context.report-fetch.ts
    • context.report.ts
    • context.ts
    • deliver.ts
    • deliveries.ts
    • deploy-pool.ts
    • derive-report.ts
    • detect-exit-gate-blocks.ts
    • drain-sbt-queue.ts
    • epoch-schedule.ts
    • epoch-settlement.ts
    • eth-rpc.ts
    • exit-gate.ts
    • expire-nav-proposals.ts
    • fetch-observations.ts
    • fund-invites.post.create.test.ts
    • funds.post.create.test.ts
    • harness-refuses-to-guess.test.ts
    • index.ts
    • kyc-sweeps.ts
    • kyc.scheduler.reconcile-sweep.test.ts
    • kyc.scheduler.reverify-sweep.test.ts
    • kyc.worker.apply-review.test.ts
    • kyc.worker.mint-sbt.test.ts
    • lifecycle.ts
    • log-groups.ts
    • logs.scheduler.retention.test.ts
    • mailer.ts
    • money-projections.ts
    • nav-changes.scheduler.apply-pending.test.ts
    • nav-changes.ts
    • nav-proposals.scheduler.expire.test.ts
    • nav-proposals.ts
    • nav.ts
    • normalize.ts
    • not-composed.ts
    • notifications.scheduler.sweep.test.ts
    • notifications.worker.deliver.test.ts
    • notifier.ts
    • notify-stalled-yield.ts
    • onchain.ts
    • plane.ts
    • pool-deploy.ts
    • pool-lookups.ts
    • pool-sweeps.ts
    • pool-tvl-history.ts
    • pools.scheduler.epoch-funding-date.test.ts
    • pools.scheduler.epoch-window-open.test.ts
    • pools.scheduler.governance-execute-due.test.ts
    • pools.scheduler.lifecycle.test.ts
    • pools.scheduler.tvl-snapshot.test.ts
    • pools.scheduler.yield-due.test.ts
    • pools.worker.deploy.test.ts
    • provider.ts
    • recompute-yield-due.ts
    • reconcile-kyc.ts
    • reconcile-yield-claimed.ts
    • redemption-requests.scheduler.epoch-cutoff.test.ts
    • redemption-requests.scheduler.epoch-execute.test.ts
    • redemption-requests.scheduler.exit-gate-sweep.test.ts
    • redemption-requests.scheduler.partner-funding.test.ts
    • redemption-sweeps.ts
    • remind-funding-date.ts
    • remind-governance-execute.ts
    • remind-partner-funding.ts
    • remind-reverify.ts
    • report.scheduler.derive.test.ts
    • report.scheduler.fetch.test.ts
    • requeue-stranded.ts
    • scheduler.ts
    • ses.ts
    • set-log-retention.ts
    • settle-epochs.ts
    • snapshot-pool-tvl.ts
    • sources.ts
    • sqs.ts
    • stalled-threshold.test.ts
    • stalled-yield.ts
    • supabase-projection.ts
    • sweeps.ts
    • wallets.ts
    • worker.ts
    • writedown.ts
    • yield-aggregates.ts
    • yield-reader.ts
    • yield.scheduler.reconcile.test.ts
    • yield.scheduler.stalled.test.ts
  • Lambda API
    • activity-events.scheduler.archive
    • kyc.scheduler.reconcile-sweep
    • kyc.scheduler.reverify-sweep
    • kyc.worker.apply-review
    • kyc.worker.mint-sbt
    • logs.scheduler.retention
    • nav-changes.scheduler.apply-pending
    • nav-proposals.scheduler.expire
    • notifications.scheduler.sweep
    • notifications.worker.deliver
    • pools.scheduler.epoch-funding-date
    • pools.scheduler.epoch-window-open
    • pools.scheduler.governance-execute-due
    • pools.scheduler.lifecycle
    • pools.scheduler.tvl-snapshot
    • pools.scheduler.yield-due
    • pools.worker.deploy
    • redemption-requests.scheduler.epoch-cutoff
    • redemption-requests.scheduler.epoch-execute
    • redemption-requests.scheduler.exit-gate-sweep
    • redemption-requests.scheduler.partner-funding
    • report.scheduler.derive
    • report.scheduler.fetch
    • yield.scheduler.reconcile
    • yield.scheduler.stalled
  • Other
    • scripts/check-layer-boundaries.mjs
    • scripts/check-notification-producers.mjs
    • scripts/check-onchain-units.mjs
    • scripts/check-parity-coverage.mjs
    • scripts/check-pool-mutations.mjs

refactor 11:29:00 c91a6382

refactor(infra): the 40 thin-write endpoints, checked by what they wrote and in what order

188 files · +19201 · -4003
  • Infra
    • act-on-delivery.ts
    • admin-me.patch.update.test.ts
    • admin-notification-preferences.put.update.test.ts
    • admin-notifications.patch.read-all.test.ts
    • admin-notifications.patch.read.test.ts
    • admin-users.delete.test.ts
    • admin-users.patch.permissions.test.ts
    • admin-users.patch.update.test.ts
    • admin-users.post.create.test.ts
    • admin-users.post.invite.test.ts
    • admin-users.ts
    • admin-wallet.post.nonce.test.ts
    • admin-wallet.post.verify.test.ts
    • admin-wallets.ts
    • audit.ts
    • auth-nonces.ts
    • authoring.test.ts
    • authoring.ts
    • authority.test.ts
    • authority.ts
    • body.ts
    • config.test.ts
    • config.ts
    • consent.test.ts
    • consent.ts
    • context.ts
    • deliveries.ts
    • email-suppressions.delete.test.ts
    • email-suppressions.post.create.test.ts
    • email-suppressions.ts
    • fund-invites.delete.test.ts
    • fund-invites.post.accept.test.ts
    • fund-invites.post.create.test.ts
    • fund-invites.ts
    • fund-members.delete.test.ts
    • fund-members.patch.update.test.ts
    • fund-members.post.create.test.ts
    • fund-members.ts
    • funds.delete.test.ts
    • funds.patch.update.test.ts
    • funds.post.create.test.ts
    • funds.ts
    • harness-refuses-to-guess.test.ts
    • index.ts
    • invite-admin.ts
    • mailer.ts
    • manage-accounts.ts
    • manage-categories.ts
    • manage-consent.ts
    • manage-funds.ts
    • manage-invites.ts
    • manage-members.ts
    • manage-suppressions.ts
    • manage-updates.ts
    • messages.ts
    • mint-preview-token.ts
    • notification-logs.post.escalate.test.ts
    • notification-logs.post.resend.test.ts
    • notification-preferences.put.update.test.ts
    • notification-preferences.ts
    • notification-read-state.ts
    • notifications.patch.read-all.test.ts
    • notifications.patch.read.test.ts
    • notifier.ts
    • platform-settings.put.update.test.ts
    • platform-settings.ts
    • pool-categories.delete.test.ts
    • pool-categories.post.create.test.ts
    • pool-categories.ts
    • pool-consent.ts
    • pool-follows.delete.test.ts
    • pool-follows.post.create.test.ts
    • pool-follows.ts
    • pool-updates.delete.test.ts
    • pool-updates.patch.update.test.ts
    • pool-updates.post.create.test.ts
    • pool-updates.ts
    • pools.post.preview-token.test.ts
    • primary-role.test.ts
    • primary-role.ts
    • provisioning.test.ts
    • provisioning.ts
    • qualification.test.ts
    • qualification.ts
    • read-state.ts
    • register-email.ts
    • request-nonce.ts
    • response.ts
    • route.ts
    • save-preferences.ts
    • save-settings.ts
    • secrets.ts
    • set-permissions.ts
    • set-qualification.ts
    • state.ts
    • supabase-projection.ts
    • update-profile.ts
    • users.patch.qualification.test.ts
    • users.post.email.test.ts
    • users.ts
    • verify-wallet.ts
    • window-subscriptions.delete.test.ts
    • window-subscriptions.post.create.test.ts
    • window-subscriptions.ts
    • writable-fields.test.ts
    • writable-fields.ts
  • Lambda API
    • admin-me.patch.update
    • admin-notification-preferences.put.update
    • admin-notifications.patch.read
    • admin-notifications.patch.read-all
    • admin-users.delete
    • admin-users.patch.permissions
    • admin-users.patch.update
    • admin-users.post.create
    • admin-users.post.invite
    • admin-wallet.post.nonce
    • admin-wallet.post.verify
    • email-suppressions.delete
    • email-suppressions.post.create
    • fund-invites.delete
    • fund-invites.post.accept
    • fund-invites.post.create
    • fund-members.delete
    • fund-members.patch.update
    • fund-members.post.create
    • funds.delete
    • funds.patch.update
    • funds.post.create
    • notification-logs.post.escalate
    • notification-logs.post.resend
    • notification-preferences.put.update
    • notifications.patch.read
    • notifications.patch.read-all
    • platform-settings.put.update
    • pool-categories.delete
    • pool-categories.post.create
    • pool-follows.delete
    • pool-follows.post.create
    • pool-updates.delete
    • pool-updates.patch.update
    • pool-updates.post.create
    • pools.post.preview-token
    • users.patch.qualification
    • users.post.email
    • window-subscriptions.delete
    • window-subscriptions.post.create
  • Other
    • scripts/check-layer-boundaries.mjs

refactor 11:29:00 e64b8821

refactor(infra): the 37 read endpoints become declarations, checked against the code they replace

182 files · +17076 · -3817
  • Infra
    • activity-events.get.counts.test.ts
    • activity-events.get.list.test.ts
    • activity-events.ts
    • actors.ts
    • admin-notification-preferences.get.list.test.ts
    • admin-notifications.get.list.test.ts
    • admin-signer-balances.get.list.test.ts
    • admin-user-wallets.get.list.test.ts
    • admin-user-wallets.ts
    • admin-users.get.list.test.ts
    • admin-users.ts
    • context.ts
    • count.ts
    • deposits.get.counts.test.ts
    • deposits.get.list.test.ts
    • deposits.ts
    • detail.ts
    • email-suppressions.get.list.test.ts
    • email-suppressions.ts
    • epoch-lookup.ts
    • expiry.test.ts
    • expiry.ts
    • freeze-windows.test.ts
    • freeze-windows.ts
    • fund-invites.get.list.test.ts
    • fund-invites.ts
    • fund-linked-pools.ts
    • fund-members.get.list.test.ts
    • fund-members.ts
    • funds.get.list.test.ts
    • funds.ts
    • gas-reader.ts
    • harness-refuses-to-guess.test.ts
    • ids.test.ts
    • ids.ts
    • index.ts
    • investor-activity.get.list.test.ts
    • investor-activity.ts
    • kyc-logs.get.list.test.ts
    • kyc-logs.ts
    • list-handler.ts
    • list-pool-updates.ts
    • list-subscribed-pools.ts
    • list-tvl-history.ts
    • list.ts
    • messages.ts
    • nav-changes.get.list.test.ts
    • nav-changes.ts
    • nav-proposals.get.list.test.ts
    • nav-proposals.ts
    • notification-logs.get.list.test.ts
    • notification-logs.ts
    • notification-preferences.get.list.test.ts
    • notification-preferences.ts
    • notifications.get.list.test.ts
    • notifications.ts
    • pool-aggregates.ts
    • pool-categories.get.list.test.ts
    • pool-categories.ts
    • pool-documents.get.list.test.ts
    • pool-follows.get.list.test.ts
    • pool-read.test.ts
    • pool-read.ts
    • pool-subsidiary.ts
    • pool-tvl-history.get.list.test.ts
    • pool-tvl-history.ts
    • pool-updates.get.list.test.ts
    • pool-updates.ts
    • pools.get.list.test.ts
    • pools.ts
    • portfolio-positions.get.list.test.ts
    • portfolio-positions.ts
    • position-yield.ts
    • principal.ts
    • query-parts.ts
    • read-invites.ts
    • read-signer-balances.test.ts
    • read-signer-balances.ts
    • redemption-epochs.ts
    • redemption-requests.get.counts.test.ts
    • redemption-requests.get.list.test.ts
    • redemption-requests.ts
    • require.ts
    • response.ts
    • route.ts
    • run-count.ts
    • run-detail.ts
    • run-list.ts
    • supabase-projection.ts
    • underlying-assets.get.list.test.ts
    • users.get.counts.test.ts
    • users.get.list.test.ts
    • users.ts
    • uuid.test.ts
    • uuid.ts
    • wallets.get.list.test.ts
    • wallets.ts
    • window-subscriptions.get.list.test.ts
    • window-subscriptions.ts
    • yield-claims.get.list.test.ts
    • yield-claims.ts
    • yield-distributions.get.counts.test.ts
    • yield-distributions.get.list.test.ts
    • yield-distributions.ts
    • yield-due-rows.ts
  • Lambda API
    • activity-events.get.counts
    • activity-events.get.list
    • admin-notification-preferences.get.list
    • admin-notifications.get.list
    • admin-signer-balances.get.list
    • admin-user-wallets.get.list
    • admin-users.get.list
    • deposits.get.counts
    • deposits.get.list
    • email-suppressions.get.list
    • fund-invites.get.list
    • fund-members.get.list
    • funds.get.list
    • investor-activity.get.list
    • kyc-logs.get.list
    • nav-changes.get.list
    • nav-proposals.get.list
    • notification-logs.get.list
    • notification-preferences.get.list
    • notifications.get.list
    • pool-categories.get.list
    • pool-documents.get.list
    • pool-follows.get.list
    • pool-tvl-history.get.list
    • pool-updates.get.list
    • pools.get.list
    • portfolio-positions.get.list
    • redemption-requests.get.counts
    • redemption-requests.get.list
    • underlying-assets.get.list
    • users.get.counts
    • users.get.list
    • wallets.get.list
    • window-subscriptions.get.list
    • yield-claims.get.list
    • yield-distributions.get.counts
    • yield-distributions.get.list
  • Other
    • scripts/check-layer-boundaries.mjs
    • scripts/check-parity-coverage.mjs

feat 11:29:00 eb601345

feat(infra): Wave 0 — the kernel, and a harness that can compare old against new

22 files · +1918 · -5
  • Infra
    • errors.ts
    • harness-drives-legacy.test.ts
    • harness-refuses-to-guess.test.ts
    • index.ts
    • list-followed-pools.ts
    • list.ts
    • messages.ts
    • notifications.get.list.test.ts
    • notifications.ts
    • package.json
    • pool-follows.get.list.test.ts
    • pool-follows.ts
    • principal.ts
    • response.ts
    • route.ts
    • run-list.ts
    • state.ts
    • supabase-projection.ts
    • tsconfig.json
  • Other
    • scripts/check-layer-boundaries.mjs
    • scripts/check-parity-coverage.mjs
    • scripts/check-pool-mutations.mjs

docs 11:29:00 bb564714

docs(infra): the lock-up and the term stopped counting from where these comments say

7 files · +60 · -41
  • Lambda API
    • pools.patch.update
    • pools.post.create
    • pools.post.lifecycle
    • pools.scheduler.lifecycle
    • pools.worker.deploy
    • redemption-requests.get.epoch-summary
    • redemption-requests.post.create

🔵 jy/product

docs 17:05:04 06332111

docs(admin): re-anchor the holder-gate reasoning after infra moved out from under it

2 files · +10 · -4
  • Admin
    • yield-calc-breakdown
  • Admin API
    • yield-due-row

test 16:47:18 4ba6931c

test(web): the pool-mapper fixture type-checks its overrides again

1 files · +2 · -2
  • Investor Web API
    • pools.test

docs 16:42:47 4ee2c84d

docs(web): the receive-line comment still described the mechanism it had just stopped using

1 files · +10 · -5
  • Investor Web
    • portfolio

refactor 16:42:20 a6da6d5d

refactor(web): the pool mapper can be tested, because the network layer moved out from under it

4 files · +198 · -28
  • Investor Web API
    • pools
    • pools.fetch
    • pools.test
    • use-pools

fix 16:30:37 e76cd468

fix(web): a winding-down pool was told it redeems at once, on the screen before the request

2 files · +41 · -8
  • Investor Web
    • Widget (PCWidgets)
    • portfolio

docs 15:46:09 f8dd4863

docs: three facts the code had already overtaken, and two the first pass got wrong

3 files · +114 · -24
  • Docs
    • 11-db-schema.md
    • 17-changelog.md
  • Smart Contract
    • sepolia.md

feat 15:45:48 d0a5ba28

feat(web,admin): interest is a rate times time, and six screens stopped describing the old model

36 files · +1149 · -195
  • Admin
    • Route (pool-create)
    • Route (yield)
    • configuration-tab
    • create-distribution-dialog
    • due-now-card
    • editorial
    • index
    • partner-owes-block
    • step-basics
    • step-redemption
    • step-structure
    • step-terms
    • types
    • validation
    • yield-calc-breakdown
  • Admin API
    • pools
    • yield-due-overdue.test
    • yield-due-row
  • Investor Web
    • Route (dashboard)
    • Route (pool.$id)
    • Route (portfolio)
    • Route (settings)
    • Route (styleguide.portfolio)
    • Widget (PCWidgets)
    • Widget (PortfolioHero)
    • Widget (position-card)
    • Widget (reinvest-confirm-dialog)
    • Widget (withdraw-dialog)
    • position-escrow
    • position-escrow.test
    • redemption-state
    • use-reinvest-flow
  • Investor Web API
    • portfolio-position
    • portfolio-position.test
    • portfolio-positions
  • Investor Web UI
    • RedeemModal

docs 11:01:47 ba6570fe

docs: record v3-148 and the four front-end rounds of 2026-08-26

2 files · +111 · -2
  • Docs
    • 14-decisions.md
    • 17-changelog.md

2026-08-26 (Wed)

🟢 ch/product

No activity

🔵 jy/product

fix 17:24:02 8e0f000d

fix(admin): the review step shows the one rate that can never be corrected

1 files · +19
  • Admin
    • step-compliance

fix 17:09:14 0d280e23

fix(admin): the create wizard asks for the accrual rate the backend requires

6 files · +49 · -1
  • Admin
    • Route (pool-create)
    • payload
    • step-terms
    • types
    • validation
  • Admin API
    • pools

fix 16:19:11 2a92d07b

fix(web): a matured pool still owes its last coupons, and the client stopped hiding them

2 files · +35 · -5
  • Investor Web
    • Widget (PCWidgets)
  • Investor Web API
    • pools

fix 16:18:01 d964059d

fix(web): the redeem modal had the escrow backwards, and so did the comments defending it

2 files · +28 · -7
  • Investor Web
    • status
  • Investor Web UI
    • RedeemModal

fix 16:18:01 abff955c

fix(web): a late distribution says how late it is, instead of "0 days"

3 files · +45 · -30
  • Investor Web
    • Route (pool.$id)
    • due-countdown.test
    • formatters

refactor 12:50:57 2bc93a63

refactor: the cycle row builds each half through a named function, and an investor pays for neither the other one's queries

1 files · +38 · -36
  • Lambda API
    • pools.get.repayment-cycles

fix 12:50:02 dc299a61

fix(web): the liquidity timeline reads the exit route instead of deriving it a second time

3 files · +42 · -12
  • Investor Web
    • Widget (PCWidgets)
    • portfolio-liquidity
    • portfolio-liquidity.test

fix 12:46:03 41e4566f

fix: a holder waiting on a cycle had their whole position read as an exit

6 files · +99 · -16
  • Admin API
    • pools
  • Infra
    • repayment-cycle-viewer.test.ts
  • Investor Web
    • Route (pool.$id)
    • Widget (repayment-cycles-card)
    • repayment-cycle
  • Lambda API
    • pools.get.repayment-cycles

fix 12:44:14 5b777a74

fix(web): a maturity that will not parse blanks a label instead of taking the page down

5 files · +50 · -9
  • Investor Web
    • Widget (PCWidgets)
    • Widget (epoch-countdown)
    • epoch-position-state
    • redemption-state
    • redemption-state.test

feat 12:35:28 0c1706f5

feat: a holder's repayment cycle says their own coupon and whether they ever asked to be repaid

11 files · +689 · -2
  • Docs
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • repayment-cycle-viewer.test.ts
    • repayment-cycle-viewer.ts
  • Investor Web
    • Widget (index)
    • Widget (repayment-cycles-card)
    • repayment-cycle
  • Investor Web API
    • index
    • repayment-cycles
    • use-repayment-cycles
  • Lambda API
    • pools.get.repayment-cycles

feat 12:33:46 4c6bb348

feat(web): maturity is when a repayment pool starts paying, not when it is finished

22 files · +625 · -111
  • Investor Web
    • PoolBrowseCard
    • Route (pool.$id)
    • Route (styleguide.epoch-states)
    • Widget (PCWidgets)
    • Widget (epoch-countdown)
    • Widget (epoch-position-panel)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (pool-header-card)
    • Widget (position-card)
    • Widget (risk-disclosure)
    • Widget (withdraw-dialog)
    • epoch-position-state
    • portfolio
    • portfolio-liquidity
    • portfolio-liquidity.test
    • portfolio-stats
    • redemption-state
    • redemption-state.test
    • status
  • Investor Web UI
    • PoolStatusAlert
    • RedeemModal

fix 12:11:07 6625f253

fix(admin): a pool that has never settled is not offered a settlement to postpone

1 files · +47 · -22
  • Admin
    • epoch-cycle-panel

feat 12:09:29 d084398f

feat(admin): the Fund dialog says whether the figure is finished, and repeats the date it is due

7 files · +131 · -3
  • Admin
    • Route (preview.redemptions)
    • Route (redemptions)
    • epoch-cycle-panel
    • fund-dialog
    • fund-epoch-cycle-button
    • redemption-funding
    • redemption-obligations-nodes.test

fix 12:00:14 fcf90af4

fix(admin): the cycle a transfer credits is the one being settled, not the one taking requests

19 files · +780 · -169
  • Admin
    • Route (fund-detail)
    • Route (redemptions)
    • build-epoch-summaries
    • build-epoch-summaries.test
    • epoch-cycle-aside
    • epoch-cycle-panel
    • epoch-management-section
    • epoch-phase
    • epoch-phase.test
    • funding-cell
    • funding-cell.test
    • funding-load
    • funding-load-card
    • funding-load.test
    • overview-tab
    • redemption-funding
    • redemption-obligations-nodes.test
    • repayment-schedule-card
  • Admin API
    • redemption-requests

2026-08-25 (Tue)

🟢 ch/product

fix 00:37:49 99eb884e

fix: @aset/types rebuilds itself on install, so a stack synth does not need to remember

1 files · +2 · -1
  • Other
    • packages/types/package.json

docs 00:25:49 ac4bdb21

docs(contract): the 2026-08-25 round, read off the chain rather than off the receipts

1 files · +101 · -55
  • Smart Contract
    • sepolia.md

fix 00:25:30 e356e8aa

fix: @aset/types ships JavaScript, so the compiled tests can actually load it

7 files · +47 · -13
  • Admin
    • package
  • Infra
    • package.json
  • Investor Web
    • package
  • Other
    • packages/types/package.json
    • packages/types/tsconfig.json
    • pnpm-lock.yaml
    • qa-agent/package.json

🔵 jy/product

feat 18:33:20 adcbb9c4

feat: after maturity the coupon rides the repayment cycle, and the contract's promise layer gets its first writer

37 files · +2358 · -96
  • Admin
    • build-epoch-summaries
    • cycle-axis-rows
    • cycle-yield-side
    • epoch-cycle-panel
    • epoch-management-section
    • repayment-cycle
    • repayment-schedule-card
    • repayment-stage
  • Admin API
    • pools
    • use-pools
  • Docs
    • 11-db-schema.md
    • 13-operations.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
    • activity.ts
    • due-row-math.ts
    • epoch-redemption.ts
    • handler-roles.ts
    • index.ts
    • next-due.ts
    • repayment-cycle-amounts.test.ts
    • repayment-cycle-amounts.ts
    • run-distribution.ts
    • sync-onchain-yield-due.ts
    • yield-due-date.ts
    • yield-interval.test.ts
    • yield-interval.ts
    • yield-period.test.ts
    • yield-period.ts
    • yield-schedule.ts
  • Lambda API
    • pools.get.repayment-cycles
    • pools.patch.update
    • pools.scheduler.yield-due
    • yield-distributions.post.create
    • yield-distributions.post.distribute
  • Other
    • CLAUDE.md

style 18:32:49 e63ce15f

style: the open-ended lock-up error reads as one sentence, so the copy guard passes

1 files · +2 · -2
  • Admin
    • step-redemption

refactor 16:32:26 205443d5

refactor(web): one countdown, the maturity the backend means, and two fields that were never there

9 files · +190 · -66
  • Investor Web
    • Route (pool.$id)
    • Route (styleguide.portfolio)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (withdraw-dialog)
    • due-countdown.test
    • formatters
  • Investor Web API
    • pools
  • Investor Web UI
    • RedeemModal

docs 15:47:32 ea29fb6c

docs: record v3-146 — a lock-up needs an anchor, so one date freezes and one pool shape loses it

4 files · +62 · -7
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md

docs 15:47:18 89a4523c

docs: the contract refuses the over-long lock-up, it does not clamp it

2 files · +27 · -26
  • Infra
    • lockup-within-term.ts
  • Lambda API
    • pools.worker.deploy

fix 15:47:04 8b628a47

fix: the maturity-model select saved nothing, because PATCH was never told the field exists

5 files · +105 · -39
  • Admin
    • payload
  • Infra
    • pool-field-validation.test.ts
    • pool-field-validation.ts
  • Lambda API
    • pools.patch.update
    • pools.post.create

feat 15:35:14 243b0348

feat: the offering close freezes once it anchors a lock-up, and open-ended pools carry none

15 files · +466 · -158
  • Admin
    • Route (pool-edit)
    • lockup
    • lockup.test
    • payload
    • permissions
    • permissions.test
    • step-redemption
    • validation
  • Infra
    • lockup-anchor.test.ts
    • pool-field-validation.test.ts
    • pool-field-validation.ts
  • Lambda API
    • pools.patch.update
  • Other
    • packages/types/src/index.ts

2026-08-24 (Mon)

🟢 ch/product

docs 23:52:22 c0de835e

docs: which lock-up anchor applies is a property of the pool's implementation

2 files · +5 · -2
  • Docs
    • 04-pool-models.md
    • 14-decisions.md

feat 23:52:22 91c10995

feat(infra): the offering close is mirrored back from the chain, as a day

3 files · +47
  • Infra
    • config-mirrors.test.ts
    • config-mirrors.ts
    • events.ts

feat 23:52:00 b3da4a6a

feat(infra): the offering close reaches the chain with the rest of the redemption terms

5 files · +280 · -8
  • Infra
    • create-pool.ts
    • deploy-payload.ts
    • lockup-within-term.test.ts
    • lockup-within-term.ts
  • Lambda API
    • pools.worker.deploy

feat 23:51:43 ba8b7333

feat(contract): the lock-up's three dates are one decision, made when the pool is created

27 files · +722 · -129
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Contract Test
    • EscrowYieldRule.t
    • GoldenFixtures.t
    • LockupAnchor.t
    • MaturityAnchorRepro.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
    • PlatformPoolPenaltyInvariant.t
    • PlatformPoolYieldInvariant.t
    • PolicyConformance.t
    • SequenceDiagramVerification.t
  • Other
    • packages/money-contract/src/generated/platform-pool-factory.ts
    • packages/money-contract/src/generated/platform-pool.ts
    • packages/money-domain/fixtures/redemption-instant.json
    • packages/money-domain/src/tests/redemption-math.test.ts
  • Smart Contract
    • GovernanceLib
    • PlatformPoolBase
    • PlatformPoolStorage
    • PlatformPoolTypes
    • PoolCommonLib
    • PoolConfigLib
    • RedemptionLib

🔵 jy/product

refactor 16:05:11 ee44e5e2

refactor: one definition of the offering-close day rule

9 files · +114 · -116
  • Admin
    • Route (pool-edit)
    • offering
    • step-compliance
    • validation
  • Infra
    • offering-close-day.test.ts
    • offering-close-day.ts
  • Lambda API
    • pools.patch.update
    • pools.post.create
  • Other
    • packages/types/src/index.ts

fix 15:58:59 7327cd60

fix: the offering-close day rule reaches every writer, not just create

8 files · +234 · -11
  • Admin
    • Route (pool-edit)
    • offering
    • offering.test
    • step-compliance
  • Infra
    • offering-close-day.test.ts
    • offering-close-day.ts
  • Lambda API
    • pools.patch.update
    • pools.post.create

feat 15:09:27 9fda686c

feat(admin): refuse an offering close that lands on the 29th to 31st

8 files · +144 · -1
  • Admin
    • Route (pool-create)
    • Route (preview.pool-create)
    • offering
    • offering.test
    • step-compliance
    • validation
  • Docs
    • 14-decisions.md

feat 14:44:14 73cd57e2

feat: the yield grid counts from the offering close too

9 files · +131 · -45
  • Admin
    • offering
    • offering.test
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
  • Infra
    • DB 0209_yield_anchor_is_the_offering_close.sql
    • DB schema.sql
    • yield-schedule.ts
  • Lambda API
    • pools.post.create
    • pools.scheduler.yield-due

fix 14:30:21 87959ab3

fix(admin): the repayment plan hangs off the close too, and one derivation of it

13 files · +252 · -20
  • Admin
    • Route (preview.pool-create)
    • amortization
    • amortization-schedule-block
    • epoch-schedule
    • lockup
    • lockup.test
    • offering
    • offering.test
    • payload
    • step-redemption
    • validation
  • Docs
    • 14-decisions.md
  • Lambda API
    • pools.worker.deploy

fix 14:04:19 d3a3fcea

fix(admin): the yield ticks go back on the anchor the backend actually uses

3 files · +43 · -19
  • Admin
    • offering
    • offering.test
  • Docs
    • 14-decisions.md

docs 13:13:46 ce33f037

docs: record that the term is measured from the offering close (v3-145)

6 files · +63 · -6
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md
    • 24-field-governance.md
  • Other
    • CLAUDE.md

fix 13:11:45 afe7a16b

fix(web): the liquidity verdict uses the instant it was given

2 files · +12 · -1
  • Investor Web
    • portfolio-liquidity
    • redemption-state

feat 13:10:06 a27feba0

feat: the term is counted from the offering close, not from the deploy

26 files · +465 · -501
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • Route (preview.pool-create)
    • deploy-dates
    • deploy-dates.test
    • lockup
    • lockup.test
    • offering
    • offering.test
    • pool-timeline-bar
    • step-redemption
    • validation
  • Infra
    • deploy-payload.ts
    • next-due.ts
    • pool-maturity.test.ts
    • pool-maturity.ts
    • reopen-offering-close.test.ts
    • reopen-offering-close.ts
    • run-distribution.ts
  • Lambda API
    • pools.post.create
    • pools.post.lifecycle
    • pools.scheduler.yield-due
    • pools.worker.deploy
    • yield-distributions.post.create
    • yield-distributions.post.distribute

docs 11:28:08 61f73f05

docs: the accrual round was already on chain, and I recorded it as pending

6 files · +10 · -10
  • Docs
    • 07-redemption.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 16-timeline.md
    • 17-changelog.md

2026-08-21 (Fri)

🟢 ch/product

docs 17:26:31 4c03fa70

docs(contract): the 2026-08-21 redeploy, and one explanation removed for lack of evidence

1 files · +115 · -49
  • Smart Contract
    • sepolia.md

feat 16:55:05 0231a7ce

feat(infra): the distribution promise deploys from the date the pool already seeds

4 files · +108
  • Infra
    • deploy-payload-yield-promise.test.ts
    • deploy-payload.ts
  • Lambda API
    • pools.post.create
    • pools.worker.deploy

fix 16:48:01 dc6df0be

fix(infra): the overdue-yield condition drops a dead true

1 files · +1 · -4
  • Lambda API
    • pools.scheduler.yield-due

fix 16:47:53 fa7c79cc

fix(infra): the off-chain freeze mirror follows the exit anchor, or the fix never reaches anyone

17 files · +264 · -35
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0208_pool_exit_window_anchor.sql
    • DB schema.sql
    • create-pool.ts
    • freeze-state.test.ts
    • freeze-state.ts
    • freeze.ts
  • Lambda API
    • pools.get.eligibility
    • pools.get.list
    • pools.post.freeze
    • pools.post.pause
    • pools.scheduler.lifecycle
    • redemption-requests.post.create
    • redemption-requests.scheduler.epoch-execute
    • redemption-requests.scheduler.partner-funding
    • yield-claims.post.create
    • yield.post.reinvest

feat 16:47:21 d2add4d5

feat(contract): a re-freeze cannot cage holders, and the distribution promise is on chain

26 files · +750 · -43
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Contract Test
    • EscrowYieldRule.t
    • GoldenFixtures.t
    • LifecyclePolicy.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
    • PlatformPoolPenaltyInvariant.t
    • PlatformPoolYieldInvariant.t
    • PolicyConformance.t
    • SequenceDiagramVerification.t
  • Other
    • packages/money-contract/src/generated/platform-pool-factory.ts
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • GovernanceLib
    • LifecyclePolicy
    • PlatformPool
    • PlatformPoolBase
    • PlatformPoolFactory
    • PlatformPoolStorage
    • PlatformPoolTypes
    • PoolCommonLib
    • YieldLib

docs 15:00:26 431858d1

docs(contract): the accrual driver is on chain, and the bytecode proves which source

1 files · +143 · -81
  • Smart Contract
    • sepolia.md

fix 14:48:10 9fc51192

fix(infra): the accrual-rate migration takes the next free number, since 0205 was taken

4 files · +30 · -30
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0205_pools_accrual_rate_bps.sql
    • DB 0207_pools_accrual_rate_bps.sql
    • DB schema.sql

docs 14:45:35 4c3cae75

docs(contract): sepolia.md records what is deployed, and nothing else

1 files · +160 · -522
  • Smart Contract
    • sepolia.md

feat 14:43:53 f89d265b

feat(infra): the Yield queue states what the contract is owed, beside what the cadence guessed

5 files · +122 · -5
  • Infra
    • due-row-math.test.ts
    • due-row-math.ts
    • due-rows.ts
  • Lambda API
    • pools.get.list
    • yield-distributions.get.list

feat 14:42:56 e298858d

feat(infra): a holder's yield is asked of the pool, not reconstructed from an accumulator

21 files · +866 · -292
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0206_retire_offchain_yield_accumulator.sql
    • DB schema.sql
    • abi-drift.test.ts
    • decode.ts
    • diff.ts
    • escrow-accrual.test.ts
    • escrow-accrual.ts
    • fold.test.ts
    • fold.ts
    • holder-yield.ts
    • index.ts
    • read.ts
    • run-distribution.ts
    • write.ts
    • yield.ts
  • Lambda API
    • portfolio-positions.get.list
    • users.get.investor-detail
    • yield-distributions.get.investors
    • yield.post.reinvest
    • yield.scheduler.reconcile

docs 14:42:56 6a54451e

docs: escrowed LP earns, and the pages that said otherwise were the shipped rule

10 files · +87 · -44
  • Docs
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09a-custody.md
    • 11-db-schema.md
    • 14-decisions.md
    • 23-money-path.md
    • 26-glossary.md

feat 14:42:56 214ed1da

feat(infra): the backend stops stating what holders are owed, and asks the pool

16 files · +289 · -109
  • Infra
    • DB 0205_pools_accrual_rate_bps.sql
    • DB schema.sql
    • create-pool.ts
    • decode.ts
    • deploy-payload.ts
    • engine.ts
    • event-coverage.test.ts
    • events.ts
    • fold.ts
    • index.ts
    • run-distribution.ts
    • yield-distribution.ts
    • yield.ts
  • Lambda API
    • pools.post.create
    • pools.post.lifecycle
    • pools.worker.deploy

feat 14:42:56 dfb09563

feat(contract): yield accrues with time, and escrow stops being how it is stopped

30 files · +2931 · -892
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Contract Test
    • EscrowAccrualRecognition.t
    • EscrowYieldRepro.t
    • EscrowYieldRule.t
    • GoldenFixtures.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
    • PlatformPoolPenaltyInvariant.t
    • PlatformPoolYieldInvariant.t
    • PolicyConformance.t
    • SequenceDiagramVerification.t
    • YieldAccrualPolicy.t
  • Other
    • packages/money-contract/src/generated/platform-pool-factory.ts
    • packages/money-contract/src/generated/platform-pool.ts
    • packages/money-domain/fixtures/redemption-instant.json
    • packages/money-domain/src/events.ts
  • Smart Contract
    • FixedYieldEngine
    • PlatformPool
    • PlatformPoolBase
    • PlatformPoolFactory
    • PlatformPoolStorage
    • PlatformPoolTypes
    • RedemptionLib
    • YieldAccrualPolicy
    • YieldLib

refactor 14:42:56 2eb521a8

refactor(contract): the pool splits into a mode-independent base and an accrual driver

35 files · +2302 · -2135
  • Contract Deploy
    • CreatePool.s
    • DeployPoolImplementation.s
    • DeployV3Sepolia.s
  • Contract Test
    • EscrowYieldRepro.t
    • GoldenFixtures.t
    • LifecyclePolicy.t
    • MaturityAnchorRepro.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
    • PlatformPoolPenaltyInvariant.t
    • PlatformPoolYieldInvariant.t
    • PolicyConformance.t
    • RedemptionInstantPolicy.t
    • SequenceDiagramVerification.t
  • Infra
    • create-pool.ts
  • Other
    • packages/money-contract/src/generated/platform-pool-factory.ts
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • DepositPolicy
    • GovernanceLib
    • LifecyclePolicy
    • PlatformPool
    • PlatformPoolBase
    • PlatformPoolFactory
    • PlatformPoolStorage
    • PlatformPoolTypes
    • PoolConfigLib
    • PoolLedgerLib
    • RedemptionEpochPolicy
    • RedemptionInstantPolicy
    • RedemptionLib
    • YieldLib

fix 11:58:14 3edf75b9

fix(contract): reopening a closed offering reaches the chain

3 files · +61 · -13
  • Contract Test
    • LifecyclePolicy.t
    • PlatformPool.t
  • Smart Contract
    • LifecyclePolicy

🔵 jy/product

fix 22:45:32 2e065f3e

fix(admin): the edit wizard reads the pool's own lock-up anchor

3 files · +25 · -7
  • Admin
    • Route (pool-edit)
    • step-redemption
  • Infra
    • redemption-eligibility.ts

feat 22:23:08 8e6a716e

feat: refuse a reopen on a pool-wide lock-up, and say which anchor applies

9 files · +237 · -12
  • Admin
    • pool-controls
  • Docs
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • lockup-anchor.test.ts
  • Investor Web
    • Widget (risk-disclosure)
  • Lambda API
    • pools.post.close
  • Other
    • CLAUDE.md
    • packages/types/src/index.ts

fix 22:08:00 ca4f1052

fix(infra): the redemption gate reads the pool's lock-up anchor

6 files · +72 · -12
  • Investor Web
    • Widget (invest-sidebar)
    • portfolio-liquidity
    • redemption-state
    • redemption-state.test
  • Lambda API
    • redemption-requests.post.create
  • Other
    • packages/types/src/index.ts

feat 21:50:58 f5b40afe

feat(web): the lock-up anchor follows the pool implementation

13 files · +261 · -28
  • Infra
    • create-pool.ts
  • Investor Web
    • Widget (PCWidgets)
    • Widget (invest-sidebar)
    • Widget (position-card)
    • Widget (withdraw-dialog)
    • portfolio-liquidity
    • portfolio-stats
    • redemption-state
    • redemption-state.test
  • Investor Web API
    • pools
  • Investor Web UI
    • RedeemModal
  • Other
    • packages/money-domain/src/policies/redemption.ts
    • packages/types/src/index.ts

fix 18:53:05 054b5d58

fix(admin): the wizard describes the pool-wide lock-up

5 files · +50 · -34
  • Admin
    • lockup
    • pool-timeline-bar
    • step-redemption
    • validation

docs 18:48:49 9dbf4778

docs: v3-131 (3) shipped, and the status cells were the half that had not caught up

7 files · +63 · -16
  • Docs
    • 05-investment-lifecycle.md
    • 07-redemption.md
    • 10-status-machines.md
    • 14-decisions.md
    • 16-timeline.md
    • 17-changelog.md
    • 23-money-path.md

fix 18:36:25 c5ce8ea8

fix(admin): say the lock-up date the way a person would

1 files · +23 · -3
  • Admin
    • pool-timeline-bar

feat 18:22:58 40527cfb

feat(admin): the timeline shows when the lock-up is cleared

2 files · +33
  • Admin
    • pool-timeline-bar
    • step-redemption

refactor 18:09:02 f2dd4bf1

refactor(admin,ds): six radii between the named steps

2 files · +4 · -4
  • Admin
    • editorial
  • Other
    • packages/ds-editorial/src/showcase.tsx

fix 18:09:02 6b510daa

fix(web): the app shell and the standalone pages sit on one background again

4 files · +4 · -4
  • Investor Web
    • Route (app-layout)
    • Widget (app-shell)
  • Investor Web UI
    • DarkPageLayout
    • Footer

feat 18:08:43 414a8a3c

feat(landing): the last five hexes and one duplicated clamp get names

6 files · +22 · -7
  • Other
    • landing/app/widgets/about/why-we-build.tsx
    • landing/app/widgets/investors/risks.tsx
    • landing/app/widgets/investors/verify.tsx
    • landing/app/widgets/trust/money-path.tsx
    • landing/app/widgets/trust/onchain-data.tsx
    • landing/global.css

fix 18:08:43 cf0e4e75

fix(admin): the fourth orange joins the warning ramp

2 files · +3 · -3
  • Admin
    • amortization-schedule-block
    • epoch-schedule-block

fix 18:03:57 dc0ebc72

fix(pools): the reopen dialog asks wherever the handler requires, and stops looking destructive

3 files · +75 · -21
  • Admin
    • pool-controls
  • Infra
    • reopen-offering-close.test.ts
    • reopen-offering-close.ts

refactor 17:58:14 2454ec26

refactor(web): four tokens that were spelled as hex

2 files · +4 · -4
  • Investor Web
    • Widget (header)
    • Widget (withdraw-dialog)

fix 17:56:30 2532f382

fix(admin): the lock-up the LAST investor serves, not the one the field shows

6 files · +244 · -2
  • Admin
    • Route (pool-edit)
    • lockup
    • lockup.test
    • step-redemption
    • validation

refactor 17:52:07 2bda5472

refactor(landing): all of landing's negative tracking is one em value now

14 files · +32 · -32
  • Other
    • landing/app/widgets/about/structure.tsx
    • landing/app/widgets/about/team.tsx
    • landing/app/widgets/fund-managers/hero.tsx
    • landing/app/widgets/investors/faq.tsx
    • landing/app/widgets/investors/hero.tsx
    • landing/app/widgets/investors/invest-terms.tsx
    • landing/app/widgets/investors/returns-redemption.tsx
    • landing/app/widgets/investors/risks.tsx
    • landing/app/widgets/investors/verify.tsx
    • landing/app/widgets/landing/fund-managers.tsx
    • landing/app/widgets/landing/independent-data.tsx
    • landing/app/widgets/trust/immutable.tsx
    • landing/app/widgets/trust/onchain-data.tsx
    • landing/app/widgets/trust/pillars.tsx

fix 17:42:21 92acadf4

fix(pools): a reopen says until when, because the alternative answer was forever

6 files · +380 · -26
  • Admin
    • pool-controls
    • status
  • Admin API
    • pools
  • Infra
    • reopen-offering-close.test.ts
    • reopen-offering-close.ts
  • Lambda API
    • pools.post.close

fix 17:41:55 5bd24364

fix(web,admin): Tailwind gray-200 was shipping as a hex in both apps' toasts

3 files · +3 · -3
  • Admin
    • root
  • Investor Web
    • Widget (fund-data-tab)
    • root

refactor 17:19:15 17fc496b

refactor(admin,ds,landing): an unnamed radius and two long-hand rounded-full

6 files · +8 · -8
  • Admin
    • amortization-schedule-block
    • editorial
    • step-compliance
  • Other
    • landing/app/shared/ui/pill-button.tsx
    • packages/ds-editorial/src/patterns.tsx

feat 17:17:38 55006743

feat(ds): small prose gets a line-height, and eleven overrides stop restating the token

12 files · +35 · -19
  • Admin
    • Route (login)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • amortization-schedule-block
    • editorial
    • field-lock
    • step-basics
    • step-compliance
  • Other
    • packages/ds-editorial/src/showcase.tsx
    • packages/ds-editorial/src/tokens.css

refactor 17:17:37 4e648040

refactor(landing): the display headlines take tracking that scales with them

17 files · +17 · -17
  • Other
    • landing/app/widgets/about/hero.tsx
    • landing/app/widgets/about/why-we-build.tsx
    • landing/app/widgets/fund-managers/already-onboarded.tsx
    • landing/app/widgets/fund-managers/apply-cta.tsx
    • landing/app/widgets/fund-managers/get-started.tsx
    • landing/app/widgets/fund-managers/hero.tsx
    • landing/app/widgets/investors/hero.tsx
    • landing/app/widgets/investors/how-you-invest.tsx
    • landing/app/widgets/landing/final-cta.tsx
    • landing/app/widgets/landing/hero.tsx
    • landing/app/widgets/landing/safeguards.tsx
    • landing/app/widgets/landing/what-you-invest-in.tsx
    • landing/app/widgets/site/closing-frame.tsx
    • landing/app/widgets/trust/hero.tsx
    • landing/app/widgets/trust/immutable.tsx
    • landing/app/widgets/trust/money-path.tsx
    • landing/app/widgets/trust/onchain-data.tsx

refactor 17:09:44 c84d1b50

refactor(landing): six hand-rolled type ladders become two tokens

7 files · +42 · -8
  • Other
    • landing/app/widgets/landing/access-contrast.tsx
    • landing/app/widgets/landing/collateral.tsx
    • landing/app/widgets/landing/final-cta.tsx
    • landing/app/widgets/landing/fund-managers.tsx
    • landing/app/widgets/landing/independent-data.tsx
    • landing/app/widgets/landing/what-you-invest-in.tsx
    • landing/global.css

refactor 16:21:54 c53a62b2

refactor(admin): the left accent rail goes, and amber was never actually at zero

7 files · +23 · -20
  • Admin
    • configuration-tab
    • deploy-status-banner
    • editorial
    • field-lock
    • overview-tab
    • yield-settings-tab
  • Admin UI
    • alert-banner

fix 16:21:53 9f31d2a2

fix(landing): landing has its own 18px token, so use that one

2 files · +2 · -2
  • Other
    • landing/app/widgets/landing/collateral.tsx
    • landing/app/widgets/landing/safeguards.tsx

fix 16:20:05 68f9a952

fix(admin): a hidden lock-up is 0 everywhere, not just in the payload

9 files · +166 · -31
  • Admin
    • editorial
    • index
    • lockup
    • lockup.test
    • payload
    • step-redemption
    • validation

fix 16:07:37 5c5f7903

fix(admin): a maturity-only pool has no lock-up and no early-exit penalty, and stops asking

5 files · +113 · -20
  • Admin
    • payload
    • step-redemption
    • validation

refactor 15:26:21 f5114ff0

refactor(web,admin): the last marks that carried nothing, and five values that had a token

6 files · +21 · -14
  • Admin
    • epoch-cycle-panel
    • redemption-funding-modal
    • yield-calc-breakdown
  • Investor Web
    • Route (help)
    • Widget (PCWidgets)
  • Investor Web UI
    • RedeemModal

fix 15:24:24 072258b7

fix(admin): the redemption type says whether early exit is allowed, which is the axis

2 files · +24 · -4
  • Admin
    • step-redemption

fix 15:19:16 c753dfe8

fix(admin): the timeline says when the repayment stretch is missing rather than just ending

2 files · +18
  • Admin
    • pool-timeline-bar
    • step-redemption

fix 15:14:51 d5d0eca7

fix(admin): a term too short to hold an offering is flagged on the term

3 files · +38 · -8
  • Admin
    • offering
    • offering.test
    • step-redemption

refactor 15:13:24 946f2950

refactor(web): empty states stop being a symbol in a tinted square

5 files · +74 · -46
  • Investor Web
    • Route ($)
    • Route (pool.$id)
    • Route (pools)
    • root
  • Investor Web UI
    • OnboardingModal

feat 15:09:48 3c44a7ac

feat(build): the shadow family closes, and the guard finally sees the shared package

10 files · +90 · -29
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • editorial
    • epoch-management-section
  • Other
    • landing/app/widgets/fund-managers/panel-preview.tsx
    • landing/app/widgets/landing/fund-managers.tsx
    • packages/ds-editorial/src/patterns.tsx
    • packages/ds-editorial/src/showcase.tsx
    • packages/ds-editorial/src/tokens.css
    • scripts/check-design-tokens.mjs

refactor 15:03:19 08543d17

refactor(web,admin): titles move onto the 18px step the scale now has

20 files · +34 · -34
  • Admin
    • Route (notifications)
    • Route (pool-create)
    • Route (pool-edit)
    • Route (signer-balances)
  • Investor Web
    • Route (activity)
    • Route (help)
    • Route (kyc)
    • Route (notifications)
    • Route (pool.$id)
    • Route (portfolio)
    • Route (settings)
    • Route (styleguide.notifications)
    • Route (styleguide.portfolio)
    • Route (verify-email)
    • Widget (PCWidgets)
    • Widget (PortfolioHistory)
  • Investor Web UI
    • KYCModal
    • RedeemModal
    • TransactionDetailDrawer
    • YieldClaimDialog

fix 14:59:42 c2adc665

fix(build): the type-scale guard was only checking the integers

13 files · +56 · -35
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • amortization-schedule-block
    • deploy-date-review
    • epoch-pool-list
    • epoch-schedule-block
    • pool-timeline-bar
    • step-compliance
  • Other
    • landing/app/widgets/landing/collateral.tsx
    • landing/app/widgets/landing/safeguards.tsx
    • packages/ds-editorial/src/tokens.css
    • scripts/check-design-tokens.mjs

docs 14:52:18 8c93d171

docs(db): 0205 is applied, and both missing tracking rows are recorded

3 files · +12 · -4
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
  • Infra
    • DB 0205_pool_implementation.sql

docs 14:45:22 3ab003ab

docs(db): 0204's tracking row was never recorded, and the check that said otherwise was matching February

1 files · +2 · -2
  • Docs
    • 11-db-schema.md

feat 13:49:27 c919f5f5

feat(pools): a pool records which contract generation it is, and two dates stop being erasable

14 files · +341 · -7
  • Admin
    • pool-controls
    • pool-implementation.test
  • Admin API
    • pools
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • DB 0205_pool_implementation.sql
    • DB schema.sql
    • create-pool.ts
  • Lambda API
    • pools.get.list
    • pools.patch.update
    • pools.post.close
    • pools.worker.deploy
  • Other
    • packages/types/src/index.ts

feat 13:39:29 bed0b296

feat(build): the type scale is locked, in the range it actually covers

42 files · +150 · -99
  • Admin
    • Route (admin-settings)
    • Route (audit-log)
    • Route (dashboard)
    • Route (my-settings)
    • Route (pool-create)
    • Route (pool-edit)
    • Route (pools)
    • Route (redemptions)
    • Route (yield)
    • admin-users-tab
    • amortization-schedule-block
    • by-fund-table
    • collateral-badge
    • configuration-tab
    • confirmed-obligations
    • deposit-timeline
    • editorial
    • epoch-cycle-panel
    • epoch-management-section
    • epoch-pool-list
    • epoch-schedule-block
    • header
    • pool-timeline-bar
    • rail
    • receipt-split
    • step-basics
    • step-compliance
    • step-indicator
    • step-redemption
    • step-structure
    • upcoming-timeline
  • Admin UI
    • count-badge
    • pool-badges
  • Investor Web
    • Route (activity)
    • Route (settings)
    • Widget (header)
    • Widget (sidebar)
  • Investor Web UI
    • KYCStatusCard
    • MobileBottomNav
    • filter-tabs
  • Other
    • scripts/check-design-tokens.mjs

refactor 13:32:11 e7225469

refactor(admin): the type scale admin never got

86 files · +614 · -614
  • Admin
    • Route (admin-settings)
    • Route (audit-log)
    • Route (auth-callback)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-detail)
    • Route (fund-invite-accept)
    • Route (fund-manager-onboard)
    • Route (funds)
    • Route (kyc)
    • Route (my-settings)
    • Route (notifications)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (preview.pool-create)
    • Route (preview.redemptions)
    • Route (preview.yield)
    • Route (redemptions)
    • Route (signer-balances)
    • Route (super-login)
    • Route (yield)
    • admin-users-tab
    • amortization-schedule-block
    • by-fund-table
    • category-combobox
    • configuration-tab
    • confirmed-obligations
    • create-distribution-dialog
    • delete-pool-section
    • deploy-date-review
    • deploy-status-banner
    • deposit-timeline
    • due-now-card
    • editorial
    • epoch-admin-rollup
    • epoch-cycle-aside
    • epoch-cycle-panel
    • epoch-management-section
    • epoch-phase-stepper
    • epoch-pool-list
    • epoch-schedule-block
    • field-lock
    • fund-all-button
    • fund-all-dialog
    • fund-dialog
    • fund-epoch-cycle-button
    • fund-members-section
    • fund-payout-button
    • fund-select
    • fund-wallet-display
    • funding-load-card
    • funding-load-panel
    • instant-pool-aside
    • instant-pool-rollup
    • investor-sidebar
    • label
    • overdue-exposure-card
    • pool-controls
    • pool-metrics-line
    • pool-timeline-bar
    • qualification-panel
    • rail
    • receipt-split
    • recorded-check-slot
    • redemption-columns
    • redemption-detail-panel
    • redemption-funding-modal
    • service-providers-editor
    • step-basics
    • step-compliance
    • step-indicator
    • step-redemption
    • step-structure
    • totp-step
    • transactions-tab
    • upcoming-timeline
    • updates-tab
    • wallet-bind-card
    • yield-calc-breakdown
    • yield-settings-tab
  • Admin UI
    • page-header
    • query-error-state
    • radio-card
    • search-input

feat 13:29:05 92325ab1

feat(build): the amber family is locked, because it finally reached zero

10 files · +43 · -34
  • Admin
    • Route (notifications)
  • Investor Web
    • PoolBrowseCard
    • TrancheBadge
    • Widget (LiquidityTimeline)
    • Widget (PCWidgets)
    • Widget (fund-data-tab)
    • Widget (position-card)
    • auth-button
  • Investor Web UI
    • PoolStatusAlert
  • Other
    • scripts/check-design-tokens.mjs

refactor 13:17:06 04e4cec3

refactor: the uppercase micro-label is one recipe in both apps

45 files · +95 · -95
  • Admin
    • Route (audit-log)
    • Route (dashboard)
    • Route (kyc)
    • Route (login)
    • Route (notifications)
    • Route (pool-create)
    • Route (pool-edit)
    • Route (pools)
    • Route (yield)
    • by-fund-table
    • configuration-tab
    • deploy-date-review
    • editorial
    • epoch-admin-rollup
    • epoch-cycle-panel
    • epoch-management-section
    • epoch-pool-list
    • instant-pool-rollup
    • investor-sidebar
    • qualification-panel
    • rail
    • recorded-check-slot
    • redemption-detail-panel
    • repayment-schedule-card
    • step-redemption
    • yield-calc-breakdown
  • Admin UI
    • filter-group
    • funding-badge
    • pool-badges
  • Investor Web
    • PoolBrowseCard
    • Route (activity)
    • Route (notifications)
    • Route (pools)
    • Route (settings)
    • Route (styleguide.notifications)
    • TrancheBadge
    • Widget (PCWidgets)
    • Widget (PortfolioComposition)
    • Widget (PortfolioHero)
    • Widget (category-chip)
    • Widget (notification-detail-modal)
    • add-lp-token-control
  • Investor Web UI
    • RedeemModal
    • YieldClaimDialog
    • tx-type-badge

docs 12:59:40 25a8df0f

docs: reopen reaches the chain, and two ✅ that had never been checked

2 files · +55 · -5
  • Docs
    • 14-decisions.md
    • 17-changelog.md

refactor 12:56:25 77c6936a

refactor: one name for the standard border, and admin's card radii on the scale

59 files · +144 · -143
  • Admin
    • Route (admin-settings)
    • Route (audit-log)
    • Route (auth-callback)
    • Route (dashboard)
    • Route (fund-detail)
    • Route (fund-invite-accept)
    • Route (fund-manager-onboard)
    • Route (my-settings)
    • Route (notifications)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (signer-balances)
    • Route (super-login)
    • admin-users-tab
    • amortization-schedule-block
    • category-combobox
    • configuration-tab
    • create-distribution-dialog
    • editorial
    • epoch-cycle-panel
    • epoch-management-section
    • epoch-pool-list
    • epoch-schedule-block
    • fund-all-dialog
    • fund-dialog
    • fund-members-section
    • fund-select
    • funding-load-card
    • pool-controls
    • pool-timeline-bar
    • qualification-panel
    • redemption-detail-panel
    • totp-step
    • wallet-bind-card
    • yield-calc-breakdown
  • Admin UI
    • funding-badge
    • radio-card
  • Docs
    • 04-pool-models.md
    • 10-status-machines.md
  • Investor Web
    • PoolBrowseCard
    • Route (activity)
    • Route (notifications)
    • Route (pool.$id)
    • Route (pools)
    • Route (settings)
    • Route (styleguide.notifications)
    • Widget (LiquidityTimeline)
    • Widget (PCWidgets)
    • Widget (PortfolioComposition)
    • Widget (PortfolioHero)
    • Widget (PortfolioHistory)
    • Widget (notification-detail-modal)
    • Widget (topbar)
  • Investor Web UI
    • KYCModal
    • KYCStatusCard
    • RedeemModal
    • YieldClaimDialog
    • skeleton

refactor 12:44:16 dd23eb93

refactor(web,ds): all CTAs onto shadcn's Button, and its tokens onto the palette

16 files · +83 · -129
  • Investor Web
    • Route (pool.$id)
    • Route (pools)
    • Route (settings)
    • Widget (cancel-redemption-dialog)
    • Widget (invest-confirm-dialog)
    • Widget (invest-sidebar)
    • Widget (position-card)
    • root
  • Investor Web UI
    • KYCModal
    • KYCStatusCard
    • OnboardingModal
    • RedeemModal
    • YieldClaimDialog
    • index
    • primary-button
  • Other
    • packages/ds-editorial/src/tokens.css

docs 12:37:38 6cb77ef5

docs(contract): what the chain says about dev's nine pools, since nothing else does

1 files · +36
  • Smart Contract
    • sepolia.md

fix 12:37:00 3379193b

fix(admin): a reopen says which date will close the pool again

2 files · +36 · -2
  • Admin
    • pool-controls
    • status

feat 12:31:53 bc12d639

feat(web): one shape for the investor app's primary action

15 files · +110 · -68
  • Investor Web
    • Route (pool.$id)
    • Route (pools)
    • Route (settings)
    • Widget (cancel-redemption-dialog)
    • Widget (invest-confirm-dialog)
    • Widget (invest-sidebar)
    • Widget (position-card)
    • root
  • Investor Web UI
    • KYCModal
    • KYCStatusCard
    • OnboardingModal
    • RedeemModal
    • YieldClaimDialog
    • index
    • primary-button

refactor 12:19:44 fd4e85ce

refactor: three calls from the review — card rung, notice fill, fund-all tone

15 files · +75 · -37
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • editorial
    • fund-all-dialog
    • overview-tab
    • pool-timeline-bar
  • Investor Web
    • Route (kyc)
    • Route (pool.$id)
    • Route (settings)
    • Route (verify-email)
    • Widget (performance-tab)
  • Investor Web UI
    • LegalPageLayout
    • skeleton
  • Other
    • packages/ds-editorial/src/patterns.tsx
  • Smart Contract
    • sepolia.md

feat 11:56:45 2d7e6df3

feat(pools): the dates get re-read at the deploy, because only one of them moves

7 files · +538 · -4
  • Admin
    • Route (pool-edit)
    • deploy-date-review
    • deploy-dates
    • deploy-dates.test
    • deploy-status-banner
    • index
  • Lambda API
    • pools.post.lifecycle

refactor 11:43:38 de412a95

refactor(admin): shadows onto the same five rungs, and four that are not shadows

22 files · +42 · -30
  • Admin
    • Route (auth-callback)
    • Route (fund-invite-accept)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (redemptions)
    • Route (super-login)
    • Route (yield)
    • category-combobox
    • editorial
    • epoch-management-section
    • field-lock
    • fund-all-dialog
    • fund-dialog
    • nav-change-dialog
    • overdue-exposure-card
    • overview-tab
    • pool-timeline-bar
    • rail
    • totp-step
  • Admin UI
    • radio-card

fix 11:39:20 c498fe65

fix(admin): three things the offering field got wrong on first sight

4 files · +59 · -14
  • Admin
    • offering
    • offering.test
    • pool-timeline-bar
    • step-redemption

refactor 11:35:29 6c5c2229

refactor(web,ds): every shadow in the investor app is one of five rungs

24 files · +38 · -31
  • Investor Web
    • PoolBrowseCard
    • Route (kyc)
    • Route (pool.$id)
    • Route (settings)
    • Route (verify-email)
    • Widget (LiquidityTimeline)
    • Widget (PCWidgets)
    • Widget (PortfolioComposition)
    • Widget (cancel-redemption-dialog)
    • Widget (invest-confirm-dialog)
    • Widget (notification-detail-modal)
    • Widget (performance-tab)
    • Widget (reinvest-confirm-dialog)
    • Widget (sidebar)
    • auth-button
  • Investor Web UI
    • KYCModal
    • LegalPageLayout
    • OnboardingModal
    • RedeemModal
    • TransactionDetailDrawer
    • YieldClaimDialog
    • filter-tabs
    • skeleton
  • Other
    • packages/ds-editorial/src/tokens.css

2026-08-20 (Thu)

🟢 ch/product

fix 16:36:47 b619d9a5

fix(contract): CLOSED comes before maturity, and maturing is its only way out

4 files · +51 · -10
  • Contract Test
    • LifecyclePolicy.t
    • PlatformPool.t
  • Smart Contract
    • LifecyclePolicy
    • PlatformPool

refactor 14:19:25 ca8130de

refactor: split one column's two meanings, and retire the old feed's leftovers

43 files · +403 · -157
  • Admin
    • Route (pool-create)
    • payload
    • permissions
    • step-compliance
    • types
  • Admin API
    • pools
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 08-smart-contracts.md
    • 11-db-schema.md
    • 14-decisions.md
    • 15-api-reference.md
    • 20-joob-pool-config.md
    • 23-money-path.md
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (lambda-helpers)
    • DB 0203_pools_is_showcase.sql
    • DB backfill_nav_history_genesis.sql
    • DB backfill_pool_tvl_history.sql
    • DB schema.sql
    • custody-mode.test.ts
    • custody-mode.ts
    • deposit-eligibility.test.ts
    • deposit-eligibility.ts
    • npl.ts
    • read.test.ts
    • types.ts
  • Investor Web
    • Route (dashboard)
    • Route (pool.$id)
    • Widget (fund-data-tab)
  • Investor Web API
    • fund-data
    • pools
  • Lambda API
    • deposits.post.create
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • yield-distributions.post.create
    • yield.post.reinvest
  • Other
    • packages/types/src/pool-row.ts

fix 13:16:13 4e06b4b7

fix(db): a seeded holding that the ledger knew and the screen didn't

1 files · +35
  • Infra
    • DB 0202_seed_deposit_workflow_backfill.sql

feat 12:00:36 d2127848

feat(infra): mirror pools — a partner feed that shows, and nothing else

117 files · +6942 · -2238
  • Docs
    • 06-writedown-nav.md
    • 11-db-schema.md
    • 15-api-reference.md
    • 16-timeline.md
    • 20-joob-pool-config.md
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • DB 0194_external_master_entity_and_nonperforming.sql
    • DB 0195_report_plane.sql
    • DB 0196_report_events_attributes.sql
    • DB 0197_retire_external_pool_tables.sql
    • DB 0198_money_events_origin.sql
    • DB 0199_custody_mode.sql
    • DB 0200_drop_funds_external_mapping.sql
    • DB 0201_nav_history_attested.sql
    • DB schema.sql
    • apply-on-chain.test.ts
    • apply-on-chain.ts
    • apply-proposal.ts
    • cache.ts
    • client.ts
    • compute.test.ts
    • compute.ts
    • custody-gate.ts
    • custody-mode.test.ts
    • custody-mode.ts
    • deposit-eligibility.ts
    • digest.test.ts
    • digest.ts
    • environment.ts
    • exit-eligibility.test.ts
    • exit-eligibility.ts
    • handler-secrets.ts
    • history-window.test.ts
    • history-window.ts
    • history.ts
    • index.ts
    • ingest.ts
    • latest.ts
    • ledger.ts
    • mapper.ts
    • mapping.ts
    • mirror-mode.test.ts
    • mirror-mode.ts
    • nav-formula.test.ts
    • nav-formula.ts
    • nav-suggest.test.ts
    • nav-suggest.ts
    • npl.ts
    • observe.test.ts
    • observe.ts
    • package.json
    • pool-mutation-registry.ts
    • project.test.ts
    • project.ts
    • propose-mode.ts
    • provider.ts
    • read.test.ts
    • resolver.ts
    • source.ts
    • summary.ts
    • sync.ts
    • types.ts
    • wire.ts
  • Investor Web
    • Route (pool.$id)
    • Widget (fund-data-tab)
    • Widget (overview-tab)
    • Widget (performance-tab)
    • dpd-buckets
    • dpd-buckets.test
    • index
  • Investor Web API
    • fund-data
    • pools
  • Lambda API
    • fund-data.scheduler.sync
    • nav-changes.post.dismiss
    • nav-changes.post.propose
    • nav-proposals.scheduler.suggest
    • pools.delete
    • pools.get.eligibility
    • pools.get.fund-data-history
    • pools.get.fund-data-summary
    • pools.get.list
    • pools.patch.update
    • pools.post.close
    • pools.post.create
    • pools.post.epoch-funding
    • pools.post.epoch-schedule
    • pools.post.escalate-yield
    • pools.post.freeze
    • pools.post.governance
    • pools.post.impairment
    • pools.post.lifecycle
    • pools.post.notify-fund
    • pools.post.pause
    • pools.post.wind-down
    • pools.scheduler.tvl-snapshot
    • redemption-requests.post.create
    • report.scheduler.derive
    • report.scheduler.fetch
    • tranche.post.writedown
    • yield-claims.post.create
    • yield-distributions.post.create
    • yield-distributions.post.distribute
    • yield.post.reinvest
  • Other
    • scripts/check-pool-mutations.mjs

🔵 jy/product

refactor 18:21:54 b35fc0cc

refactor(admin): amber boxes and hand-picked tracking, both retired

50 files · +169 · -166
  • Admin
    • Route (audit-log)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-detail)
    • Route (funds)
    • Route (kyc)
    • Route (login)
    • Route (notifications)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (yield)
    • amortization-schedule-block
    • by-fund-table
    • configuration-tab
    • controls-primitives
    • create-distribution-dialog
    • due-now-card
    • editorial
    • epoch-admin-rollup
    • epoch-cycle-panel
    • epoch-management-section
    • epoch-pool-list
    • fund-dialog
    • funding-load-card
    • funding-load-panel
    • instant-pool-aside
    • instant-pool-rollup
    • investor-sidebar
    • investors-tab
    • nav-change-dialog
    • nav-chart
    • overdue-exposure-card
    • overview-tab
    • pool-controls
    • qualification-panel
    • rail
    • receipt-split
    • recorded-check-slot
    • redemption-detail-panel
    • repayment-schedule-card
    • step-redemption
    • yield-calc-breakdown
    • yield-settings-tab
  • Admin UI
    • filter-group
    • page-header
    • pool-badges
    • typography

docs 18:16:58 d66aa209

docs(contract): record the 2026-08-20 factory redeploy, and what it left out

1 files · +40 · -4
  • Smart Contract
    • sepolia.md

refactor 18:08:28 e56b0fab

refactor(admin,ds): a brand tone for notes that are not cautions, and one less box

3 files · +11 · -3
  • Admin
    • fund-dialog
    • redemption-detail-panel
  • Other
    • packages/ds-editorial/src/patterns.tsx

refactor 18:03:08 3065bcb8

refactor(admin): the funding warnings are shorter, and stop being amber boxes

3 files · +20 · -19
  • Admin
    • fund-all-dialog
    • fund-dialog
  • Admin UI
    • index

refactor 17:54:42 0387114b

refactor(web): the left rail is gone from the investor app, and eight more notices are the component

5 files · +33 · -48
  • Investor Web
    • Route (pool.$id)
    • Widget (epoch-countdown)
    • Widget (epoch-window-optin)
    • Widget (invest-confirm-dialog)
    • Widget (invest-sidebar)

refactor 17:49:09 52bb7d39

refactor(ds): Notice loses its left rail too

1 files · +14 · -13
  • Other
    • packages/ds-editorial/src/patterns.tsx

refactor 17:46:31 da0a380a

refactor(web): the pool status banner drops its left accent rail

1 files · +9 · -13
  • Investor Web UI
    • PoolStatusAlert

refactor 17:43:53 935b8a94

refactor(web,ds): every uppercase micro-label gets the same letter-spacing

28 files · +80 · -74
  • Investor Web
    • PoolBrowseCard
    • PoolCard
    • PoolRow
    • Route (activity)
    • Route (help)
    • Route (notifications)
    • Route (pools)
    • Route (settings)
    • Route (styleguide.epoch-states)
    • Route (styleguide.notifications)
    • Widget (PCWidgets)
    • Widget (activity-tab)
    • Widget (category-chip)
    • Widget (fund-data-tab)
    • Widget (invest-confirm-dialog)
    • Widget (invest-sidebar)
    • Widget (notification-detail-modal)
    • Widget (position-card)
    • Widget (reinvest-confirm-dialog)
    • Widget (risk-disclosure)
    • add-lp-token-control
  • Investor Web UI
    • PoolStatusAlert
    • RedeemModal
    • TransactionDetailDrawer
    • YieldClaimDialog
    • tx-type-badge
  • Other
    • packages/ds-editorial/src/patterns.tsx
    • packages/ds-editorial/src/showcase.tsx

fix 17:40:52 7483813d

fix: three claims the rescope left asserting the old scope, one of them false

4 files · +26 · -7
  • Admin
    • step-redemption
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
  • Lambda API
    • pools.scheduler.lifecycle

refactor 17:40:05 0a6d9494

refactor(web): the arbitrary values that were already the token, named

25 files · +54 · -54
  • Investor Web
    • PoolBrowseCard
    • PoolCard
    • PoolRow
    • Route (activity)
    • Route (dashboard)
    • Route (notifications)
    • Route (pools)
    • Route (portfolio)
    • Route (styleguide.epoch-states)
    • Route (styleguide.notifications)
    • Route (styleguide.portfolio)
    • Widget (LiquidityTimeline)
    • Widget (PCWidgets)
    • Widget (PortfolioComposition)
    • Widget (PortfolioHero)
    • Widget (PortfolioHistory)
    • Widget (cancel-redemption-dialog)
    • Widget (fund-data-tab)
    • Widget (invest-confirm-dialog)
    • Widget (invest-sidebar)
    • Widget (notification-detail-modal)
    • Widget (performance-tab)
    • Widget (pool-header-card)
    • Widget (position-card)
    • Widget (reinvest-confirm-dialog)

fix 17:36:46 30dc3e5a

fix(admin): three things the rescope left saying the wrong thing

3 files · +33 · -14
  • Admin
    • Route (preview.pool-create)
    • payload
    • step-compliance

refactor 17:36:39 1b00b836

refactor(admin,web): the dot-plus-label badge is one spec in both apps

2 files · +50 · -23
  • Admin UI
    • status-dot
  • Investor Web UI
    • status-badge

fix 17:31:52 2d1473fa

fix(admin): the offering window follows maturity, not redemption type

7 files · +225 · -77
  • Admin
    • Route (pool-create)
    • Route (preview.pool-create)
    • offering
    • offering.test
    • step-compliance
    • step-redemption
    • validation

fix 17:31:24 0a41b25f

fix(lint): the palette block was switching the copy-guard rules off

2 files · +12 · -2
  • Admin
    • eslint.config
  • Investor Web
    • eslint.config

feat 17:27:59 bb0ffaba

feat(build): lock the palette to the design system

8 files · +186 · -19
  • Admin
    • eslint.config
    • package
  • Investor Web
    • Widget (updates-tab)
    • eslint.config
    • package
  • Investor Web UI
    • skeleton
  • Other
    • landing/package.json
    • scripts/check-design-tokens.mjs

docs 17:16:54 980e3991

docs(ds): the Notice rail's contrast figure, after C1 moved the token

1 files · +3 · -1
  • Other
    • packages/ds-editorial/src/patterns.tsx

fix 17:13:44 7aa05548

fix(ds): neutral-400 clears 4.5:1 on the surfaces it is actually used on

1 files · +1 · -1
  • Other
    • packages/ds-editorial/src/tokens.css

fix 17:00:24 22575f26

fix(web): axis month labels clip rather than wrap

1 files · +4 · -1
  • Investor Web
    • Widget (LiquidityTimeline)

docs 16:58:21 6eb70c41

docs: the CLOSED → MATURED leg is on-chain now, and it carries a Clones cutoff

4 files · +23 · -18
  • Docs
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md
  • Lambda API
    • pools.scheduler.lifecycle

fix 16:56:33 29c09eaa

fix(web): activity status glyphs that can actually be resolved

1 files · +26 · -16
  • Investor Web
    • Route (activity)

fix 15:42:39 a2659fd3

fix(ds): a Notice with no title still carries its tone

1 files · +14 · -1
  • Other
    • packages/ds-editorial/src/patterns.tsx

feat 15:17:13 20fc07a4

feat(ds): Notice — an aside set apart by structure, not by being coloured in

9 files · +108 · -78
  • Investor Web
    • Route (dashboard)
    • Route (portfolio)
    • Widget (cancel-redemption-dialog)
    • Widget (epoch-position-panel)
    • Widget (timelock-countdown)
    • Widget (withdraw-dialog)
  • Investor Web UI
    • RedeemModal
    • index
  • Other
    • packages/ds-editorial/src/patterns.tsx

feat 14:48:13 75c1d8fc

feat(pools): the offering close stops sharing a column with maturity

32 files · +1852 · -83
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • Route (preview.pool-create)
    • configuration-tab
    • index
    • offering
    • offering.test
    • overview-tab
    • payload
    • permissions
    • pool-timeline-bar
    • step-compliance
    • step-redemption
    • types
    • validation
  • Admin API
    • pools
  • Docs
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • DB 0204_subscription_end_date.sql
    • DB schema.sql
    • pool-maturity.test.ts
  • Lambda API
    • pools.get.list
    • pools.patch.update
    • pools.post.close
    • pools.post.create
    • pools.post.lifecycle
    • pools.scheduler.lifecycle

fix 14:26:41 3717968f

fix(web): the Today label stops landing on a month label

1 files · +8 · -1
  • Investor Web
    • Widget (LiquidityTimeline)

fix 14:22:38 e59baa7a

fix(ds): a stat row lines up by band, and the meter marker is visible

1 files · +35 · -3
  • Other
    • packages/ds-editorial/src/patterns.tsx

refactor 14:14:39 0158540b

refactor(web): one token per type size, not two

22 files · +254 · -254
  • Investor Web
    • Route (activity)
    • Route (dashboard)
    • Route (help)
    • Route (kyc)
    • Route (notifications)
    • Route (pools)
    • Route (settings)
    • Route (styleguide.epoch-states)
    • Route (styleguide.notifications)
    • Route (verify-email)
    • Widget (notification-detail-modal)
    • Widget (notification-row)
    • add-lp-token-control
  • Investor Web UI
    • Footer
    • KYCModal
    • KYCStatusCard
    • LegalPageLayout
    • OnboardingModal
    • RedeemModal
    • TransactionDetailDrawer
    • YieldClaimDialog
    • filter-tabs

refactor 13:27:06 29e4cb37

refactor(ds): finish the dead-weight sweep in the shared package

2 files · +10 · -6
  • Other
    • packages/ds-editorial/src/patterns.tsx
    • packages/ds-editorial/src/showcase.tsx

refactor 13:22:31 1e8545b2

refactor(ds): a display value that is a word is set in sans

3 files · +41 · -3
  • Investor Web
    • Widget (PCWidgets)
  • Investor Web UI
    • index
  • Other
    • packages/ds-editorial/src/patterns.tsx

fix 12:03:14 347255bb

fix(web): the PDP invest column sticks, not the panel inside it

1 files · +16 · -2
  • Investor Web
    • Route (pool.$id)

fix 12:00:56 495ca397

fix(web): let transitions run at all

1 files · -7
  • Investor Web
    • global

fix 11:48:01 05b5a5bd

fix(web): invisible success dots, and correct the contrast claim behind them

3 files · +27 · -10
  • Investor Web
    • TrancheBadge
    • auth-button
  • Investor Web UI
    • status-badge

refactor 11:36:30 989d7922

refactor(web): drop font weights that the serif cannot render

19 files · +43 · -43
  • Investor Web
    • PoolBrowseCard
    • PoolCard
    • PoolRow
    • Route (activity)
    • Route (dashboard)
    • Route (notifications)
    • Route (pools)
    • Route (portfolio)
    • Route (styleguide.notifications)
    • Route (styleguide.portfolio)
    • Widget (PortfolioHero)
    • Widget (fund-data-tab)
    • Widget (invest-confirm-dialog)
    • Widget (invest-sidebar)
    • Widget (notification-detail-modal)
    • Widget (performance-tab)
    • Widget (pool-header-card)
    • Widget (position-card)
    • Widget (reinvest-confirm-dialog)

refactor 11:32:13 9bc90065

refactor(web): one spec for the dot-plus-label badge

2 files · +31 · -20
  • Investor Web
    • TrancheBadge
  • Investor Web UI
    • status-badge

feat 11:30:00 cbb2d55c

feat(ds): elevation and tracking tokens, definitions only

1 files · +36
  • Other
    • packages/ds-editorial/src/tokens.css

2026-08-19 (Wed)

🟢 ch/product

fix 14:53:09 90d8b7ae

fix(admin): the model toggle counts what its side lists, not requests

3 files · +57 · -131
  • Admin
    • Route (redemptions)
    • funding-load-card
    • instant-pool-rollup

fix 14:14:24 fcad33e8

fix(admin): an unreadable shortfall stops reporting as a funded cycle

34 files · +1668 · -438
  • Admin
    • Route (audit-log)
    • Route (deposits)
    • Route (kyc)
    • Route (redemptions)
    • Route (signer-balances)
    • Route (yield)
    • build-epoch-summaries
    • build-epoch-summaries.test
    • epoch-admin-rollup
    • epoch-cycle-aside
    • epoch-cycle-panel
    • epoch-management-section
    • epoch-pool-filter
    • epoch-pool-filter.test
    • epoch-pool-list
    • fund-epoch-cycle-button
    • funding-load-card
    • funding-load-panel
    • index
    • instant-pool-rollup
    • map-with-concurrency
    • map-with-concurrency.test
    • overview-tab
    • redemption-columns
    • redemption-detail-panel
    • redemption-funding
    • redemption-obligations-nodes.test
    • updates-tab
    • use-coarse-clock
    • use-refresh-queries.test
  • Admin API
    • refresh-keys
    • refresh-keys.test
    • use-redemption-requests

🔵 jy/product

feat 16:11:14 d33c0e1b

feat(web,admin): the wordmark is the way back to the marketing site

16 files · +83 · -18
  • Admin
    • .env
    • Route (login)
    • env
    • header
    • rail
  • Investor Web
    • .env
    • Route (settings)
    • Widget (header)
    • Widget (sidebar)
    • Widget (topbar)
    • auth-button
    • env

2026-08-18 (Tue)

🟢 ch/product

refactor 18:04:17 07ead35b

refactor(infra): a route group is chosen, not defaulted into

5 files · +265 · -47
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (route-configs)
    • CDK Stack (route-group-stack)
    • CDK Stack (route-groups.test)
  • Lambda API
    • logs.scheduler.retention

feat 18:04:17 598e5b08

feat: a yield distribution records the period it pays for

28 files · +1247 · -282
  • Contract Test
    • PlatformPoolEpoch.t
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 07-redemption.md
    • 08a-contract-reference.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 13-operations.md
    • 14-decisions.md
  • Infra
    • funding-date-monotonicity.test.ts
    • funding-date-monotonicity.ts
    • next-due.ts
    • pool-maturity.ts
    • run-distribution.ts
    • yield-interval.test.ts
    • yield-interval.ts
    • yield-period.test.ts
    • yield-period.ts
    • yield-schedule.ts
  • Lambda API
    • pools.patch.update
    • pools.post.close
    • pools.post.epoch-schedule
    • pools.scheduler.yield-due
    • yield-distributions.post.create
    • yield-distributions.post.distribute
  • Smart Contract
    • GovernanceLib
    • RedemptionLib
    • sepolia.md

fix 18:04:17 e5eb2899

fix(infra): production asset buckets stop being deletable, and both transports require TLS

6 files · +89 · -18
  • Infra
    • CDK Stack (admin-web-stack)
    • CDK Stack (api-stack)
    • CDK Stack (asset-bucket)
    • CDK Stack (docs-stack)
    • CDK Stack (landing-stack)
    • CDK Stack (web-stack)

fix 18:04:17 79ccd771

fix(infra): alarms reach a person, and there are now alarms worth reaching them

7 files · +391 · -30
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • check-alarm-subscriptions.ts
    • environment-stage-split.test.ts
    • environment.ts
    • package.json
  • Other
    • pnpm-lock.yaml

feat 18:04:17 60511a21

feat(infra): the API stage gets access logs and a throttle ceiling

2 files · +163
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (api-throttling)

fix 18:04:17 a8ada25a

fix(infra): schedulers only read pools on chains this environment serves

14 files · +79 · -1
  • Infra
    • chain-config.ts
  • Lambda API
    • fund-data.scheduler.sync
    • nav-changes.scheduler.apply-pending
    • nav-proposals.scheduler.suggest
    • pools.scheduler.epoch-funding-date
    • pools.scheduler.epoch-window-open
    • pools.scheduler.governance-execute-due
    • pools.scheduler.lifecycle
    • pools.scheduler.tvl-snapshot
    • pools.scheduler.yield-due
    • redemption-requests.scheduler.epoch-cutoff
    • redemption-requests.scheduler.epoch-execute
    • redemption-requests.scheduler.partner-funding
    • yield.scheduler.reconcile

refactor 14:34:48 58a4ff09

refactor(infra): the parent stack shares one execution role, like its nested stacks already do

2 files · +108 · -1
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (parent-dedicated-roles.test)

feat 14:34:48 880b0649

feat(infra): Lambda logs get the same 5-year retention the audit log already has

4 files · +407 · -904
  • Infra
    • CDK Stack (api-stack)
    • package.json
  • Lambda API
    • logs.scheduler.retention
  • Other
    • pnpm-lock.yaml

fix 14:34:48 7c2ea9f9

fix(infra): external-API credentials go to the handlers that use them, not to all 181

6 files · +255 · -8
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (lambda-helpers)
    • CDK Stack (route-group-stack)
    • handler-secrets.ts
    • package.json
  • Other
    • scripts/check-handler-secrets.mjs

perf 14:34:48 ac59eb70

perf(infra): Lambda memory sized from measurement, not from the default

1 files · +45
  • Infra
    • CDK Stack (lambda-helpers)

fix 14:34:48 d2318dee

fix(infra): SES sending is scoped to one identity, and every sender names the configuration set

3 files · +115 · -8
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (route-group-stack)
    • CDK Stack (ses-send-policy)

🔵 jy/product

test 17:50:59 ed1e6e1b

test(contract): the deal's repayment window strands the interest rather than misdirecting it

1 files · +104
  • Contract Test
    • EscrowYieldRepro.t

fix 17:46:28 c7a4fc0d

fix(web): the row came back but its Claim button still refused

7 files · +201 · -48
  • Investor Web
    • Route (portfolio)
    • Route (styleguide.portfolio)
    • Widget (PCWidgets)
    • Widget (PortfolioComposition)
    • Widget (PortfolioHero)
    • portfolio-stats
    • position-escrow.test

fix 17:31:54 8593a4d7

fix(web): requesting a redemption deleted the position from the portfolio

7 files · +353 · -47
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
    • Widget (PCWidgets)
    • Widget (position-card)
    • Widget (withdraw-dialog)
    • position-escrow
    • position-escrow.test

test 16:47:33 58cb66a5

test(contract): commit two investigation-only repros so they stop riding along

2 files · +398
  • Contract Test
    • EscrowYieldRepro.t
    • MaturityAnchorRepro.t

fix 16:47:00 de40c1b0

fix(infra): the over-funding notice told fund managers the surplus would fund the next cycle

4 files · +60 · -20
  • Docs
    • 14-decisions.md
    • 22-notifications.md
  • Infra
    • catalog-integrity.test.ts
    • redemption.ts

docs 16:03:28 8e832710

docs(db): the apply markers said pending for six migrations that had already run

1 files · +5 · -5
  • Docs
    • 11-db-schema.md

fix 15:45:33 04e69bdc

fix(db): a completed redemption claimed it paid 0 when the view could not read the figure

2 files · +172 · -11
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0193_audit_feed_completed_redemption_states_its_payout.sql

test 15:12:04 b3143b44

test(infra): two migrations shared a number and nothing anywhere noticed

1 files · +96
  • Infra
    • migration-numbers-are-unique.test.ts

docs 13:23:03 151c3d0b

docs: an unwritten cycle is a confident wrong date, and seven decisions get numbers

10 files · +443 · -50
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 09-rbac.md
    • 11-db-schema.md
    • 14-decisions.md
    • 15-api-reference.md
    • 16-timeline.md
    • 17-changelog.md
    • 22-notifications.md
    • 24-field-governance.md

chore 12:27:36 28f46d36

chore(admin,infra): the cycle-mode removal is v3-140, not v3-141

8 files · +10 · -10
  • Admin
    • epoch-schedule-block
    • payload
    • permissions
    • step-redemption
    • types
  • Admin API
    • pools
  • Infra
    • DB 0192_epoch_cycle_mode_is_inert.sql
  • Lambda API
    • pools.scheduler.epoch-funding-date

fix 12:25:33 9fdb42e5

fix(admin): the funding date field blamed the operator's format before they typed one

3 files · +39 · -3
  • Admin
    • amortization-schedule-block
    • epoch-schedule
    • epoch-schedule.test

fix 12:25:23 d7a350b3

fix(admin,infra)!: AUTO turned off the only watcher and put nothing in its place

13 files · +103 · -82
  • Admin
    • Route (pool-create)
    • Route (preview.pool-create)
    • epoch-schedule-block
    • payload
    • permissions
    • step-redemption
    • types
  • Admin API
    • pools
  • Infra
    • DB 0192_epoch_cycle_mode_is_inert.sql
    • DB schema.sql
  • Lambda API
    • pools.scheduler.epoch-funding-date

2026-08-17 (Mon)

🟢 ch/product

No activity

🔵 jy/product

fix 17:23:46 6aa9e9a1

fix(infra)!: two views were readable in full through the public API key

4 files · +85 · -7
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0188_redemption_list_payout_before_settlement.sql
    • DB 0191_epoch_funding_not_a_request_and_audit_keeps_its_sentence.sql
    • DB schema.sql

fix 17:16:17 06640554

fix(web): a missing figure stops reading $0, and two buttons stop offering what they cannot do

13 files · +315 · -212
  • Investor Web
    • Route (activity)
    • Route (dashboard)
    • Widget (PortfolioHistory)
    • Widget (activity-tab)
    • index
    • transaction-entries
    • transaction-entries.test
    • use-epoch-position
    • use-settle-epoch-flow
  • Investor Web API
    • deposits
    • investor-activity
    • redemption-requests
  • Investor Web UI
    • TransactionDetailDrawer

fix 17:15:50 a925deb5

fix(infra): a funded epoch cycle is not a redemption, and an audit row keeps its sentence

3 files · +506 · -9
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0191_epoch_funding_not_a_request_and_audit_keeps_its_sentence.sql
    • DB schema.sql

docs 16:34:23 663f38e6

docs(infra): leftover top-up does not carry forward, and this is the reader that draws it

1 files · +17 · -2
  • Infra
    • epoch-redemption.ts

feat 16:30:26 976fcf40

feat(admin): the funding views say leftover stays with its cycle, without calling it lost

2 files · +33
  • Admin
    • funding-load-card
    • repayment-schedule-card

feat 16:25:38 3b8ef5ae

feat(admin): each cycle says how much to fund and how sure that figure is

4 files · +341 · -4
  • Admin
    • funding-cell
    • funding-cell.test
    • overview-tab
    • repayment-schedule-card

docs 16:23:21 a5e98d42

docs(infra): "nothing consumes RedemptionFunded off-chain" was checked against writers only

1 files · +15 · -3
  • Lambda API
    • pools.post.epoch-funding

feat 16:17:58 8f92907d

feat(admin): the repayment schedule card goes live on Overview, and a $0 that meant "unreadable" stops saying "nothing due"

4 files · +93 · -4
  • Admin
    • Route (pool-detail)
    • funding-load-card
    • funding-load.test
    • overview-tab

feat 16:17:30 f3fcccd1

feat(admin): the confirmation card checks what was recorded, and says so when it does not match

3 files · +361 · -15
  • Admin
    • recorded-check-logic
    • recorded-check-logic.test
    • recorded-check-slot

feat 15:52:32 da087889

feat(admin): the fund page says what has to be wired, and never adds the two figures

6 files · +378 · -1
  • Admin
    • Route (fund-detail)
    • funding-load
    • funding-load-card
    • funding-load.test
    • index

feat 15:49:40 9a1a3849

feat(infra): a repayment plan can be read one cycle at a time, and null there means nobody set it

5 files · +264 · -1
  • Admin API
    • pools
    • use-pools
  • Infra
    • CDK Stack (route-configs)
  • Lambda API
    • pools.get.list
    • pools.get.repayment-cycles

feat 15:40:26 7a25eea0

feat(infra): the schedule endpoint can name a cycle, and refuses a date that would sit out of order

5 files · +347 · -25
  • Infra
    • epoch-redemption.ts
    • funding-date-monotonicity.test.ts
    • funding-date-monotonicity.ts
    • index.ts
  • Lambda API
    • pools.post.epoch-schedule

feat 15:39:38 1e62b716

feat(admin): the repayment schedule card, its four faces, and one slot for the other lane

6 files · +502 · -1
  • Admin
    • index
    • recorded-check-slot
    • repayment-schedule-card
    • repayment-stage
    • repayment-stage.test
  • Admin API
    • pools

fix 15:31:56 662025e0

fix(infra): seven columns were live in the database and absent from the file people read to check

2 files · +44 · -6
  • Infra
    • DB schema.sql
  • Other
    • CLAUDE.md

fix 15:30:04 6b50b587

fix(web): a matured single-payout pool says Redeemable, like the cycle pool beside it

1 files · +6 · -1
  • Investor Web
    • PoolBrowseCard

feat 15:22:49 83ec6935

feat(infra): the epoch summary says which cycles the chain was never given, and stops asking a node for everything at once

9 files · +348 · -44
  • Infra
    • DB schema.sql
    • map-with-concurrency.ts
    • unwritten-plan-cycles.test.ts
    • unwritten-plan-cycles.ts
  • Lambda API
    • pools.scheduler.epoch-funding-date
    • pools.worker.deploy
    • redemption-requests.get.epoch-summary
  • Other
    • packages/money-domain/src/tests/repayment-plan-callers-agree.test.ts
    • packages/money-domain/src/policies/repayment-schedule.ts

feat 15:15:46 b06b8f5d

feat(admin): a cycle waiting on maturity stops reading as one about to open

8 files · +148 · -2
  • Admin
    • Route (redemptions)
    • epoch-admin-rollup
    • epoch-cycle-aside
    • epoch-cycle-panel
    • epoch-management-section
    • epoch-phase
    • epoch-phase.test
    • epoch-pool-list

fix 15:09:08 5f5f888b

fix(infra): the deploy was writing a repayment plan the operator never saw, on the last day of the month

4 files · +380 · -12
  • Contract Test
    • PlatformPoolEpoch.t
  • Lambda API
    • pools.scheduler.epoch-funding-date
    • pools.worker.deploy
  • Other
    • packages/money-domain/src/tests/repayment-plan-callers-agree.test.ts

fix 15:00:13 d371bd96

fix(admin): the pool detail called a pool that accepts no request "Every 28 days"

2 files · +52 · -4
  • Admin
    • configuration-tab
    • overview-tab

docs 14:50:41 59ff67b1

docs(infra): the rule columns forbid deciding a date, not reading one

2 files · +20 · -12
  • Infra
    • DB 0189_post_maturity_repayment_plan.sql
    • DB schema.sql

feat 14:34:37 606eb0f1

feat(infra): the deploy writes every repayment date, and the reminder is what state says, not a setting

8 files · +484 · -11
  • Admin
    • amortization-schedule-block
  • Infra
    • DB 0190_redemption_epochs_funding_date.sql
    • DB schema.sql
    • epoch-funding-plan.ts
    • epoch-schedule.ts
    • index.ts
  • Lambda API
    • pools.scheduler.epoch-funding-date
    • pools.worker.deploy

2026-08-16 (Sun)

🟢 ch/product

No activity

🔵 jy/product

fix 22:14:35 a1c37d75

fix(infra): the deploy hands back the bootstrap PAUSER, and the count in 9e0c4bf was wrong

3 files · +67 · -11
  • Infra
    • create-pool-config-calls.test.ts
    • create-pool.ts
  • Smart Contract
    • PlatformPool

fix 22:00:11 9e0c4bf4

fix(infra): a pool created since the KMS split grants its roles to keys that never sign them

4 files · +102 · -19
  • Infra
    • client.ts
    • create-pool-config-calls.test.ts
    • create-pool.ts
    • handler-roles.ts

test 21:49:03 3e7f8474

test(domain): the worker's entry point had no test, which is the half a wrong date lives in

1 files · +172
  • Other
    • packages/money-domain/src/tests/repayment-schedule.test.ts

refactor 21:45:40 d038dd5e

refactor(domain): the repayment calendar moves to money-domain, before a second copy exists

3 files · +179 · -64
  • Admin
    • amortization
  • Other
    • packages/money-domain/src/index.ts
    • packages/money-domain/src/policies/repayment-schedule.ts

test 21:33:04 1b8742a6

test(contract): compare the drifted cutoff against the approved one, not against itself

1 files · +5 · -1
  • Contract Test
    • PlatformPoolEpoch.t

docs 21:28:23 d794f660

docs(infra): the deploy worker has 300s, and 120 belongs to a worker two files away

2 files · +14 · -3
  • Infra
    • client.ts
    • create-pool.ts

test 21:09:58 93e62f1f

test(contract): pin what an unwritten cycle actually pays, and what pinning one costs

1 files · +100
  • Contract Test
    • PlatformPoolEpoch.t

fix 20:47:39 1f74dc0f

fix(admin): the cycle ratio quoted 28 days on a pool whose payouts are a month apart

2 files · +34 · -13
  • Admin
    • amortization-schedule-block
  • Investor Web
    • Route (styleguide.portfolio)

fix 09:35:38 958ae2bb

fix(web): a pool that refuses every request until maturity stops being labelled by its cadence

10 files · +205 · -29
  • Admin
    • amortization-schedule-block
  • Docs
    • 14-decisions.md
    • 17-changelog.md
  • Investor Web
    • PoolBrowseCard
    • Route (styleguide.portfolio)
    • Widget (LiquidityTimeline)
    • Widget (PortfolioComposition)
    • portfolio
    • portfolio-liquidity
    • portfolio-liquidity.test

feat 09:16:28 07f238d6

feat(admin): the wizard can build a post-maturity repayment pool, and the deploy refuses an anchor maturity has outgrown

21 files · +1646 · -82
  • Admin
    • Route (pool-create)
    • Route (preview.pool-create)
    • amortization
    • amortization-schedule-block
    • amortization.test
    • epoch-schedule
    • epoch-schedule.test
    • index
    • payload
    • step-redemption
    • types
    • validation
  • Admin API
    • pools
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • DB 0189_post_maturity_repayment_plan.sql
    • DB schema.sql
  • Lambda API
    • pools.post.create
    • pools.worker.deploy

2026-08-15 (Sat)

🟢 ch/product

No activity

🔵 jy/product

docs 23:39:49 e14b81b0

docs: v3-131 reviewed against the contracts — the substance held, two counts and one estimate did not

4 files · +11 · -4
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md

docs 17:21:25 64a7180b

docs: the post-maturity epoch pool needs no new setting, and two doc claims about maturity were stale (v3-131)

6 files · +235 · -13
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 14-decisions.md
    • 16-timeline.md
    • 17-changelog.md
    • 24-field-governance.md

2026-08-14 (Fri)

🟢 ch/product

chore 18:57:46 c724ba63

chore(infra): the CDK layer stops carrying unused imports, and a flag keeps it that way

3 files · +14 · -4
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (route-configs)
    • tsconfig.json

feat 18:37:34 192c9537

feat(infra): a script to fund the KMS signers from one wallet

2 files · +232
  • Infra
    • fund-signers.ts
    • package.json

refactor 18:37:23 501336c1

refactor(infra): one env file per stage, so a dev value cannot reach prod

15 files · +653 · -111
  • Infra
    • .env.example
    • app.ts
    • backfill-pending-reserve.ts
    • ci.ts
    • docs.ts
    • environment-stage-split.test.ts
    • environment.ts
    • index.ts
    • kms.ts
    • kyc-upgrade.ts
    • load-env.ts
    • migrate-signer-roles.ts
    • verify-signer-roles.ts
  • Other
    • .gitignore

feat 17:39:53 2b35f515

feat(admin): a super-admin page for the gas left in each KMS signing key

16 files · +586 · -62
  • Admin
    • Route (protected-layout)
    • Route (signer-balances)
    • rail
    • rail-visibility
    • route-permissions
    • routes
    • sidebar
    • signer-balances
    • super-admin-gate.test
  • Admin API
    • index
    • keys
    • signer-balances
    • use-signer-balances
  • Docs
    • 15-api-reference.md
  • Infra
    • CDK Stack (route-configs)
  • Lambda API
    • admin-signer-balances.get.list

fix 17:10:36 8a27b14e

fix(deps): the lockfile follows the KMS client into runtime dependencies

1 files · +3 · -3
  • Other
    • pnpm-lock.yaml

fix 17:02:02 46bdb437

fix(infra): a redemption awaiting funding can name its own payout

3 files · +256 · -18
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0188_redemption_list_payout_before_settlement.sql
    • backfill-pending-reserve.ts

docs 16:48:07 a2996485

docs: the signer roles, the removed funding endpoint, and the KYC upgrade

9 files · +56 · -27
  • Docs
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md
    • 23-money-path.md
    • 24-field-governance.md
  • Other
    • CLAUDE.md

fix 16:47:57 83ccd9b0

fix(infra): a mirror the chain alone owns is repaired, not left wrong forever

6 files · +1017 · -1
  • Infra
    • approve-redemption.ts
    • backfill-pending-reserve.ts
    • engine.ts
    • pool-mirrors.ts
    • reconcile-mirrors.test.ts
    • reconcile.ts

feat 16:47:32 7e677025

feat(contract): the KYC SBT upgrade drops its seven-day timelock

6 files · +376 · -17
  • Contract Deploy
    • UpgradeKYCImplementation.s
  • Contract Test
    • PlatformKYCSoulbound.t
  • Infra
    • kyc-upgrade.ts
    • package.json
  • Smart Contract
    • PlatformKYCSoulbound
    • package.json

refactor 16:47:11 a54f04b9

refactor(infra): only the handlers that sign can sign

4 files · +128 · -24
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (lambda-helpers)
    • CDK Stack (route-configs)
    • CDK Stack (route-group-stack)

feat 16:47:00 440f7087

feat(infra): the platform signs with KMS keys, one identity per contract role

35 files · +2169 · -545
  • Infra
    • .env.example
    • CDK Stack (kms-stack)
    • addresses.ts
    • approve-redemption.ts
    • client-lazy-signer.test.ts
    • client.ts
    • create-pool-config-calls.test.ts
    • create-pool.ts
    • derive-signer-addresses.ts
    • environment.ts
    • epoch-redemption.ts
    • fallback-redemption.ts
    • freeze.ts
    • governance.ts
    • handler-roles.ts
    • index.ts
    • kms-address.test.ts
    • kms-address.ts
    • kms-signer.test.ts
    • kms-signer.ts
    • kyc-sbt.ts
    • lifecycle.ts
    • lookup.ts
    • migrate-signer-roles.ts
    • nav.ts
    • package.json
    • pause.ts
    • reinvest.ts
    • verify-signer-roles.ts
    • yield-distribution.ts
  • Lambda API
    • pools.post.create
    • pools.post.epoch-funding
    • pools.post.lifecycle
    • redemption-requests.post.fund

feat 15:26:54 6c6d6f9b

feat(infra): the platform's on-chain signers become KMS keys, one per contract role

4 files · +324
  • Infra
    • CDK Stack (index)
    • CDK Stack (kms-stack)
    • kms.ts
    • roles.ts

🔵 jy/product

fix 15:44:46 afb011aa

fix(admin): the form column stops growing, and a narrow window gets the button first

1 files · +5 · -5
  • Admin
    • Route (login)

fix 15:39:11 212d9c71

fix(admin): the sign-in fills its window, and the panel's type grows with the panel

1 files · +4 · -4
  • Admin
    • Route (login)

fix 15:32:56 657c2c73

fix(admin): the sign-in splits in half and the form hangs off the split

1 files · +6 · -2
  • Admin
    • Route (login)

fix 15:29:57 5cc58e40

fix(admin): the standalone mark takes the round dot, because the pill is a hyphen

2 files · +46 · -33
  • Admin
    • favicon
  • Admin UI
    • logo

feat 15:20:36 b53d71a9

feat(admin): /login takes the split-rail layout, and its preview comes back out

3 files · +99 · -195
  • Admin
    • Route (login)
    • Route (preview.login)
    • routes

feat 14:55:47 5672e1e5

feat(admin): a sign-in that looks like the product it opens, previewed before /login takes it

4 files · +170 · -1
  • Admin
    • Route (preview.login)
    • routes
  • Admin UI
    • index
    • logo

2026-08-13 (Thu)

🟢 ch/product

chore 19:03:25 9accffd1

chore(db): the three dead money_event_kind labels come out of the type

4 files · +197 · -36
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0187_drop_dead_money_event_kinds.sql
    • DB schema.sql
  • Other
    • packages/money-domain/src/tests/events.test.ts

other 19:03:25 d86dcc8e

revert(kyc): the mint stamp goes back to an unconditional write, because a PostgREST filter is not a claim

4 files · +70 · -88
  • Infra
    • apply-review.ts
    • mint-queue.ts
  • Lambda API
    • kyc.post.mint-sbt
    • kyc.scheduler.reconcile-sweep

fix 19:03:25 5e7c2503

fix(indexer): the mirror watched six of nine governance events, and one of twenty-two config ones

9 files · +640 · -3
  • Infra
    • config-mirrors.test.ts
    • config-mirrors.ts
    • config.ts
    • engine.ts
    • event-coverage.test.ts
    • events.ts
    • freeze.ts
    • governance.ts
    • pause.ts

fix 19:03:25 ed5a4384

fix(indexer): the drift check reaches a person, and three ways the sweep went quiet

6 files · +310 · -19
  • Infra
    • alerts.ts
    • engine.ts
    • pipeline.ts
    • pool.ts
    • range-limit.test.ts
    • range-limit.ts

fix 19:03:25 496dc674

fix(kyc): the mint claim returns the column it filters on, so enqueueing works again

2 files · +58 · -13
  • Infra
    • apply-review.ts
    • mint-queue.ts

fix 19:03:25 1d3eb32e

fix(money): the lock-up anchor is emitted rather than inferred, and three more single-source repairs

27 files · +905 · -82
  • Admin
    • deploy-status-banner
    • status
  • Contract Test
    • PlatformPool.t
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 07-redemption.md
    • 14-decisions.md
  • Infra
    • DB 0186_stablecoin_registry_address_is_lowercase.sql
    • DB seed.sql
    • backfill-invested-at.ts
    • decode.ts
    • diff-compare.test.ts
    • fold.test.ts
    • fold.ts
    • pipeline.ts
    • pool-read-access.ts
    • pool-visibility.test.ts
    • pool-visibility.ts
    • resolve.ts
    • stablecoin.ts
    • transfer-holders.test.ts
  • Lambda API
    • deposits.post.create
    • pools.get.list
    • yield.post.reinvest
  • Other
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • PlatformPool
    • YieldLib

fix 17:20:40 cfbe2b90

fix(admin): inviting a deleted account's email restores it instead of hitting the unique index

6 files · +166 · -21
  • Admin
    • admin-users-tab
  • Admin API
    • admin-users
  • Docs
    • 09-rbac.md
    • 11-db-schema.md
  • Infra
    • activity.ts
  • Lambda API
    • admin-users.post.invite

fix 15:18:35 5bfed603

fix(yield): a settlement that credited nobody had no way to say so

8 files · +203 · -19
  • Contract Test
    • PlatformPool.t
  • Docs
    • 10-status-machines.md
    • 11-db-schema.md
  • Infra
    • DB 0185_distribution_status_stops_reading_absence.sql
    • distribution.ts
    • run-distribution.ts
  • Lambda API
    • yield-distributions.get.counts
  • Smart Contract
    • YieldLib

fix 13:55:36 0f09edb3

fix(kyc): the camera allowlist names the origin our tokens actually route to

1 files · +14 · -2
  • Infra
    • CDK Stack (spa-security-headers)

fix 13:55:36 ddf48705

fix(money): a redemption that closes without settling now says how much went back

11 files · +177 · -29
  • Contract Test
    • PlatformPool.t
  • Infra
    • DB 0184_funding_returned_kind.sql
    • DB schema.sql
    • decode.ts
    • fold.ts
  • Other
    • packages/money-contract/src/generated/platform-pool.ts
    • packages/money-domain/src/tests/events.test.ts
    • packages/money-domain/src/events.ts
  • Smart Contract
    • PlatformPool
    • PoolLedgerLib
    • RedemptionLib

fix 10:56:16 b50409bc

fix(deps): commit the lockfile that already had the KMS client resolved

1 files · +1181 · -68
  • Other
    • pnpm-lock.yaml

refactor 10:52:39 96d0942c

refactor(money): the hold-back comes out, and five formulas stop carrying its bucket

74 files · +527 · -1194
  • Admin
    • Route (redemptions)
    • epoch-management-section
    • overview-tab
    • status
  • Admin API
    • redemption-requests
  • Contract Test
    • GoldenFixtures.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFlows.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
    • PlatformPoolYieldInvariant.t
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09a-custody.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
    • 22-notifications.md
    • 23-money-path.md
    • 26-glossary.md
  • Infra
    • DB 0183_drop_holdback.sql
    • DB schema.sql
    • apply-proposal.ts
    • approve-redemption.ts
    • decode.ts
    • diff.ts
    • engine.ts
    • epoch-redemption.ts
    • events.ts
    • fallback-redemption.ts
    • fold.test.ts
    • fold.ts
    • governance.ts
    • holdback-release.test.ts
    • holdback-release.ts
    • in-app-copy.ts
    • index.ts
    • redemption.ts
    • units.test.ts
    • units.ts
    • write.ts
  • Investor Web
    • status
  • Lambda API
    • pools.post.notify-fund
    • pools.post.wind-down
    • redemption-requests.get.epoch-summary
  • Other
    • CLAUDE.md
    • packages/money-contract/src/generated/platform-pool.ts
    • packages/money-core/src/tests/prorata.test.ts
    • packages/money-core/src/axis.ts
    • packages/money-core/src/prorata.ts
    • packages/money-domain/fixtures/README.md
    • packages/money-domain/fixtures/deposit.json
    • packages/money-domain/fixtures/epoch.json
    • packages/money-domain/fixtures/redemption-instant.json
    • packages/money-domain/fixtures/wind-down.json
    • packages/money-domain/src/tests/deposit-math.test.ts
    • packages/money-domain/src/tests/events.test.ts
    • packages/money-domain/src/tests/fixture-shape.test.ts
    • packages/money-domain/src/tests/money-core-conformance.test.ts
    • packages/money-domain/src/events.ts
    • scripts/check-contract-boundaries.mjs
  • Smart Contract
    • GovernanceLib
    • NavLib
    • PlatformPool
    • PlatformPoolStorage
    • PoolLedgerLib
    • RedemptionLib
    • YieldLib

fix 10:52:39 c424ece2

fix(kyc): IN_REVIEW means the applicant was submitted, not that the SDK was opened

12 files · +315 · -102
  • Docs
    • 03-kyc-identity.md
    • 10-status-machines.md
  • Infra
    • applicant-submitted.test.ts
    • client.ts
    • enter-review.ts
    • index.ts
    • sync-review.ts
  • Investor Web UI
    • KYCModal
  • Lambda API
    • kyc.post.access-token
    • kyc.post.sync
    • kyc.post.webhook
    • kyc.scheduler.reconcile-sweep

fix 10:52:39 b5fffa5f

fix(kyc): the SBT mint stops inventing a jurisdiction, and a login stops collapsing four identity states into two

32 files · +969 · -310
  • Docs
    • 03-kyc-identity.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • DB 0183_kyc_logs_reviewed_at_indexes.sql
    • DB schema.sql
    • applicant-mirror.test.ts
    • applicant-mirror.ts
    • apply-review.ts
    • client.ts
    • final-rejection.ts
    • index.ts
    • kyc-gating.test.ts
    • kyc-gating.ts
    • kyc-sbt.ts
    • mint-queue.ts
    • review-log.ts
    • sbt-sync.test.ts
    • sbt-sync.ts
    • sbt-validity.test.ts
    • sbt-validity.ts
    • verification-gate.ts
  • Investor Web API
    • use-user-settings
  • Lambda API
    • auth.post.verify
    • kyc.get.status
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.reuse
    • kyc.post.webhook
    • kyc.scheduler.reconcile-sweep
    • kyc.scheduler.reverify-sweep

fix 10:52:39 a49d3ee2

fix(nav): the tranche write-down priced a loss against the denominator R9 rejected

6 files · +165 · -48
  • Infra
    • announce-writedown.ts
    • writedown-crossing.test.ts
    • writedown-update-copy.ts
  • Lambda API
    • nav-changes.post.activate
    • nav-changes.scheduler.apply-pending
    • tranche.post.writedown

fix 10:52:39 ffaa796f

fix(money): a transaction that already succeeded stops being reported as a failure

32 files · +782 · -324
  • Infra
    • epoch-settlement.test.ts
    • epoch-settlement.ts
    • epoch.ts
    • governance.ts
    • lookups.ts
    • own-transaction.ts
    • package.json
    • pipeline.ts
    • redemption.ts
    • run-distribution.ts
    • yield.ts
  • Lambda API
    • deposits.post.create
    • pools.post.epoch-funding
    • pools.post.notify-fund
    • redemption-requests.post.approve
    • redemption-requests.post.claim
    • redemption-requests.post.claim-fallback
    • redemption-requests.post.create
    • redemption-requests.post.escalate
    • redemption-requests.post.fund
    • redemption-requests.post.notify-fund
    • redemption-requests.post.record-funding
    • redemption-requests.post.reject
    • redemption-requests.scheduler.epoch-cutoff
    • redemption-requests.scheduler.epoch-execute
    • yield-claims.post.create
    • yield.post.reinvest
    • yield.scheduler.reconcile
    • yield.scheduler.stalled
  • Other
    • scripts/check-fastpath-ingest.mjs

🔵 jy/product

feat 17:38:29 469f1aed

feat(design): fluid type, one page column, and a monitor rung that buys content instead of size

47 files · +371 · -97
  • Admin
    • Route (dashboard)
    • Route (fund-detail)
    • Route (fund-invite-accept)
    • Route (login)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (preview.pool-create)
    • Route (preview.redemptions)
    • Route (preview.yield)
    • Route (super-login)
    • editorial
    • fund-dialog
    • nav-change-dialog
    • pool-controls
    • totp-step
  • Admin UI
    • page-header
    • page-layout
  • Docs
    • 14-decisions.md
    • 17-changelog.md
    • 25-design-system.md
  • Investor Web
    • PoolBrowseCard
    • Route ($)
    • Route (activity)
    • Route (dashboard)
    • Route (help)
    • Route (kyc)
    • Route (notifications)
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Route (settings)
    • Route (styleguide.epoch-states)
    • Route (styleguide.notifications)
    • Route (styleguide.portfolio)
    • Widget (header)
    • Widget (notification-detail-modal)
    • global
    • root
  • Investor Web UI
    • Footer
    • KYCModal
    • LegalPageLayout
    • OnboardingModal
    • RedeemModal
    • YieldClaimDialog
    • skeleton
  • Other
    • packages/ds-editorial/src/tokens.css

feat 12:01:59 e30866ba

feat(admin): Redemptions matches the mockup — pool roll-ups both tabs, one right column that swaps

8 files · +620 · -31
  • Admin
    • Route (redemptions)
    • epoch-cycle-aside
    • epoch-management-section
    • index
    • instant-pool-aside
    • instant-pool-rollup
  • Admin API
    • use-redemption-requests

fix 11:48:47 d40c56f4

fix(admin): the cycle detail is laid out for the column it is actually in, and can be closed

2 files · +49 · -9
  • Admin
    • epoch-cycle-panel
    • epoch-management-section

fix 11:40:28 6c18a030

fix(admin): the epoch cycle opens beside the table, in the slot the overview panel was holding

3 files · +47 · -10
  • Admin
    • Route (redemptions)
    • epoch-cycle-panel
    • epoch-management-section

fix 11:23:39 ff43ee13

fix(admin): the epoch rollup opens a cycle on click, instead of always having one open

1 files · +24 · -5
  • Admin
    • epoch-management-section

feat 11:13:31 76ca7100

feat(admin): the obligation panel stays on Epoch, an admin can chase from the card, and a passed date says so

3 files · +105 · -12
  • Admin
    • Route (redemptions)
    • confirmed-obligations
    • funding-load-card

fix 10:59:50 20c0b9f8

fix(redemptions): archived pools are not obligations, and stop counting toward the denominator

2 files · +23 · -4
  • Admin
    • Route (redemptions)
  • Lambda API
    • redemption-requests.get.epoch-summary

fix 10:53:44 da2bd07d

fix(admin): a scheduled cycle is numbered by the cursor that is accepting requests, not the one settling

4 files · +70 · -10
  • Admin
    • Route (redemptions)
    • epoch-management-section
    • redemption-funding
    • redemption-obligations-nodes.test

2026-08-12 (Wed)

🟢 ch/product

fix 17:59:24 94fcca5b

fix(money): stablecoin scale is a property of the token, not an assumption

23 files · +570 · -277
  • Infra
    • DB 0180_stablecoin_decimals_stop_guessing.sql
    • DB 0181_money_positions_backing_invariant.sql
    • deposit.ts
    • diff-compare.test.ts
    • diff.ts
    • events.ts
    • fees.ts
    • fold.test.ts
    • fold.ts
    • ledger.ts
    • mirror.ts
    • pipeline.ts
    • redemption.ts
    • replay.ts
    • run-distribution.ts
    • stablecoin.ts
    • write.ts
    • yield.ts
  • Lambda API
    • deposits.post.create
    • pools.post.epoch-funding
    • redemption-requests.post.fund
    • yield-distributions.post.distribute

fix 16:35:58 e145fa2c

fix(money,web): a position priced off the fold read $0, because par emits no event

3 files · +51 · -26
  • Infra
    • read.ts
  • Investor Web API
    • portfolio-positions
  • Lambda API
    • portfolio-positions.get.list

fix 16:22:15 982844e3

fix(money): a ledger integer read back as a double loses its last digits

5 files · +111 · -9
  • Infra
    • fold.ts
    • governance.ts
    • ledger.ts
    • numeric.test.ts
    • numeric.ts

fix 16:22:15 2f730b12

fix(infra): a deploy that cannot succeed says so, instead of spinning forever

5 files · +191 · -60
  • Infra
    • pool-field-validation.test.ts
    • pool-field-validation.ts
  • Lambda API
    • pools.post.create
    • pools.post.lifecycle
    • pools.worker.deploy

refactor 16:22:15 9ec2b0f3

refactor(money): positions read the projection, and portfolio_positions goes

32 files · +858 · -385
  • Infra
    • CDK Stack (route-configs)
    • DB 0177_projection_stores_its_yield_accumulator.sql
    • DB 0178_position_list_replaces_portfolio_positions.sql
    • DB 0179_reseed_fjl_display_positions.sql
    • DB schema.sql
    • diff.ts
    • index.ts
    • investor-stats.ts
    • mirror.ts
    • read.ts
    • redemption.ts
    • resolve.ts
    • run-distribution.ts
    • write.ts
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
    • Route (styleguide.portfolio)
    • Widget (PCWidgets)
    • use-redeem-flow
  • Investor Web API
    • redemption-requests
    • yield-claims
  • Investor Web UI
    • YieldClaimDialog
  • Lambda API
    • pool-updates.get.list
    • pools.delete
    • portfolio-positions.get.list
    • redemption-requests.post.create
    • users.get.investor-detail
    • yield-claims.post.create
    • yield-distributions.get.investors
    • yield.post.reinvest
    • yield.scheduler.reconcile

refactor 16:22:15 ed255722

refactor(infra): the API route table moves out of the stack that mounts it

2 files · +1099 · -1089
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (route-configs)

refactor 16:22:15 a3bd581d

refactor(web,admin): route components hand their own state to the pieces that use it

19 files · +3038 · -2349
  • Admin
    • Route (admin-settings)
    • Route (dashboard)
    • Route (fund-detail)
    • Route (redemptions)
    • Route (yield)
    • admin-users-tab
    • create-distribution-dialog
    • distribute-with-retry
    • epoch-management-section
    • fund-members-section
    • index
    • use-dashboard-retry
    • yield-calc-breakdown
  • Investor Web
    • Route (pool.$id)
    • Widget (withdraw-dialog)
    • use-epoch-position

refactor 16:22:15 0b4f3877

refactor(web,admin): the browser shell both apps copy lives in one package

14 files · +242 · -1096
  • Admin
    • env
    • package
    • query-client
    • wagmi
  • Investor Web
    • env
    • package
    • query-client
    • wagmi
  • Other
    • packages/app-kit/package.json
    • packages/app-kit/src/env.ts
    • packages/app-kit/src/index.ts
    • packages/app-kit/src/query-client.ts
    • packages/app-kit/src/wagmi-wallets.ts
    • pnpm-lock.yaml

refactor 16:22:15 2c7cd755

refactor(types): the pools row is declared once, not once per app

5 files · +126 · -150
  • Admin API
    • pools
  • Investor Web
    • index
  • Investor Web API
    • pools
  • Other
    • packages/types/src/index.ts
    • packages/types/src/pool-row.ts

refactor 16:22:15 cd6a8d53

refactor(infra): one place decides whether a pool config is valid

6 files · +640 · -397
  • Infra
    • pool-field-validation.test.ts
    • pool-field-validation.ts
    • yield-interval.ts
    • yield-schedule.ts
  • Lambda API
    • pools.patch.update
    • pools.post.create

chore 16:22:15 c2461680

chore(infra): retire the refactor's one-off scripts and the column they fed

14 files · +120 · -7662
  • Admin
    • wallet-silent-reconnect
  • Docs
    • 23-money-path.md
  • Infra
    • DB 0176_drop_deployed_block.sql
    • PlatformKYCSoulbound.abi.json
    • PlatformLPToken.abi.json
    • PlatformPool.abi.json
    • PlatformPoolFactory.abi.json
    • README.md
    • backfill-maturity-date.ts
    • backfill.ts
    • capture-deployment-blocks.ts
    • registry.json
  • Investor Web
    • wallet-silent-reconnect
  • Other
    • packages/app-kit/src/wallet-silent-reconnect.ts

refactor 13:14:12 18278701

refactor(money): one rule, one implementation of redemptionState

3 files · +18 · -85
  • Other
    • packages/money-core/src/tests/penalty.test.ts
    • packages/money-core/src/penalty.ts
    • packages/money-domain/src/policies/redemption.ts

refactor 13:14:12 c4b70f80

refactor(money): the distribution workflow table finally gets its writer

16 files · +600 · -220
  • Infra
    • DB 0175_distribution_joins_the_ledger.sql
    • DB schema.sql
    • distribution.ts
    • due-rows.ts
    • next-due.ts
    • pipeline.ts
    • run-distribution.ts
    • yield-schedule.ts
    • yield.ts
  • Lambda API
    • dashboard.get.stats
    • yield-distributions.get.counts
    • yield-distributions.get.investors
    • yield-distributions.get.list
    • yield-distributions.post.create
    • yield-distributions.post.distribute
    • yield.scheduler.stalled

fix 10:53:02 f423c03c

fix(admin): the funding path read a struct position that had moved

11 files · +171 · -40
  • Admin
    • use-fund-all-flow
    • use-fund-redemption-flow
  • Infra
    • approve-redemption.ts
    • exit-gate.ts
    • fallback-redemption.ts
  • Lambda API
    • redemption-requests.post.cancel
    • redemption-requests.post.create
  • Other
    • packages/money-contract/package.json
    • packages/money-contract/src/tests/tuples.test.ts
    • packages/money-contract/src/index.ts
    • packages/money-contract/src/tuples.ts

🔵 jy/product

refactor 19:11:27 404862bd

refactor(web): the last tranche pill becomes a dot, and the risk-tier pill loses its file

4 files · +37 · -60
  • Investor Web
    • PoolBrowseCard
    • TrancheBadge
  • Investor Web UI
    • index
    • risk-tier-badge

test 19:01:28 a60638db

test(admin): the preview route gets the zero state, which is the one the live screen is usually in

1 files · +32
  • Admin
    • Route (preview.redemptions)

feat 18:45:27 cdaf5baf

feat(admin): the pool-level FM nudge goes live, and the obligation card stops disappearing when it is zero

8 files · +182 · -20
  • Admin
    • Route (redemptions)
    • epoch-admin-rollup
    • epoch-cycle-panel
    • epoch-management-section
    • funding-load-card
  • Admin API
    • keys
    • redemption-requests
    • use-redemption-requests

fix 18:22:30 dea343ae

fix(infra): the redemption list view stops inverting its own wait state, and stops guessing a token's scale

13 files · +733 · -23
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • CDK Stack (route-configs)
    • DB 0182_redemption_list_status_and_hold_flag.sql
    • DB schema.sql
    • read.ts
    • redemption-decision.ts
  • Lambda API
    • pools.post.notify-fund
    • redemption-requests.get.instant-summary
    • redemption-requests.get.list
    • redemption-requests.post.notify-fund
    • yield.scheduler.reconcile

fix 18:06:51 9f3a8add

fix(web): the pool page called a hook after its own early return, so a cold load died

1 files · +16 · -4
  • Investor Web
    • Route (pool.$id)

fix 17:45:57 41a52fad

fix(web): a badge lookup that used to miss quietly now throws, and a sync signal that is no longer sent

2 files · +23 · -16
  • Investor Web API
    • portfolio-positions
  • Investor Web UI
    • tx-type-badge

fix 17:30:37 fa29412b

fix(web): one type scale across the PDP and the portfolio, and the last pills go

17 files · +198 · -196
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
    • Widget (LiquidityTimeline)
    • Widget (PCWidgets)
    • Widget (PortfolioComposition)
    • Widget (PortfolioHero)
    • Widget (PortfolioHistory)
    • Widget (cancel-redemption-dialog)
    • Widget (epoch-position-panel)
    • Widget (fund-data-tab)
    • Widget (invest-confirm-dialog)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (performance-tab)
    • Widget (position-card)
    • Widget (reinvest-confirm-dialog)
    • Widget (withdraw-dialog)

refactor 17:23:56 c80e79da

refactor(web): finish the withdraw-dialog extraction the merge left half-done

2 files · +36 · -429
  • Investor Web
    • Route (portfolio)
    • Widget (withdraw-dialog)

fix 17:02:36 4b481817

fix(web): the status badge stopped being legible when it stopped being a pill, and the lead pair loses its rules

3 files · +38 · -17
  • Investor Web
    • Widget (PCWidgets)
    • Widget (PortfolioHistory)
  • Investor Web UI
    • status-badge

refactor 16:58:53 06cc49d1

refactor(admin): Step 4 splits Yield from Fees, and says why there is no payout-date field

5 files · +215 · -159
  • Admin
    • Route (preview.epoch-schedule)
    • Route (preview.pool-create)
    • routes
    • step-yield-fees

feat 16:54:48 838f018b

feat(web): two zones instead of three, and the status pill becomes a dot

6 files · +198 · -210
  • Investor Web
    • Widget (LiquidityTimeline)
    • Widget (PCWidgets)
    • Widget (PortfolioHistory)
    • portfolio
  • Investor Web UI
    • status-badge
    • tx-type-badge

refactor 16:47:30 3a8d2f94

refactor(admin): lock and timelock copy speaks to the operator, not about the system

8 files · +19 · -19
  • Admin
    • epoch-schedule-block
    • permissions
    • step-basics
    • step-compliance
    • step-redemption
    • step-structure
    • step-terms

docs 16:37:30 90c30d64

docs(v3-125) + test(web): write down the par ceiling, and pin the dates the timeline emits

7 files · +279 · -8
  • Docs
    • 14-decisions.md
    • 17-changelog.md
  • Investor Web
    • Widget (LiquidityTimeline)
    • Widget (PCWidgets)
    • Widget (PortfolioComposition)
    • Widget (PortfolioHistory)
    • portfolio-liquidity.test

refactor 16:35:22 80aae5ca

refactor(admin): field help becomes one line, and the wizard stops being narrower than the pool page

14 files · +123 · -110
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • epoch-schedule-block
    • step-basics
    • step-compliance
    • step-redemption
    • step-structure
    • step-terms
    • step-yield-fees

fix 16:20:23 8a4b00eb

fix(admin): the epoch bar's labels overflowed at a 1-day leftover; add /preview/epoch-schedule

4 files · +209 · -24
  • Admin
    • Route (pool-create)
    • Route (preview.epoch-schedule)
    • epoch-schedule-block
    • routes

fix 16:17:31 b4ecba3a

fix(web): an unreadable date should cost one value, not the whole route

2 files · +34 · -8
  • Investor Web
    • formatters
    • portfolio-liquidity

docs 16:11:40 a982a4f4

docs(v3-124): three time bases stay apart, and 07's cycle diagram was missing a third of the cycle

5 files · +98 · -14
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md
    • 26-glossary.md

feat 16:11:23 b9855d6c

feat(admin): the epoch wizard draws the whole cycle, and a month means 30 days

9 files · +636 · -118
  • Admin
    • editorial
    • epoch-schedule
    • epoch-schedule-block
    • epoch-schedule.test
    • index
    • step-redemption
    • time-units
    • time-units.test

feat 15:29:46 080362ca

feat(web): rebuild the portfolio around when the money comes back

14 files · +2391 · -195
  • Investor Web
    • Route (activity)
    • Route (portfolio)
    • Route (styleguide.portfolio)
    • Widget (LiquidityTimeline)
    • Widget (PCWidgets)
    • Widget (PortfolioComposition)
    • Widget (PortfolioHero)
    • Widget (PortfolioHistory)
    • global
    • portfolio
    • portfolio-liquidity
    • routes
    • transaction-entries
  • Investor Web UI
    • RedeemModal

docs 12:31:00 4610d0e0

docs(v3-123): record the Yield batch run, and retire a "not built" claim that shipped a week ago

3 files · +52 · -5
  • Docs
    • 13-operations.md
    • 14-decisions.md
    • 17-changelog.md

feat 12:23:09 2471f351

feat(admin): the Yield review can sign the whole priced set, as N deposits

5 files · +383 · -40
  • Admin
    • Route (preview.yield)
    • Route (yield)
    • fund-all-dialog
    • routes
    • use-fund-all-flow

fix 11:37:12 43a445a3

fix(web,admin): a holder's own redemption was priced in LP, and shown as $0 when it had no price

6 files · +79 · -31
  • Admin
    • epoch-cycle-panel
    • epoch-pool-list
  • Investor Web
    • Route (activity)
    • Widget (activity-tab)
    • transaction-entries
  • Investor Web UI
    • TransactionDetailDrawer

2026-08-11 (Tue)

🟢 ch/product

docs 19:21:35 7f77ca5d

docs: retire the money-flow refactor working notes

1 files · -938
  • Docs
    • money-flow-architecture.md

fix 19:21:34 97a60b97

fix(admin): two epoch statuses had no tab, and Failed could never have one

10 files · +168 · -29
  • Admin
    • Route (redemptions)
    • epoch-cycle-panel
    • epoch-pool-filter
    • epoch-pool-filter.test
    • fund-dialog
    • fund-epoch-cycle-button
    • index
  • Admin API
    • redemption-requests
  • Lambda API
    • redemption-requests.get.counts
    • redemption-requests.get.list

fix 19:19:03 e78342b7

fix(contract): an approved redemption could settle out of the partner's yield

7 files · +322 · -100
  • Contract Test
    • PlatformPool.t
    • PlatformPoolFlows.t
    • PlatformPoolYieldInvariant.t
  • Infra
    • approve-redemption.ts
    • fallback-redemption.ts
    • units.test.ts
  • Smart Contract
    • RedemptionLib

fix 19:19:03 495716b0

fix(contract): the generated ABI declared a RedemptionRequested nobody emits

2 files · +133 · -45
  • Other
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • sepolia.md

fix 19:19:03 71467c6f

fix(money): the screens computed answers the pool already holds

31 files · +1904 · -191
  • Admin
    • Route (dashboard)
    • Route (redemptions)
    • epoch-cycle-panel
    • overview-tab
  • Admin API
    • dashboard
    • redemption-requests
  • Contract Test
    • PlatformPoolInvariant.t
    • PlatformPoolPenaltyInvariant.t
    • PlatformPoolYieldInvariant.t
  • Docs
    • 11-db-schema.md
    • 23-money-path.md
  • Infra
    • DB 0174_drop_legacy_schema.sql
    • DB schema.sql
    • cost-basis.test.ts
    • cost-basis.ts
    • dispatch-coverage.test.ts
    • engine.ts
    • package.json
    • pool-maturity.test.ts
    • pool-maturity.ts
    • reserve-shortfall.test.ts
    • reserve-shortfall.ts
  • Lambda API
    • dashboard.get.stats
    • pools.scheduler.lifecycle
    • redemption-requests.get.epoch-summary
  • Other
    • packages/money-core/package.json
    • packages/money-core/src/tests/penalty.test.ts
    • packages/money-core/src/tests/pricing.test.ts
    • packages/money-core/src/tests/prorata.test.ts
    • packages/money-domain/package.json
    • scripts/check-tests-present.mjs

fix 19:19:03 1e27de91

fix(money): the indexer was still writing two columns the fold owns

7 files · +401 · -46
  • Docs
    • 11-db-schema.md
    • 23-money-path.md
    • 26-glossary.md
  • Infra
    • DB 0172_drop_money_tvl_daily.sql
    • DB 0173_pool_delete_drops_money_tvl_daily_reference.sql
    • DB schema.sql
    • engine.ts

fix 19:19:03 aa3561fb

fix(money): the yield split stops computing a denominator the contract already applied

7 files · +232 · -1328
  • Admin
    • backend_requirements
  • Docs
    • 11-db-schema.md
    • d-1-decision.md
  • Infra
    • DB schema.sql
    • run-distribution.ts
  • Other
    • docs-code-verification.md
    • refactor-review-infra.md

feat 19:19:03 a6092b5b

feat(money): the four things the ledger migration left for a decision

21 files · +557 · -101
  • Admin
    • Route (dashboard)
    • package
    • use-fund-all-flow
    • use-fund-redemption-flow
  • Infra
    • DB 0171_failed_alerts_count_reverted_submissions.sql
    • DB schema.sql
    • deposit.ts
    • fastpath.ts
    • ops-variants.ts
    • yield.ts
  • Investor Web
    • Widget (invest-sidebar)
    • epoch-position-state
    • pool-exit
    • refusals
  • Investor Web UI
    • YieldClaimDialog
  • Lambda API
    • dashboard.get.stats
    • deposits.post.create
    • redemption-requests.post.create
  • Other
    • packages/money-domain/src/policies/redemption.ts
    • packages/money-domain/src/pool-state.ts
    • pnpm-lock.yaml

style 19:15:01 b8882dff

style(admin): the sidebar scrolled the account block out of reach

1 files · +36 · -30
  • Admin
    • rail

style 11:15:32 e6b6f0e4

style(admin): the sidebar scrolled but did not need to show it

2 files · +12 · -1
  • Admin
    • global
    • rail

refactor 00:46:05 2962da6a

refactor(money): retire the shadow, keep the tools that write the live ledger

27 files · +7509 · -10723
  • Admin API
    • pools
  • Infra
    • DB 0169_drop_deprecated_pool_columns.sql
    • DB 0170_drop_replay_shadow_schema.sql
    • DB schema.sql
    • PlatformKYCSoulbound.abi.json
    • PlatformLPToken.abi.json
    • PlatformPool.abi.json
    • PlatformPoolFactory.abi.json
    • README.md
    • backfill.ts
    • capture-deployment-blocks.ts
    • ledger-rows.json
    • load.ts
    • project.ts
    • registry.json
    • run.ts
    • transactions.json
    • yield-schedule.ts
  • Lambda API
    • pools.get.list

refactor 00:45:56 5591807d

refactor(money): drop the four tables the ledger replaced, keep the history it does not hold

11 files · +356 · -701
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
    • 23-money-path.md
  • Infra
    • DB 0163_dashboard_alerts_from_ledger.sql
    • DB 0164_pool_delete_and_epoch_summary_from_ledger.sql
    • DB 0165_drop_migrated_money_tables.sql
    • DB 0166_drop_orphaned_deposit_procedures.sql
    • DB 0167_drop_orphaned_deposit_procedures_correct_signatures.sql
    • DB 0168_legacy_schema_is_kept.sql
    • DB schema.sql
  • Lambda API
    • dashboard.get.stats

🔵 jy/product

feat 15:39:15 30bdea68

feat(admin): A-7 an epoch row says what kind of demand it is, A-8 the announced NAV shows its number

2 files · +117 · -12
  • Admin
    • Route (redemptions)
    • epoch-cycle-panel

feat 15:08:32 33180549

feat(admin): A-5 an admin reads epoch as one row per pool

4 files · +250 · -9
  • Admin
    • Route (preview.redemptions)
    • Route (redemptions)
    • epoch-admin-rollup
    • index

feat 14:49:17 3c1809d4

feat(admin): A-3 the payout shows its arithmetic, A-4 an epoch request offers its cycle's Fund

3 files · +211 · -36
  • Admin
    • Route (preview.redemptions)
    • Route (redemptions)
    • redemption-detail-panel

feat 13:00:43 a5d5a6e0

feat(admin): A-2 Fund all, as N signatures that survive one of them failing

7 files · +639 · -10
  • Admin
    • Route (preview.redemptions)
    • Route (redemptions)
    • fund-all-button
    • fund-all-dialog
    • funding-load-card
    • use-fund-all-flow
    • use-fund-redemption-flow

docs 12:45:35 09557f53

docs(admin): correct what amount means, after ch/product moved it back

4 files · +16 · -13
  • Admin
    • Route (redemptions)
    • redemption-detail-panel
    • redemption-funding-modal
  • Admin API
    • redemption-requests

feat 12:41:41 e99a011a

feat(admin): A-6 the mode toggle reads as a mode, and A-1 the Fund dialog says what an amount buys

7 files · +409 · -145
  • Admin
    • Route (preview.redemptions)
    • Route (redemptions)
    • epoch-cycle-panel
    • fund-cycle-dialog
    • fund-dialog
    • fund-epoch-cycle-button
    • fund-payout-button

fix 11:03:14 1295171e

fix(admin): the timelines were printing a clock, and the hero buried its own figure

7 files · +58 · -29
  • Admin
    • Route (preview.redemptions)
    • Route (redemptions)
    • confirmed-obligations
    • datetime
    • funding-load-card
    • index
    • upcoming-timeline

feat 10:57:09 acfb0102

feat(admin): the wallet coverage line and the dashed TBD node, as the mockup drew them

7 files · +248 · -47
  • Admin
    • Route (preview.redemptions)
    • Route (redemptions)
    • confirmed-obligations
    • funding-load-card
    • redemption-funding
    • redemption-obligations-nodes.test
    • use-fund-wallet-coverage

feat 10:46:22 73ce74db

feat(admin): the right panel says where the money has to go, not how many rows there are

5 files · +328 · -34
  • Admin
    • Route (preview.redemptions)
    • Route (redemptions)
    • funding-load-panel
    • index
    • redemption-funding

feat 10:37:31 a3798818

feat(admin): a preview route, so the redemption sections can be reviewed without seeding

4 files · +151 · -2
  • Admin
    • Route (preview.redemptions)
    • epoch-cycle-panel
    • index
    • routes

feat 10:31:21 d3cd8a31

feat(admin): an instant row says how much it is short, and each mode says what it lists

1 files · +41 · -3
  • Admin
    • Route (redemptions)

feat 10:29:34 f62daff6

feat(admin): the epoch cycle says how short it is, and what happens if nobody funds it

2 files · +87
  • Admin
    • Route (redemptions)
    • epoch-cycle-panel

2026-08-10 (Mon)

🟢 ch/product

fix 19:48:32 9532439f

fix(build): the web deploy could not build a package it depends on

3 files · +8 · -8
  • Admin
    • package
  • Infra
    • package.json
  • Investor Web
    • package

feat 19:42:07 2d0e6900

feat(landing): /trust, plus one shell and one type scale for five pages

92 files · +2576 · -260
  • Other
    • landing/app/root.tsx
    • landing/app/routes.ts
    • landing/app/routes/$.tsx
    • landing/app/routes/about.tsx
    • landing/app/routes/fund-managers.tsx
    • landing/app/routes/investors.tsx
    • landing/app/routes/landing.tsx
    • landing/app/routes/layout.tsx
    • landing/app/routes/trust.tsx
    • landing/app/shared/config/contact.ts
    • landing/app/shared/config/sections.ts
    • landing/app/shared/copy/about.ts
    • landing/app/shared/copy/fund-managers.ts
    • landing/app/shared/copy/investors.ts
    • landing/app/shared/copy/landing.ts
    • landing/app/shared/copy/site.ts
    • landing/app/shared/copy/trust.ts
    • landing/app/shared/ui/glyph.tsx
    • landing/app/shared/ui/index.ts
    • landing/app/shared/ui/pill-button.tsx
    • landing/app/shared/ui/platform-logo.tsx
    • landing/app/widgets/about/hero.tsx
    • landing/app/widgets/about/index.ts
    • landing/app/widgets/about/team.tsx
    • landing/app/widgets/about/why-we-build.tsx
    • landing/app/widgets/footer/footer.tsx
    • landing/app/widgets/fund-managers/already-onboarded.tsx
    • landing/app/widgets/fund-managers/better-way.tsx
    • landing/app/widgets/fund-managers/get-started.tsx
    • landing/app/widgets/fund-managers/hero.tsx
    • landing/app/widgets/fund-managers/index.ts
    • landing/app/widgets/fund-managers/panel-preview.tsx
    • landing/app/widgets/fund-managers/what-you-get.tsx
    • landing/app/widgets/header/header.tsx
    • landing/app/widgets/index.ts
    • landing/app/widgets/investors/faq.tsx
    • landing/app/widgets/investors/hero.tsx
    • landing/app/widgets/investors/how-you-invest.tsx
    • landing/app/widgets/investors/index.ts
    • landing/app/widgets/investors/invest-terms.tsx
    • landing/app/widgets/investors/returns-redemption.tsx
    • landing/app/widgets/investors/risks.tsx
    • landing/app/widgets/investors/verify.tsx
    • landing/app/widgets/landing/access-contrast.tsx
    • landing/app/widgets/landing/collateral.tsx
    • landing/app/widgets/landing/final-cta.tsx
    • landing/app/widgets/landing/fund-managers.tsx
    • landing/app/widgets/landing/hero.tsx
    • landing/app/widgets/landing/independent-data.tsx
    • landing/app/widgets/landing/index.ts
    • landing/app/widgets/landing/safeguards.tsx
    • landing/app/widgets/landing/what-you-invest-in.tsx
    • landing/app/widgets/site/closing-frame.tsx
    • landing/app/widgets/site/index.ts
    • landing/app/widgets/trust/hero.tsx
    • landing/app/widgets/trust/immutable.tsx
    • landing/app/widgets/trust/index.ts
    • landing/app/widgets/trust/money-path.tsx
    • landing/app/widgets/trust/onchain-data.tsx
    • landing/app/widgets/trust/pillars.tsx
    • landing/global.css
    • landing/public/landing/about-hero.jpg
    • landing/public/landing/about-team.jpg
    • landing/public/landing/arrow-right-ink.svg
    • landing/public/landing/arrow-right-sm.svg
    • landing/public/landing/cta-backdrop.jpg
    • landing/public/landing/cta-sphere.jpg
    • landing/public/landing/fund-managers-hero.jpg
    • landing/public/landing/fund-managers-street.jpg
    • landing/public/landing/hashed.png
    • landing/public/landing/icon-asterisk.svg
    • landing/public/landing/icon-chevron-down.svg
    • landing/public/landing/icon-info.svg
    • landing/public/landing/icon-redo2.svg
    • landing/public/landing/investors-hero.jpg
    • landing/public/landing/investors-steps.jpg
    • landing/public/landing/investors-terms-icons.png
    • landing/public/landing/rwa-xyz.svg
    • landing/public/landing/shardlab.png
    • landing/public/landing/trust-custody-backdrop.jpg
    • landing/public/landing/trust-flow-deposit-pool.svg
    • landing/public/landing/trust-flow-investor-deposit.svg
    • landing/public/landing/trust-flow-loan-originator.svg
    • landing/public/landing/trust-flow-lp-investor.svg
    • landing/public/landing/trust-flow-originator-repayment.svg
    • landing/public/landing/trust-flow-pool-loan.svg
    • landing/public/landing/trust-flow-pool-lp.svg
    • landing/public/landing/trust-flow-pool-yield.svg
    • landing/public/landing/trust-flow-repayment-pool.svg
    • landing/public/landing/trust-flow-yield-investor.svg
    • landing/public/landing/trust-hero.jpg
    • landing/public/landing/trust-immutable-icons.png

fix 19:36:42 4427674a

fix(money): a cancelled redemption left no record and read as a failure

8 files · +296 · -20
  • Infra
    • DB 0162_redemption_list_cancel_is_not_failure.sql
    • DB schema.sql
    • engine.ts
    • events.ts
    • fold.ts
    • redemption.ts
  • Other
    • packages/money-domain/src/tests/events.test.ts
    • packages/money-domain/src/events.ts

fix 19:20:19 05a1494f

fix(web): every holder had their own maturity, and none of them the pool's

14 files · +232 · -23
  • Infra
    • DB 0161_pools_maturity_date.sql
    • backfill-maturity-date.ts
  • Investor Web
    • Route (portfolio)
    • Widget (PCWidgets)
    • Widget (position-card)
    • package
    • portfolio-stats
    • redemption-state
    • redemption-state.test
  • Investor Web API
    • pools
  • Investor Web UI
    • RedeemModal
  • Lambda API
    • pools.get.list
    • pools.worker.deploy
  • Other
    • pnpm-lock.yaml

feat 19:04:34 af77bfa4

feat(money): derive the wind-down NAV a second time and report disagreement

3 files · +151 · -1
  • Infra
    • fold.test.ts
    • fold.ts
    • governance.ts

fix 18:58:20 68e09100

fix(money): the projection priced an unpriced pool at par

7 files · +69 · -12
  • Infra
    • DB 0160_pool_state_nav_nullable.sql
    • DB schema.sql
    • backfill.ts
    • fold.test.ts
    • fold.ts
    • project.ts
    • write.ts

fix 18:37:40 74b270c1

fix(money): accrued yield was computed twice, and the two answers disagreed

15 files · +567 · -358
  • Infra
    • DB 0157_yield_claim_list_view.sql
    • DB 0158_deposit_list_reinvestments.sql
    • DB 0159_investor_activity_claims_from_ledger.sql
    • DB schema.sql
    • deposit.ts
    • fold.test.ts
    • fold.ts
    • mirror.ts
    • portfolio-positions.ts
    • run-distribution.ts
    • yield.ts
  • Lambda API
    • yield-claims.get.list
    • yield-claims.post.create
    • yield.post.reinvest
    • yield.scheduler.reconcile

fix 18:19:21 befc5715

fix(money): the epoch claim path was never wired up at all

8 files · +501 · -465
  • Infra
    • DB 0154_redemption_workflow_epoch_id.sql
    • DB 0155_redemption_list_epoch_fills.sql
    • DB 0156_investor_activity_fills_from_ledger.sql
    • DB schema.sql
    • engine.ts
    • epoch.ts
    • redemption.ts
  • Lambda API
    • redemption-requests.scheduler.epoch-execute

fix 18:08:36 2679a714

fix(money): the redemption list priced LP in dollars, then returned null

2 files · +143 · -3
  • Infra
    • DB 0153_redemption_list_amount_is_lp.sql
    • DB schema.sql

fix 18:01:09 f5d503fb

fix(money): every admin action on a redemption was about to 404

13 files · +258 · -603
  • Infra
    • redemption.ts
  • Lambda API
    • dashboard.get.stats
    • redemption-requests.post.approve
    • redemption-requests.post.cancel
    • redemption-requests.post.claim
    • redemption-requests.post.claim-fallback
    • redemption-requests.post.create
    • redemption-requests.post.escalate
    • redemption-requests.post.fund
    • redemption-requests.post.notify-fund
    • redemption-requests.post.record-funding
    • redemption-requests.post.reject

fix 18:01:09 8435b67e

fix(money): a rejected redemption was reading as REQUESTED, and the feeds showed none at all

9 files · +252 · -23
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0150_redemption_workflow_request_key.sql
    • DB 0151_investor_activity_redeem_from_ledger.sql
    • DB 0152_audit_feed_redemptions_from_ledger.sql
    • DB schema.sql
    • redemption-decision.ts
  • Lambda API
    • redemption-requests.post.cancel
    • redemption-requests.post.reject
  • Smart Contract
    • sepolia.md

fix 18:01:09 59a1a12d

fix(landing): the page holds its shape at every browser zoom level

10 files · +280 · -32
  • Other
    • landing/app/shared/ui/spline-scene.tsx
    • landing/app/widgets/header/header.tsx
    • landing/app/widgets/header/use-publish-header-bottom.ts
    • landing/app/widgets/landing/collateral.tsx
    • landing/app/widgets/landing/fund-managers.tsx
    • landing/app/widgets/landing/hero-scene.tsx
    • landing/app/widgets/landing/hero.tsx
    • landing/app/widgets/landing/safeguards.tsx
    • landing/app/widgets/landing/what-you-invest-in.tsx
    • landing/global.css

fix 18:01:09 82435742

fix(money): a stored procedure was still writing balances the ledger owns

8 files · +198 · -21
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0149_redemption_rpc_stops_writing_balances.sql
    • DB schema.sql
    • pipeline.ts
    • redemption.ts
  • Lambda API
    • redemption-requests.post.approve
    • redemption-requests.post.fund
    • redemption-requests.post.record-funding

feat 18:01:09 0f9d2e6e

feat(money): the redemption readers move to the ledger

9 files · +235 · -25
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0147_redemption_list_raw_investor_fields.sql
    • DB 0148_redemption_list_pool_fields.sql
    • DB schema.sql
  • Lambda API
    • dashboard.get.stats
    • redemption-requests.get.counts
    • redemption-requests.get.exit-gate
    • redemption-requests.get.list
    • redemption-requests.scheduler.exit-gate-sweep

feat 18:01:09 180dd352

feat(money): the redemption list, derived from the ledger

3 files · +210 · -1
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0146_money_redemption_list_view.sql
    • DB schema.sql

fix 18:01:09 fc0afdb3

fix(contract): a redemption could not be reproduced from its own events

6 files · +223 · -16
  • Contract Test
    • PlatformPoolFlows.t
  • Infra
    • fold.test.ts
    • fold.ts
  • Other
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • PlatformPool
    • RedemptionLib

docs 18:01:09 bbe614a5

docs(money): record what the deposit migration left behind

2 files · +31
  • Docs
    • money-flow-architecture.md
  • Infra
    • DB schema.sql

fix 15:59:30 70f3582d

fix(build): the frontends could not build the one dependency they have to build

3 files · +6 · -6
  • Admin
    • package
  • Investor Web
    • package
  • Other
    • packages/money-contract/package.json

feat 15:59:30 9f5dea72

feat(money): the deposit action moves to the ledger, and its balances stop being written twice

32 files · +1314 · -617
  • Admin
    • Route (deposits)
  • Admin API
    • deposits
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0138_deposit_workflow_risk_ack_jsonb.sql
    • DB 0139_deposit_workflow_tx_hash.sql
    • DB 0140_deposit_workflow_tx_index_not_partial.sql
    • DB 0141_money_deposit_list_view.sql
    • DB 0142_money_deposit_list_embedded_joins.sql
    • DB 0143_deposit_list_numeric_and_activity_views.sql
    • DB 0144_investor_activity_from_ledger.sql
    • DB 0145_audit_feed_from_ledger.sql
    • DB schema.sql
    • deposit-eligibility.ts
    • deposit.ts
    • diff.ts
    • engine.ts
    • fold.test.ts
    • fold.ts
    • ledger.ts
    • lp-transfer.ts
    • mirror.ts
    • pipeline.ts
    • replay.ts
    • status-filter.test.ts
    • units.ts
    • write.ts
  • Lambda API
    • deposits.get.counts
    • deposits.get.list
    • deposits.post.create
    • pools.patch.update
    • yield.post.reinvest

feat 15:47:16 f8044739

feat(landing): one scene for the hero, a static marquee for the safeguards

14 files · +294 · -200
  • Other
    • landing/.env.development
    • landing/.env.example
    • landing/.env.production
    • landing/app/env.d.ts
    • landing/app/shared/config/spline.ts
    • landing/app/shared/copy/landing.ts
    • landing/app/shared/ui/spline-scene.tsx
    • landing/app/widgets/landing/hero-scene.tsx
    • landing/app/widgets/landing/hero.tsx
    • landing/app/widgets/landing/safeguards.tsx
    • landing/global.css
    • landing/public/landing/hero-backdrop.jpg
    • landing/public/landing/safeguard-icons.png
    • landing/public/landing/safeguards-sheet.png

docs 15:47:16 ae50238e

docs(contract): record the two 2026-08-10 deploy rounds and correct the libraries

1 files · +37 · -18
  • Smart Contract
    • sepolia.md

fix 15:47:16 c97bc9f0

fix(infra): the treasury fallback guaranteed the revert it looked like it avoided

1 files · +28 · -4
  • Lambda API
    • pools.worker.deploy

fix 15:47:16 c7bbf98c

fix(infra): the indexer never fetched six of the events the ledger decodes

2 files · +67
  • Infra
    • events.ts
    • watched-events.test.ts

fix 15:47:16 e195ebae

fix(contract): the epoch claim's penalty leg never came back out of the ledger

9 files · +124 · -8
  • Contract Test
    • PlatformPoolEpoch.t
  • Docs
    • 07-redemption.md
    • 08-smart-contracts.md
    • money-flow-architecture.md
  • Infra
    • fold.test.ts
    • fold.ts
  • Other
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • PlatformPool
    • RedemptionLib

feat 15:47:16 ee8db4c7

feat(infra): validation replay of the old pools, and the backfill it justified

8 files · +4542
  • Docs
    • d-1-decision.md
    • money-flow-architecture.md
  • Infra
    • backfill.ts
    • ledger-rows.json
    • load.ts
    • project.ts
    • run.ts
    • transactions.json

fix 15:47:16 5b217509

fix(infra): the ledger ingest would have failed on the first real deposit

14 files · +530 · -59
  • Infra
    • DB 0135_replay_shadow_schema.sql
    • DB 0136_replay_own_sequence.sql
    • DB 0137_stablecoin_registry_base_sepolia.sql
    • abi-drift.test.ts
    • decode.ts
    • diff-compare.test.ts
    • diff.ts
    • fold.test.ts
    • fold.ts
    • pipeline.ts
    • pool-registry.ts
    • replay.ts
    • write.ts
  • Other
    • packages/money-domain/src/events.ts

feat 15:47:16 1f67173f

feat(contract): EpochSettled could not tell anyone what the settlement booked

7 files · +105 · -14
  • Contract Test
    • PlatformPoolEpoch.t
  • Docs
    • 07-redemption.md
    • 08-smart-contracts.md
    • 26-glossary.md
  • Other
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • PlatformPool
    • RedemptionLib

feat 15:47:16 d04f7489

feat(infra): replay the ledger and report where the projections disagree

4 files · +344
  • Infra
    • README.md
    • diff-compare.test.ts
    • diff.ts
    • replay.ts

feat 15:47:16 b998ff87

feat(infra): ingest — getLogs, decode, append, project

11 files · +1998 · -80
  • Infra
    • chain-config.ts
    • decode.ts
    • engine.ts
    • fastpath.ts
    • fold.test.ts
    • fold.ts
    • ledger.ts
    • package.json
    • pipeline.ts
    • write.ts
  • Other
    • pnpm-lock.yaml

feat 15:47:16 632b4808

feat(infra): the money ledger, its projections, and the facts the chain does not carry

6 files · +741 · -2
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0132_money_events_ledger.sql
    • DB 0133_money_projections.sql
    • DB 0134_money_workflow.sql
  • Other
    • packages/money-domain/src/tests/events.test.ts
    • packages/money-domain/src/events.ts

feat 15:47:16 57f21c23

feat(money-domain): the product's rules, once — and checked against the chain

18 files · +1847 · -2
  • Contract Test
    • PolicyConformance.t
  • Other
    • packages/money-domain/fixtures/DISCREPANCIES.md
    • packages/money-domain/fixtures/deposit.json
    • packages/money-domain/fixtures/epoch.json
    • packages/money-domain/fixtures/nav.json
    • packages/money-domain/fixtures/policy.json
    • packages/money-domain/fixtures/redemption-instant.json
    • packages/money-domain/fixtures/wind-down.json
    • packages/money-domain/fixtures/yield-fees.json
    • packages/money-domain/package.json
    • packages/money-domain/src/tests/fixture-shape.test.ts
    • packages/money-domain/src/tests/policy-conformance.test.ts
    • packages/money-domain/src/tests/policy.test.ts
    • packages/money-domain/src/index.ts
    • packages/money-domain/src/policies/deposit.ts
    • packages/money-domain/src/policies/redemption.ts
    • packages/money-domain/src/pool-state.ts
    • packages/money-domain/src/reasons.ts

refactor 15:47:16 b839cf1e

refactor(infra): seed configuration and identity, never balances

1 files · +33 · -281
  • Infra
    • DB seed.sql

feat 15:47:16 a6ce2f7e

feat: the reset transaction, and the runbook for the day it runs

1 files · +171
  • Infra
    • DB reset_to_legacy.sql

fix 15:47:16 375ba45b

fix(infra): realign legacy.pool_chain_deployments with the table it copies

2 files · +20 · -2
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0131_legacy_pool_chain_deployments_realign.sql

feat 15:47:16 0c3d0e1a

feat(infra): give the reset a home for the indexer cursor and the pool balances

2 files · +43 · -2
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0130_legacy_indexer_cursor_and_pool_balances.sql

fix 15:47:16 4461ff75

fix(infra): coerce the enum chain_id, and record the frozen deployment blocks

2 files · +247 · -3
  • Infra
    • capture-deployment-blocks.ts
    • registry.json

refactor 15:47:16 f5104f1f

refactor(contract,infra): drop isYieldPenalty from the request tuple

15 files · +86 · -102
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFlows.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Infra
    • approve-redemption.ts
    • exit-gate.ts
    • fallback-redemption.ts
    • redemption.ts
    • units.test.ts
  • Lambda API
    • redemption-requests.post.create
  • Other
    • packages/money-contract/src/generated/platform-pool.ts
  • Smart Contract
    • PlatformPool
    • RedemptionLib

fix 15:47:16 5ad4be5e

fix(contract): a request enrolled ahead of the cursor was read as legacy and paid in full

3 files · +347 · -61
  • Contract Test
    • PlatformPoolEpoch.t
    • PlatformPoolInvariant.t
  • Smart Contract
    • RedemptionLib

fix 15:47:16 8b265864

fix(infra): put deployed_block on the table deploys actually write

3 files · +103 · -42
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0129_move_deployed_block_to_pools.sql
    • capture-deployment-blocks.ts

feat 15:47:16 69922aff

feat(infra): freeze what the reset would otherwise destroy

10 files · +7026 · -5
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0127_pool_deployment_block.sql
    • DB 0128_legacy_money_snapshot_schema.sql
    • PlatformKYCSoulbound.abi.json
    • PlatformLPToken.abi.json
    • PlatformPool.abi.json
    • PlatformPoolFactory.abi.json
    • capture-deployment-blocks.ts
    • package.json
    • tsconfig.scripts.json

refactor 15:47:16 7d66d045

refactor(contract,infra,web,admin): generate the ABIs, and stop importing an app from an app

29 files · +7435 · -6883
  • Admin
    • contracts
    • package
    • stablecoins
  • Infra
    • client.ts
    • package.json
  • Investor Web
    • contracts
    • package
  • Other
    • packages/money-contract/package.json
    • packages/money-contract/scripts/generate.mjs
    • packages/money-contract/src/chains.ts
    • packages/money-contract/src/generated/erc20.ts
    • packages/money-contract/src/generated/index.ts
    • packages/money-contract/src/generated/platform-kyc-soulbound.ts
    • packages/money-contract/src/generated/platform-lp-token.ts
    • packages/money-contract/src/generated/platform-pool-factory.ts
    • packages/money-contract/src/generated/platform-pool.ts
    • packages/money-contract/src/index.ts
    • packages/money-contract/src/roles.ts
    • packages/money-contract/tsconfig.json
    • pnpm-lock.yaml
  • Smart Contract
    • ERC20.abi.json
    • PlatformKYCSoulbound.abi.json
    • PlatformLPToken.abi.json
    • PlatformLPToken.bytecode.d.ts
    • PlatformLPToken.bytecode.js
    • PlatformPool.abi.json
    • PlatformPoolFactory.abi.json
    • chains.ts
    • package.json

refactor 15:47:16 6c395885

refactor(contract): drop the dead Layout fields and pack the flags

6 files · +78 · -85
  • Contract Test
    • PlatformPoolEpoch.t
    • PlatformPoolInvariant.t
  • Smart Contract
    • NavLib
    • PlatformPool
    • PlatformPoolStorage
    • RedemptionLib

fix 15:47:16 97331987

fix(contract): an epoch pool can never be made investable without an anchor

6 files · +177 · -54
  • Contract Test
    • GoldenFixtures.t
    • PlatformPoolEpoch.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
  • Smart Contract
    • GovernanceLib
    • PlatformPool

refactor 15:47:16 3551f167

refactor(contract): route deposit through the ledger, leaving the boundary empty

3 files · +29 · -31
  • Other
    • scripts/check-contract-boundaries.mjs
  • Smart Contract
    • PlatformPool
    • PoolLedgerLib

refactor 15:47:16 4cd709e8

refactor(contract): move redemption settlement into the ledger

3 files · +251 · -158
  • Other
    • scripts/check-contract-boundaries.mjs
  • Smart Contract
    • PoolLedgerLib
    • RedemptionLib

refactor 15:47:16 d7f964e0

refactor(contract): move the yield money paths into the ledger

3 files · +120 · -41
  • Other
    • scripts/check-contract-boundaries.mjs
  • Smart Contract
    • PoolLedgerLib
    • YieldLib

refactor 15:47:16 af91d4f7

refactor(contract): give settlement one module, starting with the two small paths

4 files · +123 · -82
  • Other
    • scripts/check-contract-boundaries.mjs
  • Smart Contract
    • GovernanceLib
    • NavLib
    • PoolLedgerLib

docs 15:47:16 cd851e32

docs: correct two guarantees the code states more strongly than the docs

4 files · +9 · -7
  • Docs
    • 08-smart-contracts.md
    • 09a-custody.md
  • Other
    • CLAUDE.md

refactor 15:47:16 7df38c79

refactor(contract): extract pure policies and guard the money boundary

14 files · +1045 · -81
  • Contract Test
    • DepositPolicy.t
    • LifecyclePolicy.t
    • PlatformPoolInvariant.t
    • RedemptionEpochPolicy.t
    • RedemptionInstantPolicy.t
  • Other
    • scripts/check-contract-boundaries.mjs
  • Smart Contract
    • DepositPolicy
    • LifecyclePolicy
    • PlatformPool
    • PoolCommonLib
    • RedemptionEpochPolicy
    • RedemptionInstantPolicy
    • RedemptionLib
    • package.json

refactor 15:47:16 24e0a24a

refactor(infra): compute the yield fee split in integers, floored

5 files · +165 · -169
  • Infra
    • due-row-math.test.ts
    • due-row-math.ts
    • fees.ts
    • package.json
    • units.ts

feat 15:47:16 fc07fd7f

feat(money): golden fixtures and the money-core arithmetic they lock

28 files · +3486 · -1
  • Contract Test
    • GoldenFixtures.t
  • Other
    • packages/money-core/package.json
    • packages/money-core/src/axis.ts
    • packages/money-core/src/fees.ts
    • packages/money-core/src/index.ts
    • packages/money-core/src/money.ts
    • packages/money-core/src/penalty.ts
    • packages/money-core/src/pricing.ts
    • packages/money-core/src/prorata.ts
    • packages/money-core/tsconfig.json
    • packages/money-domain/fixtures/README.md
    • packages/money-domain/fixtures/deposit.json
    • packages/money-domain/fixtures/epoch.json
    • packages/money-domain/fixtures/nav.json
    • packages/money-domain/fixtures/redemption-instant.json
    • packages/money-domain/fixtures/wind-down.json
    • packages/money-domain/fixtures/yield-fees.json
    • packages/money-domain/package.json
    • packages/money-domain/src/tests/deposit-math.test.ts
    • packages/money-domain/src/tests/epoch-math.test.ts
    • packages/money-domain/src/tests/fixture-shape.test.ts
    • packages/money-domain/src/tests/money-core-conformance.test.ts
    • packages/money-domain/src/tests/redemption-math.test.ts
    • packages/money-domain/src/tests/yield-fee-math.test.ts
    • packages/money-domain/src/fixtures.ts
    • packages/money-domain/tsconfig.json
    • pnpm-lock.yaml
  • Smart Contract
    • foundry.toml

🔵 jy/product

fix 18:12:44 d7646cbf

fix(admin,infra): Redemptions crashed on open, and its Amount column was about to lie

6 files · +55 · -12
  • Admin
    • Route (redemptions)
    • format-amount
    • redemption-detail-panel
    • redemption-funding-modal
  • Admin API
    • redemption-requests
  • Lambda API
    • redemption-requests.get.list

feat 18:02:10 f18bff06

feat(admin): Redemptions opens on what is owed, not on what happened

8 files · +790 · -29
  • Admin
    • Route (redemptions)
    • confirmed-obligations
    • funding-load-card
    • index
    • redemption-detail-panel
    • redemption-funding
    • redemption-obligations-nodes.test
  • Admin API
    • use-redemption-requests

fix 17:25:09 9c9f1b80

fix(infra,admin): retire the record step from copy, and make the guard keep it retired

4 files · +49 · -9
  • Admin
    • Route (yield)
  • Infra
    • yield.ts
  • Lambda API
    • yield-distributions.post.create
  • Other
    • scripts/check-copy.mjs

fix 17:18:01 cf6f4eaf

fix(admin): one name for the amount column, and Period says which period it means

1 files · +46 · -9
  • Admin
    • Route (yield)

fix 17:04:54 d58de191

fix(admin): the pinned column stops being see-through, and hiding a column starts working

4 files · +102 · -15
  • Admin
    • Route (yield)
    • global
    • index
    • use-media-query

feat 16:44:11 f6566c4f

feat(admin): All shows every outstanding period, and names the manager to chase

7 files · +197 · -33
  • Admin
    • Route (dashboard)
    • Route (yield)
    • by-fund-table
    • overdue-exposure-card
  • Admin API
    • use-yield-distributions
    • yield-distributions
  • Admin UI
    • status-dot

feat 15:52:48 2d34bce1

feat(admin,web): name the fund manager to chase, mark where the queue stops being late

4 files · +121 · -40
  • Admin
    • Route (yield)
    • by-fund-table
    • overdue-exposure-card
  • Investor Web
    • Widget (sidebar)

style 15:34:32 07d1d204

style(admin): one eyebrow below the page title, and the summary panel stops being a footnote

9 files · +177 · -89
  • Admin
    • Route (deposits)
    • Route (redemptions)
    • Route (yield)
    • by-fund-table
    • due-now-card
    • overdue-exposure-card
    • receipt-split
    • upcoming-timeline
  • Admin UI
    • typography

feat 15:34:11 944d1e06

feat(admin): take the search field off the kit, and put it in the row that filters with it

4 files · +101 · -10
  • Admin
    • Route (audit-log)
    • Route (kyc)
  • Admin UI
    • index
    • search-input

style 12:52:54 87be5426

style(admin): stop drawing vertical rules to say "important", and let the side panel be a panel

6 files · +38 · -25
  • Admin
    • Route (yield)
    • by-fund-table
    • due-now-card
    • overdue-exposure-card
    • rail
    • upcoming-timeline

style 12:37:24 8dcb95d6

style(admin): the rail built its hierarchy out of dimming, and the bottom tiers fell under AA

1 files · +41 · -16
  • Admin
    • rail

fix 10:41:22 6471bbd2

fix(landing): stop the browser from deciding a Spline scene is still fresh

1 files · +32 · -4
  • Other
    • landing/app/shared/config/spline.ts

2026-08-07 (Fri)

🟢 ch/product

No activity

🔵 jy/product

fix 18:10:02 596b9432

fix(admin): the Due now caption claimed an estimate the card was not showing

1 files · +19 · -7
  • Admin
    • due-now-card

fix 18:00:05 d89fb155

fix(admin): a missing is_overdue must degrade to the old answer, not to "nothing is overdue"

15 files · +451 · -255
  • Admin
    • Route (yield)
    • overdue-exposure-card
    • upcoming-timeline
  • Admin API
    • yield-distributions
    • yield-due-overdue.test
    • yield-due-row
  • Other
    • landing/.env.development
    • landing/.env.example
    • landing/.env.production
    • landing/app/env.d.ts
    • landing/app/shared/config/spline.ts
    • landing/app/shared/ui/index.ts
    • landing/app/shared/ui/spline-scene.tsx
    • landing/app/widgets/landing/hero-scene.tsx
    • landing/app/widgets/landing/safeguards.tsx

feat 17:47:09 0c8ec5bb

feat(admin,infra): make Yield a queue you work, and stop counting not-yet-owed money as overdue

20 files · +1600 · -87
  • Admin
    • Route (yield)
    • by-fund-table
    • due-now-card
    • index
    • overdue-exposure-card
    • receipt-split
    • upcoming-timeline
  • Admin API
    • keys
    • use-yield-distributions
    • yield-distributions
  • Docs
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
    • due-row-math.test.ts
    • due-row-math.ts
    • due-rows.ts
  • Lambda API
    • yield-distributions.get.fund-summary
    • yield-distributions.get.investors

feat 16:33:57 f3492216

feat(admin,infra): one coarse filter row for both redemption models, and stop labelling the normal case

8 files · +333 · -259
  • Admin
    • Route (redemptions)
    • epoch-cycle-panel
    • epoch-pool-filter
    • epoch-pool-filter.test
    • epoch-pool-list
    • index
  • Admin API
    • redemption-requests
  • Lambda API
    • redemption-requests.get.list

feat 16:23:59 7e0aa325

feat(admin): open an epoch request in a slide-over, and give cycle funding a real confirm

5 files · +344 · -103
  • Admin
    • Route (redemptions)
    • epoch-cycle-panel
    • fund-cycle-dialog
    • fund-epoch-cycle-button
    • redemption-detail-panel

feat 12:50:07 84190167

feat(admin,web): make the model the outer axis of Redemptions, and give both apps one dark rail

19 files · +1682 · -905
  • Admin
    • Route (redemptions)
    • epoch-cycle-panel
    • epoch-phase
    • epoch-pool-filter
    • epoch-pool-filter.test
    • epoch-pool-list
    • global
    • header
    • index
    • rail
    • redemption-detail-panel
    • sidebar
  • Admin UI
    • index
    • page-layout
    • shell-nav
  • Investor Web
    • Widget (sidebar)
    • Widget (topbar)
    • auth-button

docs 12:49:19 8c41a9bc

docs(06,07): fold the depth out of the two longest pages, keeping every anchor alive

6 files · +154 · -217
  • Docs
    • 02-core-concepts.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md
    • 20-joob-pool-config.md

feat 12:46:15 2292584e

feat(landing): put the Spline hero scene behind the poster, and keep the scene URL swappable

10 files · +335 · -889
  • Infra
    • CDK Stack (spa-security-headers)
  • Other
    • landing/.env.development
    • landing/.env.example
    • landing/.env.production
    • landing/app/env.d.ts
    • landing/app/shared/config/spline.ts
    • landing/app/widgets/landing/hero-scene.tsx
    • landing/app/widgets/landing/hero.tsx
    • landing/package.json
    • pnpm-lock.yaml

docs 11:54:22 62bffaaa

docs: close out the verification report, and fix four things the review pass caught

5 files · +55 · -29
  • Docs
    • 06-writedown-nav.md
    • 07-redemption.md
    • 14-decisions.md
    • 26-glossary.md
  • Other
    • docs-code-verification.md

2026-08-06 (Thu)

🟢 ch/product

fix 23:29:59 6e6782db

fix(infra): the epoch-pool deploy estimated its schedule setter against state the answering RPC node had not caught up to

3 files · +162 · -28
  • Infra
    • client.ts
    • create-pool.ts
    • submission-retry.test.ts

fix 17:11:24 634b22fd

fix(ci): the three frontend deploys were stripping Cache-Control off every object, so e14ee87 never reached one

3 files · +75 · -3
  • CI/CD
    • deploy-admin-web.yml
    • deploy-landing.yml
    • deploy-web.yml

feat 17:11:24 c92bef25

feat(landing,web): rebuild the landing page from the Figma comp, and stop /pools greeting signed-out visitors with a 401

51 files · +844 · -718
  • Admin
    • .env
  • Investor Web API
    • use-notifications
  • Other
    • landing/.env.development
    • landing/.env.example
    • landing/.env.production
    • landing/app/env.d.ts
    • landing/app/root.tsx
    • landing/app/routes/$.tsx
    • landing/app/routes/landing.tsx
    • landing/app/shared/config/admin-url.ts
    • landing/app/shared/config/contact.ts
    • landing/app/shared/config/sections.ts
    • landing/app/shared/copy/landing.ts
    • landing/app/shared/lib/external-link.ts
    • landing/app/shared/lib/index.ts
    • landing/app/shared/lib/use-horizontal-wheel-scroll.ts
    • landing/app/shared/ui/index.ts
    • landing/app/shared/ui/pill-button.tsx
    • landing/app/shared/ui/reveal-on-scroll.tsx
    • landing/app/widgets/footer/footer.tsx
    • landing/app/widgets/header/header.tsx
    • landing/app/widgets/landing/access-contrast.tsx
    • landing/app/widgets/landing/backed-by.tsx
    • landing/app/widgets/landing/collateral.tsx
    • landing/app/widgets/landing/cta-banner.tsx
    • landing/app/widgets/landing/final-cta.tsx
    • landing/app/widgets/landing/fund-managers.tsx
    • landing/app/widgets/landing/hero-section.tsx
    • landing/app/widgets/landing/hero.tsx
    • landing/app/widgets/landing/how-it-works.tsx
    • landing/app/widgets/landing/independent-data.tsx
    • landing/app/widgets/landing/index.ts
    • landing/app/widgets/landing/safeguards.tsx
    • landing/app/widgets/landing/trust-strip.tsx
    • landing/app/widgets/landing/what-you-invest-in.tsx
    • landing/app/widgets/landing/why-aset-visuals.tsx
    • landing/app/widgets/landing/why-aset.tsx
    • landing/global.css
    • landing/public/hashed_logo.png
    • landing/public/landing/app-dashboard.png
    • landing/public/landing/app-pools.png
    • landing/public/landing/arrow-right.svg
    • landing/public/landing/collateral-merchant.jpg
    • landing/public/landing/cta-backdrop.jpg
    • landing/public/landing/defillama.png
    • landing/public/landing/dune.jpg
    • landing/public/landing/hero-backdrop.jpg
    • landing/public/landing/safeguard-icons.png
    • landing/public/landing/skyline-night.jpg
    • landing/public/sphere.png

docs 17:11:24 130abe43

docs(deployments): point sepolia.md at the libraries the new impl actually links

1 files · +24 · -9
  • Smart Contract
    • sepolia.md

fix 17:11:24 42e36bd1

fix(contract,infra): reinvest was priced at the stale NAV, positions had no cost basis, and the ops key can only hold one tx in flight

29 files · +956 · -118
  • Contract Deploy
    • CreatePool.s
    • DeployFactory.s
    • DeployPoolImplementation.s
    • run
  • Contract Test
    • PlatformPool.t
  • Docs
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
    • 23-money-path.md
  • Infra
    • DB 0125_position_cost_basis.sql
    • DB 0126_position_source_and_dead_rpcs.sql
    • DB schema.sql
    • announced-nav.ts
    • client.ts
    • cost-basis.test.ts
    • cost-basis.ts
    • create-pool.ts
    • deposit.ts
    • lp-transfer.ts
    • resolve.ts
    • submission-retry.test.ts
  • Lambda API
    • deposits.post.create
    • yield.post.reinvest
  • Smart Contract
    • YieldLib
    • package.json
    • sepolia.md

fix 11:35:28 e85eff7b

fix(auth): one refresh cookie for two apps let admin-web sign in as an investor and stay 403'd

28 files · +403 · -58
  • Admin
    • Route (audit-log)
    • Route (deposits)
    • Route (funds)
    • Route (kyc)
    • Route (pools)
    • Route (redemptions)
    • Route (yield)
    • query-client
  • Admin UI
    • index
    • query-error-state
  • Docs
    • 15-api-reference.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
    • audience.ts
    • cookies.ts
    • environment.ts
    • index.ts
    • middleware.ts
    • refresh-audience.test.ts
  • Investor Web
    • Route (portfolio)
    • query-client
  • Lambda API
    • auth.post.admin-2fa-verify
    • auth.post.admin-login
    • auth.post.admin-logout-all
    • auth.post.admin-oauth
    • auth.post.logout
    • auth.post.refresh
    • auth.post.verify

🔵 jy/product

docs 18:40:24 419f7e9c

docs: make the long pages navigable, and finish the doc-internal contradictions

14 files · +306 · -58
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 16-timeline.md
    • 17-changelog.md
    • 21-holder-verification.md
    • 23-money-path.md

docs 18:20:02 e1ee743a

docs: reconcile the backend spec with the code, and record what was checked

19 files · +760 · -85
  • Docs
    • 01-overview.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 12-triggers.md
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 16-timeline.md
    • 17-changelog.md
    • 18-failure-types.md
    • 22-notifications.md
    • 26-glossary.md
  • Other
    • docs-code-verification.md

docs 17:40:28 b7dd3c27

docs(v3-119): the staged pre-flight was superseded on merge by the serial send

2 files · +2 · -2
  • Docs
    • 14-decisions.md
    • 17-changelog.md

docs 17:32:02 28a8959c

docs: record v3-119 pool-level epoch funding, and correct two KYC exit-gate claims

4 files · +64 · -1
  • Docs
    • 03-kyc-identity.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md

feat 17:31:52 52090437

feat(epoch): fund a whole cycle, and stage the deploy pre-flight so a dependency can't fail in parallel

24 files · +1581 · -105
  • Admin
    • Route (funds)
    • epoch-cycle-panel
    • epoch-schedule
    • epoch-schedule-block
    • fund-epoch-cycle-button
    • use-fund-epoch-cycle-flow
    • validation
  • Admin API
    • pools
    • use-pools
  • Infra
    • CDK Stack (api-stack)
    • activity.ts
    • create-pool-stages.test.ts
    • create-pool.ts
  • Investor Web
    • Route (pool.$id)
    • Route (styleguide.epoch-states)
    • Widget (cancel-redemption-dialog)
    • Widget (epoch-position-panel)
    • Widget (index)
    • Widget (position-card)
    • contract-errors
    • status
  • Investor Web API
    • use-epoch-claim-preview
  • Investor Web UI
    • RedeemModal
  • Lambda API
    • pools.post.epoch-funding

docs 16:08:47 5b8e1db9

docs(04): give pool-models an index and progressive disclosure (v3-118)

3 files · +123 · -11
  • Docs
    • 04-pool-models.md
    • 14-decisions.md
    • 17-changelog.md

docs 15:36:08 c6d9745a

docs: propagate the 2026-08-04 deploy status to the four pages the sweep missed

4 files · +10 · -8
  • Docs
    • 08a-contract-reference.md
    • 09a-custody.md
    • 17-changelog.md
    • 26-glossary.md

feat 14:18:14 36af4341

feat(governance): nudge ops before a timelock expires, and mirror a third-party execute

22 files · +909 · -30
  • Docs
    • 22-notifications.md
  • Infra
    • CDK Stack (api-stack)
    • engine.ts
    • enums.ts
    • events.ts
    • format-nav.test.ts
    • format-nav.ts
    • governance-execute-due.test.ts
    • governance-execute-due.ts
    • governance-timelock.ts
    • governance.ts
    • index.ts
    • lifecycle-enum.test.ts
    • ops-variants.ts
    • writedown-update-copy.ts
  • Lambda API
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • nav-changes.scheduler.apply-pending
    • nav-proposals.scheduler.suggest
    • pools.post.impairment
    • pools.post.wind-down
    • pools.scheduler.governance-execute-due

docs 14:17:34 1a8d252a

docs(07): trim redemption to the present tense, and correct four stale claims

3 files · +143 · -236
  • Docs
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md

fix 13:48:12 8682affe

fix(audit-log): reset the filters when switching between Audit and Activity

1 files · +24 · -4
  • Admin
    • Route (audit-log)

fix 12:11:42 be6a7e80

fix(notifications): the wind-down timelock is 30 days, not 7

2 files · +26 · -5
  • Infra
    • inapp-copy.test.ts
    • ops-variants.ts

feat 12:03:58 9cc47c2c

feat(notifications): tell ops and the FM when a governance timelock starts

4 files · +158
  • Infra
    • inapp-copy.test.ts
    • ops-variants.ts
  • Lambda API
    • pools.post.impairment
    • pools.post.wind-down

docs 11:41:07 fb2f4e19

docs: restore 05-investment-lifecycle as a walkthrough, and record a fabricated column (v3-115)

7 files · +84 · -129
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md

feat 11:39:08 5a7dc568

feat(notifications): NAV stat block on the writedown card, and authored copy for impairment propose

10 files · +246 · -13
  • Infra
    • create-system-update.ts
    • feed.ts
    • in-app-copy.ts
    • inapp-copy.test.ts
    • response-shape.test.ts
    • writedown-update-copy.ts
  • Investor Web
    • Route (styleguide.notifications)
    • Widget (notification-detail-modal)
  • Investor Web API
    • notifications
  • Lambda API
    • pools.post.impairment

fix 11:19:24 94757206

fix(notifications): title the investor NAV notice "NAV change scheduled" (sheet SoT)

2 files · +34 · -4
  • Infra
    • inapp-copy.test.ts
    • pool.ts

feat 11:05:41 26941c16

feat(notifications): mirror the sheet's inapp_body for the three registry rows (QA-2)

2 files · +58 · -4
  • Infra
    • inapp-copy.test.ts
    • pool.ts

feat 10:56:10 37cbd206

feat(notifications): one short in-app disclaimer across the four investor value/loss surfaces (QA-2 §F)

7 files · +144 · -30
  • Infra
    • disclaimer.ts
    • in-app-copy.ts
    • inapp-copy.test.ts
    • pool.ts
    • writedown-update-copy.ts
  • Investor Web
    • Route (styleguide.notifications)
  • Lambda API
    • pools.post.wind-down

2026-08-05 (Wed)

🟢 ch/product

No activity

🔵 jy/product

docs 18:11:04 2a9924a2

docs(04): trim pool-models to a concept spec, move archaeology to owners

5 files · +143 · -342
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md

docs 17:31:41 4eab5171

docs: relabel §6a/§6b pointers to §6/§7 after the money-path renumber

3 files · +5 · -5
  • Docs
    • 14-decisions.md
    • 17-changelog.md
    • 26-glossary.md

docs 17:24:12 b07c55f2

docs(decisions): record the IA regrouping as v3-113

2 files · +37
  • Docs
    • 14-decisions.md
    • 17-changelog.md

chore 17:21:28 c54940ce

chore(notifications): register the QA-2 fixture styleguide route

1 files · +3
  • Investor Web
    • routes

feat 17:19:38 85dc57f2

feat(epoch): Model B redemption UI across admin and investor surfaces

39 files · +2950 · -211
  • Admin
    • Route (pool-create)
    • Route (redemptions)
    • epoch-cycle-panel
    • epoch-phase
    • epoch-phase-stepper
    • epoch-phase.test
    • epoch-pool-list
    • epoch-schedule
    • epoch-schedule-block
    • epoch-schedule.test
    • index
    • payload
    • permissions
    • step-redemption
    • types
    • validation
  • Admin API
    • pools
    • redemption-requests
    • use-pools
  • Investor Web
    • Route (pool.$id)
    • Route (styleguide.epoch-states)
    • Widget (epoch-position-panel)
    • Widget (position-card)
    • contract-errors
    • contracts
    • epoch-position-state
    • epoch-position-state.test
    • package
    • routes
    • status
    • tx-error
  • Investor Web API
    • pools
    • use-epoch-claim-preview
  • Lambda API
    • redemption-requests.get.epoch-summary
    • redemption-requests.get.list

feat 17:18:54 c6a6aef8

feat(notifications): give the in-app card four zones, and stop gluing the disclaimer onto the body (QA-2)

22 files · +1143 · -208
  • Infra
    • catalog-integrity.test.ts
    • create-system-update.ts
    • in-app-copy.ts
    • in-app.ts
    • inapp-copy.test.ts
    • pool.ts
    • types.ts
    • writedown-update-copy.ts
  • Investor Web
    • Route (notifications)
    • Route (styleguide.notifications)
    • Widget (category-chip)
    • Widget (category-icon)
    • Widget (format)
    • Widget (index)
    • Widget (notification-detail-modal)
    • Widget (notification-row)
    • formatters
    • notifications
  • Investor Web API
    • notifications
  • Lambda API
    • nav-changes.post.activate
    • nav-changes.scheduler.apply-pending
    • pools.post.wind-down

docs 17:15:55 fbe42a71

docs(ia): regroup the sidebar by document kind, and mirror it in ko

1 files · +53 · -14
  • Docs
    • config.ts

docs 17:15:44 e593b072

docs(ko): add translation stubs for the 4 pages missing from ko

4 files · +24
  • Docs
    • 08a-contract-reference.md
    • 22-notifications.md
    • 25-design-system.md
    • 26-glossary.md

docs 17:05:04 2ff515a5

docs(tooling): add check-doc-anchors — verify hash links against the built HTML

1 files · +98
  • Docs
    • check-doc-anchors.mjs

other 16:59:03 ce8131b0

ci(docs): drop the ch/product preview, restrict the trigger to jy/product

2 files · +10 · -37
  • CI/CD
    • deploy-docs.yml
  • Docs
    • config.ts

docs 15:22:31 297422f9

docs(money-path): restructure 23 back to a map, move implementation depth to its owners

17 files · +173 · -223
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09a-custody.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 17-changelog.md
    • 20-joob-pool-config.md
    • 23-money-path.md
    • 24-field-governance.md
    • 26-glossary.md

docs 14:53:04 bd95ee0f

docs: name the hold-back a dormant lever, drop "the 90%" for partner remainder (v3-112)

5 files · +91 · -20
  • Docs
    • 14-decisions.md
    • 17-changelog.md
    • 22-notifications.md
    • 23-money-path.md
    • 26-glossary.md

other 14:43:49 dfd43d06

ci(docs): production deploys from jy/product only, ch/product goes to a preview prefix

2 files · +36 · -6
  • CI/CD
    • deploy-docs.yml
  • Docs
    • config.ts

docs 14:43:32 584032df

docs: correct stale deploy/contract claims, drop the partner webhook, fix container rendering

13 files · +392 · -94
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md
    • 21-holder-verification.md
    • 23-money-path.md

docs 09:28:54 6486a29d

docs: NAV/epoch contract deploy verified — flip the 🟡 deploy-pending items to shipped

9 files · +60 · -28
  • Docs
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08a-contract-reference.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md

2026-08-04 (Tue)

🟢 ch/product

fix 23:04:00 e14ee87b

fix(infra): a cached SPA document stops outliving the security headers it shipped with

5 files · +96 · -32
  • Infra
    • CDK Stack (admin-web-stack)
    • CDK Stack (docs-stack)
    • CDK Stack (landing-stack)
    • CDK Stack (spa-bucket-deployment)
    • CDK Stack (web-stack)

feat 22:37:21 9c52fb5e

feat(pool): archive stops hiding pools people still own, and CLOSED gets a way in

30 files · +1050 · -90
  • Admin
    • Route (pool-detail)
    • pool-controls
    • status
  • Admin API
    • pools
    • use-pools
  • Admin UI
    • pool-badges
  • Docs
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0123_pools_is_hidden.sql
    • DB 0124_nav_proposal_total_loss_wording.sql
    • DB schema.sql
    • DB seed.sql
    • activity.ts
    • pool-archive.test.ts
    • pool-archive.ts
  • Lambda API
    • funds.delete
    • pools.delete
    • pools.get.list
    • pools.patch.update
    • pools.post.close
    • pools.post.freeze
    • pools.post.governance
    • pools.post.impairment
    • pools.post.pause
    • pools.post.wind-down
    • pools.scheduler.lifecycle
    • pools.worker.deploy

feat 20:09:25 0abe1682

feat(nav): the reserve stops absorbing loss, and the suggestion path stops mixing currencies

77 files · +3569 · -454
  • Admin
    • Route (dashboard)
    • Route (pool-detail)
    • Route (pools)
    • nav-change-dialog
    • overview-tab
    • pool-controls
    • step-terms
  • Admin API
    • nav-changes
    • use-nav-changes
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
  • Docs
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08a-contract-reference.md
    • 09a-custody.md
    • 11-db-schema.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md
    • 23-money-path.md
    • 26-glossary.md
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (spa-security-headers)
    • CDK Stack (web-stack)
    • DB 0117_pools_lp_total_supply.sql
    • DB 0118_pool_partner_report_config.sql
    • DB 0119_buffer_requires_external_mapping.sql
    • DB 0120_drop_nav_proposal_recovery_flag.sql
    • DB 0121_equity_buffer_prose_requires_layer.sql
    • DB 0122_nav_history_loss_and_ungate_buffer.sql
    • DB schema.sql
    • apply-proposal.ts
    • engine.ts
    • nav-formula.test.ts
    • nav-formula.ts
    • nav-suggest.test.ts
    • nav-suggest.ts
    • nav.ts
    • package.json
    • pool-registry.ts
    • pool.ts
    • range-limit.test.ts
    • range-limit.ts
    • units.test.ts
    • units.ts
  • Investor Web
    • Route (pool.$id)
    • Widget (fund-data-tab)
    • Widget (overview-tab)
    • Widget (performance-tab)
    • Widget (risk-disclosure)
    • status
  • Investor Web API
    • loss-history
    • nav-changes
    • pools
  • Investor Web UI
    • PoolStatusAlert
  • Lambda API
    • nav-changes.post.activate
    • nav-changes.post.cancel
    • nav-changes.post.dismiss
    • nav-changes.post.propose
    • nav-proposals.scheduler.expire
    • pools.get.loss-history
    • pools.get.nav-history
    • pools.patch.update
    • pools.post.create
  • Other
    • CLAUDE.md
    • scripts/check-copy.mjs
  • Smart Contract
    • NavLib
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPool.bytecode.d.ts
    • PlatformPool.bytecode.js
    • PlatformPoolStorage
    • PoolCommonLib
    • RedemptionLib
    • sepolia.md

fix 12:05:11 860a5049

fix(nav): pin the tranche write-down decisions in tests, and retire the reserve-only wind-down wording

11 files · +287 · -29
  • Admin
    • status
  • Docs
    • 01-overview.md
    • 02-core-concepts.md
    • 04-pool-models.md
    • 07-redemption.md
    • 10-status-machines.md
    • 14-decisions.md
  • Infra
    • loss-waterfall.test.ts
    • writedown-governance.test.ts
  • Investor Web
    • status
  • Lambda API
    • pools.post.wind-down

feat 01:45:03 3feeb873

feat(epoch): the last open decisions ship, and the copy guard starts seeing the registry

42 files · +1553 · -173
  • Admin
    • Route (pool-detail)
    • Route (yield)
    • status
  • Admin API
    • pools
  • Docs
    • 11-db-schema.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0115_epoch_window_subscriptions.sql
    • DB 0116_pool_junior_depleted_at.sql
    • DB schema.sql
    • catalog-integrity.test.ts
    • deposit.ts
    • epoch-redemption.ts
    • epoch.ts
    • freeze-milestones.test.ts
    • in-app.ts
    • investor-preferences.test.ts
    • kyc-account.ts
    • ops-variants.ts
    • pool.ts
    • redemption.ts
    • resolve.ts
    • stalled-threshold.test.ts
    • types.ts
    • yield.ts
  • Investor Web
    • Route (pool.$id)
    • Widget (epoch-countdown)
    • Widget (epoch-window-optin)
    • Widget (index)
    • status
  • Investor Web API
    • keys
    • pools
    • use-window-subscriptions
    • window-subscriptions
  • Lambda API
    • pools.get.list
    • pools.post.wind-down
    • pools.scheduler.epoch-window-open
    • redemption-requests.scheduler.epoch-cutoff
    • tranche.post.writedown
    • window-subscriptions.delete
    • window-subscriptions.get.list
    • window-subscriptions.post.create
  • Other
    • scripts/check-copy.mjs

feat 00:10:02 22c8004c

feat(yield): a stalled distribution now pushes, and the badge counts what it sends

9 files · +230 · -14
  • Admin API
    • yield-distributions
  • Docs
    • 11-db-schema.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0114_stalled_yield_requires_deposit_tx.sql
    • DB schema.sql
    • stalled.ts
    • yield.ts
  • Lambda API
    • dashboard.get.stats
    • yield.scheduler.stalled

🔵 jy/product

docs 23:29:08 90cf78ae

docs: resync status markers after ch/product shipped v3-109 / v3-110

10 files · +15 · -15
  • Docs
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09a-custody.md
    • 14-decisions.md
    • 15-api-reference.md
    • 26-glossary.md

docs 19:01:54 2281a03e

docs(epoch): separate "not implemented" from "not deployed" for v3-105 / v3-107

5 files · +42 · -16
  • Docs
    • 07-redemption.md
    • 08a-contract-reference.md
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md

docs 18:18:28 88a2aa0b

docs(nav): correct the reserveConsumed=0 claim — R8 requires it, the BE does not do it yet

8 files · +12 · -10
  • Docs
    • 06-writedown-nav.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09a-custody.md
    • 11-db-schema.md
    • 14-decisions.md
    • 26-glossary.md

docs 17:45:17 fcf198d5

docs(anchors): repoint the 13 links whose target moved or was mis-numbered (85 -> 2)

7 files · +16 · -15
  • Docs
    • 01-overview.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 09a-custody.md
    • 14-decisions.md
    • 17-changelog.md

docs 16:43:48 37896ce6

docs(anchors): add explicit {#…} to 29 heading targets so hand-written hash links resolve (72 links)

13 files · +30 · -29
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 09-rbac.md
    • 09a-custody.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 21-holder-verification.md
    • 22-notifications.md

docs 16:39:34 67eee582

docs(anchors): disambiguate duplicate v3-96 id (yield vs copy), repoint intending links

2 files · +7 · -3
  • Docs
    • 14-decisions.md
    • 17-changelog.md

docs 16:32:11 16addd3b

docs(pool): reframe archive/close/hidden per v3-110; fix pause & loss-term comments

12 files · +158 · -21
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 09-rbac.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md
  • Infra
    • DB schema.sql
  • Lambda API
    • pools.post.pause

docs 15:57:47 89a1b859

docs(build): generate anchors for ::: decided cards so #vX-NN links resolve (178 links)

2 files · +59 · -32
  • Docs
    • 14-decisions.md
    • config.ts

docs 15:53:16 ad371d58

docs(nav): v3-109 — reserve out of loss absorption (R8), NAV denom → totalSupply (R9), buffer param (R6), wind-down denom (R10), FX/timelock/governance; +26-glossary

20 files · +443 · -99
  • Docs
    • 01-overview.md
    • 02-core-concepts.md
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09a-custody.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
    • 20-joob-pool-config.md
    • 23-money-path.md
    • 24-field-governance.md
    • 26-glossary.md
    • config.ts

2026-08-03 (Mon)

🟢 ch/product

feat 20:51:36 eda11ba4

feat(landing): the marketing site becomes its own app, and the investor app moves to app.

64 files · +2825 · -1301
  • CI/CD
    • deploy-landing.yml
    • deploy-web.yml
  • Docs
    • epoch-redemption-redesign.md
  • Infra
    • .env.example
    • CDK Stack (certificate-stack)
    • CDK Stack (ci-deploy-role-stack)
    • CDK Stack (index)
    • CDK Stack (landing-stack)
    • CDK Stack (spa-security-headers)
    • app.ts
    • environment.ts
    • package.json
  • Investor Web
    • Route (home)
    • Route (landing)
    • hashed_logo
    • routes
    • sphere
  • Investor Web UI
    • Footer
  • Other
    • landing/.env.development
    • landing/.env.example
    • landing/.env.production
    • landing/.gitignore
    • landing/README.md
    • landing/app/entry.client.tsx
    • landing/app/entry.server.tsx
    • landing/app/env.d.ts
    • landing/app/root.tsx
    • landing/app/routes.ts
    • landing/app/routes/$.tsx
    • landing/app/routes/landing.tsx
    • landing/app/shared/config/app-url.ts
    • landing/app/shared/config/contact.ts
    • landing/app/shared/lib/date.ts
    • landing/app/shared/lib/index.ts
    • landing/app/shared/ui/index.ts
    • landing/app/shared/ui/logo.tsx
    • landing/app/shared/ui/reveal-on-scroll.tsx
    • landing/app/widgets/footer/footer.tsx
    • landing/app/widgets/footer/index.ts
    • landing/app/widgets/header/header.tsx
    • landing/app/widgets/header/index.ts
    • landing/app/widgets/index.ts
    • landing/app/widgets/landing/backed-by.tsx
    • landing/app/widgets/landing/cta-banner.tsx
    • landing/app/widgets/landing/hero-section.tsx
    • landing/app/widgets/landing/how-it-works.tsx
    • landing/app/widgets/landing/index.ts
    • landing/app/widgets/landing/trust-strip.tsx
    • landing/app/widgets/landing/why-aset-visuals.tsx
    • landing/app/widgets/landing/why-aset.tsx
    • landing/eslint.config.js
    • landing/global.css
    • landing/package.json
    • landing/public/favicon.svg
    • landing/public/hashed_logo.png
    • landing/public/sphere.png
    • landing/react-router.config.ts
    • landing/tsconfig.app.json
    • landing/tsconfig.json
    • landing/tsconfig.node.json
    • landing/vite.config.ts
    • package.json
    • pnpm-lock.yaml
    • scripts/check-copy.mjs

feat 17:33:05 c5bddf5d

feat(yield): due periods move into the read model, and PENDING goes away with its only writer

32 files · +2147 · -683
  • Admin
    • Route (dashboard)
    • Route (fund-detail)
    • Route (yield)
    • index
    • use-debounced-value
  • Admin API
    • dashboard
    • keys
    • use-yield-distributions
    • yield-distributions
  • Docs
    • 10-status-machines.md
    • 11-db-schema.md
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md
    • 18-failure-types.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0113_yield_distributions_forbid_pending.sql
    • DB schema.sql
    • DB seed.sql
    • due-row-math.test.ts
    • due-row-math.ts
    • due-rows.ts
    • fees.ts
    • run-distribution.ts
    • yield-schedule.ts
  • Lambda API
    • dashboard.get.stats
    • yield-distributions.get.counts
    • yield-distributions.get.list
    • yield-distributions.get.preview
    • yield-distributions.post.create
    • yield-distributions.post.distribute

feat 17:28:40 6c0a08fb

feat(epoch): install the anchored schedule and close the unanchored path

31 files · +1700 · -97
  • Contract Test
    • PlatformPoolEpoch.t
    • PlatformPoolNonCustodial.t
  • Docs
    • 11-db-schema.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0111_epoch_funding_date_provenance.sql
    • DB 0112_redemption_epochs_settlement_due.sql
    • DB schema.sql
    • DB seed.sql
    • activity.ts
    • create-pool.ts
    • deploy-payload.ts
    • engine.ts
    • epoch-redemption.ts
    • epoch-schedule.test.ts
    • epoch-schedule.ts
    • epoch.ts
    • events.ts
    • index.ts
  • Lambda API
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • pools.post.epoch-schedule
    • pools.post.lifecycle
    • pools.worker.deploy
    • redemption-requests.get.epoch-summary
    • redemption-requests.get.list
    • tranche.post.writedown
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json
    • RedemptionLib

🔵 jy/product

feat 15:53:20 f6f9ff96

feat(copy-guard): fail the build on prose em-dashes

2 files · +88 · -7
  • Other
    • CLAUDE.md
    • scripts/check-copy.mjs

refactor 15:31:12 be6aea35

refactor(copy): replace em-dashes in user-visible copy

57 files · +167 · -167
  • Admin
    • Route (admin-settings)
    • Route (audit-log)
    • Route (dashboard)
    • Route (fund-detail)
    • Route (fund-manager-onboard)
    • Route (funds)
    • Route (kyc)
    • Route (my-settings)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (redemptions)
    • Route (styleguide)
    • Route (yield)
    • client
    • configuration-tab
    • deploy-status-banner
    • deposit-timeline
    • fund-payout-button
    • fund-select
    • investors-tab
    • nav-change-dialog
    • nav-chart
    • permissions
    • pool-controls
    • qualification-panel
    • redemption-funding-modal
    • status
    • step-basics
    • step-compliance
    • step-redemption
    • step-structure
    • step-terms
    • step-yield-fees
    • use-fund-redemption-flow
    • yield-settings-tab
  • Admin UI
    • dday-badge
    • pool-badges
  • Investor Web
    • Route (activity)
    • Route (help)
    • Route (pool.$id)
    • Route (portfolio)
    • Widget (PortfolioHero)
    • status
    • tx-error
    • use-add-lp-token
    • use-cancel-redemption-flow
    • use-redeem-flow
    • use-reinvest-flow
    • use-settle-epoch-flow
  • Investor Web API
    • use-user-settings
  • Investor Web UI
    • KYCModal

refactor 15:06:35 fd87ea59

refactor(ui): name the yield action Distribute, drop progress-label ellipsis

54 files · +179 · -179
  • Admin
    • Route (admin-settings)
    • Route (audit-log)
    • Route (auth-callback)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-detail)
    • Route (fund-invite-accept)
    • Route (fund-manager-onboard)
    • Route (funds)
    • Route (kyc)
    • Route (login)
    • Route (my-settings)
    • Route (notifications)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (redemptions)
    • Route (super-login)
    • Route (yield)
    • configuration-tab
    • delete-pool-section
    • deploy-status-banner
    • fund-payout-button
    • investor-sidebar
    • nav-change-dialog
    • pool-controls
    • qualification-panel
    • status
    • step-basics
    • totp-step
    • updates-tab
    • wallet-bind-card
    • yield-settings-tab
  • Admin UI
    • pending-confirm-dialog
  • Investor Web
    • Route (activity)
    • Route (dashboard)
    • Route (notifications)
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Route (settings)
    • Route (verify-email)
    • Widget (activity-tab)
    • Widget (fund-data-tab)
    • Widget (invest-sidebar)
    • Widget (reinvest-confirm-dialog)
    • Widget (updates-tab)
    • add-lp-token-control
    • auth-button
  • Investor Web UI
    • KYCModal
    • KYCStatusCard
    • RedeemModal
    • YieldClaimDialog

2026-08-02 (Sun)

🟢 ch/product

No activity

🔵 jy/product

docs 14:47:15 80e88fd3

docs(notifications): LEAD_DAYS shipped at 7, so stop calling it pending

2 files · +2 · -2
  • Docs
    • 14-decisions.md
    • 22-notifications.md

2026-07-31 (Fri)

🟢 ch/product

feat 18:15:25 cda0ae86

feat(notifications): rebuild the pipeline around event → notification → delivery

108 files · +5885 · -3862
  • Admin
    • Route (pool-detail)
  • Admin API
    • dashboard
    • notification-center
    • notifications
  • Admin UI
    • status-dot
  • Contract Test
    • PlatformPoolEpoch.t
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md
    • 22-notifications.md
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (ses-stack)
    • DB 0110_notification_rebuild.sql
    • DB schema.sql
    • activity.ts
    • admin-feed-scope.ts
    • admin-preferences.test.ts
    • admin-preferences.ts
    • app.ts
    • apply-proposal.ts
    • apply-review.ts
    • catalog-integrity.test.ts
    • catalog.ts
    • client.ts
    • copy.ts
    • create-system-update.ts
    • decide-channels.test.ts
    • decide.ts
    • delivery-log.ts
    • deposit.ts
    • dispatch.ts
    • email.ts
    • epoch.ts
    • feed.ts
    • freeze-milestones.test.ts
    • freeze.ts
    • governance.ts
    • holdback-release.test.ts
    • in-app.ts
    • index.ts
    • investor-preferences.test.ts
    • investor-preferences.ts
    • kyc-account.ts
    • lookups.ts
    • notification-email.ts
    • notify.ts
    • ops-variants.ts
    • pool.ts
    • preference-catalog.test.ts
    • queue.ts
    • redemption.ts
    • resolve.ts
    • response-shape.test.ts
    • run-distribution.ts
    • suppression.ts
    • team.ts
    • types.ts
    • yield.ts
  • Investor Web API
    • notifications
  • Lambda API
    • admin-notification-preferences.get.list
    • admin-notification-preferences.put.update
    • admin-notifications.get.list
    • admin-notifications.get.unread-count
    • admin-notifications.patch.read
    • admin-notifications.patch.read-all
    • admin-users.patch.update
    • deposits.post.create
    • email-suppressions.delete
    • email-suppressions.get.list
    • email-suppressions.post.create
    • fund-invites.post.accept
    • fund-members.patch.update
    • kyc.scheduler.reverify-sweep
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • nav-changes.scheduler.apply-pending
    • nav-proposals.scheduler.suggest
    • notification-logs.get.list
    • notification-logs.post.escalate
    • notification-logs.post.resend
    • notification-logs.scheduler.send
    • notification-preferences.get.list
    • notification-preferences.put.update
    • notifications.get.list
    • notifications.get.unread-count
    • notifications.patch.read
    • notifications.patch.read-all
    • notifications.scheduler.sweep
    • notifications.webhook.ses
    • notifications.worker.deliver
    • pools.post.escalate-yield
    • pools.post.impairment
    • pools.post.wind-down
    • pools.scheduler.epoch-funding-date
    • pools.scheduler.lifecycle
    • pools.scheduler.yield-due
    • redemption-requests.post.approve
    • redemption-requests.post.create
    • redemption-requests.post.escalate
    • redemption-requests.post.notify-fund
    • redemption-requests.post.reject
    • redemption-requests.scheduler.epoch-execute
    • redemption-requests.scheduler.exit-gate-sweep
    • redemption-requests.scheduler.partner-funding
  • Other
    • scripts/check-notification-producers.mjs

fix 14:25:28 bb38dca8

fix(contract,infra): make the on-chain amount axis a type, and settle a yield period in one tx

60 files · +1183 · -448
  • Contract Test
    • PlatformKYCSoulbound.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFlows.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 09a-custody.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md
    • 20-joob-pool-config.md
    • 23-money-path.md
    • 24-field-governance.md
  • Infra
    • apply-proposal.ts
    • approve-redemption.ts
    • create-pool.ts
    • epoch-redemption.ts
    • epoch.ts
    • events.ts
    • governance.ts
    • index.ts
    • lifecycle.ts
    • nav.ts
    • package.json
    • reinvest.ts
    • run-distribution.ts
    • units.test.ts
    • units.ts
    • yield-distribution.ts
    • yield.ts
  • Investor Web UI
    • YieldClaimDialog
  • Lambda API
    • deposits.post.create
    • nav-changes.post.propose
    • nav-changes.scheduler.apply-pending
    • pools.patch.update
    • pools.post.wind-down
    • pools.worker.deploy
    • redemption-requests.post.create
    • redemption-requests.post.fund
    • redemption-requests.scheduler.epoch-execute
    • redemption-requests.scheduler.partner-funding
    • tranche.post.writedown
    • yield-distributions.post.create
    • yield-distributions.post.distribute
  • Other
    • scripts/check-onchain-units.mjs
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPoolStorage
    • RedemptionLib
    • YieldLib

fix 12:41:54 ab8ee0b7

fix(infra): drop deleteExisting from the api alias records again

1 files · +6 · -6
  • Infra
    • CDK Stack (api-stack)

🔵 jy/product

docs 18:11:34 f2d8fed3

docs(epoch): record that the anchored schedule is never installed (v3-107)

8 files · +102 · -7
  • Docs
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md

docs 18:05:19 0e3422e2

docs(notifications): mark holdback_release_deferred on hold — the wording is provisional, not signed off

4 files · +24 · -1
  • Docs
    • 07-redemption.md
    • 17-changelog.md
    • 22-notifications.md
  • Infra
    • copy.ts

fix 17:58:10 4a6ff005

fix(notifications): the deferred hold-back remainder does not pay out automatically

6 files · +34 · -11
  • Docs
    • 07-redemption.md
    • 17-changelog.md
    • 22-notifications.md
    • 23-money-path.md
  • Infra
    • copy.ts
    • holdback-release.test.ts

docs 17:50:31 70580c91

docs(epoch): sync the epoch pages with the shipped engine; the hold-back does not auto-release

5 files · +163 · -26
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md
    • 23-money-path.md

docs 17:47:58 da2dfdec

docs(yield): catch 17-changelog and 18-failure-types up with the v3-104 decisions

2 files · +11 · -1
  • Docs
    • 17-changelog.md
    • 18-failure-types.md

fix 17:34:03 0c467390

fix(admin): stuck yield distributions belong under Failed, not in the record queue

2 files · +67 · -72
  • Admin
    • Route (yield)
  • Docs
    • 14-decisions.md

docs 17:29:06 5f1232b2

docs(epoch,tranche): v3-105 + v3-106 — cancel claims first, and a wiped tranche escalates on-chain

7 files · +190 · -9
  • Docs
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08a-contract-reference.md
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md

docs 17:25:07 86455b46

docs(yield): v3-104 — fix the estimate basis, the missed-period count, and record that PENDING has no owner

1 files · +6
  • Docs
    • 14-decisions.md

docs 17:14:31 6ce938a9

docs(yield): v3-104 — due-but-unrecorded periods belong in the read model, not a FE join

4 files · +46
  • Docs
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md

refactor 15:46:44 6687c1b8

refactor(admin): render the Yield Pending queue with DataTable like every other tab

1 files · +119 · -124
  • Admin
    • Route (yield)

docs 15:23:22 33296078

docs(schema): notification_preferences.category is event_key for investors too

1 files · +14 · -5
  • Infra
    • DB schema.sql

fix 15:20:48 803d830c

fix(admin): make Yield Pending rows actually selectable, and give the tab a search bar

1 files · +97 · -62
  • Admin
    • Route (yield)

fix 15:05:02 aaf8f0a3

fix(admin): let the Yield Pending tab select into the detail panel

1 files · +154 · -30
  • Admin
    • Route (yield)

docs 14:28:59 9e4f9643

docs(notifications): reconcile the pages with the registry; copy SoT is the code (v3-101)

5 files · +202 · -87
  • Docs
    • 11-db-schema.md
    • 13-operations.md
    • 14-decisions.md
    • 17-changelog.md
    • 22-notifications.md

other 14:16:20 ae4e6018

copy(redemption): lead the closure notices with the returned position

1 files · +39 · -13
  • Infra
    • copy.ts

2026-07-30 (Thu)

🟢 ch/product

docs 17:51:51 ef8b06eb

docs(contracts): correct the RedemptionLib size to the post-exit-gate measurement

1 files · +1 · -1
  • Docs
    • 08-smart-contracts.md

feat 17:51:51 fc91f6a1

feat(redemption): finish v3-99 — shared closure reasons, live exit-gate hint, split closure counts

19 files · +415 · -70
  • Admin
    • Route (redemptions)
  • Admin API
    • redemption-requests
    • use-redemption-requests
  • Docs
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 10-status-machines.md
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md
    • 22-notifications.md
  • Infra
    • CDK Stack (api-stack)
    • redemption-exit-gate.ts
  • Lambda API
    • redemption-requests.get.counts
    • redemption-requests.get.exit-gate
    • redemption-requests.post.reject
  • Other
    • packages/types/src/index.ts

feat 16:57:13 c4f470a2

feat(redemption): gate the payout entry point on exit eligibility, detect blocked requests early

20 files · +861 · -37
  • Contract Test
    • PlatformPool.t
  • Docs
    • 10-status-machines.md
    • 13-operations.md
    • epoch-redemption-redesign.md
  • Infra
    • CDK Stack (api-stack)
    • copy.ts
    • engine.ts
    • events.ts
    • exit-gate.ts
    • index.ts
    • redemption-exit-gate.test.ts
    • redemption-exit-gate.ts
    • redemption.ts
  • Lambda API
    • redemption-requests.post.approve
    • redemption-requests.post.fund
    • redemption-requests.scheduler.exit-gate-sweep
  • Other
    • CLAUDE.md
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json
    • RedemptionLib

feat 16:57:13 f8b165a3

feat(notifications): mirror the copy sheet, enforce investor preferences, add the follow opt-in

27 files · +1098 · -109
  • Infra
    • CDK Stack (api-stack)
    • DB 0108_investor_notification_prefs_event_keys.sql
    • DB 0109_pool_follows.sql
    • DB schema.sql
    • copy.ts
    • investor-preferences.test.ts
    • investor-preferences.ts
    • notify.ts
    • package.json
  • Investor Web
    • Route (pool.$id)
    • Route (settings)
  • Investor Web API
    • index
    • keys
    • pool-follows
    • use-pool-follows
    • use-user-settings
    • user-settings
  • Lambda API
    • notification-logs.scheduler.send
    • notification-preferences.get.list
    • notification-preferences.put.update
    • pool-follows.delete
    • pool-follows.get.list
    • pool-follows.post.create
    • pools.scheduler.lifecycle
  • Other
    • scripts/check-copy.mjs
    • scripts/check-notification-producers.mjs

chore 16:57:13 3a49350e

chore(infra): drop deleteExisting from CloudFront alias records

4 files · -24
  • Infra
    • CDK Stack (admin-web-stack)
    • CDK Stack (api-stack)
    • CDK Stack (docs-stack)
    • CDK Stack (web-stack)

fix 11:47:17 2345fd1a

fix(redemption): make wind-down payouts reachable; clamp hold-back release to free liquidity

5 files · +184 · -54
  • Contract Test
    • PlatformPoolEpoch.t
    • PlatformPoolNonCustodial.t
  • Docs
    • 04-pool-models.md
  • Smart Contract
    • GovernanceLib
    • RedemptionLib

feat 11:47:16 39e94e86

feat(epoch): rebuild the redemption engine — index collapse, double-commit, anchored schedule

64 files · +3960 · -756
  • Admin
    • pool-controls
    • step-redemption
    • types
  • Admin API
    • pools
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformPoolInvariant.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Docs
    • 11-db-schema.md
    • epoch-redemption-redesign.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0104_epoch_schedule_cols.sql
    • DB 0105_epoch_schedule_comments.sql
    • DB 0106_drop_liquidity_windows.sql
    • DB schema.sql
    • copy.ts
    • create-pool.ts
    • deposit-eligibility.ts
    • engine.ts
    • enums.ts
    • events.ts
    • format-date.ts
    • freeze-milestones.test.ts
    • freeze-state.test.ts
    • freeze-state.ts
    • freeze.ts
    • index.ts
    • notify.ts
    • redemption-eligibility.test.ts
    • redemption-eligibility.ts
  • Investor Web API
    • pools
  • Lambda API
    • deposits.post.create
    • pools.get.eligibility
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • pools.post.freeze
    • pools.post.pause
    • pools.scheduler.epoch-funding-date
    • pools.scheduler.lifecycle
    • pools.worker.deploy
    • redemption-requests.post.create
    • redemption-requests.scheduler.epoch-execute
    • redemption-requests.scheduler.partner-funding
    • yield.post.reinvest
  • Other
    • CLAUDE.md
    • packages/types/src/index.ts
  • Smart Contract
    • GovernanceLib
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPoolFactory.abi.json
    • PlatformPoolStorage
    • PoolCommonLib
    • PoolConfigLib
    • RedemptionLib
    • YieldLib

fix 11:47:16 ce05c61d

fix(admin-redemptions): reset the detail panel when the list changes

1 files · +35 · -4
  • Admin
    • Route (redemptions)

fix 11:47:16 8a04310b

fix(auth): accept the integer sbt_token_id so minted investors keep their session

2 files · +38 · -2
  • Infra
    • jwt-token-use.test.ts
    • jwt.ts

🔵 jy/product

feat 18:33:10 489e0dc9

feat(notifications): tell the FM when a hold-back release is clamped, and fix the 1e12 amounts around it

13 files · +376 · -19
  • Docs
    • 14-decisions.md
    • 17-changelog.md
    • 22-notifications.md
  • Infra
    • copy.ts
    • engine.ts
    • epoch-redemption.ts
    • epoch.ts
    • events.ts
    • governance.ts
    • holdback-release.test.ts
    • holdback-release.ts
    • redemption.ts
  • Lambda API
    • redemption-requests.scheduler.partner-funding

docs 17:44:35 fd5b93c8

docs(epoch): close out the epoch redesign against the merged engine (v3-100)

10 files · +97 · -25
  • Docs
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09a-custody.md
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md
    • 24-field-governance.md

docs 16:40:38 1b288e50

docs(notifications): record the closure-notice split by reason (v3-99)

2 files · +30 · -1
  • Docs
    • 17-changelog.md
    • 22-notifications.md

feat 16:23:13 a18a2d7f

feat(notifications): split the redemption-closure notice by reason (v3-99 step 1 tail)

4 files · +71 · -11
  • Infra
    • contact.ts
    • copy.ts
    • index.ts
  • Lambda API
    • redemption-requests.post.reject

feat 15:58:46 e2e3ecad

feat(redemption): Return position — admin-only, reason required (v3-99 step 1)

3 files · +116 · -30
  • Admin
    • Route (redemptions)
  • Admin API
    • redemption-requests
  • Lambda API
    • redemption-requests.post.reject

docs 15:49:00 c3070922

docs(redemption): close v3-99 — Return position is ADMIN-only, reason required

4 files · +33 · -7
  • Docs
    • 07-redemption.md
    • 09-rbac.md
    • 14-decisions.md
    • 17-changelog.md

docs 15:34:36 1a5f9943

docs(epoch): correct the engine status item by item after the ch/product merge

5 files · +40 · -12
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md

docs 15:26:16 6ff5cff1

docs(redemption): write down the exit gates; rename the operator action

4 files · +87 · -3
  • Docs
    • 07-redemption.md
    • 09-rbac.md
    • 14-decisions.md
    • 17-changelog.md

feat 15:10:37 b52b913f

feat(notifications): P0-A/P0-B + ops variants, freeze window, INVALID_RECIPIENT KPI

29 files · +1195 · -164
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
    • 22-notifications.md
  • Infra
    • DB 0104_failed_notifications_exclude_invalid_recipient.sql
    • DB schema.sql
    • activity.ts
    • admin-preferences.ts
    • apply-proposal.ts
    • copy.ts
    • create-system-update.ts
    • epoch.ts
    • freeze-window.test.ts
    • freeze-window.ts
    • freeze.ts
    • notify.ts
  • Lambda API
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • nav-changes.scheduler.apply-pending
    • notification-logs.scheduler.send
    • pools.get.eligibility
    • pools.get.list
    • pools.post.impairment
    • pools.post.wind-down
    • pools.scheduler.lifecycle
    • redemption-requests.post.create
    • redemption-requests.scheduler.epoch-execute
    • redemption-requests.scheduler.partner-funding
    • yield-claims.post.create

2026-07-29 (Wed)

🟢 ch/product

docs 12:12:40 bda97b05

docs: drop the bulk SBT mint handoff note

1 files · -91
  • Docs
    • bulk-sbt-mint.md

fix 12:12:40 7debf06c

fix(web,infra): unbreak /activity, refresh it after its own actions, record epoch fills

17 files · +612 · -76
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0103_redemption_fills.sql
    • DB schema.sql
    • epoch.ts
  • Investor Web
    • Route (activity)
    • Widget (activity-tab)
    • transaction-entries
    • use-invest-flow
    • use-settle-epoch-flow
  • Investor Web API
    • investor-activity
    • keys
    • use-redemption-requests
    • use-redeposit
    • use-yield-claims
  • Investor Web UI
    • TransactionDetailDrawer
  • Lambda API
    • investor-activity.get.list
  • Other
    • packages/types/src/index.ts

feat 12:12:40 dda78b1a

feat(contract): allow partial reinvest, regenerate the stale pool ABI

11 files · +178 · -45
  • Contract Test
    • PlatformPool.t
    • PlatformPoolFlows.t
  • Docs
    • 05-investment-lifecycle.md
    • 08a-contract-reference.md
  • Investor Web
    • Widget (PortfolioHero)
  • Investor Web API
    • portfolio-positions
    • redemption-requests
    • yield-claims
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json
    • YieldLib

fix 12:12:40 9bdea96d

fix(pools): reopen exits after the freeze window, badge real pool state, stop blaming filters for failures

25 files · +590 · -139
  • Docs
    • 15-api-reference.md
  • Infra
    • reinvest.ts
  • Investor Web
    • PoolBrowseCard
    • PoolCard
    • PoolRow
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Widget (PCWidgets)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (pool-header-card)
    • Widget (position-card)
    • client
    • contracts
    • index
    • methods
    • pool-exit
    • status
    • use-reinvest-flow
  • Investor Web API
    • pools
  • Investor Web UI
    • RedeemModal
    • YieldClaimDialog
    • status-badge
  • Lambda API
    • pools.get.list

fix 12:12:40 adea302a

fix(admin-my-settings): make email toggles real, self-profile endpoint, FM session access

39 files · +1416 · -306
  • Admin
    • Route (admin-settings)
    • Route (my-settings)
    • notification-prefs
    • notification-prefs.test
  • Admin API
    • admin-users
    • notification-preferences
    • notifications
    • platform-settings
    • use-admin-users
    • use-notification-preferences
  • Admin UI
    • status-dot
  • Docs
    • 11-db-schema.md
    • 15-api-reference.md
    • 22-notifications.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0100_notification_status_suppressed.sql
    • DB 0101_admin_notification_prefs_event_keys.sql
    • DB 0102_admin_sessions_drop_is_current.sql
    • DB schema.sql
    • admin-preferences.test.ts
    • admin-preferences.ts
    • copy.ts
    • large-deposit.test.ts
    • large-deposit.ts
    • notify.ts
    • sessions.ts
  • Lambda API
    • admin-me.patch.update
    • admin-notification-preferences.get.list
    • admin-notification-preferences.put.update
    • admin-users.patch.update
    • auth.get.admin-sessions
    • auth.post.admin-logout-all
    • auth.post.admin-session-revoke
    • auth.post.refresh
    • deposits.post.create
    • fund-members.patch.update
    • notification-logs.get.list
    • notification-logs.scheduler.send
    • platform-settings.put.update

fix 12:12:40 d516f2dd

fix(admin-settings): report invite failures, role-accurate access notes, self-delete guard

5 files · +177 · -70
  • Admin
    • Route (admin-settings)
  • Admin API
    • use-admin-users
  • Admin UI
    • status-dot
  • Lambda API
    • admin-users.delete
    • admin-users.get.list

fix 12:12:40 5d3a5f81

fix(admin-pools): unfold is_paused from the lifecycle, target real proposals, uncap summed lists

21 files · +385 · -69
  • Admin
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • investors-tab
    • overview-tab
    • permissions
    • permissions.test
    • pool-controls
    • status
  • Admin API
    • nav-changes
    • notifications
    • pools
    • use-nav-changes
    • use-notification-logs
    • use-pools
  • Admin UI
    • pool-badges
  • Docs
    • 10-status-machines.md
  • Lambda API
    • pools.get.list
    • pools.post.create
    • pools.post.lifecycle

fix 12:12:40 d96d06e0

fix(admin-kyc): identify rows by real data, add a lever for stuck reviews, record epoch demand

11 files · +309 · -63
  • Admin
    • Route (kyc)
    • qualification-panel
  • Admin API
    • kyc
  • Docs
    • 11-db-schema.md
    • 15-api-reference.md
  • Infra
    • activity.ts
    • epoch.ts
  • Lambda API
    • admin-users.post.invite
    • kyc.post.sync
    • redemption-requests.post.approve
    • users.get.list

fix 12:12:40 291eb01d

fix(admin-funds): real error states, live pool counts, editable issuer profile

14 files · +410 · -107
  • Admin
    • Route (admin-settings)
    • Route (fund-detail)
    • Route (fund-manager-onboard)
    • Route (funds)
    • configuration-tab
    • email
    • issuer-fields
  • Admin API
    • funds
    • use-fund-invites
    • use-fund-members
    • use-funds
  • Lambda API
    • funds.get.list
    • funds.patch.update
    • funds.post.create

fix 12:12:40 039f993d

fix(admin-kyc): stop asserting an unassessed risk tier, add SBT re-mint, normalize log vocabulary

11 files · +286 · -20
  • Admin
    • Route (kyc)
  • Admin API
    • activity-category
    • activity-category.test
    • kyc
  • Docs
    • 11-db-schema.md
    • 15-api-reference.md
    • README.md
    • bulk-sbt-mint.md
  • Infra
    • DB 0099_kyc_logs_normalize_legacy_status_result.sql
    • activity.ts
  • Lambda API
    • kyc.post.mint-sbt

feat 12:12:40 9fba6e25

feat(web,admin-web): render every date in Singapore time; fix Audit Log export + filters

34 files · +677 · -177
  • Admin
    • Route (audit-log)
    • Route (pool-create)
    • Route (pool-edit)
    • Route (yield)
    • datetime
    • dday
    • index
    • nav-chart
    • pool-controls
    • qualification-panel
    • step-redemption
  • Admin API
    • dashboard
    • use-dashboard
  • Docs
    • 09-rbac.md
  • Infra
    • notify.ts
  • Investor Web
    • Route (activity)
    • Route (dashboard)
    • Route (portfolio)
    • Route (settings)
    • Widget (PCWidgets)
    • Widget (fund-data-tab)
    • Widget (invest-sidebar)
    • Widget (performance-tab)
    • Widget (pool-header-card)
    • formatters
    • redemption-state
    • status
  • Investor Web API
    • pools
  • Investor Web UI
    • Footer
    • RedeemModal
    • TransactionDetailDrawer
  • Lambda API
    • activity-events.get.counts
    • activity-events.get.export
    • activity-events.get.list

fix 12:12:40 a0cf0c23

fix: harden auth and audited investor access

43 files · +1759 · -2956
  • Admin
    • Route (admin-settings)
    • Route (fund-detail)
    • Route (fund-manager-onboard)
    • Route (funds)
    • Route (kyc)
    • Route (my-settings)
    • Route (notifications)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • client
    • investor-sidebar
  • Admin API
    • activity-events
    • investor-detail
    • portfolio-positions
    • use-portfolio-positions
  • Docs
    • 07-redemption.md
    • 09-rbac.md
    • 13-operations.md
  • Infra
    • CDK Stack (admin-web-stack)
    • CDK Stack (api-stack)
    • CDK Stack (spa-security-headers)
    • CDK Stack (web-stack)
    • DB 0096_pool_position_stats.sql
    • index.ts
    • investor-stats.ts
    • jwt-token-use.test.ts
    • jwt.ts
    • package.json
  • Investor Web
    • client
    • package
  • Lambda API
    • activity-events.post.create
    • auth.post.logout
    • auth.post.refresh
    • pools.get.list
    • portfolio-positions.get.list
    • users.get.investor-detail
    • users.get.list
  • Other
    • package.json
    • packages/http-auth/package.json
    • packages/http-auth/src/index.ts
    • pnpm-lock.yaml

fix 12:12:40 4910da02

fix(admin-yield): honest pool picker, deterministic pools paging, working deep-links

5 files · +46 · -6
  • Admin API
    • pools
    • yield-distributions
  • Infra
    • copy.ts
  • Lambda API
    • pools.get.list
    • yield-distributions.post.create

fix 12:12:40 f90057a3

fix(admin-redemptions): honest funding state, epoch queue partition, drawer gaps

9 files · +449 · -37
  • Admin
    • format-amount
    • redemption-funding
    • redemption-funding.test
    • use-refresh-queries
    • use-refresh-queries.test
  • Admin API
    • redemption-requests
  • Infra
    • DB 0097_epoch_summary_disjoint_queues.sql
    • epoch.ts
  • Lambda API
    • redemption-requests.get.list

fix 12:12:40 499608ea

fix(admin-deposits): real CSV export, Pending tab covers PROCESSING, honest Received panel

13 files · +804 · -273
  • Admin
    • Route (deposits)
    • Route (redemptions)
    • Route (yield)
    • csv-download
    • export-table-csv
    • index
    • redemption-funding-modal
    • use-csv-export
  • Admin API
    • deposits
  • Docs
    • 15-api-reference.md
  • Infra
    • status-filter.test.ts
    • status-filter.ts
  • Lambda API
    • deposits.get.list

fix 12:12:40 73174425

fix(admin-dashboard): correct Action Required, Platform Stats & Recent Activity

17 files · +869 · -310
  • Admin
    • Route (audit-log)
    • Route (dashboard)
    • package
  • Admin API
    • activity-category
    • activity-category.test
    • dashboard
    • use-dashboard
    • use-deposits
    • use-redemption-requests
    • use-yield-distributions
  • Admin UI
    • index
    • status-dot
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0095_platform_stats_total_yield_from_distributions.sql
    • DB 0098_platform_stats_scope.sql
    • DB schema.sql
  • Lambda API
    • dashboard.get.stats

🔵 jy/product

feat 17:50:29 98074810

feat(kyc): drop entity onboarding, remove the verification-type selector

4 files · +89 · -96
  • Docs
    • 03-kyc-identity.md
    • 14-decisions.md
    • 17-changelog.md
  • Investor Web UI
    • KYCModal

docs 14:57:36 0970ebee

docs: reconcile stale status claims with the code

8 files · +78 · -27
  • Docs
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 09-rbac.md
    • 11-db-schema.md
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md
    • 21-holder-verification.md

2026-07-28 (Tue)

🟢 ch/product

No activity

🔵 jy/product

style 18:30:44 ca82857e

style(admin-yield): drop the ≈ on the Overview hero (the "estimated" label already says it)

1 files · +1 · -1
  • Admin
    • Route (yield)

fix 10:55:50 8fd6c1e5

fix(admin-yield): (i) tooltip to the right of Escalate; drop the "Overdue" section heading

1 files · +11 · -13
  • Admin
    • Route (yield)

refactor 10:52:38 1bbde835

refactor(admin-yield): drop the admin warning box; (i) tooltip sits by the Escalate CTA

1 files · +25 · -27
  • Admin
    • Route (yield)

feat 10:50:18 d3c9b895

feat(admin-yield): admin escalate becomes the footer primary + (i) tooltip

1 files · +59 · -44
  • Admin
    • Route (yield)

fix 10:45:36 674d6e06

fix(admin-yield): unify FM wallet action to "Connect wallet" (disconnect-then-connect if wrong)

1 files · +28 · -10
  • Admin
    • Route (yield)

feat 10:41:48 5565b10f

feat(admin-yield): actionable wrong-wallet gate (connect / switch / escalate) + record deep-link

2 files · +113 · -25
  • Admin
    • Route (yield)
  • Admin API
    • pools

feat 10:41:48 8fc3f22e

feat(infra): escalate-yield endpoint + notification to the fund wallet owner

3 files · +88
  • Infra
    • CDK Stack (api-stack)
    • copy.ts
  • Lambda API
    • pools.post.escalate-yield

style 10:00:28 fa3ab421

style(admin-yield): rename calc rows to "Total yield" and "Net to holders"

1 files · +4 · -4
  • Admin
    • Route (yield)

feat 09:52:42 5a03f44f

feat(admin-yield): redesign the calculation as grouped, operator-led steps + per-LP-token

2 files · +68 · -58
  • Admin
    • Route (yield)
  • Admin API
    • pools

feat 09:52:42 e9a00093

feat(infra/pools): derive lp_total_supply for the yield-per-LP-token basis

2 files · +38 · -3
  • Infra
    • investor-stats.ts
  • Lambda API
    • pools.get.list

2026-07-27 (Mon)

🟢 ch/product

fix 14:33:54 d5b9239c

fix(infra): unpause on-chain when a higher state auto-clears is_paused (v3-92)

10 files · +174 · -18
  • Docs
    • 08-smart-contracts.md
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • index.ts
    • pause.ts
  • Lambda API
    • pools.post.freeze
    • pools.post.impairment
    • pools.post.wind-down
  • Other
    • CLAUDE.md

fix 14:30:28 a6b2de13

fix(infra): let DRAFT / DEPLOY_FAILED pools always hard-delete (0093)

3 files · +108 · -5
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0093_hard_delete_draft_pool_force.sql
  • Lambda API
    • pools.delete

fix 14:30:28 7608d3ca

fix(admin): stop sticky header bouncing on trackpad overscroll

1 files · +8
  • Admin
    • global

🔵 jy/product

fix 19:06:58 a673d0a9

fix(admin-yield): show Gross/Fee/Net (incl. "Fee none") before a gross is typed

1 files · +1 · -1
  • Admin
    • Route (yield)

fix 19:04:57 550e05b4

fix(admin-yield): show the estimate for tiny-TVL pools instead of "unavailable"

1 files · +12 · -8
  • Admin
    • Route (yield)

feat 19:00:08 d3df5b96

feat(admin-yield): expandable batch rows + investor count in the calculation

1 files · +127 · -119
  • Admin
    • Route (yield)

feat 18:51:48 88ac36bc

feat(admin-yield): batch "distribute overdue" review modal (UI only)

1 files · +102 · -1
  • Admin
    • Route (yield)

docs 18:49:55 866b336d

docs(copy): CLAUDE.md rule 2-b + enforcement layer for the copy SoT (v3-96)

4 files · +78 · -1
  • Docs
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md
  • Other
    • CLAUDE.md

other 18:49:43 566e28e9

build(copy-guard): fail the build on unverified copy claims (v3-96)

5 files · +238 · -6
  • Admin
    • eslint.config
    • package
  • Investor Web
    • eslint.config
    • package
  • Other
    • scripts/check-copy.mjs

refactor 18:49:31 36bdd17b

refactor(copy): move status copy out of components into copy modules (v3-96)

5 files · +335 · -137
  • Admin
    • Route (pool-detail)
    • pool-controls
    • status
  • Investor Web
    • status
  • Investor Web UI
    • PoolStatusAlert

docs 18:35:55 9945e1a9

docs(yield): record = distribute one-shot, status-scoped recovery, tx_hash-persist fix (v3-96)

2 files · +31
  • Docs
    • 14-decisions.md
    • 17-changelog.md

fix 18:25:53 7176ae3a

fix(infra/yield): persist distribute tx_hash before finalize to prevent orphaned PENDING

1 files · +20
  • Infra
    • run-distribution.ts

docs 18:25:08 091ce8e4

docs(status): banner copy SoT; pause is manual-only and overdue never auto-pauses (v3-94, v3-95)

4 files · +150 · -4
  • Docs
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md
  • Other
    • CLAUDE.md

fix 18:24:54 69d76411

fix(status-copy): stop claiming auto-pause, drop the fabricated pause drawer (v3-95)

4 files · +90 · -61
  • Admin
    • Route (pool-detail)
    • pool-controls
  • Investor Web
    • Route (pool.$id)
  • Investor Web UI
    • PoolStatusAlert

fix 18:24:25 391da7ad

fix(admin-yield): only offer recoveries the backend actually supports

1 files · +37 · -87
  • Admin
    • Route (yield)

refactor 18:17:34 bba16430

refactor(admin-yield): treat stuck PENDING as needs-retry, not "ready to distribute"

1 files · +32 · -22
  • Admin
    • Route (yield)

other 18:03:03 36391086

polish(admin-yield): clearer Calculation section (reason, fee grouping, spacing)

1 files · +31 · -21
  • Admin
    • Route (yield)

feat 17:54:40 606cee89

feat(admin-yield): always show Calculation + add retry action for stuck rows

1 files · +29 · -6
  • Admin
    • Route (yield)

refactor 17:51:01 9fed5ef3

refactor(admin-yield): relabel the overdue queue to Distribute (#3)

1 files · +4 · -4
  • Admin
    • Route (yield)

fix 17:40:55 389bbc90

fix(admin-yield): the server-side record modal already distributes, so label it that way

1 files · +4 · -4
  • Admin
    • Route (yield)

fix 17:20:39 fc75010a

fix(admin-yield): correct the Overview all-distributions total + hide ~$0 estimates

1 files · +5 · -5
  • Admin
    • Route (yield)

style 17:16:52 e4f6b2ef

style(admin-yield): make the Calculation heading a real subtitle

1 files · +1 · -1
  • Admin
    • Route (yield)

feat 17:15:35 d0b5f8bd

feat(admin-yield): add a Calculation breakdown section to the record modal

1 files · +58 · -70
  • Admin
    • Route (yield)

refactor 17:08:23 c1d93373

refactor(admin-yield): fold the fee-free note into the amount area

1 files · +17 · -18
  • Admin
    • Route (yield)

docs 17:02:44 6535b753

docs(epoch): funding date is admin-entered per cycle; knob freezes at window open (v3-93)

3 files · +8 · -8
  • Docs
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md

feat 16:46:02 89b05cd1

feat(nav): A4 — automated NAV suggestion + approve/override layer

18 files · +965 · -7
  • Admin
    • nav-change-dialog
  • Admin API
    • keys
    • nav-changes
    • use-nav-changes
  • Docs
    • 06-writedown-nav.md
    • 11-db-schema.md
    • 14-decisions.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0094_nav_proposals.sql
    • DB schema.sql
    • activity.ts
    • apply-proposal.ts
    • copy.ts
    • nav-suggest.ts
  • Lambda API
    • nav-changes.post.approve
    • nav-changes.post.override
    • nav-proposals.get.list
    • nav-proposals.scheduler.suggest

feat 16:37:36 660fe550

feat(admin-yield): explain the fee-policy blocker and deep-link to it

2 files · +16 · -6
  • Admin
    • Route (pool-edit)
    • Route (yield)

refactor 16:23:05 af3957dd

refactor(admin-yield): make the record modal a clear gated flow

1 files · +44 · -27
  • Admin
    • Route (yield)

docs 16:18:41 1415ec03

docs(epoch): request window is a hard gate, one funding-date anchor, cancel window (v3-93)

3 files · +49 · -5
  • Docs
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md

feat 16:14:04 92b2ed23

feat(admin-yield): prefill the record modal with an APY-based estimate

1 files · +49 · -13
  • Admin
    • Route (yield)

feat 16:11:40 6b71e28f

feat(admin-yield): turn Pending tab into a distribution action queue

2 files · +168 · -59
  • Admin
    • Route (yield)
  • Admin UI
    • count-badge

docs 15:24:09 c7f473e7

docs(money-path): drop stale "penalty still credits reserve" caveat (v3-85)

1 files · +1 · -1
  • Docs
    • 23-money-path.md

docs 14:37:33 f96bbf4b

docs(redemption): flag v3-91 epoch redesign across epoch-behavior docs

4 files · +7 · -3
  • Docs
    • 04-pool-models.md
    • 08a-contract-reference.md
    • 10-status-machines.md
    • 12-triggers.md

docs 14:06:10 f04b11a4

docs(redemption): v3-91 — epoch engine redesign (decided, impl pending)

3 files · +39 · -2
  • Docs
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md

2026-07-24 (Fri)

🟢 ch/product

fix 18:26:18 6424851b

fix(admin): stop sticky header bouncing on trackpad overscroll

1 files · +8
  • Admin
    • global

fix 17:54:51 95cb2364

fix(admin): white background for the deposits empty-state panel

1 files · +1 · -1
  • Admin
    • Route (deposits)

fix 17:54:51 b84341bb

fix(admin): align settings CTAs and spacing with the rest of the panel

2 files · +29 · -28
  • Admin
    • Route (admin-settings)
    • Route (my-settings)

fix 17:47:09 c9f18298

fix(admin): align settings CTAs and spacing with the rest of the panel

2 files · +28 · -27
  • Admin
    • Route (admin-settings)
    • Route (my-settings)

fix 17:23:22 4229768a

fix(admin): keep primary button text readable on hover (pools/funds CTAs)

2 files · +4 · -4
  • Admin
    • Route (funds)
    • Route (pools)

fix 16:12:32 493c2dda

fix(admin): DataTable surface polish — fuse controls, first-col tint, last-row accent

3 files · +59 · -17
  • Admin
    • Route (funds)
    • Route (pools)
    • global

fix 15:34:41 fa437b90

fix(web): browse/portfolio UI polish — tab scrollbar, search icon, chip order, positions gap

4 files · +23 · -20
  • Investor Web
    • PoolBrowseCard
    • Route (activity)
    • Route (pools)
    • Widget (PCWidgets)

fix 14:51:20 2a6512b2

fix(admin): align pools ops-filter counts with the visible rows

1 files · +25 · -16
  • Admin
    • Route (pools)

fix 14:46:44 d85851f9

fix(admin): unify filter-tab active color and stabilize dashboard Count column

4 files · +18 · -14
  • Admin
    • Route (admin-settings)
    • Route (dashboard)
    • Route (kyc)
    • Route (notifications)

fix 13:58:25 e6484a26

fix(admin): unblock pool Class-C edits and shrink Back-to-Pools link hit area

2 files · +5 · -3
  • Admin
    • Route (pool-detail)
    • payload

feat 12:32:02 f2cf37c2

feat(contract,infra): KYC MINTER_ROLE least-privilege split + guarded pool hard-delete

6 files · +171 · -11
  • Contract Deploy
    • GrantKYCRoles.s
    • MintKYC.s
  • Contract Test
    • PlatformKYCSoulbound.t
  • Infra
    • DB 0090_hard_delete_pool_guarded.sql
  • Lambda API
    • pools.delete
  • Smart Contract
    • PlatformKYCSoulbound

fix 12:30:12 56a7cb8c

fix(infra): correct NAV scale to 6-dec and reconcile chain↔DB NAV drift

12 files · +399 · -54
  • Docs
    • 11-db-schema.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0089_nav_precision_scale6.sql
    • DB 0091_apply_nav_change_atomic.sql
    • DB schema.sql
    • index.ts
    • nav.ts
  • Lambda API
    • nav-changes.post.activate
    • nav-changes.post.propose
    • nav-changes.scheduler.apply-pending
    • pools.post.wind-down
    • tranche.post.writedown

🔵 jy/product

feat 18:24:50 c0facbf6

feat(admin): pool-detail funding modal + redemption panel actions + NAV pending writedown

6 files · +360 · -202
  • Admin
    • Route (redemptions)
    • fund-payout-button
    • investors-tab
    • nav-chart
    • overview-tab
    • redemption-funding-modal

feat 17:58:29 bac5496d

feat(admin): pool overview Redeemable card + redemptions master-detail

5 files · +302 · -157
  • Admin
    • Route (redemptions)
    • overview-tab
  • Admin UI
    • index
  • Infra
    • DB 0092_epoch_demand_usd_forward_priced.sql
  • Other
    • packages/ds-editorial/src/patterns.tsx

docs 17:09:14 fae8a848

docs(joob): v3-90 — NPL@90 / write-off ~180 DPD, cash-received fund value mirrored

6 files · +54 · -6
  • Docs
    • 06-writedown-nav.md
    • 14-decisions.md
    • 17-changelog.md
    • 20-joob-pool-config.md
  • Investor Web
    • Widget (fund-data-tab)
  • Investor Web API
    • fund-data

2026-07-23 (Thu)

🟢 ch/product

feat 19:06:59 ef96877e

feat(web,admin): surface API mutation failures via global error toast

11 files · +155 · -11
  • Admin
    • query-client
  • Admin API
    • dashboard
    • use-pools
    • use-yield-distributions
  • Investor Web
    • query-client
    • use-reinvest-flow
  • Investor Web API
    • use-auth
    • use-deposits
    • use-kyc
    • use-redemption-requests
    • use-redeposit

fix 19:06:59 44e844ed

fix(contract): harden KYC/governance/reinvest/redemption per contract QA

16 files · +503 · -48
  • Contract Test
    • PlatformKYCSoulbound.t
    • PlatformPool.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • SequenceDiagramVerification.t
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 23-money-path.md
  • Smart Contract
    • GovernanceLib
    • PlatformKYCSoulbound
    • PlatformPool
    • PlatformPoolStorage
    • PoolConfigLib
    • YieldLib

fix 19:06:59 f2883d8c

fix(infra): resolve backend QA findings across auth/kyc/pools/yield/redemption

54 files · +1477 · -229
  • Docs
    • 09-rbac.md
    • 11-db-schema.md
  • Infra
    • DB 0085_deposit_process_atomic.sql
    • DB 0086_yield_hardening.sql
    • DB schema.sql
    • copy.ts
    • fallback-redemption.ts
    • index.ts
    • nav.ts
    • pool-maturity.test.ts
    • pool-maturity.ts
    • pool-read-access.ts
    • pool-visibility.test.ts
    • pool-visibility.ts
    • redemption.ts
    • sbt-sync.test.ts
    • sbt-sync.ts
    • self-heal.test.ts
    • self-heal.ts
  • Lambda API
    • activity-events.get.export
    • admin-users.get.list
    • auth.post.nonce
    • auth.post.verify
    • config.get.chains
    • config.get.stablecoins
    • deposits.get.list
    • deposits.post.create
    • fund-members.patch.update
    • fund-members.post.create
    • kyc.get.status
    • kyc.post.access-token
    • kyc.scheduler.reverify-sweep
    • nav-changes.get.list
    • nav-changes.post.propose
    • notification-logs.get.list
    • notification-logs.post.resend
    • pools.get.eligibility
    • pools.get.fund-data-writeoffs
    • pools.patch.update
    • pools.post.create
    • pools.post.governance
    • pools.post.impairment
    • pools.post.wind-down
    • pools.scheduler.lifecycle
    • pools.scheduler.tvl-snapshot
    • redemption-requests.post.cancel
    • redemption-requests.post.claim-fallback
    • redemption-requests.post.create
    • tranche.post.writedown
    • users.post.email
    • wallets.get.list
    • yield-claims.post.create
    • yield-distributions.post.distribute
    • yield.post.reinvest

fix 19:03:15 97548eaf

fix(admin): resolve admin-panel QA findings (redemptions, pools, yield, kyc, funds, notifications, settings)

36 files · +815 · -204
  • Admin
    • Route (admin-settings)
    • Route (deposits)
    • Route (fund-detail)
    • Route (funds)
    • Route (kyc)
    • Route (my-settings)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (redemptions)
    • Route (yield)
    • auth-context
    • payload
    • permissions
    • provider
    • qualification-panel
    • step-yield-fees
    • types
  • Admin API
    • funds
    • keys
    • kyc
    • notifications
    • pools
    • redemption-requests
    • use-redemption-requests
  • Docs
    • 15-api-reference.md
    • 22-notifications.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0084_redemption_epoch_summary_fn.sql
    • DB 0087_notification_channel_webhook.sql
    • run-distribution.ts
  • Lambda API
    • redemption-requests.get.epoch-summary
    • redemption-requests.get.list
    • yield-distributions.post.create

fix 19:01:40 b24889bd

fix(web): QA round — lifecycle/redemption/KYC/notification fixes; remove bridge

28 files · +145 · -206
  • Docs
    • 06-writedown-nav.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md
  • Investor Web
    • Route (activity)
    • Route (bridge)
    • Route (dashboard)
    • Route (disclaimer)
    • Route (help)
    • Route (kyc)
    • Route (notifications)
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Route (settings)
    • explorer
    • kyc-status
    • methods
    • redemption-state
    • routes
  • Investor Web API
    • notifications
    • use-user-settings
    • user-settings
  • Investor Web UI
    • KYCModal
    • KYCStatusCard
    • RedeemModal
  • Lambda API
    • investor-activity.get.list
  • Other
    • CLAUDE.md

🔵 jy/product

wip 19:55:49 3081de5f

wip(admin): restore deposit master-detail + investor sidebar fold

1 files · +3 · -24
  • Admin
    • Route (deposits)

feat 19:55:40 ba5f67a3

feat(admin): pool-detail overview layout + status/warning polish

4 files · +151 · -133
  • Admin
    • Route (pool-detail)
    • nav-chart
    • overview-tab
    • pool-metrics-line

wip 19:41:39 fc084924

wip(admin): panel empty-state shows an overview summary (yield + deposit)

2 files · +49 · -6
  • Admin
    • Route (deposits)
    • Route (yield)

wip 19:37:52 1e3ef920

wip(admin): deposit master-detail panel + fold investor sidebar into it

2 files · +182 · -141
  • Admin
    • Route (deposits)
    • investor-sidebar

wip 19:25:55 19bdb5b3

wip(admin): yield master-detail panel prototype (replaces slide-over drawer)

1 files · +128 · -119
  • Admin
    • Route (yield)

chore 19:20:54 e9e825d7

chore(infra): renumber reserve_balance migration 0084 → 0088 (ch/product collision)

3 files · +22 · -22
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0084_pool_reserve_balance.sql
    • DB 0088_pool_reserve_balance.sql

feat 19:16:59 cbef3658

feat(admin): unified pool status chip + governance-pending chips + reserve alerts

8 files · +181 · -63
  • Admin
    • Route (pool-detail)
    • Route (pools)
    • overview-tab
  • Admin API
    • pools
  • Admin UI
    • index
    • pool-badges
    • status-dot
  • Lambda API
    • pools.get.list

fix 18:46:51 f86a1929

fix(admin): stop stating conditional penalty/redemption facts as fixed

4 files · +9 · -9
  • Admin
    • step-compliance
    • step-redemption

fix 18:41:05 eb5ce9b1

fix(admin): breathe out NAV chart axes (x-label spacing, dedup y ticks)

1 files · +3 · -1
  • Admin
    • nav-chart

fix 18:37:21 1b1e3f5a

fix(admin): fund-wallet copy — "principal less the reserve", not fixed 90%

2 files · +4 · -3
  • Admin
    • step-basics
    • types

feat 18:16:45 3f5458b9

feat(admin): consistent post-launch mutability chips on pool-create fields

6 files · +39 · -13
  • Admin
    • editorial
    • step-basics
    • step-compliance
    • step-redemption
    • step-structure
    • step-terms

feat 18:09:30 808f4c4c

feat(admin): pool-detail overview redesign + live reserve + flat banners

13 files · +490 · -176
  • Admin
    • Route (pool-detail)
    • deploy-status-banner
    • index
    • nav-chart
    • overview-tab
    • pool-metrics-line
  • Admin API
    • pools
  • Admin UI
    • alert-banner
    • index
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0084_pool_reserve_balance.sql
    • engine.ts
  • Lambda API
    • pools.get.list

fix 17:33:31 90a9ae46

fix(admin): stop pool-create epoch cycle-length flipping to instant mid-edit

3 files · +17 · -11
  • Admin
    • Route (pool-create)
    • step-redemption
    • validation

refactor 16:37:16 aaeeba9e

refactor(admin): flatten yield overdue banner to one hairline list

1 files · +32 · -13
  • Admin
    • Route (yield)

refactor 16:33:58 6f0ed210

refactor(admin): unify filters, buttons & remaining badges to dot+text

18 files · +106 · -118
  • Admin
    • Route (audit-log)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-detail)
    • Route (funds)
    • Route (my-settings)
    • Route (redemptions)
    • Route (yield)
    • collateral-badge
    • header
    • overdue-badge
    • pool-controls
    • qualification-panel
    • transactions-tab
    • updates-tab
  • Admin UI
    • dday-badge
    • filter-group
    • index

refactor 14:20:40 7c635668

refactor(admin): flat dot+text badge system + pool-list redesign

9 files · +319 · -191
  • Admin
    • Route (deposits)
    • Route (pools)
    • Route (redemptions)
    • Route (yield)
  • Admin UI
    • index
    • pool-badges
    • status-badge
    • status-dot
  • Other
    • packages/ds-editorial/src/tokens.css

docs 13:45:52 773f7458

docs: canonicalize OPEN_ENDED terminology; open-ended has no early-exit penalty (v3-89)

5 files · +50 · -22
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 12-triggers.md
    • 14-decisions.md
    • 17-changelog.md

fix 13:20:48 476e43a0

fix(admin): port the D6 redemption guard to the edit wizard

2 files · +27 · -3
  • Admin
    • Route (pool-edit)
    • step-redemption

fix 13:15:26 491238e4

fix(admin): lock maturity_model on live pools in the edit wizard

1 files · +3 · -1
  • Admin
    • permissions

fix 13:12:24 e0c59383

fix(admin): clearer yield-based penalty lock-up guidance

2 files · +30 · -13
  • Admin
    • step-redemption

docs 12:41:53 17b72bfa

docs: record admin redemption-step wizard hardening (v3-88)

4 files · +38 · -3
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md

fix 12:34:38 6f7100ce

fix(admin): clarify redemption settlement + gate epoch by redemption type (D7-D9)

3 files · +91 · -37
  • Admin
    • payload
    • step-redemption

fix 11:00:14 5bd52f3c

fix(admin): align epoch redemption config wizard (D1-D6)

3 files · +156 · -82
  • Admin
    • step-redemption
    • validation

2026-07-22 (Wed)

🟢 ch/product

fix 18:54:22 b8cbfdab

fix(kyc): unify KYC status interpretation and self-heal stale DB rows

9 files · +216 · -134
  • Investor Web
    • Route (dashboard)
    • Route (kyc)
    • Route (pool.$id)
    • Route (portfolio)
    • auth-button
    • index
    • kyc-status
  • Investor Web UI
    • KYCStatusCard
  • Lambda API
    • kyc.get.status

fix 18:06:02 d7faa747

fix(dashboard): correct funding shortfall amount + clearer alert label

2 files · +30 · -16
  • Admin
    • Route (dashboard)
  • Lambda API
    • dashboard.get.stats

fix 18:06:02 65c9bb0d

fix(dashboard): show Awaiting Partner Funding drilldown items

1 files · +14
  • Admin
    • Route (dashboard)

fix 18:06:02 83bfba8e

fix(redemption): default investor-sidebar wallet link to Basescan

1 files · +4 · -1
  • Admin
    • Route (redemptions)

fix 18:06:02 69771076

fix(redemption): reflect FM funding completion without a page refresh

1 files · +42 · -9
  • Admin
    • Route (redemptions)

fix 18:06:02 2389e130

fix(redemption): zero out fully-redeemed positions instead of deleting

2 files · +81 · -7
  • Infra
    • DB 0083_redemption_complete_zero_not_delete.sql
  • Investor Web
    • Route (portfolio)

fix 18:06:02 9a73c3ee

fix(chain): poll for receipts to survive fast-block RPC head lag

4 files · +17 · -4
  • Infra
    • approve-redemption.ts
  • Lambda API
    • deposits.post.create
    • yield-claims.post.create
    • yield-distributions.post.distribute

fix 18:06:02 87089317

fix(auth): resolve wallet identity by address, not address+chain

1 files · +32 · -5
  • Lambda API
    • auth.post.verify

fix 14:53:01 c4b1e184

fix(web): switch wallet to the pool's chain before every on-chain write

10 files · +63 · -14
  • Investor Web
    • Route (activity)
    • index
    • use-cancel-redemption-flow
    • use-ensure-chain
    • use-invest-flow
    • use-redeem-flow
    • use-reinvest-flow
    • use-settle-epoch-flow
    • wagmi
  • Investor Web UI
    • YieldClaimDialog

fix 14:42:54 6c306d6c

fix(chain): harden on-chain ops against fast-block RPC lag

3 files · +142 · -29
  • Infra
    • client.ts
    • create-pool.ts
  • Lambda API
    • redemption-requests.post.create

fix 14:05:49 9283c97c

fix(pools): make admin "Retry Deploy" work by reusing the lifecycle endpoint

3 files · +123 · -77
  • Admin API
    • pools
    • use-pools
  • Lambda API
    • pools.post.lifecycle

fix 13:45:49 fafd7da6

fix(pools): compare deploy_status against DEPLOY_FAILED, not stale 'FAILED'

5 files · +7 · -7
  • Admin
    • Route (pools)
    • delete-pool-section
    • deploy-status-banner
  • Admin API
    • pools
  • Investor Web API
    • pools

🔵 jy/product

feat 17:55:22 66e81943

feat(admin): governance dialog accepts percent for bps params

1 files · +16 · -5
  • Admin
    • pool-controls

chore 17:51:43 fb3c0324

chore(admin): remove temporary preview-redesign route

2 files · -167
  • Admin
    • Route (preview-redesign)
    • routes

docs 17:51:43 973d0a43

docs: v3-87 — pool-detail Controls actions-only + NAV trend to Overview

2 files · +31 · -1
  • Docs
    • 14-decisions.md
    • 17-changelog.md

refactor 17:48:02 748e5ffa

refactor(admin): restructure pool Controls tab + move NAV trend to Overview

13 files · +706 · -587
  • Admin
    • Route (pool-detail)
    • Route (preview-redesign)
    • controls-primitives
    • delete-pool-section
    • governance-history-panel
    • index
    • nav-change-dialog
    • nav-changes-panel
    • nav-chart
    • overview-tab
    • package
    • pool-controls
  • Other
    • pnpm-lock.yaml

fix 17:47:48 08122c44

fix(web): remove stray empty column in portfolio Total row

1 files · -1
  • Investor Web
    • Widget (PCWidgets)

chore 16:57:14 250110b8

chore(db): sync schema.sql — pool_wallet dropped (0078)

1 files · +2 · -1
  • Infra
    • DB schema.sql

other 16:52:42 dad21c32

redesign(web): fold Maturity column into the status badge

1 files · +42 · -48
  • Investor Web
    • Widget (PCWidgets)

fix 16:52:42 359896f3

fix(api): include redemption fields in pools LIST_SELECT

1 files · +5 · -1
  • Lambda API
    • pools.get.list

other 16:06:27 4626395f

redesign(admin): clean up Controls + Communications tabs

3 files · +38 · -23
  • Admin
    • Route (preview-redesign)
    • pool-controls
    • updates-tab

fix 16:06:27 66d3f9e4

fix(web): correct pool/position status display + gate frozen pools

7 files · +72 · -27
  • Investor Web
    • PoolBrowseCard
    • Route (pool.$id)
    • Route (portfolio)
    • Widget (PCWidgets)
    • Widget (position-card)
    • redemption-state
  • Investor Web UI
    • RedeemModal

fix 15:20:58 4112acef

fix(web): show invest risk checklist inside the mobile bottom sheet

3 files · +107 · -53
  • Investor Web
    • Route (pool.$id)
    • Widget (index)
    • Widget (invest-confirm-dialog)

other 15:20:58 e6f837cd

redesign(admin): move Description up + add Discard to Edit Pool

2 files · +42 · -8
  • Admin
    • Route (pool-edit)
    • overview-tab

other 15:00:08 42723d2d

redesign(admin): declutter Pool PDP — 4 tabs, neutral palette, flat header

16 files · +585 · -379
  • Admin
    • Route (pool-detail)
    • Route (pools)
    • Route (preview-redesign)
    • configuration-tab
    • delete-pool-section
    • deploy-status-banner
    • governance-history-panel
    • investors-tab
    • nav-changes-panel
    • overview-tab
    • pool-controls
    • routes
    • transactions-tab
    • updates-tab
    • yield-settings-tab
  • Admin UI
    • index

2026-07-21 (Tue)

🟢 ch/product

fix 14:57:28 2369d542

fix(redemption): fund only shortfall, settle FM funding, close lockup gaps

11 files · +425 · -58
  • Admin
    • use-fund-redemption-flow
  • Contract Test
    • PlatformPool.t
  • Docs
    • 11-db-schema.md
  • Infra
    • approve-redemption.ts
    • client.ts
    • index.ts
  • Lambda API
    • redemption-requests.post.fund
    • redemption-requests.post.record-funding
  • Smart Contract
    • PlatformPool
    • RedemptionLib
    • sepolia.md

fix 14:38:36 d3eb9921

fix(rbac): centralize FM investor-PII policy + surface redemption PII to operators

4 files · +92 · -49
  • Infra
    • investor-pii.ts
  • Lambda API
    • deposits.get.list
    • portfolio-positions.get.list
    • redemption-requests.get.list

fix 14:38:36 1e594a99

fix(audit): resolve actor identity in audit feed list + CSV export

2 files · +45 · -4
  • Lambda API
    • activity-events.get.export
    • activity-events.get.list

feat 14:38:34 65fd6164

feat(create-pool+redemption): implement B-BE handoff (v3-84/85) + soft-pause redemption fix

16 files · +422 · -162
  • Admin
    • payload
  • Admin API
    • pools
  • Contract Test
    • PlatformPool.t
    • PlatformPoolFlows.t
  • Docs
    • 07-redemption.md
    • 11-db-schema.md
  • Infra
    • DB 0078_drop_pool_wallet.sql
    • yield-schedule.ts
  • Investor Web API
    • pools
  • Lambda API
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • pools.post.lifecycle
    • pools.worker.deploy
    • redemption-requests.post.create
  • Smart Contract
    • RedemptionLib

fix 14:31:57 df4a4198

fix(auth): dedupe sessions via device+IP upsert

4 files · +94 · -18
  • Infra
    • DB 0079_session_dedupe_unique.sql
    • DB schema.sql
    • investor-sessions.ts
    • sessions.ts

feat 14:31:57 64ff22c4

feat(chain): migrate dev testnet to Base Sepolia + single-chain SBT

9 files · +752 · -297
  • Admin
    • Route (admin-settings)
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Infra
    • apply-review.ts
    • chain-config.ts
  • Lambda API
    • auth.post.verify
    • kyc.get.status
  • Smart Contract
    • .env.example
    • sepolia.md

🔵 jy/product

refactor 17:32:31 e68e4b7a

refactor(web): flatten Portfolio + Activity summaries (no boxed tiles)

2 files · +13 · -20
  • Investor Web
    • Route (activity)
    • Widget (PortfolioHero)

feat 17:32:19 68518129

feat(audit): show actor name in column, email in detail only (hidden for FM)

3 files · +41 · -25
  • Admin
    • Route (audit-log)
  • Admin API
    • dashboard
  • Lambda API
    • activity-events.get.list

fix 17:29:21 3f3a4399

fix(web): chromeless draft-preview + status-agnostic preview banner

3 files · +15 · -2
  • Investor Web
    • Route (app-layout)
    • Route (pool.$id)
  • Investor Web UI
    • MobileBottomNav

feat 17:23:15 13a45d53

feat(web): unify /transactions + /portfolio/activity into a single /activity page

7 files · +617 · -892
  • Investor Web
    • Route (activity)
    • Route (dashboard)
    • Route (portfolio-activity)
    • Route (transactions)
    • Widget (PortfolioHero)
    • Widget (sidebar)
    • routes

feat 17:22:19 a0f96ba1

feat(admin): add working "Preview as investor" to the edit wizard preview card

1 files · +32 · -2
  • Admin
    • Route (pool-edit)

feat 17:16:45 6a1311e5

feat(admin): collapse edit-mode lock reasons into a hover tooltip

2 files · +20 · -11
  • Admin
    • field-lock
    • step-terms

feat 17:12:28 215127ca

feat(admin): trim long field help into ⓘ tooltips + set VITE_WEB_URL

9 files · +43 · -14
  • Admin
    • .env
    • editorial
    • step-compliance
    • step-redemption
    • step-terms

feat 16:58:40 0f02c67e

feat(admin): wire "Preview as investor" + make section sub-headers visible

8 files · +49 · -20
  • Admin
    • .env
    • Route (pool-create)
    • Route (pool-detail)
    • env
    • step-redemption
    • step-terms

feat 16:56:40 37f30e4e

feat(audit): fix audit-log filter styling + enforce reason on high-risk acts (v3-86)

12 files · +223 · -73
  • Admin
    • Route (admin-settings)
    • Route (audit-log)
    • pool-controls
    • qualification-panel
  • Admin API
    • admin-users
    • pools
    • use-admin-users
  • Lambda API
    • admin-users.patch.permissions
    • pools.post.freeze
    • pools.post.impairment
    • pools.post.wind-down
    • users.patch.qualification

style 16:38:20 4d56387a

style(admin): label the first section of create/edit steps 3/5/6

6 files · +6
  • Admin
    • step-compliance
    • step-redemption
    • step-terms

feat 16:24:48 406b11d4

feat(audit): expand write coverage, Audit/Activity UI, append-only archive (v3-86 slices 3-5)

28 files · +611 · -29
  • Admin
    • Route (audit-log)
  • Admin API
    • dashboard
    • use-dashboard
  • Docs
    • 11-db-schema.md
    • 13-operations.md
  • Infra
    • DB 0082_audit_append_only_archive.sql
    • DB schema.sql
    • activity.ts
  • Lambda API
    • activity-events.get.counts
    • activity-events.get.list
    • activity-events.scheduler.archive
    • admin-users.delete
    • admin-users.patch.permissions
    • admin-users.patch.update
    • admin-users.post.create
    • admin-users.post.invite
    • admin-wallet.post.verify
    • fund-members.delete
    • fund-members.patch.update
    • fund-members.post.create
    • funds.delete
    • funds.patch.update
    • funds.post.create
    • pools.delete
    • pools.patch.update
    • pools.post.create
    • pools.worker.deploy
    • users.patch.qualification

feat 16:20:28 ed445b7f

feat(web,admin): maturity-model selector, display-only + APY-disclosure fields, PDP tab a11y

18 files · +176 · -36
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • payload
    • permissions
    • step-compliance
    • step-redemption
    • step-terms
    • types
    • validation
  • Admin API
    • pools
  • Investor Web
    • Route (pool.$id)
    • Widget (pool-header-card)
  • Investor Web API
    • pools

feat 16:14:24 88616afd

feat(web): redesign Portfolio (editorial factsheet, brand palette, LP token utility)

4 files · +136 · -191
  • Investor Web
    • Route (portfolio)
    • Widget (PCWidgets)
    • add-lp-token-control
    • docs

feat 15:57:28 65254462

feat(audit): re-scope audit log — actor resolution + snapshot record fields (v3-86 slices 1-2)

13 files · +456 · -63
  • Admin
    • Route (audit-log)
    • governance-history-panel
  • Admin API
    • dashboard
  • Docs
    • 11-db-schema.md
    • 13-operations.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • DB 0080_audit_feed_actor.sql
    • DB 0081_audit_record_fields.sql
    • DB schema.sql
    • activity.ts
  • Lambda API
    • activity-events.get.export
    • activity-events.get.list

feat 15:48:58 1891e923

feat(web,admin): FE-UI quick wins — CF-3, PDP-7, DC-3, B6 polish

8 files · +113 · -115
  • Admin
    • payload
    • step-terms
    • validation
  • Investor Web
    • Widget (invest-sidebar)
    • Widget (overview-tab)
  • Investor Web UI
    • skeleton

style 15:16:33 61b1b9ad

style(web): portfolio section headings + unverified-claim toast

3 files · +9 · -5
  • Investor Web
    • Route (portfolio)
    • Widget (PCWidgets)
    • Widget (PortfolioHero)

chore 15:12:32 72803637

chore(web,admin): drop dead FE pool_wallet field (FA8 FE tail)

3 files · -4
  • Admin
    • payload
  • Admin API
    • pools
  • Investor Web API
    • pools

feat 15:09:40 0c1be452

feat(web): terminal full-redemption lock (FA5) + LP-token add UX (FI1)

8 files · +448 · -178
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
    • Widget (PCWidgets)
    • Widget (PortfolioHero)
    • Widget (invest-sidebar)
    • add-lp-token-control
    • use-add-lp-token
  • Investor Web UI
    • PoolStatusAlert

fix 14:17:03 74505b90

fix(web): fixed full-height sidebar + risk shown as a factsheet stat row

6 files · +30 · -18
  • Investor Web
    • PoolBrowseCard
    • Route (landing)
    • Route (verify-email)
    • Widget (app-shell)
    • root
  • Investor Web UI
    • LegalPageLayout

feat 12:45:27 b59e3c33

feat(redemption): YIELD_BASED gating, %-input, publish gate, full-redeem lock

13 files · +277 · -92
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • editorial
    • number-format
    • step-redemption
    • step-terms
    • step-yield-fees
    • validation
  • Investor Web UI
    • RedeemModal

feat 12:29:06 ebce42f6

feat(redemption): FE QA quick wins + Explore PLP polish

14 files · +96 · -35
  • Admin
    • deploy-status-banner
    • step-redemption
    • validation
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md
    • 23-money-path.md
  • Investor Web
    • Widget (position-card)
  • Other
    • CLAUDE.md

feat 12:28:41 37dbd559

feat(web): add risk-tier badges + platform overview stats to Explore PLP

3 files · +49 · -19
  • Investor Web
    • PoolBrowseCard
    • Route (pools)
  • Investor Web API
    • pools

feat 12:08:45 cce248ef

feat(web): redesign Explore PLP as premium offering cards + app-wide spacing/copy polish

26 files · +359 · -474
  • Investor Web
    • PoolBrowseCard
    • Route ($)
    • Route (bridge)
    • Route (dashboard)
    • Route (disclaimer)
    • Route (help)
    • Route (kyc)
    • Route (landing)
    • Route (notifications)
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Route (portfolio-activity)
    • Route (privacy)
    • Route (settings)
    • Route (styleguide)
    • Route (terms)
    • Route (transactions)
    • Widget (PCWidgets)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (risk-disclosure)
  • Investor Web UI
    • KYCModal
    • KYCStatusCard
    • PoolStatusAlert
    • RedeemModal

docs 10:49:34 5e7d81e0

docs(v3-84): reinstate YIELD_BASED penalty (lock-up pools, principal deduction)

6 files · +52 · -8
  • Docs
    • 07-redemption.md
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md
    • 23-money-path.md
  • Other
    • CLAUDE.md

2026-07-20 (Mon)

🟢 ch/product

feat 14:02:38 734f7d3c

feat(redemption): partner funding auto-settles PENDING_RESERVE + FM in-app funding (v3-82)

12 files · +182 · -146
  • Admin
    • Route (redemptions)
  • Admin API
    • redemption-requests
    • use-redemption-requests
  • Contract Test
    • PlatformPool.t
    • PlatformPoolFlows.t
    • SequenceDiagramVerification.t
  • Docs
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md
  • Lambda API
    • redemption-requests.post.approve
    • redemption-requests.post.fund
  • Smart Contract
    • RedemptionLib

feat 14:02:38 dd139ebe

feat(web+admin): auto-logout on session expiry with deferred toast

4 files · +228 · -34
  • Admin
    • client
    • provider
  • Investor Web
    • client
    • provider

fix 14:02:38 404149ad

fix(admin): TOTP for Super Admin only on OAuth login + correct RBAC invite-flow docs

2 files · +12 · -11
  • Docs
    • 09-rbac.md
  • Lambda API
    • auth.post.admin-oauth

fix 14:02:38 235d3e62

fix(admin): repair admin-user invite — email validation + result feedback

4 files · +33 · -5
  • Admin
    • Route (admin-settings)
  • Admin API
    • admin-users
  • Infra
    • email.ts
  • Lambda API
    • admin-users.post.invite

feat 14:02:38 66c66a9c

feat(admin/pool): BE handoff for create/edit (B1–B5)

9 files · +236 · -4
  • Docs
    • 11-db-schema.md
    • 15-api-reference.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0077_pool_equity_buffer_rule.sql
    • jwt.ts
  • Lambda API
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • pools.post.preview-token

🔵 jy/product

feat 19:16:04 09884fe4

feat(web): Explore Pools editorial pivot + unified label badges

11 files · +561 · -348
  • Admin
    • Route (pools)
  • Investor Web
    • PoolBrowseCard
    • PoolCard
    • PoolRow
    • Route (dashboard)
    • Route (pools)
    • Route (portfolio)
    • Route (portfolio-activity)
    • TrancheBadge
    • index
  • Investor Web UI
    • status-badge

feat 19:05:10 9252bd65

feat: decouple lock-up from penalty type (v3-83, supersedes v3-66)

26 files · +204 · -229
  • Admin
    • Route (pool-create)
    • step-compliance
    • step-redemption
    • step-terms
    • validation
  • Contract Test
    • PlatformPool.t
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md
    • 24-field-governance.md
  • Investor Web
    • Widget (PCWidgets)
    • Widget (invest-sidebar)
    • Widget (risk-disclosure)
    • redemption-state
  • Lambda API
    • pools.patch.update
    • pools.post.create
  • Other
    • CLAUDE.md
  • Smart Contract
    • GovernanceLib
    • PlatformPool
    • PlatformPool.abi.json
    • PoolConfigLib
    • RedemptionLib

feat 15:32:17 448bf072

feat(web/portfolio): show "· awaiting funding" on escrowed LP for PENDING_RESERVE

2 files · +27 · -4
  • Investor Web
    • Route (portfolio)
    • Widget (PCWidgets)

refactor 15:24:24 859615a0

refactor(admin): move FM signing-wallet card from My Settings to Fund detail (FM-only)

2 files · +27 · -22
  • Admin
    • Route (fund-detail)
    • Route (my-settings)

refactor 13:06:46 8ffd730e

refactor(admin/redemptions): remove manual approve (v3-76 auto-flow), keep reject

1 files · +21 · -44
  • Admin
    • Route (redemptions)

fix 12:44:09 3703d2eb

fix(admin/redemptions): surface on-chain revert reason + stop swallowing approve/reject failures (C4)

2 files · +20 · -5
  • Admin
    • Route (redemptions)
    • client

feat 10:22:46 5c9893dc

feat(status/redemption): wind-down no-freeze + flag auto-clear (BE), per-year APY display, penalty/redemption docs (v3-78~81)

10 files · +251 · -55
  • Docs
    • 07-redemption.md
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md
  • Investor Web
    • Widget (invest-sidebar)
  • Lambda API
    • pools.post.freeze
    • pools.post.impairment
    • pools.post.pause
    • pools.post.wind-down
  • Other
    • CLAUDE.md

2026-07-16 (Thu)

🟢 ch/product

docs 15:43:29 882d69a3

docs(contract): record v3-76 Sepolia redeploy addresses

1 files · +43 · -25
  • Smart Contract
    • sepolia.md

feat 15:43:29 fd6fdbaf

feat(redemption): reserve-gated instant settle + lockup hard-block (v3-76)

20 files · +610 · -202
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFlows.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Docs
    • 07-redemption.md
    • 12-triggers.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • client.ts
    • describe-on-chain-error.test.ts
    • index.ts
  • Investor Web
    • Route (portfolio)
    • Widget (PCWidgets)
    • use-redeem-flow
  • Investor Web UI
    • RedeemModal
  • Lambda API
    • redemption-requests.post.approve
    • redemption-requests.post.create
  • Other
    • CLAUDE.md
  • Smart Contract
    • RedemptionLib

feat 15:43:29 11d5d128

feat(dpd-npl): retire live DPD endpoint, expose sector_breakdown, persist risk-ack (S2 B/C/D)

16 files · +218 · -107
  • Docs
    • 11-db-schema.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0076_deposit_risk_ack.sql
    • DB schema.sql
    • npl.ts
  • Investor Web
    • Route (pool.$id)
    • Widget (fund-data-tab)
    • Widget (invest-confirm-dialog)
    • use-invest-flow
  • Investor Web API
    • deposits
    • fund-data
    • keys
    • pools
    • use-fund-data
  • Lambda API
    • deposits.post.create
    • pools.get.fund-data-dpd

feat 15:43:29 135b8fa5

feat(pool): enforce NO_EARLY ⇔ lockup_days=0 on-chain + edit path (v3-66)

9 files · +77 · -8
  • Contract Test
    • PlatformPool.t
    • PlatformPoolFlows.t
  • Docs
    • 14-decisions.md
    • 17-changelog.md
    • 24-field-governance.md
  • Lambda API
    • pools.patch.update
  • Smart Contract
    • GovernanceLib
    • PlatformPool
    • PlatformPool.abi.json

refactor 11:04:23 4e4aeffe

refactor(fees): instant treasury_wallet setter + unify yield fee rates to bps

35 files · +384 · -422
  • Admin
    • Route (pool-create)
    • Route (yield)
    • payload
    • permissions
    • step-financial
    • types
    • validation
  • Admin API
    • pools
  • Contract Test
    • PlatformPool.t
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
    • 23-money-path.md
    • 24-field-governance.md
  • Infra
    • DB 0075_yield_fee_config_to_bps.sql
    • governance.ts
    • index.ts
    • run-distribution.ts
  • Investor Web
    • Widget (overview-tab)
  • Investor Web API
    • pools
  • Lambda API
    • pools.patch.update
    • pools.post.create
    • pools.post.governance
  • Other
    • CLAUDE.md
  • Smart Contract
    • GovernanceLib
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPoolStorage

docs 10:44:54 f5270d9f

docs(field-governance): mark qualified-investor gating as shipped (v3-74)

1 files · +1 · -1
  • Docs
    • 24-field-governance.md

refactor 10:44:54 c4cb9d64

refactor(infra): migrate CDK to aset account, import CloudFront certs by ARN

12 files · +266 · -64
  • Infra
    • .env.example
    • CDK Stack (admin-web-stack)
    • CDK Stack (api-stack)
    • CDK Stack (ci-deploy-role-stack)
    • CDK Stack (ci-oidc-provider-stack)
    • CDK Stack (docs-stack)
    • CDK Stack (web-stack)
    • app.ts
    • cdk.context.json
    • ci.ts
    • docs.ts
    • package.json

🔵 jy/product

docs 18:04:16 c4076bd1

docs(ds): serif font rule now covers page/section titles

2 files · +7 · -6
  • Docs
    • 25-design-system.md
  • Other
    • packages/ds-editorial/src/patterns.tsx

feat 18:02:16 00187db1

feat(admin): serif page titles + clearable npl_threshold_days

7 files · +39 · -6
  • Admin
    • Route (fund-detail)
    • Route (pool-detail)
    • payload
  • Admin API
    • pools
  • Admin UI
    • index
    • page-header
  • Lambda API
    • pools.patch.update

feat 17:42:29 6de84929

feat(ds): living /styleguide from shared package + design-system docs

10 files · +522 · -1
  • Admin
    • Route (styleguide)
    • routes
  • Docs
    • 14-decisions.md
    • 17-changelog.md
    • 25-design-system.md
    • config.ts
  • Investor Web
    • Route (styleguide)
    • routes
  • Other
    • packages/ds-editorial/package.json
    • packages/ds-editorial/src/showcase.tsx

fix 17:18:06 fe5d4f11

fix(web): keep write_off_policy admin-only, off the investor PDP (DPD/NPL S2)

1 files · +3 · -4
  • Investor Web
    • Widget (risk-disclosure)

refactor 17:18:06 931b12bd

refactor(ds): @aset/ds-editorial owns full palette + fonts (web+admin SoT)

5 files · +149 · -154
  • Admin
    • global
  • Investor Web
    • global
  • Other
    • packages/ds-editorial/package.json
    • packages/ds-editorial/src/fonts.css
    • packages/ds-editorial/src/tokens.css

feat 16:48:31 0decca5c

feat(admin): rebuild pool create/edit as editorial 6-step wizard

32 files · +2261 · -2395
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • disabled-tooltip
    • editorial
    • field-lock
    • index
    • info-callout
    • permissions
    • step-basic-info
    • step-basics
    • step-compliance
    • step-financial
    • step-models
    • step-redemption
    • step-risk-penalty
    • step-save
    • step-save-publish
    • step-structure
    • step-terms
    • step-yield-fees
    • validation

feat 13:23:07 edec069d

feat(ds): extract editorial patterns into @aset/ds-editorial workspace package

12 files · +374 · -250
  • Admin
    • global
    • package
  • Investor Web
    • global
    • package
  • Investor Web UI
    • index
    • patterns
  • Other
    • packages/ds-editorial/package.json
    • packages/ds-editorial/src/cn.ts
    • packages/ds-editorial/src/index.ts
    • packages/ds-editorial/src/patterns.tsx
    • packages/ds-editorial/src/tokens.css
    • pnpm-lock.yaml

2026-07-15 (Wed)

🟢 ch/product

No activity

🔵 jy/product

docs 19:06:59 15181ee3

docs(admin/pool-form): clarify Max Target Size / Max Investment hints

2 files · +4 · -4
  • Admin
    • step-financial

feat 19:00:02 5ecce957

feat(pool-preview): draft PDP preview mode (web) + disabled admin trigger (BE token pending)

4 files · +72 · -29
  • Admin
    • Route (pool-detail)
  • Investor Web
    • Route (pool.$id)
  • Investor Web API
    • pools
    • use-pools

feat 18:28:10 67df84c7

feat(admin/pool-edit): port editable content fields (tagline, default reporting, disclosures)

6 files · +99 · -1
  • Admin
    • payload
    • permissions
    • step-basic-info
    • step-risk-penalty
    • types
  • Admin API
    • pools

feat 18:19:16 301f042f

feat(admin/pool-create): port BE-ready fields (tagline, asset stats, default reporting, fee cadence, disclosures)

8 files · +164 · -4
  • Admin
    • Route (pool-create)
    • payload
    • step-basic-info
    • step-financial
    • step-risk-penalty
    • types
    • validation
  • Admin API
    • pools

feat 13:32:50 156f0c07

feat(admin/pool-create): reuse-a-fund-wallet picker on Basic Info

2 files · +60
  • Admin
    • Route (pool-create)
    • step-basic-info

feat 13:15:08 49342cf4

feat(admin/pool-create): surface lockup↔penalty conflict + irreversibility summary

2 files · +16
  • Admin
    • step-financial
    • step-save-publish

2026-07-14 (Tue)

🟢 ch/product

feat 13:21:21 7e8e627f

feat(fund): qualified-investor gating (v3-74) + DPD/NPL fund-data (v3-72)

38 files · +880 · -158
  • Admin API
    • pools
  • Docs
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0072_investor_status_qualification.sql
    • DB 0073_dpd_npl_additive.sql
    • DB 0074_rename_cumulative_impairment_to_loss.sql
    • DB schema.sql
    • DB seed.sql
    • country-eligibility-policy.ts
    • deposit-eligibility.test.ts
    • deposit-eligibility.ts
    • kyc-gating.test.ts
    • kyc-gating.ts
    • mapper.ts
    • npl.ts
    • sync.ts
    • types.ts
  • Investor Web
    • Route (pools)
    • Route (settings)
    • Widget (fund-data-tab)
    • Widget (invest-sidebar)
  • Investor Web API
    • fund-data
    • pools
    • user-settings
  • Lambda API
    • deposits.post.create
    • fund-data.scheduler.sync
    • pools.get.eligibility
    • pools.get.fund-data-history
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • users.get.list
    • users.get.me
    • users.patch.qualification

🔵 jy/product

style 18:05:50 09cdf6ec

style(admin): serif display numbers + raise Quicksand baseline to 500

5 files · +26 · -25
  • Admin
    • Route (dashboard)
    • Route (fund-detail)
    • Route (redemptions)
    • global
    • overview-tab

style 17:56:15 898e5749

style(web,admin): raise Quicksand baseline weight; enable serif in admin

3 files · +8 · -4
  • Admin
    • global
  • Investor Web
    • Widget (invest-sidebar)
    • global

style 17:34:01 f3eb8f51

style(web,admin): switch fonts to Quicksand + DM Serif Display

4 files · +11 · -11
  • Admin
    • global
    • root
  • Investor Web
    • global
  • Investor Web UI
    • patterns

feat 16:37:41 7633bfde

feat(pdp): pre-wire spec fields for graceful-hide (accrued income, equity buffer, DPD aggregates)

4 files · +64
  • Investor Web
    • Widget (fund-data-tab)
    • Widget (overview-tab)
  • Investor Web API
    • fund-data
    • pools

feat 16:34:13 760bdfda

feat(admin,web): investor qualification (Status Gate) UI + pool eligibility_mode (v3-74)

13 files · +294 · -6
  • Admin
    • Route (kyc)
    • Route (pool-create)
    • payload
    • permissions
    • qualification-panel
    • step-risk-penalty
    • types
  • Admin API
    • kyc
    • use-kyc
  • Investor Web UI
    • KYCStatusCard

docs 16:27:32 d5850070

docs: add v3-75 KYB institution onboarding policy

3 files · +52
  • Docs
    • 03-kyc-identity.md
    • 14-decisions.md
    • 17-changelog.md

fix 16:23:31 84d4c435

fix(pdp): align pool detail fields with fixed data-field spec

5 files · +13 · -10
  • Investor Web
    • Widget (epoch-countdown)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (risk-disclosure)
  • Investor Web API
    • pools

feat 15:58:47 046c7d65

feat(web): PDP DPD/NPL S2 + KYC eligibility gating (v3-72, v3-74)

7 files · +264 · -66
  • Investor Web
    • Route (pool.$id)
    • Widget (fund-data-tab)
    • Widget (index)
    • Widget (invest-confirm-dialog)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
  • Investor Web API
    • pools

2026-07-13 (Mon)

🟢 ch/product

refactor 17:45:51 7de46eea

refactor(pools): unify ratio fields to bps and align DB↔contract names

100 files · +1017 · -890
  • Admin
    • Route (pool-create)
    • Route (redemptions)
    • configuration-tab
    • overview-tab
    • payload
    • permissions
    • pool-controls
    • step-models
    • step-risk-penalty
    • step-save-publish
    • types
    • validation
    • yield-settings-tab
  • Admin API
    • pools
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Docs
    • 01-overview.md
    • 02-core-concepts.md
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 12-triggers.md
    • 14-decisions.md
    • 17-changelog.md
    • 20-joob-pool-config.md
    • 23-money-path.md
    • 24-field-governance.md
  • Infra
    • DB 0068_unify_ratio_fields_to_bps.sql
    • DB 0069_consolidate_penalty_bps.sql
    • DB 0070_align_pool_field_names.sql
    • DB schema.sql
    • DB seed.sql
    • create-pool.ts
    • deploy-payload.ts
    • governance.ts
    • index.ts
    • kyc-gating.test.ts
    • kyc-gating.ts
    • pool-field-validation.ts
  • Investor Web
    • Route (portfolio)
    • Route (portfolio-activity)
    • Widget (PCWidgets)
    • Widget (epoch-countdown)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (risk-disclosure)
    • redemption-state
  • Investor Web API
    • pools
    • redemption-requests
  • Investor Web UI
    • RedeemModal
  • Lambda API
    • deposits.post.create
    • nav-changes.post.propose
    • pools.get.eligibility
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • pools.post.governance
    • pools.post.lifecycle
    • pools.worker.deploy
    • redemption-requests.post.approve
    • redemption-requests.post.claim
    • redemption-requests.post.claim-fallback
    • redemption-requests.post.create
    • redemption-requests.post.fund
    • redemption-requests.post.record-funding
    • redemption-requests.scheduler.epoch-execute
    • redemption-requests.scheduler.partner-funding
    • yield.post.reinvest
  • Other
    • CLAUDE.md
  • Smart Contract
    • GovernanceLib
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPool.bytecode.js
    • PlatformPoolFactory.abi.json
    • PlatformPoolStorage
    • PoolConfigLib
    • RedemptionLib
    • YieldLib
    • sepolia.md

🔵 jy/product

feat 23:02:26 de140a4e

feat(fe): display bps ratio config as percent (v3-73)

12 files · +76 · -21
  • Admin
    • bps
    • index
    • step-save-publish
  • Docs
    • 14-decisions.md
    • 17-changelog.md
  • Investor Web
    • Widget (PCWidgets)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (risk-disclosure)
    • formatters
  • Investor Web API
    • pools
  • Other
    • CLAUDE.md

feat 22:38:37 abceb674

feat(pool): wire tagline, disclosures, write-off & NPL fields end-to-end

8 files · +88 · -4
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0071_pool_tagline_and_disclosures.sql
  • Investor Web
    • Widget (pool-header-card)
    • Widget (risk-disclosure)
  • Investor Web API
    • pools
  • Lambda API
    • pools.get.list
    • pools.patch.update
    • pools.post.create

docs 22:27:02 6fdda954

docs: v3-72 DPD/NPL data model + risk-badge NPL signal + loan-lifecycle section

3 files · +63
  • Docs
    • 06-writedown-nav.md
    • 14-decisions.md
    • 17-changelog.md

docs 22:22:01 2eecdc54

docs(04-pool-models): NPL is a leading signal, separate from NAV — wire npl_ratio into the risk badge (S2)

1 files · +6 · -3
  • Docs
    • 04-pool-models.md

docs 14:24:30 334d6bc1

docs: correct field-governance matrix + sync KYC/KYB docs to code (v3-71)

7 files · +109 · -77
  • Docs
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 14-decisions.md
    • 17-changelog.md
    • 24-field-governance.md
  • Other
    • CLAUDE.md

2026-07-10 (Fri)

🟢 ch/product

feat 13:44:11 3cdba357

feat(fee): split pool mgmt fee to fund_fee_wallet (v3-69)

41 files · +763 · -159
  • Admin
    • Route (pool-create)
    • Route (yield)
    • payload
    • permissions
    • step-basic-info
    • step-financial
    • step-save-publish
    • types
    • validation
  • Admin API
    • pools
  • Contract Test
    • PlatformPool.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0067_pool_mgmt_fee_split.sql
    • DB schema.sql
    • create-pool.ts
    • deploy-payload.ts
    • governance.ts
    • index.ts
    • run-distribution.ts
    • yield-distribution.ts
    • yield-schedule.ts
  • Investor Web
    • Widget (overview-tab)
  • Investor Web API
    • pools
  • Lambda API
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • pools.post.lifecycle
    • pools.worker.deploy
    • yield-distributions.post.create
    • yield-distributions.post.distribute
  • Smart Contract
    • GovernanceLib
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPoolStorage
    • YieldLib
    • sepolia.md

style 13:28:26 8ed21d78

style(web): strengthen read-only portfolio card contrast

1 files · +2 · -2
  • Investor Web
    • Route (portfolio)

fix 13:28:26 176b647b

fix(infra): stop SBT (re)mint from getting stuck in MINTING

3 files · +100 · -56
  • Infra
    • CDK Stack (api-stack)
    • apply-review.ts
    • mint-queue.ts

🔵 jy/product

fix 17:46:40 5f628acf

fix(web): show derived lockup label when DB value is empty

1 files · +4 · -1
  • Investor Web API
    • pools

feat 17:46:40 10bd7e1a

feat(web): rework app shell + PDP frame to fix rushed look

8 files · +224 · -137
  • Investor Web
    • Route (pool.$id)
    • Widget (app-shell)
    • Widget (invest-sidebar)
    • Widget (pool-header-card)
    • Widget (position-card)
    • Widget (sidebar)
    • Widget (topbar)
    • auth-button

docs 16:33:19 4346d0ce

docs(money-path): wrap redemption OTC node label to stop right-edge clipping

2 files · +2 · -2
  • Docs
    • 23-money-path.md

docs 16:29:01 447bfc84

docs(money-path): render boundary as mermaid, simplify redemption diagram

2 files · +44 · -26
  • Docs
    • 23-money-path.md

docs 16:21:40 a20ecb64

docs(governance): add 24-field-governance matrix (v3-70)

5 files · +167 · -2
  • Docs
    • 14-decisions.md
    • 17-changelog.md
    • 24-field-governance.md
    • config.ts

docs 16:09:18 d19ffc55

docs(money-path): unify wallet/fee naming + add 23-money-path (v3-70)

7 files · +382 · -1
  • Docs
    • 04-pool-models.md
    • 09a-custody.md
    • 14-decisions.md
    • 17-changelog.md
    • 23-money-path.md
    • config.ts

docs 11:41:38 6cc58fdc

docs(fee): add treasury + fund_fee_wallet to Editability-after-ACTIVE (instant, no timelock)

2 files · +5 · -1
  • Docs
    • 04-pool-models.md
    • 09-rbac.md

docs 11:34:52 e008d155

docs(fee): v3-69 — fee-side changes are not timelocked (auto-distribution has no hold)

3 files · +5 · -3
  • Docs
    • 04-pool-models.md
    • 14-decisions.md
    • 17-changelog.md

docs 11:22:33 47001e51

docs(fee): v3-69 — fee calc stays off-chain; only on-chain change is a 2nd withdrawFees destination

3 files · +5 · -5
  • Docs
    • 04-pool-models.md
    • 14-decisions.md
    • 17-changelog.md

2026-07-09 (Thu)

🟢 ch/product

feat 15:35:02 406fef80

feat(admin-web): show loading state for lazily-fetched expand/drawer lists

2 files · +64 · -26
  • Admin
    • Route (dashboard)
    • Route (kyc)

docs 15:10:43 c0142398

docs(contract): record 2026-07-09 guard-hardening Sepolia redeploy

1 files · +53 · -36
  • Smart Contract
    • sepolia.md

feat 15:05:37 46932097

feat(infra): pre-check NAV proposal against on-chain guards before writing

3 files · +101 · -3
  • Infra
    • index.ts
    • nav.ts
  • Lambda API
    • nav-changes.post.propose

perf 15:05:37 7fb11072

perf(infra): cap and speed up on-chain receipt waits

2 files · +49 · -27
  • Admin
    • Route (kyc)
  • Infra
    • client.ts

feat 14:36:57 fee3f71f

feat(infra): precisely attribute gating-capped epoch fills (mirror on-chain min)

3 files · +58 · -7
  • Infra
    • epoch-redemption.ts
    • index.ts
  • Lambda API
    • redemption-requests.scheduler.epoch-execute

feat 14:29:56 d8608be9

feat(infra): distinguish gating-capped partial fills in epoch settlement alerts

1 files · +16 · -4
  • Lambda API
    • redemption-requests.scheduler.epoch-execute

feat 14:17:50 151cd69d

feat: enforce lifecycle transition DAG on-chain and fix IMPAIRED recovery

4 files · +106 · -22
  • Contract Test
    • PlatformPool.t
    • PlatformPoolFlows.t
  • Lambda API
    • pools.post.impairment
  • Smart Contract
    • PlatformPool

feat 13:52:08 b1105748

feat(infra): pre-check epoch settlement before triggering a redemption claim

1 files · +35 · -1
  • Lambda API
    • redemption-requests.post.claim

feat 13:52:08 ff9dc7ff

feat(infra): expose TREASURY & ENFORCE_JURISDICTION governance change types

6 files · +183 · -5
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0065_governance_treasury_enforce_jurisdiction.sql
    • DB schema.sql
    • governance.ts
    • index.ts
  • Lambda API
    • pools.post.governance

feat 13:52:08 fbbf6bc5

feat: enforce jurisdiction whitelist on-chain via explicit flag (v3-60 / Option 1)

18 files · +138 · -46
  • Admin
    • step-risk-penalty
  • Admin API
    • pools
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0064_pool_enforce_jurisdiction.sql
    • DB schema.sql
    • create-pool.ts
    • deploy-payload.ts
    • kyc-gating.test.ts
    • kyc-gating.ts
  • Lambda API
    • deposits.post.create
    • pools.get.eligibility
    • pools.patch.update
    • pools.post.create
    • pools.post.governance
    • pools.post.lifecycle
    • pools.worker.deploy
  • Smart Contract
    • PlatformPool

fix 13:52:08 edc91793

fix(infra): only block redemption during the 72h freeze exit window

2 files · +37 · -7
  • Lambda API
    • redemption-requests.post.create
    • redemption-requests.scheduler.epoch-execute

feat 13:52:08 317de7a7

feat(infra): reject min_investment above max_investment or capacity at creation

1 files · +19
  • Lambda API
    • pools.post.create

refactor 13:52:08 6eb40771

refactor: gate the subscription period on lifecycle ACTIVE, drop fixed window

14 files · +5 · -124
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFlows.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Infra
    • create-pool.ts
    • deposit-eligibility.ts
  • Lambda API
    • pools.worker.deploy
  • Smart Contract
    • GovernanceLib
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPoolStorage

🔵 jy/product

feat 19:37:55 5066e3ba

feat(web): global app shell (sidebar+topbar) + mobile Invest bottom sheet

20 files · +318 · -63
  • Investor Web
    • Route (app-layout)
    • Route (bridge)
    • Route (dashboard)
    • Route (kyc)
    • Route (notifications)
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Route (portfolio-activity)
    • Route (settings)
    • Route (transactions)
    • Widget (app-shell)
    • Widget (index)
    • Widget (invest-sidebar)
    • Widget (sidebar)
    • Widget (topbar)
    • routes
  • Investor Web UI
    • index
    • sheet

docs 19:16:53 942d5e15

docs(fee): v3-69 — Pool mgmt fee wallet is separate from deposit fund_wallet

3 files · +6 · -6
  • Docs
    • 04-pool-models.md
    • 14-decisions.md
    • 17-changelog.md

docs 19:08:52 c02e4e61

docs(fee): v3-69 — fee split by recipient (Aset/Fund/operation), Pool mgmt → fund_wallet

3 files · +42 · -1
  • Docs
    • 04-pool-models.md
    • 14-decisions.md
    • 17-changelog.md

feat 17:28:50 d5a2ea82

feat: pre-gate epoch Claim on settled fill amount (#16 complete)

4 files · +145 · -8
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0066_investor_activity_lp_filled.sql
  • Investor Web
    • Route (portfolio-activity)
  • Investor Web API
    • investor-activity

docs 17:21:18 d19579d1

docs: NAV guard rails are operational, no investor UI (v3-68, guard #12)

3 files · +35 · -1
  • Docs
    • 06-writedown-nav.md
    • 14-decisions.md
    • 17-changelog.md

fix 17:12:02 73c7e68d

fix(web): surface epoch-claim pre-check result to the investor (#16)

1 files · +17 · -4
  • Investor Web
    • Route (portfolio-activity)

feat 17:05:50 43ae11b4

feat(web): surface per-epoch redemption fill cap to investors (#14)

4 files · +31 · -2
  • Investor Web
    • Route (portfolio)
    • Widget (epoch-countdown)
  • Investor Web API
    • pools
  • Investor Web UI
    • RedeemModal

feat 17:03:25 66e0f7cd

feat(infra): fold 72h freeze exit-window into redemption eligibility (#10)

1 files · +30 · -4
  • Lambda API
    • pools.get.eligibility

feat 16:59:34 d28c4a51

feat(web): gate Redeem before signing on the on-chain redemption window (#1)

5 files · +76 · -6
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
    • Widget (position-card)
  • Investor Web API
    • pools
  • Investor Web UI
    • RedeemModal

feat 16:48:02 5258c21d

feat: Overview risk facts — Loss history + Overdue-loans summary + guarded Total assets

8 files · +168 · -1
  • Infra
    • CDK Stack (api-stack)
  • Investor Web
    • Widget (overview-tab)
  • Investor Web API
    • index
    • keys
    • loss-history
    • use-loss-history
  • Lambda API
    • pools.get.loss-history

fix 16:47:49 c57f18e9

fix(web): number font consistency — serif for display tiers only (>=20px)

4 files · +13 · -8
  • Investor Web
    • Widget (activity-tab)
    • Widget (fund-data-tab)
    • Widget (invest-sidebar)
  • Investor Web UI
    • patterns

fix 12:48:57 8d93a1c2

fix: enforce NO_EARLY = no lockup (v3-66) across FE + create validation

6 files · +41 · -9
  • Admin
    • validation
  • Investor Web
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (risk-disclosure)
    • redemption-state
  • Lambda API
    • pools.post.create

other 12:11:09 585aac54

polish(web): PDP invest panel + risk disclosures + issuer to mockup

5 files · +181 · -215
  • Investor Web
    • Route (pool.$id)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (position-card)
    • Widget (risk-disclosure)

2026-07-08 (Wed)

🟢 ch/product

feat 18:24:22 c08f1b2a

feat(contract): bound early-redemption penalty to 100% on-chain

2 files · +28
  • Contract Test
    • PlatformPool.t
  • Smart Contract
    • PoolConfigLib

refactor 18:18:48 f4ac1abd

refactor: move US-person enforcement off-chain to the API layer

20 files · +131 · -172
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Infra
    • create-pool.ts
    • deploy-payload.ts
    • kyc-gating.test.ts
    • kyc-gating.ts
  • Lambda API
    • deposits.post.create
    • pools.get.eligibility
    • pools.post.create
    • pools.post.lifecycle
    • pools.worker.deploy
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPoolFactory.abi.json

feat 17:58:15 8b94eb2d

feat(infra): reject maturity_days < lockup_days at pool creation

1 files · +13
  • Lambda API
    • pools.post.create

feat 17:38:22 79b3e07a

feat(infra): add redemption eligibility pre-check to pool eligibility API

3 files · +179 · -1
  • Infra
    • redemption-eligibility.test.ts
    • redemption-eligibility.ts
  • Lambda API
    • pools.get.eligibility

refactor 17:38:22 7879bfa5

refactor: remove pool-level KYC/KYB required-level restriction

40 files · +107 · -349
  • Admin
    • Route (pool-create)
    • payload
    • permissions
    • pool-controls
    • step-risk-penalty
    • types
  • Admin API
    • pools
  • Contract Deploy
    • CreatePool.s
    • DeployV3Sepolia.s
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0063_remove_pool_kyc_level.sql
    • DB schema.sql
    • create-pool.ts
    • deploy-payload.ts
    • governance.ts
    • index.ts
    • kyc-gating.ts
  • Investor Web
    • Route (pool.$id)
    • Widget (invest-sidebar)
  • Investor Web API
    • pools
  • Lambda API
    • deposits.post.create
    • pools.get.eligibility
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • pools.post.governance
    • pools.post.lifecycle
    • pools.worker.deploy
  • Smart Contract
    • GovernanceLib
    • PlatformPool
    • PlatformPoolStorage

feat 17:29:37 a1d6c40d

feat: guard NO_EARLY pools to ON_DEMAND redemption across layers

6 files · +95 · -3
  • Admin
    • Route (pool-create)
    • step-risk-penalty
    • validation
  • Contract Test
    • PlatformPool.t
  • Lambda API
    • pools.post.create
  • Smart Contract
    • PoolConfigLib

fix 13:55:24 99fd0dd7

fix(admin-web): bump finance-dashboard-kit to 0.2.1 for tooltip z-index fix

2 files · +41 · -882
  • Admin
    • package
  • Other
    • pnpm-lock.yaml

fix 11:28:32 a392fea7

fix(infra): clear stale SBT failure on mint re-queue

1 files · +11 · -1
  • Infra
    • mint-queue.ts

🔵 jy/product

wip 16:36:59 8835a02d

wip(web): PDP design-system refactor — hero/overview/sidebar to 5 patterns

21 files · +1116 · -835
  • Investor Web
    • Route (pool.$id)
    • Widget (activity-tab)
    • Widget (epoch-countdown)
    • Widget (fund-data-tab)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (performance-tab)
    • Widget (pool-header-card)
    • Widget (position-card)
    • Widget (reinvest-confirm-dialog)
    • Widget (risk-disclosure)
    • Widget (timelock-countdown)
    • Widget (updates-tab)
    • formatters
    • global
    • utils
  • Investor Web API
    • pools
  • Investor Web UI
    • PoolStatusAlert
    • index
    • patterns
  • Lambda API
    • pools.get.list

docs 15:50:03 be5e6c02

docs+contract: v3-67 — redemption gating cap base is totalDeposited, not TVL

8 files · +34 · -8
  • Contract Test
    • PlatformPoolEpoch.t
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md
  • Smart Contract
    • PlatformPool
    • PlatformPoolStorage
    • RedemptionLib

docs 14:51:25 7ce89ed8

docs: v3-66 — NO_EARLY means no lockup (lockup_days=0)

6 files · +43 · -16
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md
  • Other
    • CLAUDE.md

docs 14:43:49 3c257a19

docs: v3-60 — country code canonical = ISO alpha-3 (reverse alpha-2 decision)

6 files · +15 · -15
  • Docs
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 14-decisions.md
    • 17-changelog.md

2026-07-07 (Tue)

🟢 ch/product

refactor 18:58:48 aa920567

refactor(contract+infra): remove KYC dead code, simplify SBT attributes

23 files · +245 · -573
  • Contract Deploy
    • DeployV3Sepolia.s
    • MintKYC.s
  • Contract Test
    • PlatformKYCSoulbound.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFlows.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Infra
    • apply-review.ts
    • client.ts
    • country.ts
    • kyc-sbt.ts
  • Other
    • CLAUDE.md
  • Smart Contract
    • GovernanceLib
    • Makefile
    • NavLib
    • PlatformKYCSoulbound
    • PlatformKYCSoulbound.abi.json
    • PlatformLPToken.abi.json
    • PlatformPool
    • RedemptionLib
    • YieldLib
    • sepolia.md

fix 18:58:48 d21d7dc1

fix(infra+admin-web): medium-severity security hardening S-9~S-27

43 files · +903 · -196
  • Admin
    • Route (admin-settings)
    • types
  • Docs
    • 11-db-schema.md
    • 12-triggers.md
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (route-group-stack)
    • DB 0057_notification_logs_claimed_at.sql
    • DB 0058_redemption_requests_onchain_unique.sql
    • DB 0059_fund_amount_checks.sql
    • DB 0060_investor_sessions.sql
    • DB 0061_admin_login_lockout.sql
    • DB schema.sql
    • DB seed.sql
    • environment.ts
    • investor-sessions.ts
    • middleware.ts
    • pool-read-access.ts
  • Lambda API
    • activity-events.get.list
    • activity-events.post.create
    • admin-users.patch.permissions
    • auth.post.admin-login
    • auth.post.admin-oauth
    • auth.post.logout
    • auth.post.refresh
    • auth.post.verify
    • deposits.post.create
    • fund-members.get.list
    • funds.get.list
    • notification-logs.get.list
    • notification-logs.scheduler.send
    • pool-documents.get.list
    • pool-tvl-history.get.list
    • pools.delete
    • pools.get.fund-data-dpd
    • pools.get.fund-data-history
    • pools.get.fund-data-summary
    • pools.get.nav-history
    • pools.post.impairment
    • pools.scheduler.lifecycle
    • redemption-requests.post.create
    • underlying-assets.get.list
    • yield-claims.post.create
    • yield.post.reinvest

fix 18:55:25 965d4b02

fix(infra): low-severity security hardening S-28~S-46 + carry S-5/S-13/S-17 guards

27 files · +574 · -93
  • Docs
    • 11-db-schema.md
  • Infra
    • CDK Stack (admin-web-stack)
    • CDK Stack (docs-stack)
    • CDK Stack (web-stack)
    • DB 0054_enable_rls_admin_user_wallets.sql
    • DB 0054_total_subscribed_and_fund_service_providers.sql
    • DB 0056_admin_sessions_expires_at.sql
    • DB 0062_total_subscribed_and_fund_service_providers.sql
    • DB schema.sql
    • sessions.ts
  • Lambda API
    • activity-events.get.export
    • admin-notification-preferences.put.update
    • admin-users.patch.update
    • admin-users.post.invite
    • auth.post.verify-email
    • config.get.stablecoins
    • nav-changes.get.list
    • notification-preferences.put.update
    • platform-settings.put.update
    • pool-updates.post.create
    • pools.get.list
    • pools.patch.update
    • pools.post.freeze
    • pools.worker.deploy
    • redemption-requests.post.record-funding
    • users.post.email
  • Other
    • refactor-review-infra.md

chore 18:40:52 5bf16371

chore: sync lockfile to finance-dashboard-kit 0.2.0

1 files · +11 · -10
  • Other
    • pnpm-lock.yaml

feat 18:40:52 eb7ef1c0

feat(web+admin-web+infra): server-side pagination (P-5)

46 files · +2529 · -544
  • Admin
    • Route (audit-log)
    • Route (deposits)
    • Route (kyc)
    • Route (notifications)
    • Route (redemptions)
    • Route (yield)
    • methods
    • package
  • Admin API
    • dashboard
    • deposits
    • keys
    • kyc
    • notification-center
    • redemption-requests
    • use-dashboard
    • use-deposits
    • use-kyc
    • use-notification-center
    • use-redemption-requests
    • use-yield-distributions
    • yield-distributions
  • Infra
    • CDK Stack (api-stack)
    • DB 0055_investor_activity_view.sql
    • list-controls.ts
    • supabase.ts
  • Investor Web
    • Route (portfolio-activity)
    • Route (transactions)
    • Widget (activity-tab)
    • methods
    • transaction-entries
  • Investor Web API
    • investor-activity
    • keys
    • use-investor-activity
  • Lambda API
    • activity-events.get.counts
    • activity-events.get.list
    • admin-notifications.get.list
    • deposits.get.counts
    • deposits.get.list
    • investor-activity.get.list
    • notification-logs.get.list
    • redemption-requests.get.counts
    • redemption-requests.get.list
    • users.get.counts
    • users.get.list
    • yield-distributions.get.counts
    • yield-distributions.get.list

🔵 jy/product

docs 13:43:11 5d446779

docs: v3-65 — Fund Data grounding (total_subscribed, service providers, NPL write-offs)

2 files · +34 · -1
  • Docs
    • 14-decisions.md
    • 17-changelog.md

feat 13:41:20 67d47e10

feat(web): Fund Data tab — written-off loans (NPL) + service providers

6 files · +104 · -2
  • Investor Web
    • Widget (fund-data-tab)
  • Investor Web API
    • fund-data
    • keys
    • pools
    • use-fund-data
  • Lambda API
    • pools.get.list

feat 13:37:26 f37ef7c2

feat(admin): fund service providers editor + tranche-create UX (Option 1)

5 files · +155 · -7
  • Admin
    • Route (fund-detail)
    • Route (funds)
    • service-providers-editor
    • step-models
  • Admin API
    • funds

feat 13:32:27 574e6520

feat(be): total_subscribed ingest, fund service providers CRUD, NPL writeoffs API

10 files · +188 · -18
  • Infra
    • CDK Stack (api-stack)
    • service-providers.ts
    • sync.ts
    • types.ts
  • Lambda API
    • fund-data.scheduler.sync
    • funds.get.list
    • funds.patch.update
    • funds.post.create
    • pools.get.fund-data-history
    • pools.get.fund-data-writeoffs

feat 13:28:31 370d14ca

feat(db): total_subscribed snapshot col + fund_service_providers table (0054)

3 files · +58 · -2
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0054_total_subscribed_and_fund_service_providers.sql
    • DB schema.sql

chore 13:23:10 af1159d1

chore(design-sync): add DS sync scaffolding, dts configs, and build ignores

175 files · +5795
  • Admin
    • tsconfig.dts
  • Docs
    • pnpm-lock.yaml
  • Investor Web
    • tsconfig.dts
  • Other
    • .design-sync/NOTES.md
    • .design-sync/admin-pkg/entry.tsx
    • .design-sync/admin-pkg/groups/ActivityFeedSkeleton.md
    • .design-sync/admin-pkg/groups/AdminTableSkeleton.md
    • .design-sync/admin-pkg/groups/AlertCard.md
    • .design-sync/admin-pkg/groups/AllClearCard.md
    • .design-sync/admin-pkg/groups/AutoExpandTextarea.md
    • .design-sync/admin-pkg/groups/Badge.md
    • .design-sync/admin-pkg/groups/Button.md
    • .design-sync/admin-pkg/groups/CancellationTimer.md
    • .design-sync/admin-pkg/groups/Card.md
    • .design-sync/admin-pkg/groups/ConfirmDialog.md
    • .design-sync/admin-pkg/groups/CountBadge.md
    • .design-sync/admin-pkg/groups/DataTable.md
    • .design-sync/admin-pkg/groups/DetailDrawer.md
    • .design-sync/admin-pkg/groups/Dialog.md
    • .design-sync/admin-pkg/groups/DropdownMenu.md
    • .design-sync/admin-pkg/groups/EmptyState.md
    • .design-sync/admin-pkg/groups/ExplorerLink.md
    • .design-sync/admin-pkg/groups/FundingBadge.md
    • .design-sync/admin-pkg/groups/Input.md
    • .design-sync/admin-pkg/groups/Label.md
    • .design-sync/admin-pkg/groups/LastUpdatedFooter.md
    • .design-sync/admin-pkg/groups/Logo.md
    • .design-sync/admin-pkg/groups/LogoMark.md
    • .design-sync/admin-pkg/groups/MetricCard.md
    • .design-sync/admin-pkg/groups/NotificationLog.md
    • .design-sync/admin-pkg/groups/PageHeader.md
    • .design-sync/admin-pkg/groups/RadioCard.md
    • .design-sync/admin-pkg/groups/RefreshButton.md
    • .design-sync/admin-pkg/groups/RefreshIndicator.md
    • .design-sync/admin-pkg/groups/Select.md
    • .design-sync/admin-pkg/groups/Separator.md
    • .design-sync/admin-pkg/groups/Skeleton.md
    • .design-sync/admin-pkg/groups/StatCard.md
    • .design-sync/admin-pkg/groups/StatCardSkeleton.md
    • .design-sync/admin-pkg/groups/StatusBadge.md
    • .design-sync/admin-pkg/groups/SubStatusIndicator.md
    • .design-sync/admin-pkg/groups/Switch.md
    • .design-sync/admin-pkg/groups/Table.md
    • .design-sync/admin-pkg/groups/TableSkeleton.md
    • .design-sync/admin-pkg/groups/Tabs.md
    • .design-sync/admin-pkg/groups/Textarea.md
    • .design-sync/admin-pkg/groups/TimelineItem.md
    • .design-sync/admin-pkg/groups/TimelineStepper.md
    • .design-sync/admin-pkg/groups/Tooltip.md
    • .design-sync/admin-pkg/package.json
    • .design-sync/config.admin.json
    • .design-sync/config.json
    • .design-sync/conventions.admin.md
    • .design-sync/conventions.md
    • .design-sync/previews-admin/ActivityFeedSkeleton.tsx
    • .design-sync/previews-admin/AdminTableSkeleton.tsx
    • .design-sync/previews-admin/AlertCard.tsx
    • .design-sync/previews-admin/AllClearCard.tsx
    • .design-sync/previews-admin/AutoExpandTextarea.tsx
    • .design-sync/previews-admin/Badge.tsx
    • .design-sync/previews-admin/Button.tsx
    • .design-sync/previews-admin/CancellationTimer.tsx
    • .design-sync/previews-admin/Card.tsx
    • .design-sync/previews-admin/ConfirmDialog.tsx
    • .design-sync/previews-admin/CountBadge.tsx
    • .design-sync/previews-admin/DataTable.tsx
    • .design-sync/previews-admin/Dialog.tsx
    • .design-sync/previews-admin/DropdownMenu.tsx
    • .design-sync/previews-admin/EmptyState.tsx
    • .design-sync/previews-admin/ExplorerLink.tsx
    • .design-sync/previews-admin/FundingBadge.tsx
    • .design-sync/previews-admin/Input.tsx
    • .design-sync/previews-admin/Label.tsx
    • .design-sync/previews-admin/LastUpdatedFooter.tsx
    • .design-sync/previews-admin/Logo.tsx
    • .design-sync/previews-admin/LogoMark.tsx
    • .design-sync/previews-admin/MetricCard.tsx
    • .design-sync/previews-admin/NotificationLog.tsx
    • .design-sync/previews-admin/PageHeader.tsx
    • .design-sync/previews-admin/RadioCard.tsx
    • .design-sync/previews-admin/RefreshButton.tsx
    • .design-sync/previews-admin/RefreshIndicator.tsx
    • .design-sync/previews-admin/Select.tsx
    • .design-sync/previews-admin/Separator.tsx
    • .design-sync/previews-admin/Skeleton.tsx
    • .design-sync/previews-admin/StatCard.tsx
    • .design-sync/previews-admin/StatCardSkeleton.tsx
    • .design-sync/previews-admin/StatusBadge.tsx
    • .design-sync/previews-admin/SubStatusIndicator.tsx
    • .design-sync/previews-admin/Switch.tsx
    • .design-sync/previews-admin/Table.tsx
    • .design-sync/previews-admin/TableSkeleton.tsx
    • .design-sync/previews-admin/Tabs.tsx
    • .design-sync/previews-admin/Textarea.tsx
    • .design-sync/previews-admin/TimelineItem.tsx
    • .design-sync/previews-admin/TimelineStepper.tsx
    • .design-sync/previews-admin/Tooltip.tsx
    • .design-sync/previews-web/Badge.tsx
    • .design-sync/previews-web/Button.tsx
    • .design-sync/previews-web/Card.tsx
    • .design-sync/previews-web/Dialog.tsx
    • .design-sync/previews-web/FilterTabs.tsx
    • .design-sync/previews-web/Input.tsx
    • .design-sync/previews-web/Label.tsx
    • .design-sync/previews-web/Logo.tsx
    • .design-sync/previews-web/LogoMark.tsx
    • .design-sync/previews-web/PoolCardGridSkeleton.tsx
    • .design-sync/previews-web/PoolCardSkeleton.tsx
    • .design-sync/previews-web/PoolDetailSkeleton.tsx
    • .design-sync/previews-web/PortfolioSkeleton.tsx
    • .design-sync/previews-web/RiskTierBadge.tsx
    • .design-sync/previews-web/Select.tsx
    • .design-sync/previews-web/Skeleton.tsx
    • .design-sync/previews-web/StatCard.tsx
    • .design-sync/previews-web/StatusBadge.tsx
    • .design-sync/previews-web/StepIndicator.tsx
    • .design-sync/previews-web/Tooltip.tsx
    • .design-sync/previews/ActivityFeedSkeleton.tsx
    • .design-sync/previews/AdminTableSkeleton.tsx
    • .design-sync/previews/AlertCard.tsx
    • .design-sync/previews/AllClearCard.tsx
    • .design-sync/previews/AutoExpandTextarea.tsx
    • .design-sync/previews/Badge.tsx
    • .design-sync/previews/Button.tsx
    • .design-sync/previews/CancellationTimer.tsx
    • .design-sync/previews/Card.tsx
    • .design-sync/previews/ConfirmDialog.tsx
    • .design-sync/previews/CountBadge.tsx
    • .design-sync/previews/DataTable.tsx
    • .design-sync/previews/Dialog.tsx
    • .design-sync/previews/DropdownMenu.tsx
    • .design-sync/previews/EmptyState.tsx
    • .design-sync/previews/ExplorerLink.tsx
    • .design-sync/previews/FundingBadge.tsx
    • .design-sync/previews/Input.tsx
    • .design-sync/previews/Label.tsx
    • .design-sync/previews/LastUpdatedFooter.tsx
    • .design-sync/previews/Logo.tsx
    • .design-sync/previews/LogoMark.tsx
    • .design-sync/previews/MetricCard.tsx
    • .design-sync/previews/NotificationLog.tsx
    • .design-sync/previews/PageHeader.tsx
    • .design-sync/previews/RadioCard.tsx
    • .design-sync/previews/RefreshButton.tsx
    • .design-sync/previews/RefreshIndicator.tsx
    • .design-sync/previews/Select.tsx
    • .design-sync/previews/Separator.tsx
    • .design-sync/previews/Skeleton.tsx
    • .design-sync/previews/StatCard.tsx
    • .design-sync/previews/StatCardSkeleton.tsx
    • .design-sync/previews/StatusBadge.tsx
    • .design-sync/previews/SubStatusIndicator.tsx
    • .design-sync/previews/Switch.tsx
    • .design-sync/previews/Table.tsx
    • .design-sync/previews/TableSkeleton.tsx
    • .design-sync/previews/Tabs.tsx
    • .design-sync/previews/Textarea.tsx
    • .design-sync/previews/TimelineItem.tsx
    • .design-sync/previews/TimelineStepper.tsx
    • .design-sync/previews/Tooltip.tsx
    • .design-sync/web-pkg/entry.tsx
    • .design-sync/web-pkg/groups/FilterTabs.md
    • .design-sync/web-pkg/groups/Logo.md
    • .design-sync/web-pkg/groups/LogoMark.md
    • .design-sync/web-pkg/groups/PoolCardGridSkeleton.md
    • .design-sync/web-pkg/groups/PoolCardSkeleton.md
    • .design-sync/web-pkg/groups/PoolDetailSkeleton.md
    • .design-sync/web-pkg/groups/PortfolioSkeleton.md
    • .design-sync/web-pkg/groups/RiskTierBadge.md
    • .design-sync/web-pkg/groups/Skeleton.md
    • .design-sync/web-pkg/groups/StatCard.md
    • .design-sync/web-pkg/groups/StatusBadge.md
    • .design-sync/web-pkg/groups/StepIndicator.md
    • .design-sync/web-pkg/package.json
    • .gitignore

2026-07-06 (Mon)

🟢 ch/product

feat 15:46:09 68d4ead9

feat(web+admin-web+infra): move refresh token to HttpOnly cookie (S-1)

24 files · +351 · -129
  • Admin
    • client
    • provider
    • types
  • Admin API
    • auth
  • Docs
    • 15-api-reference.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
    • admin-mfa.ts
    • cookies.ts
    • environment.ts
    • index.ts
    • supabase.ts
  • Investor Web
    • client
    • provider
    • use-sign-in
  • Investor Web API
    • auth
  • Lambda API
    • auth.post.admin-2fa-verify
    • auth.post.admin-login
    • auth.post.admin-logout-all
    • auth.post.admin-oauth
    • auth.post.logout
    • auth.post.refresh
    • auth.post.verify
  • Other
    • CLAUDE.md

perf 15:25:01 015869b4

perf(infra): page past PostgREST 1000-row cap, cache notification recipients, drop dup indexes

7 files · +107 · -31
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0053_drop_redundant_indexes.sql
    • DB schema.sql
    • fetch-all.ts
    • investor-stats.ts
    • yield-schedule.ts
  • Lambda API
    • notification-logs.scheduler.send

fix 15:05:10 3a163fbe

fix(web+admin-web+infra): chain-aware explorer links + honor operator saved page grants

23 files · +199 · -40
  • Admin
    • Route (admin-settings)
    • Route (redemptions)
    • provider
    • route-permissions
    • types
  • Admin API
    • dashboard
    • kyc
  • Infra
    • admin-mfa.ts
    • page-permissions.ts
  • Investor Web
    • .env
    • Route (kyc)
    • Route (pool.$id)
    • Route (portfolio-activity)
    • Route (settings)
    • Route (transactions)
    • Widget (activity-tab)
    • explorer
    • transaction-entries
  • Investor Web UI
    • KYCStatusCard
    • TransactionDetailDrawer
  • Lambda API
    • admin-users.patch.permissions
    • auth.post.admin-oauth

perf 14:16:05 e30cc7ba

perf(admin-web+web+infra): cut over-fetching and redundant recompute across dashboards

20 files · +176 · -74
  • Admin
    • Route (audit-log)
    • Route (dashboard)
    • Route (pool-detail)
    • governance-history-panel
    • investors-tab
    • methods
    • sidebar
  • Admin API
    • dashboard
    • notifications
    • use-dashboard
    • use-notification-logs
  • Investor Web
    • Route (landing)
    • Route (portfolio-activity)
    • Widget (PCWidgets)
    • Widget (performance-tab)
  • Investor Web API
    • keys
    • use-notifications
    • use-yield-claims
  • Lambda API
    • activity-events.get.list
    • notification-logs.get.list

feat 13:46:43 5e515148

feat(infra+admin-web): operator redemption escalate/notify-fund + drop synthetic emails

30 files · +374 · -183
  • Admin
    • Route (audit-log)
    • Route (login)
    • Route (my-settings)
    • Route (redemptions)
    • payload
    • permissions
  • Admin API
    • pools
    • redemption-requests
    • use-redemption-requests
  • Docs
    • 11-db-schema.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0052_notification_status_escalated.sql
    • DB schema.sql
    • activity.ts
    • cache.ts
    • client.ts
    • copy.ts
    • email.ts
  • Investor Web API
    • user-settings
  • Lambda API
    • auth.post.verify
    • deposits.get.list
    • notification-logs.post.escalate
    • notification-logs.scheduler.send
    • portfolio-positions.get.list
    • redemption-requests.post.escalate
    • redemption-requests.post.notify-fund
    • users.get.list
    • users.get.me
    • users.post.email

refactor 13:46:43 8b728fd2

refactor(contract): split PlatformPool into Gov/Yield/Nav libraries for EIP-170 headroom

15 files · +1112 · -526
  • Contract Test
    • PlatformLPToken.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • SequenceDiagramVerification.t
  • Docs
    • 08-smart-contracts.md
    • 08a-contract-reference.md
  • Investor Web
    • Route (settings)
  • Investor Web API
    • user-settings
  • Lambda API
    • users.get.me
  • Smart Contract
    • GovernanceLib
    • NavLib
    • PlatformPool
    • PlatformPool.abi.json
    • YieldLib
    • foundry.toml

refactor 13:46:43 a3ba156b

refactor(web+infra): code-quality/dedup sweep + reinvest partial-amount

53 files · +929 · -936
  • Infra
    • DB 0051_reinvest_partial_amount.sql
    • DB schema.sql
    • yield-distribution.ts
  • Investor Web
    • PoolCard
    • Route (dashboard)
    • Route (landing)
    • Route (notifications)
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Route (portfolio-activity)
    • Route (settings)
    • Route (transactions)
    • Route (verify-email)
    • TrancheBadge
    • Widget (PCWidgets)
    • Widget (PortfolioHero)
    • Widget (activity-tab)
    • Widget (epoch-countdown)
    • Widget (invest-sidebar)
    • Widget (overview-tab)
    • Widget (pool-header-card)
    • Widget (position-card)
    • Widget (risk-disclosure)
    • Widget (timelock-countdown)
    • auth-button
    • eslint.config
    • formatters
    • index
    • portfolio-stats
    • provider
    • redemption-state
    • transaction-entries
    • use-redeem-flow
    • use-reinvest-flow
  • Investor Web API
    • index
    • notifications
    • pools
    • redeposit
    • support-request
    • use-support-request
  • Investor Web UI
    • DarkPageLayout
    • KYCStatusCard
    • MobileBottomNav
    • OnboardingModal
    • PoolStatusAlert
    • RedeemModal
    • TransactionDetailDrawer
    • YieldClaimDialog
    • index
    • tx-type-badge
  • Lambda API
    • yield.post.reinvest

refactor 13:41:55 68b0afcc

refactor(admin-web): code-quality sweep + 2 P0 fixes, dedup & modal/badge consolidation

45 files · +2446 · -2186
  • Admin
    • Route (admin-settings)
    • Route (audit-log)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-detail)
    • Route (fund-manager-onboard)
    • Route (funds)
    • Route (kyc)
    • Route (login)
    • Route (my-settings)
    • Route (notifications)
    • Route (pools)
    • Route (protected-layout)
    • Route (redemptions)
    • Route (super-login)
    • address
    • configuration-tab
    • delete-pool-section
    • env.d
    • governance-history-panel
    • index
    • nav-changes-panel
    • sidebar
    • step-models
    • step-risk-penalty
    • totp-step
    • types
    • updates-tab
    • use-deposit-yield-flow
    • use-fund-redemption-flow
    • use-pool-fund-tx
    • wagmi
    • wallet-bind-card
  • Admin API
    • activity-events
    • dashboard
    • funds
    • keys
    • notification-center
    • pools
    • use-admin-users
    • use-notification-center
    • use-pools
  • Admin UI
    • count-badge
    • dday-badge
    • radio-card

refactor 13:41:55 f47819f2

refactor(infra): apply no-let/IIFE style + extract shared helpers across lambdas

31 files · +434 · -421
  • Infra
    • deploy-payload.ts
    • epoch.ts
    • escape-html.ts
    • loss-waterfall.ts
    • notification-email.ts
    • notify.ts
    • pool-field-validation.ts
    • templates.ts
  • Lambda API
    • activity-events.get.export
    • activity-events.get.list
    • activity-events.post.create
    • admin-notifications.get.list
    • admin-notifications.get.unread-count
    • admin-notifications.patch.read
    • admin-notifications.patch.read-all
    • admin-users.post.invite
    • auth.post.nonce
    • auth.post.verify
    • fund-invites.get.list
    • fund-invites.post.create
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.reuse
    • notification-logs.scheduler.send
    • notifications.get.list
    • pools.patch.update
    • pools.post.create
    • pools.post.freeze
    • pools.post.lifecycle
    • pools.scheduler.yield-due
    • yield.scheduler.reconcile

🔵 jy/product

No activity

2026-07-04 (Sat)

🟢 ch/product

No activity

🔵 jy/product

docs 17:05:04 4d06f4a1

docs: reinvest is same-pool only — drop "cross-pool reinvest is V2" framing (v3-64)

4 files · +31 · -2
  • Docs
    • 02-core-concepts.md
    • 05-investment-lifecycle.md
    • 14-decisions.md
    • 17-changelog.md

fix 16:59:12 d63348c2

fix(reinvest): enforce same-pool-only — remove cross-pool Target Pool selector

2 files · +43 · -75
  • Investor Web
    • Route (portfolio)
  • Other
    • CLAUDE.md

2026-07-03 (Fri)

🟢 ch/product

refactor 14:41:41 7ee2ec8c

refactor: purge v3-deprecated remnants (REFUNDED, lp_issuance_model, FM-stage) across web/admin/infra

30 files · +243 · -172
  • Admin
    • Route (dashboard)
    • Route (deposits)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pools)
    • overview-tab
    • payload
    • permissions
    • step-models
    • types
  • Admin API
    • dashboard
    • deposits
    • pools
    • redemption-requests
  • Admin UI
    • status-badge
  • Docs
    • 10-status-machines.md
    • 11-db-schema.md
  • Infra
    • DB 0049_drop_deposit_status_refunded.sql
    • DB 0050_drop_lp_issuance_and_fm_stage_columns.sql
    • DB schema.sql
    • DB seed.sql
  • Investor Web
    • Route (dashboard)
    • Route (portfolio)
    • Route (portfolio-activity)
  • Investor Web API
    • deposits
    • redemption-requests
  • Investor Web UI
    • status-badge
  • Other
    • packages/types/src/index.ts

refactor 13:37:01 3afd438d

refactor: remove verified dead code across web/admin/infra + reconcile DB schema

43 files · +64 · -1388
  • Admin API
    • deposits
    • index
    • keys
    • notifications
    • pools
    • use-auth
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0048_wallet_ci_unique_drop_lowercase_fn.sql
    • DB schema.sql
    • DB seed.sql
    • cdk.context.json
    • client.ts
    • create-system-update.ts
    • index.ts
    • package.json
  • Investor Web
    • Route (home)
    • Widget (HoldingCard)
    • Widget (PCWidgets)
    • Widget (QuickActions)
    • Widget (index)
    • Widget (tvl-chart)
    • holder-state
    • index
  • Investor Web API
    • index
    • keys
    • kyc-logs
    • pools
    • underlying-assets
    • use-deposits
    • use-kyc-logs
    • use-portfolio-positions
    • use-redemption-requests
    • use-underlying-assets
    • use-wallets
    • use-yield-distributions
    • wallets
  • Investor Web UI
    • InvestModal
    • index
    • stat-card
    • status-badge
    • step-indicator
  • Lambda API
    • deposits.get.list

🔵 jy/product

docs 18:09:41 2b990c23

docs: log v3-60~63 decisions from FE-UI tracker (country code, max_investment, formatting, recovery)

3 files · +107
  • Docs
    • 04-pool-models.md
    • 14-decisions.md
    • 17-changelog.md

docs 17:25:03 9ee104a4

docs: add v3-59 dynamic DPD buckets decision + reconcile v3-58 LP whitelist mention

6 files · +40 · -2
  • Docs
    • 08-smart-contracts.md
    • 11-db-schema.md
    • 14-decisions.md
    • 16-timeline.md
    • 17-changelog.md
    • 20-joob-pool-config.md

2026-07-02 (Thu)

🟢 ch/product

test 17:04:07 c3bec237

test: cover every deposit-blocking state in backend and contract

5 files · +290 · -33
  • Contract Test
    • PlatformPool.t
  • Infra
    • deposit-eligibility.test.ts
    • deposit-eligibility.ts
    • package.json
  • Lambda API
    • deposits.post.create

fix 16:16:16 f4a030f1

fix(web): show skeletons on Settings while profile data loads

1 files · +57 · -23
  • Investor Web
    • Route (settings)

fix 16:07:30 8d4d496c

fix: drop synthetic investor emails + route Add-LP-token through the connected wallet

12 files · +158 · -38
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0047_drop_synthetic_user_emails.sql
    • DB schema.sql
    • email.ts
  • Investor Web
    • Widget (PCWidgets)
    • Widget (invest-sidebar)
    • use-add-lp-token
  • Lambda API
    • auth.post.verify
    • deposits.get.list
    • portfolio-positions.get.list
    • users.get.list
    • users.get.me

fix 15:43:03 04889c45

fix(admin): derive redemptions and yield CSV exports from the table columns

2 files · +27 · -23
  • Admin
    • Route (redemptions)
    • Route (yield)

feat 15:43:03 5357bfa2

feat: friendly tx errors, max-investment gate, and invite-link copy button

13 files · +135 · -23
  • Admin
    • Route (fund-manager-onboard)
  • Investor Web
    • Route (portfolio)
    • Widget (invest-sidebar)
    • index
    • tx-error
    • use-cancel-redemption-flow
    • use-invest-flow
    • use-reinvest-flow
    • use-settle-epoch-flow
  • Investor Web API
    • pools
  • Investor Web UI
    • RedeemModal
    • YieldClaimDialog
  • Lambda API
    • pools.get.list

fix 15:43:03 d19090fd

fix(admin): make dashboard alert counts match their lists (0046)

5 files · +60 · -11
  • Admin
    • Route (dashboard)
    • Route (kyc)
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0046_dashboard_alerts_exclude_inflight_mint.sql
    • DB schema.sql

fix 15:43:03 4dfdbcf0

fix(admin): sync SBT mint retry state across pages + surface retry outcomes

8 files · +168 · -32
  • Admin
    • Route (dashboard)
    • Route (kyc)
  • Admin API
    • kyc
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0045_sbt_mint_queued_at.sql
    • DB schema.sql
    • apply-review.ts
    • mint-queue.ts

fix 15:43:03 fa9eae18

fix(admin): derive deposits CSV export from the table columns

3 files · +49 · -10
  • Admin
    • Route (deposits)
    • export-table-csv
    • index

fix 13:32:07 c21b2791

fix(infra): enforce single-primary fund manager rules (invite & removal)

9 files · +279 · -47
  • Admin
    • Route (fund-detail)
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0044_single_primary_fund_member.sql
    • DB schema.sql
  • Lambda API
    • fund-invites.post.accept
    • fund-invites.post.create
    • fund-members.delete
    • fund-members.patch.update
    • fund-members.post.create

fix 12:26:32 a50d7c8b

fix(infra): offboard FM accounts on fund delete and make invite accept atomic

4 files · +138 · -68
  • Infra
    • offboard-fund-manager.ts
  • Lambda API
    • fund-invites.post.accept
    • fund-members.delete
    • funds.delete

feat 12:09:49 7ebce9f3

feat(contract): mint LP on full deposit amount — reserve no longer dilutes claim (v3-56)

16 files · +209 · -92
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFlows.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Docs
    • 05-investment-lifecycle.md
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
    • token-calculations.ts
  • Lambda API
    • deposits.post.create
    • pools.scheduler.lifecycle
    • yield.post.reinvest
  • Smart Contract
    • PlatformPool
    • sepolia.md

fix 12:09:49 dfde7045

fix(ui): add loading spinners and pending guards to all async action buttons

31 files · +522 · -146
  • Admin
    • Route (admin-settings)
    • Route (dashboard)
    • Route (fund-detail)
    • Route (fund-invite-accept)
    • Route (funds)
    • Route (kyc)
    • Route (login)
    • Route (my-settings)
    • Route (notifications)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (redemptions)
    • Route (yield)
    • delete-pool-section
    • nav-changes-panel
    • updates-tab
    • yield-settings-tab
  • Admin UI
    • index
    • pending-confirm-dialog
  • Investor Web
    • Route (dashboard)
    • Route (notifications)
    • Route (portfolio)
    • Route (portfolio-activity)
    • Route (settings)
    • Widget (invest-sidebar)
    • Widget (reinvest-confirm-dialog)
  • Investor Web UI
    • KYCModal
    • KYCStatusCard
    • RedeemModal
    • YieldClaimDialog

fix 12:09:49 c7875014

fix: harden fund manager removal and fund deletion

6 files · +214 · -47
  • Admin
    • Route (fund-detail)
  • Lambda API
    • fund-members.delete
    • fund-members.get.list
    • fund-members.post.create
    • funds.delete
    • funds.get.list

🔵 jy/product

docs 16:31:11 c57899ec

docs: sync backend docs to code — audit Medium/Low fixes

9 files · +26 · -19
  • Docs
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 09a-custody.md
    • 11-db-schema.md
    • 13-operations.md
    • 18-failure-types.md
    • 21-holder-verification.md

docs 16:16:04 645e0e40

docs: sync backend docs to code — v3-58, pool-status matrix, audit fixes

14 files · +133 · -35
  • Docs
    • 01-overview.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 09a-custody.md
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md
    • 18-failure-types.md
    • 21-holder-verification.md

feat 16:15:49 9d74f572

feat(contract): permissionless LP transfers — remove whitelist gate (v3-58)

7 files · +33 · -138
  • Contract Test
    • PlatformLPToken.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFlows.t
    • PlatformPoolNonCustodial.t
    • SequenceDiagramVerification.t
  • Smart Contract
    • PlatformLPToken

fix 15:21:14 712aed24

fix(docs): repoint pool-updates RBAC link to v3-57 after merge renumber

1 files · +1 · -1
  • Docs
    • 09-rbac.md

refactor 14:15:30 76d6f37f

refactor(web): detint transaction modals/drawer to ledger style + StatusBadge quiet variant

5 files · +155 · -127
  • Investor Web UI
    • InvestModal
    • RedeemModal
    • TransactionDetailDrawer
    • YieldClaimDialog
    • status-badge

feat 13:36:35 377470e5

feat(admin): pool-updates RBAC — Operator opt-in via 'pools' page perm + docs (v3-56)

6 files · +92 · -12
  • Docs
    • 09-rbac.md
    • 14-decisions.md
    • 17-changelog.md
  • Lambda API
    • pool-updates.delete
    • pool-updates.patch.update
    • pool-updates.post.create

feat 13:36:12 37cd06ca

feat(web): wire pool fees (FEE-1) + pool-level wind-down recovery (PDP-6)

3 files · +74
  • Investor Web
    • Widget (overview-tab)
    • Widget (position-card)
  • Investor Web API
    • pools

feat 11:02:29 ddec3f87

feat(admin): surface EOA vs Safe (multisig) pending signing state (W4)

5 files · +77 · -7
  • Admin
    • Route (redemptions)
    • Route (yield)
    • use-deposit-yield-flow
    • use-fund-redemption-flow
    • use-wallet-kind

2026-07-01 (Wed)

🟢 ch/product

fix 19:13:14 7cfdf216

fix(admin): redirect to dashboard on fund invite accept

1 files · +8 · -2
  • Admin
    • Route (fund-invite-accept)

fix 19:05:33 94d41073

fix(infra): harden FM invitation flow edge cases

5 files · +127 · -26
  • Admin
    • Route (fund-invite-accept)
  • Lambda API
    • admin-users.post.invite
    • auth.post.admin-oauth
    • fund-invites.get.list
    • fund-invites.post.create

feat 19:02:26 9cd0692f

feat: show canonical investor name (first/last) across admin UI + notifications

8 files · +78 · -25
  • Admin
    • display-name
  • Admin API
    • kyc
  • Infra
    • display-name.ts
    • notify.ts
  • Lambda API
    • deposits.get.list
    • portfolio-positions.get.list
    • redemption-requests.get.list
    • users.get.me

fix 18:04:11 9365d4ef

fix(infra): require fund_wallet, harden MFA/dev shims (audit A/B)

6 files · +37 · -39
  • Admin
    • provider
  • Infra
    • admin-mfa.ts
  • Investor Web
    • contact
  • Lambda API
    • notification-logs.post.resend
    • pools.post.create
    • pools.post.lifecycle

docs 17:04:01 dfaacf23

docs: sync 15-api-reference with actual lambda routes (130 endpoints)

1 files · +135 · -47
  • Docs
    • 15-api-reference.md

feat 16:52:03 5fb85e7d

feat(admin): FM wallet signing hardening — W8/W9 (v3-54)

17 files · +292 · -49
  • Admin
    • Route (my-settings)
    • Route (redemptions)
    • Route (yield)
    • fund-wallet-display
    • overview-tab
    • pool-controls
    • use-bind-wallet
    • wallet-bind-card
  • Admin API
    • admin-user-wallets
    • index
    • keys
    • use-admin-user-wallets
  • Docs
    • 14-decisions.md
    • 15-api-reference.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
  • Lambda API
    • admin-user-wallets.get.list

chore 13:39:14 1d5f1a95

chore: migrate domains from aset.shardlab.io to aset.finance

21 files · +234 · -176
  • Admin
    • .env
  • CI/CD
    • deploy-admin-web.yml
    • deploy-docs.yml
    • deploy-web.yml
  • Docs
    • 14-decisions.md
    • 22-notifications.md
    • README.md
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • CDK Stack (certificate-stack)
    • CDK Stack (docs-stack)
    • CDK Stack (ses-stack)
    • app.ts
    • cdk.context.json
    • docs.ts
    • environment.ts
  • Investor Web
    • .env
    • contact
  • Other
    • README.md

🔵 jy/product

fix 18:29:58 a89e5355

fix(docs): close unterminated v3-55 <details>/::: block in 17-changelog

1 files · +3
  • Docs
    • 17-changelog.md

fix 18:20:03 c118291b

fix(web): route partner CTA to contact@aset.finance, add CONTACT_EMAIL

2 files · +7 · -1
  • Investor Web
    • contact
  • Investor Web UI
    • Footer

fix 18:16:57 fc3d756f

fix(admin): restrict invite target role — Admin cannot invite Admin/Super Admin (B2)

1 files · +11
  • Lambda API
    • admin-users.post.invite

docs 17:57:38 f225d89b

docs: sync backend docs to shipped code (2026-07-01 audit)

13 files · +86 · -83
  • Docs
    • 01-overview.md
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08a-contract-reference.md
    • 09-rbac.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 17-changelog.md
    • 20-joob-pool-config.md
    • 21-holder-verification.md
  • Other
    • CLAUDE.md

fix 17:29:12 3fbd0174

fix(web): correct misleading matured-pool copy (no auto-redemption)

2 files · +5 · -5
  • Investor Web
    • Widget (invest-sidebar)
  • Investor Web UI
    • PoolStatusAlert

refactor 13:45:41 2717de9b

refactor(fund-data): rename total_rni/total_npl -> realized_income/cumulative_impairment (v3-54)

11 files · +68 · -28
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • DB 0043_rename_fund_metrics_neutral.sql
    • DB schema.sql
    • mapper.ts
    • sync.ts
    • types.ts
  • Investor Web
    • Widget (fund-data-tab)
  • Investor Web API
    • fund-data
  • Lambda API
    • pools.get.fund-data-history

feat 13:45:41 cbced658

feat(web): add pool PDP Activity tab — per-pool deposit/redemption/yield history

3 files · +175 · -1
  • Investor Web
    • Route (pool.$id)
    • Widget (activity-tab)
    • Widget (index)

2026-06-30 (Tue)

🟢 ch/product

feat 16:21:04 cc6b4ee1

feat: FM wallet signing — client-signed depositYield/fundRedemption (v3-53)

42 files · +2329 · -349
  • Admin
    • Route (my-settings)
    • Route (pool-create)
    • Route (redemptions)
    • Route (yield)
    • contracts
    • index
    • payload
    • pool-controls
    • root
    • step-basic-info
    • step-save-publish
    • types
    • use-bind-wallet
    • use-deposit-yield-flow
    • use-fund-redemption-flow
    • use-network-guard
    • validation
    • wagmi
    • wallet-bind-card
    • wallet-silent-reconnect
  • Admin API
    • auth
    • redemption-requests
    • use-redemption-requests
    • use-yield-distributions
    • yield-distributions
  • Docs
    • 09-rbac.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0041_admin_user_wallets.sql
    • DB 0042_yield_deposit_tx_hash.sql
    • DB schema.sql
    • copy.ts
    • run-distribution.ts
  • Lambda API
    • admin-wallet.post.nonce
    • admin-wallet.post.verify
    • pools.scheduler.yield-due
    • redemption-requests.post.approve
    • redemption-requests.post.record-funding
    • yield-distributions.post.create
    • yield-distributions.post.distribute

chore 11:46:41 c364fd56

chore: remove unused docs-src Notion-to-HTML build tooling

3 files · -3554
  • Other
    • docs-src/build.py
    • docs-src/template/notion_config.json
    • docs-src/template/shell.html

fix 11:39:11 558b4c43

fix(admin): restrict pool Controls tab to Admin only

2 files · +9 · -7
  • Admin
    • Route (pool-detail)
    • pool-controls

feat 10:59:53 401af5ac

feat(admin): per-button loading spinners on pool control actions

2 files · +92 · -68
  • Admin

    • pool-controls

docs 10:19:01 fe320c61

docs: document users.first_name/last_name in db-schema users table (0040)

1 files · +3 · -1
  • Docs
    • 11-db-schema.md

docs 10:19:01 d8a77900

docs: sync db-schema with migration 0039 platform_settings

1 files · +14 · -4
  • Docs
    • 11-db-schema.md

🔵 jy/product

chore 10:35:12 5a3e5c42

chore(db): enable RLS on platform_settings (Lambda/service-key only)

1 files · +7
  • Infra
    • DB 0039_platform_settings.sql

2026-06-29 (Mon)

🟢 ch/product

docs 18:18:49 5716c4ce

docs: add contract code reference and dedupe with smart-contracts page

3 files · +356 · -105
  • Docs
    • 08-smart-contracts.md
    • 08a-contract-reference.md
    • config.ts

feat 14:38:59 064fef6a

feat(web): redirect to landing page on wallet disconnect

1 files · +3
  • Investor Web
    • auth-button

feat 13:34:47 d4e8fbd8

feat(auth): support Base Account SIWE and harden token issuance

22 files · +667 · -660
  • Admin
    • package
  • Infra
    • admin-mfa.ts
    • index.ts
    • jwt.ts
    • middleware.ts
    • package.json
    • read-scope.ts
    • siwe.ts
  • Investor Web
    • auth-button
    • client
    • package
    • provider
    • siwe-base-account
    • siwe-eoa
    • use-sign-in
    • wagmi
    • wallet-silent-reconnect
  • Lambda API
    • auth.post.admin-2fa-verify
    • auth.post.admin-oauth
    • auth.post.verify
  • Other
    • package.json
    • pnpm-lock.yaml

🔵 jy/product

feat 18:48:22 d5445d50

feat(kyc): backfill investor names from SumSub via reconcile-sweep (v3-52)

3 files · +100 · -2
  • Docs
    • 14-decisions.md
    • 17-changelog.md
  • Lambda API
    • kyc.scheduler.reconcile-sweep

feat 18:34:07 66fc3a0f

feat: store investor name (from SumSub) + dedupe investor Settings

7 files · +44 · -34
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0040_investor_names.sql
    • DB schema.sql
    • apply-review.ts
    • client.ts
  • Investor Web
    • Route (settings)
  • Lambda API
    • users.get.me

chore 18:12:56 9bcabf0d

chore(admin): remove dead "Transfer to Defined Wallet" Operations tab

3 files · +4 · -100
  • Admin
    • Route (pool-detail)
    • index
    • operations-tab

feat 18:07:13 2587e41d

feat(notify): notify the investor when their SBT mint fails

2 files · +37
  • Infra
    • apply-review.ts
    • copy.ts

feat 17:09:48 b521e97e

feat: SBT-failed recovery + yield stub cleanup + server-persisted platform config

17 files · +259 · -43
  • Admin
    • Route (admin-settings)
    • Route (yield)
  • Admin API
    • index
    • platform-settings
    • use-platform-settings
  • Docs
    • 11-db-schema.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0039_platform_settings.sql
    • DB schema.sql
  • Investor Web
    • Route (dashboard)
    • Route (pool.$id)
    • Route (portfolio)
  • Investor Web API
    • use-user-settings
    • user-settings
  • Investor Web UI
    • KYCStatusCard
  • Lambda API
    • platform-settings.get
    • platform-settings.put.update

fix 16:33:51 6b1ad0ad

fix(admin): ADMIN can edit-name + delete another ADMIN (v3-47 revised)

5 files · +61 · -4
  • Admin
    • Route (admin-settings)
  • Docs
    • 14-decisions.md
    • 17-changelog.md
  • Lambda API
    • admin-users.delete
    • admin-users.patch.update

feat 16:16:54 eed36d7c

feat: FM_SHORTFALL alert + admin notif prefs save + preview-pool gating (FE-UI #31/#10, #5, #19)

10 files · +285 · -29
  • Admin
    • Route (my-settings)
  • Admin API
    • index
    • notification-preferences
    • use-notification-preferences
  • Infra
    • CDK Stack (api-stack)
  • Investor Web
    • Route (pool.$id)
  • Investor Web API
    • pools
  • Lambda API
    • admin-notification-preferences.get.list
    • admin-notification-preferences.put.update
    • redemption-requests.post.approve

chore 16:15:08 595380ab

chore(ui): clean up user-facing copy and unify contact email

16 files · +46 · -31
  • Admin
    • Route (yield)
    • nav-changes-panel
    • operations-tab
    • step-models
  • Investor Web
    • Route (dashboard)
    • Route (help)
    • Route (portfolio)
    • Route (portfolio-activity)
    • Route (privacy)
    • Route (settings)
    • Route (terms)
    • Widget (invest-sidebar)
    • contact
  • Investor Web UI
    • KYCModal
    • KYCStatusCard

feat 14:54:21 4e6068dd

feat(web): claimable yield display (v3-51 #7) + State-C read-only portfolio (docs 21)

7 files · +138 · -16
  • Investor Web
    • Route (dashboard)
    • Route (pool.$id)
    • Route (portfolio)
    • Route (settings)
    • Widget (HoldingCard)
    • holder-state
  • Investor Web API
    • portfolio-positions

docs 14:44:53 2352266c

docs(pool-models): flag tranche yield-waterfall deferred, loss-waterfall built (v3-50)

1 files · +8
  • Docs
    • 04-pool-models.md

fix 14:00:07 17d958ff

fix(web): tranche risk-tier Senior/Mezzanine → Medium per v3-25 spec

4 files · +10 · -7
  • Docs
    • 04-pool-models.md
    • 14-decisions.md
    • 17-changelog.md
  • Investor Web API
    • pools

feat 13:32:46 db1d14f3

feat(web/admin): investor tranche display + admin incomplete-group badge (v3-50)

7 files · +128 · -10
  • Admin
    • Route (pools)
  • Docs
    • 14-decisions.md
    • 17-changelog.md
  • Investor Web
    • PoolCard
    • Widget (pool-header-card)
    • Widget (risk-disclosure)
  • Investor Web API
    • pools

feat 13:26:46 918ba8e9

feat(admin): tranche group setup in pool-create (Method A, v3-50)

9 files · +256 · -7
  • Admin
    • Route (pool-create)
    • payload
    • step-models
    • step-save-publish
    • types
    • validation
  • Admin API
    • pools
  • Docs
    • 14-decisions.md
    • 17-changelog.md

feat 13:06:16 2c55aa3b

feat(infra): tranche loss waterfall engine + write-down endpoint (v3-50)

4 files · +442
  • Infra
    • CDK Stack (api-stack)
    • loss-waterfall.ts
  • Lambda API
    • pools.post.lifecycle
    • tranche.post.writedown

feat 13:01:21 e2c55a8e

feat(infra): yield reconciler — claimable_yield = on-chain pendingYield (v3-51)

12 files · +422 · -2
  • Docs
    • 05-investment-lifecycle.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0038_yield_reconciler.sql
    • DB schema.sql
    • engine.ts
    • events.ts
    • yield.ts
  • Lambda API
    • yield.scheduler.reconcile

2026-06-26 (Fri)

🟢 ch/product

refactor 15:13:04 6b0d2681

refactor(auth): unify SIWE on viem and fix JWT chainId claim

7 files · +75 · -123
  • Infra
    • jwt.ts
    • siwe.ts
  • Investor Web
    • provider
    • siwe-message
    • use-sign-in
  • Lambda API
    • auth.post.refresh
    • auth.post.verify

feat 14:09:46 50f45a2d

feat(web): support Coinbase Wallet + Base Account and harden wallet session

3 files · +85 · -6
  • Investor Web
    • auth-button
    • provider
    • wagmi

🔵 jy/product

chore 18:12:40 e4af685c

chore(admin): remove dead/phantom code surfaced by gap re-audit (v3-48)

10 files · +31 · -117
  • Admin
    • Route (deposits)
    • Route (my-settings)
  • Admin API
    • admin-users
    • fund-members
    • index
    • pools
    • use-admin-users
    • use-fund-members
    • use-pools
  • Infra
    • copy.ts

feat 16:55:41 3ccb35c0

feat(notifications): FM yield-distribution due + overdue alerts (v3-49)

4 files · +172 · -12
  • Docs
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • copy.ts
  • Lambda API
    • pools.scheduler.yield-due

fix 14:42:33 1e59dcdc

fix(admin): remove dead retry-lp-mint (v3-48 resolved, option b)

6 files · +21 · -62
  • Admin
    • Route (dashboard)
    • Route (deposits)
  • Admin API
    • deposits
    • use-deposits
  • Docs
    • 14-decisions.md
    • 17-changelog.md

fix 13:56:44 e2f21a8d

fix(admin): close BE-FE gaps — fund-member edit, NAV propose; disable retry-lp-mint (v3-48)

5 files · +241 · -17
  • Admin
    • Route (deposits)
    • Route (fund-detail)
    • nav-changes-panel
  • Docs
    • 14-decisions.md
    • 17-changelog.md

fix 12:50:40 c758111e

fix(admin): edit admin user name + reachable delete for all roles (v3-47)

4 files · +63 · -10
  • Admin
    • Route (admin-settings)
  • Docs
    • 09-rbac.md
    • 14-decisions.md
    • 17-changelog.md

fix 12:15:43 17251363

fix(admin): add Name field to invite modal + send invite email

6 files · +96 · -6
  • Admin
    • Route (admin-settings)
  • Admin API
    • admin-users
  • Infra
    • CDK Stack (route-group-stack)
    • index.ts
    • templates.ts
  • Lambda API
    • admin-users.post.invite

docs 12:15:35 d0d32fb5

docs: clarify instant vs epoch redemption as a gating choice orthogonal to maturity (v3-46)

4 files · +43 · -3
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 14-decisions.md
    • 17-changelog.md

2026-06-25 (Thu)

🟢 ch/product

fix 17:50:26 fb024786

fix(admin): allow editing collateral ratio on a live pool

1 files · +4
  • Admin
    • permissions

fix 17:14:23 95affff4

fix(admin): grey out locked native selects in pool edit

1 files · +4 · -1
  • Admin
    • constants

feat 17:14:23 b22d368f

feat(admin): show loading state on pool deposit pause/resume buttons

2 files · +25 · -8
  • Admin
    • Route (pool-detail)
    • pool-controls

fix 16:52:16 d6c46d79

fix(admin): prevent linking a pool to an inactive fund

1 files · +33 · -16
  • Admin
    • fund-select

refactor 16:48:10 f5eaa47d

refactor(pools): drop legacy collateral_type enum (v3-35 display-only)

9 files · +25 · -47
  • Admin
    • types
  • Admin API
    • pools
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0037_drop_pool_collateral_type.sql
    • DB schema.sql
  • Investor Web
    • Route (pools)
  • Investor Web API
    • pools
  • Lambda API
    • pools.get.list
    • pools.post.create

fix 16:48:10 bdf13429

fix(admin): surface fund primary contact in list & flag inactive funds on pool-create

4 files · +12 · -5
  • Admin
    • fund-select
    • types
  • Admin UI
    • status-badge
  • Lambda API
    • funds.get.list

fix 16:08:04 9fb43655

fix(web): persist SIWE session across refresh + portfolio/nav UI

5 files · +143 · -105
  • Investor Web
    • Route (portfolio)
    • Widget (header)
    • client
    • provider
  • Investor Web UI
    • MobileBottomNav

fix 15:07:54 852991e3

fix(infra): force HttpApi replacement to escape route-key 409 during nested migration

1 files · +7 · -1
  • Infra
    • CDK Stack (api-stack)

fix 15:07:54 6cb19890

fix(infra): add apiRoutes migration toggle to move routes to nested stacks without 409

1 files · +28 · -19
  • Infra
    • CDK Stack (api-stack)

refactor 15:07:54 0a94717b

refactor(infra): split ApiStack routes into nested stacks; drop dead pool-compositions route

4 files · +214 · -178
  • Infra
    • CDK Stack (api-stack)
    • CDK Stack (lambda-helpers)
    • CDK Stack (route-group-stack)
  • Lambda API
    • pool-compositions.get.list

fix 15:04:42 ee408cb9

fix(kyc): frontend gating, state display & SumSub event handling (web + admin)

14 files · +232 · -45
  • Admin
    • Route (kyc)
    • pool-controls
  • Admin API
    • kyc
  • Investor Web
    • Route (dashboard)
    • Route (pool.$id)
    • Route (portfolio)
    • Route (settings)
    • auth-button
    • use-redeem-flow
    • use-reinvest-flow
  • Investor Web API
    • kyc
    • use-kyc
  • Investor Web UI
    • KYCModal
    • KYCStatusCard

fix 15:04:42 40b46a99

fix(kyc): backend audit fixes — status mapping, sync, renewal, jurisdiction, tx-revert

11 files · +208 · -75
  • Docs
    • 04-pool-models.md
  • Infra
    • apply-review.ts
    • client.ts
    • sync-review.ts
  • Lambda API
    • kyc.get.status
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.sync
    • kyc.scheduler.reconcile-sweep
    • pools.post.governance
    • users.get.list

feat 15:04:42 a906f07a

feat: complete pool-mutability governance + on-chain redemption gating (v3-43)

24 files · +660 · -35
  • Admin
    • payload
    • permissions
    • pool-controls
    • step-models
    • types
  • Admin API
    • pools
  • Contract Test
    • PlatformPoolEpoch.t
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0034_governance_jurisdiction_change_type.sql
    • DB 0035_governance_redemption_gating_change_type.sql
    • DB 0036_pools_fx_rate_source.sql
    • DB schema.sql
    • create-pool.ts
    • governance.ts
    • index.ts
  • Lambda API
    • pools.patch.update
    • pools.post.create
    • pools.post.governance
    • pools.worker.deploy
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPoolStorage
    • RedemptionLib
    • sepolia.md

feat 14:57:05 a7ee89df

feat: enforce pool-attribute mutability across contract, lambda, and admin UI (v3-43)

14 files · +826 · -74
  • Admin
    • Route (pool-edit)
    • payload
    • permissions
    • step-financial
    • step-risk-penalty
  • Contract Test
    • PlatformPool.t
  • Infra
    • governance.ts
    • index.ts
  • Lambda API
    • pools.patch.update
    • pools.post.create
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPoolStorage
    • sepolia.md

🔵 jy/product

docs 17:10:15 963bf91d

docs(notifications): add Notification System reference page (v3-44/45)

4 files · +118 · -2
  • Docs
    • 13-operations.md
    • 17-changelog.md
    • 22-notifications.md
    • config.ts

feat 16:24:30 809fcc02

feat(web,admin): redesign notification preferences — in-app always-on + collapse essentials (v3-44)

2 files · +120 · -93
  • Admin
    • Route (my-settings)
  • Investor Web
    • Route (settings)

fix 16:18:26 4d00491d

fix(email): verification email uses branded Direction B template (v3-44)

1 files · +22 · -30
  • Infra
    • templates.ts

feat 14:56:34 1ed00f88

feat(notifications): admin notification-center BE endpoints (v3-44 model A)

6 files · +211
  • Infra
    • CDK Stack (api-stack)
    • admin-feed-scope.ts
  • Lambda API
    • admin-notifications.get.list
    • admin-notifications.get.unread-count
    • admin-notifications.patch.read
    • admin-notifications.patch.read-all

feat 14:45:37 593f297d

feat(admin-web): notification center FE — bell + feed (v3-44 admin center, model A)

7 files · +348 · -5
  • Admin
    • Route (notifications)
    • header
    • routes
  • Admin API
    • index
    • notification-center
    • use-notification-center

feat 13:50:12 31eeef35

feat(notifications): operator/FM awareness variants for deposit/yield/maturity (v3-44 #c, D3)

5 files · +138 · -2
  • Infra
    • copy.ts
    • deposit.ts
  • Lambda API
    • deposits.post.create
    • pools.scheduler.lifecycle
    • yield-distributions.post.create

fix 13:47:28 2118c94d

fix(notifications): sync failure-event email heroes to copy sheet (v3-44)

1 files · +5 · -5
  • Infra
    • copy.ts

feat 13:36:21 37a1202a

feat(notifications): pool announcements use Direction B template + payload (v3-44 #3b)

3 files · +111 · -65
  • Infra
    • create-system-update.ts
    • index.ts
    • notification-email.ts

feat 12:36:25 dbba808f

feat(notifications): fm_notification_failed admin alert on terminal send failure (v3-44 #3a)

1 files · +31 · -1
  • Lambda API
    • notification-logs.scheduler.send

feat 12:14:02 96f15d86

feat(notifications): preferences persistence endpoints + critical-locked (v3-44 (c))

3 files · +89
  • Infra
    • CDK Stack (api-stack)
  • Lambda API
    • notification-preferences.get.list
    • notification-preferences.put.update

feat 12:01:39 d1db4fe7

feat(web/settings): surface pending email change while current email stays verified (v3-45)

1 files · +13 · -5
  • Investor Web
    • Route (settings)

docs 11:57:43 e039023d

docs(notifications): investor email verification (v3-45) — schema + decisions + changelog

3 files · +44 · -1
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md

feat 11:54:03 7c42273e

feat(notifications): investor email registration + verification flow (v3-44 email channel)

14 files · +479 · -9
  • Infra
    • CDK Stack (api-stack)
    • DB 0033_user_email_verification.sql
    • DB schema.sql
    • index.ts
    • templates.ts
  • Investor Web
    • Route (settings)
    • Route (verify-email)
    • routes
  • Investor Web API
    • use-user-settings
    • user-settings
  • Lambda API
    • auth.post.verify-email
    • notification-logs.scheduler.send
    • users.get.me
    • users.post.email

fix 11:32:29 1bf3f3fc

fix(notifications): worker env base URLs (deep-link) + in-app detail modal (v3-44)

4 files · +82 · -1
  • Infra
    • CDK Stack (api-stack)
    • notify.ts
  • Investor Web
    • Route (notifications)
  • Investor Web API
    • notifications

feat 11:22:10 89df5cc0

feat(web/notifications): render payload.in_app + clickable deep-links + POOL/ACCOUNT filters (v3-44)

2 files · +93 · -23
  • Investor Web
    • Route (notifications)
  • Investor Web API
    • notifications

chore 10:51:36 ab35b774

chore(notifications): send worker cron 2min -> 1min (lower email latency)

1 files · +1 · -1
  • Infra
    • CDK Stack (api-stack)

2026-06-24 (Wed)

🟢 ch/product

No activity

🔵 jy/product

feat 18:31:09 e3e18b55

feat(notifications): SES send worker + in-app read endpoints + producers (v3-44)

29 files · +1941 · -8
  • Docs
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0032_notification_payload.sql
    • DB schema.sql
    • apply-review.ts
    • copy.ts
    • deposit.ts
    • epoch.ts
    • freeze.ts
    • index.ts
    • notification-email.ts
    • notify.ts
    • redemption.ts
  • Lambda API
    • admin-users.patch.update
    • deposits.post.create
    • fund-invites.post.accept
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • notification-logs.scheduler.send
    • notifications.get.list
    • notifications.get.unread-count
    • notifications.patch.read
    • notifications.patch.read-all
    • pools.scheduler.lifecycle
    • redemption-requests.post.create
    • redemption-requests.post.reject
    • yield-distributions.post.create

docs 17:05:24 83302193

docs(08): clarify Field Sync table — readable after-deploy editability

1 files · +15 · -6
  • Docs
    • 08-smart-contracts.md

feat 16:18:32 944d8c94

feat(admin): consolidate pool controls + risk-tiered friction & impact copy

3 files · +151 · -34
  • Admin
    • Route (pool-detail)
    • overview-tab
    • pool-controls

fix 15:42:44 aed00cc5

fix(pool-form): mark Start Date as required for publish (create + edit)

2 files · +8 · -2
  • Admin
    • step-save
    • step-save-publish

fix 15:29:49 d84cc746

fix(pool-edit): restore Maturity field + persist DRAFT Class B edits; fix Lockup display

6 files · +44 · -8
  • Admin
    • payload
    • permissions
    • step-financial
    • step-save
  • Admin API
    • pools
  • Lambda API
    • pools.patch.update

fix 15:19:28 d984aaf6

fix(web): remove Inflow/Outflow card from investor pool detail (Performance tab)

1 files · -48
  • Investor Web
    • Widget (performance-tab)

feat 15:19:00 2c092c67

feat(pools/BE,v3-43): capacity raise-only after deploy; clarify Class B lock rationale

1 files · +37 · -6
  • Lambda API
    • pools.patch.update

docs 14:48:46 89bbdc66

docs(v3-43): pool field editability — phase-aware; capacity raise-only, min_investment locked

4 files · +51 · -4
  • Docs
    • 04-pool-models.md
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md

fix 14:24:23 6d3c90b3

fix(audit/v3-41): dashboard activity rows 404 on click

1 files · +31 · -1
  • Admin API
    • dashboard

docs 12:12:07 eaccce4f

docs(v3-42): FM fund-scoped Activity access; reconcile 09-rbac contradiction

3 files · +46 · -5
  • Docs
    • 09-rbac.md
    • 14-decisions.md
    • 17-changelog.md

feat 12:10:02 6a440b23

feat(audit/v3-41): open audit-log route to FM as fund-scoped "Activity" view

5 files · +69 · -18
  • Admin
    • Route (audit-log)
    • Route (dashboard)
    • route-permissions
    • sidebar
    • types

feat 11:44:23 cb410351

feat(audit/v3-41): fund-scope activity feed for FM + move dashboard "More" link

2 files · +30 · -18
  • Admin
    • Route (dashboard)
  • Lambda API
    • activity-events.get.list

feat 11:24:00 3f9c527c

feat(admin/#24): Governance & Lifecycle History panel from audit feed (v3-41)

3 files · +99
  • Admin
    • Route (pool-detail)
    • governance-history-panel
    • index

fix 11:17:41 6c49f86b

fix(audit/v3-41): relabel KYC events in audit_feed (no raw SumSub codes)

2 files · +77 · -2
  • Infra
    • DB 0031_audit_feed_kyc_labels.sql
    • DB schema.sql

feat 11:00:40 d3691474

feat(admin/#21): wire PENDING_RESERVE funding button to useFundRedemption

1 files · +33 · -5
  • Admin
    • Route (redemptions)

2026-06-23 (Tue)

🟢 ch/product

feat 17:48:29 673196dc

feat(fund-data): rename fund-data to external-pool-data + daily TVL/NAV history

22 files · +538 · -187
  • Docs
    • 11-db-schema.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0027_pool_tvl_history_daily_idempotency.sql
    • DB 0028_rename_fund_data_to_external_pool_data.sql
    • DB backfill_nav_history_genesis.sql
    • DB backfill_pool_tvl_history.sql
    • DB schema.sql
    • DB seed.sql
    • cache.ts
    • resolver.ts
    • sync.ts
  • Investor Web
    • Widget (performance-tab)
    • Widget (risk-disclosure)
  • Investor Web API
    • fund-data
    • nav-changes
  • Lambda API
    • fund-data.scheduler.sync
    • pools.get.fund-data-dpd
    • pools.get.fund-data-history
    • pools.get.fund-data-summary
    • pools.get.nav-history
    • pools.post.create
    • pools.scheduler.tvl-snapshot

feat 17:48:29 af245426

feat(contract): harden setEpochDurationDays as create-time-only (v3-38)

4 files · +150 · -22
  • Contract Test
    • PlatformPoolEpoch.t
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json
    • sepolia.md

fix 17:48:29 7c15e7db

fix(admin): distinguish KYC Not Started vs In Review in the KYC tab

4 files · +11 · -16
  • Admin
    • Route (dashboard)
    • Route (kyc)
  • Admin API
    • kyc
  • Admin UI
    • status-badge

fix 17:48:29 107b0250

fix(admin): gate dev mock auto sign-in behind VITE_DEV_AUTOLOGIN (default off)

1 files · +10 · -4
  • Admin
    • provider

fix 17:48:29 ab434823

fix(admin): show redemption summary on every tab, not just Funding

1 files · +17 · -21
  • Admin
    • Route (redemptions)

fix 17:48:29 9b84f02a

fix(web): correct post-deposit UX and capacity bar rendering (QA Bug 1/2)

5 files · +151 · -54
  • Investor Web
    • PoolCard
    • Widget (invest-sidebar)
    • use-invest-flow
    • use-redeem-flow
    • use-reinvest-flow

fix 11:52:24 79e0c806

fix(dashboard): scope Recent Activity to 48h and link older events to Audit Log

1 files · +28 · -1
  • Admin
    • Route (dashboard)

feat 11:12:07 8c162823

feat(auth): add dev kill-switch to bypass admin 2FA

4 files · +106 · -1
  • Infra
    • CDK Stack (api-stack)
    • admin-mfa.ts
  • Lambda API
    • auth.post.admin-login
    • auth.post.admin-oauth

refactor 11:12:02 37563cab

refactor(admin): consolidate fund-managers routes into /funds

8 files · +26 · -337
  • Admin
    • Route (fund-detail)
    • Route (fund-manager-detail)
    • Route (fund-manager-onboard)
    • Route (fund-managers)
    • Route (funds)
    • route-permissions
    • routes
  • Admin API
    • dashboard

🔵 jy/product

feat 19:02:32 0257c246

feat(audit/v3-41): admin CSV export endpoint + 5y retention archive sweep

3 files · +176
  • Infra
    • CDK Stack (api-stack)
  • Lambda API
    • activity-events.get.export
    • activity-events.scheduler.archive

feat 18:58:34 0d4aeb45

feat(audit/v3-41): unified audit_feed view + GET /activity-events reads it

4 files · +240 · -12
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0030_audit_feed_view.sql
    • DB schema.sql
  • Lambda API
    • activity-events.get.list

feat 18:57:48 253b2a07

feat(admin/#23): NAV Changes panel with reserve_consumed (v3-16)

4 files · +111 · -1
  • Admin
    • Route (pool-detail)
    • index
    • nav-changes-panel
  • Admin API
    • nav-changes

feat 18:42:25 0d80934c

feat(audit/v3-41): human-actor activity_events writers on privileged admin actions

10 files · +267
  • Admin API
    • dashboard
  • Infra
    • activity.ts
  • Lambda API
    • pools.post.freeze
    • pools.post.governance
    • pools.post.impairment
    • pools.post.lifecycle
    • pools.post.pause
    • pools.post.wind-down
    • redemption-requests.post.approve
    • redemption-requests.post.reject

docs 18:39:25 6f2ad9e2

docs(decisions): v3-35 collateral soft wording + v3-40 preview tier + v3-41 audit log

4 files · +55 · -4
  • Docs
    • 04-pool-models.md
    • 13-operations.md
    • 14-decisions.md
    • 17-changelog.md

feat 18:29:15 66158631

feat(#32①/v3-35): soft transition collateral_type enum → collateral_description

21 files · +97 · -107
  • Admin
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pools)
    • collateral-badge
    • configuration-tab
    • payload
    • permissions
    • step-risk-penalty
    • step-save
    • step-save-publish
    • types
    • validation
  • Admin API
    • pools
  • Infra
    • DB 0029_collateral_description_backfill.sql
  • Investor Web
    • Route (portfolio)
    • Widget (HoldingCard)
    • Widget (risk-disclosure)
  • Lambda API
    • pools.post.create

docs 18:22:46 0d087852

docs(epoch): v3-38 contract hardening — mark implemented & tested

3 files · +46 · -3
  • Docs
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md

feat 18:04:32 768c8d6e

feat(admin): yield fee preview (#12) + advanced pool config fields (#22/#32)

18 files · +442 · -126
  • Admin
    • Route (pool-create)
    • Route (yield)
    • create-distribution-form
    • index
    • payload
    • permissions
    • step-financial
    • step-risk-penalty
    • types
    • validation
  • Admin API
    • pools
  • Lambda API
    • pools.get.list
    • pools.patch.update
    • pools.post.create

feat 18:03:09 79000a48

feat(redeem): epoch exit-right fallback UX — 2-stage settle (v3-31)

3 files · +146 · -4
  • Investor Web
    • Route (portfolio-activity)
    • index
    • use-settle-epoch-flow

feat 17:16:53 beeacd4a

feat(pool-edit): per-field lock reasons + locked redemption-model display (#41, v3-38)

4 files · +40 · -8
  • Admin
    • permissions
    • step-models
    • step-risk-penalty
    • types

docs 17:13:44 e0ecb4f3

docs: tranche first-loss = v1 off-chain (Lambda) trust model (v3-39)

3 files · +40
  • Docs
    • 04-pool-models.md
    • 14-decisions.md
    • 17-changelog.md

docs 16:59:39 511328d5

docs(epoch): v3-38 — enforce create-only on-chain (revert once LP>0)

5 files · +8 · -8
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md

feat 16:28:03 c3597ac6

feat(epoch): show expected settlement date + cadence guidance on epoch field

1 files · +28 · -5
  • Admin
    • step-models

feat 16:24:36 251c7bb2

feat(epoch): set redemption epoch at pool creation + investor settlement countdown (v3-26/v3-38)

12 files · +176 · -1
  • Admin
    • Route (pool-create)
    • payload
    • step-models
    • types
    • validation
  • Admin API
    • pools
  • Infra
    • create-pool.ts
  • Investor Web
    • Route (pool.$id)
    • Widget (epoch-countdown)
    • Widget (index)
  • Lambda API
    • pools.post.create
    • pools.worker.deploy

docs 14:30:02 b40b68a1

docs(epoch): v3-38 — epoch duration set at pool creation only

5 files · +50 · -3
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md

docs 14:11:44 9b8a9a44

docs: adopt Gnosis Safe multisig for cold roles (v3-37)

4 files · +43 · -5
  • Docs
    • 09-rbac.md
    • 09a-custody.md
    • 14-decisions.md
    • 17-changelog.md

2026-06-22 (Mon)

🟢 ch/product

fix 18:24:23 4dbb657b

fix(deposits): populate DepositTimeline with the v3.0 atomic lifecycle

2 files · +33 · -10
  • Admin
    • deposit-timeline
  • Admin API
    • deposits

fix 18:16:45 09d79204

fix(investors): derive investor count live, group Investors tab by investor

8 files · +214 · -39
  • Admin
    • Route (pool-detail)
    • investors-tab
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0026_platform_stats_live_investors.sql
    • DB schema.sql
    • investor-stats.ts
  • Lambda API
    • dashboard.get.stats
    • pools.get.list

chore 17:52:30 de62696a

chore(db): drop obsolete fund_pool_assignments junction (migration 0025)

4 files · +18 · -36
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0025_drop_fund_pool_assignments.sql
    • DB schema.sql
    • DB seed.sql

fix 17:52:20 9fa7dc58

fix(funds): derive linked pools from pools.fund_id, not the dead junction

2 files · +9 · -7
  • Admin API
    • funds
  • Lambda API
    • funds.get.list

feat 17:51:17 0ebe64b4

feat(shortfall): persist + surface funding_shortfall amount KPI (v3-26)

9 files · +136 · -11
  • Admin
    • Route (dashboard)
    • Route (fund-detail)
  • Admin API
    • dashboard
  • Infra
    • DB 0024_redemption_epochs_funding_shortfall.sql
    • engine.ts
    • epoch.ts
    • events.ts
    • redemption.ts
  • Lambda API
    • dashboard.get.stats

docs 17:14:15 e1dfd0af

docs: close unterminated v3-28/v3-32 changelog block (fix VitePress build)

1 files · +3
  • Docs
    • 17-changelog.md

docs 17:10:09 d035e550

docs(contract): document RedemptionLib EIP-170 extraction + record Sepolia redeploy

3 files · +104 · -54
  • Docs
    • 08-smart-contracts.md
    • 17-changelog.md
  • Smart Contract
    • sepolia.md

refactor 17:08:06 b485acc1

refactor(contract): extract redemption into RedemptionLib (AppStorage) to fit EIP-170

9 files · +1390 · -1585
  • Contract Test
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolNonCustodial.t
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPoolInterfaces
    • PlatformPoolStorage
    • PoolCommonLib
    • RedemptionLib

fix 15:55:03 1797e675

fix(admin): redirect authenticated users away from /login and /super

2 files · +28 · -3
  • Admin
    • Route (login)
    • Route (super-login)

feat 15:55:03 02164855

feat(contract): non-custodial v3 — KYC UUPS upgradeable, epoch redemption, EIP-170 lib extraction

17 files · +1281 · -552
  • Contract Deploy
    • DeployFactory.s
    • DeployPlatformKYCSoulbound.s
    • DeployPoolImplementation.s
    • DeployV3Sepolia.s
  • Contract Test
    • PlatformKYCSoulbound.t
    • PlatformPool.t
    • PlatformPoolEpoch.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • SequenceDiagramVerification.t
  • Smart Contract
    • PlatformKYCSoulbound
    • PlatformKYCSoulbound.abi.json
    • PlatformPool
    • PlatformPool.abi.json
    • foundry.lock
    • foundry.toml
    • sepolia.md

fix 12:16:31 50d86e15

fix(admin): disambiguate admin_user_permissions embed in GET /admin-users

1 files · +6 · -1
  • Lambda API
    • admin-users.get.list

feat 12:16:23 3dfa8797

feat(contract): on-chain epoch redemption + EIP-170 library extraction

9 files · +2828 · -30
  • Contract Test
    • KYCProxyHelper
    • PlatformKYCSoulboundV2Mock
    • PlatformPoolEpoch.t
    • PlatformPoolNonCustodial.t
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json
    • PoolConfigLib
    • StablecoinAdminLib
    • openzeppelin-contracts-upgradeable

feat 11:54:14 a67c40d5

feat(pool): time-bound emergency freeze + permissionless redemption fallback (v3-28/31)

27 files · +1095 · -60
  • Admin
    • pool-controls
  • Admin API
    • pools
  • Docs
    • 08-smart-contracts.md
    • 09-rbac.md
    • 11-db-schema.md
    • 14-decisions.md
    • 15-api-reference.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0023_pool_freeze_started_at.sql
    • DB schema.sql
    • engine.ts
    • events.ts
    • fallback-redemption.ts
    • freeze.ts
    • index.ts
    • redemption.ts
  • Investor Web
    • Route (portfolio-activity)
    • Widget (invest-sidebar)
  • Investor Web API
    • pools
    • redemption-requests
    • use-redemption-requests
  • Lambda API
    • pools.get.list
    • pools.post.freeze
    • redemption-requests.post.claim-fallback
  • Other
    • .gitmodules
  • Smart Contract
    • openzeppelin-contracts-upgradeable

feat 11:52:26 6ccd040f

feat(redemption): epoch-based pro-rata redemption with forward pricing (v3-26/31/32/34)

41 files · +2911 · -267
  • Admin
    • Route (redemptions)
  • Admin API
    • pools
    • redemption-requests
    • use-redemption-requests
  • Admin UI
    • status-badge
  • Docs
    • 04-pool-models.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 12-triggers.md
    • 14-decisions.md
    • 15-api-reference.md
    • 18-failure-types.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0021_epoch_redemption.sql
    • DB schema.sql
    • DB seed.sql
    • engine.ts
    • epoch-redemption.ts
    • epoch.ts
    • events.ts
    • index.ts
  • Investor Web
    • Route (portfolio-activity)
    • index
    • use-cancel-redemption-flow
  • Investor Web API
    • pools
    • redemption-requests
    • use-redemption-requests
  • Investor Web UI
    • status-badge
  • Lambda API
    • redemption-requests.get.list
    • redemption-requests.post.approve
    • redemption-requests.post.cancel
    • redemption-requests.post.claim
    • redemption-requests.post.create
    • redemption-requests.post.fund
    • redemption-requests.scheduler.epoch-execute
    • redemption-requests.scheduler.partner-funding
  • Other
    • CLAUDE.md
    • README.md
    • packages/types/src/index.ts

refactor 10:56:23 fd5a1a98

refactor(deposits): drop deprecated Receipt-NFT / Escrow / D+7-refund remnants

11 files · +175 · -47
  • Admin
    • deposit-timeline
    • escrow-badge
    • index
    • investors-tab
  • Admin API
    • deposits
  • Docs
    • 13-operations.md
  • Infra
    • DB 0020_rename_complete_deposit_fn.sql
    • DB 0022_drop_deposit_receipt_escrow_cols.sql
    • deposit.ts
  • Investor Web API
    • deposits
  • Lambda API
    • deposits.post.create

🔵 jy/product

docs 16:05:31 9efcd1d9

docs: v3-36 (per-fund stats + shortfall KPI) + reconcile v3-28/v3-32 to merged contract

3 files · +46 · -14
  • Docs
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md

docs 15:56:35 a077df1d

docs: reconcile v3-28 / v3-32 status with contract code (2026-06-22)

3 files · +20 · -8
  • Docs
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md

feat 15:52:33 b623d577

feat: shortfall (awaiting partner funding) count KPI (v3-26)

4 files · +23 · -4
  • Admin
    • Route (dashboard)
    • Route (fund-detail)
  • Admin API
    • dashboard
  • Lambda API
    • dashboard.get.stats

feat 15:31:33 2b9a2ee3

feat: per-fund stats drill-down on fund detail (v3-23)

4 files · +67 · -12
  • Admin
    • Route (fund-detail)
  • Admin API
    • dashboard
    • use-dashboard
  • Lambda API
    • dashboard.get.stats

feat 15:17:43 e26dbfba

feat(admin): show fund-scoped stats to FM on dashboard (v3-23 read-authz)

1 files · +10 · -12
  • Admin
    • Route (dashboard)

feat 15:04:09 4e4518ba

feat(admin): FM read-only guards for yield distribution + pool config

3 files · +23 · -8
  • Admin
    • Route (pool-detail)
    • Route (yield)
    • configuration-tab

fix 14:31:29 d45ef6df

fix(web,admin): reconcile epoch-redemption FE with merged backend (v3-26)

5 files · +6 · -18
  • Admin API
    • pools
  • Admin UI
    • status-badge
  • Investor Web
    • Route (portfolio-activity)
  • Investor Web UI
    • TransactionDetailDrawer
    • status-badge

feat 11:06:06 d2ea94b4

feat(admin): show redemption epoch cadence (read-only) in pool config (v3-26)

2 files · +13
  • Admin
    • configuration-tab
  • Admin API
    • pools

feat 10:40:17 97ebd7f9

feat(web): epoch redemption investor UX (v3-26)

5 files · +129 · -15
  • Investor Web
    • Route (portfolio)
    • Route (portfolio-activity)
  • Investor Web API
    • pools
  • Investor Web UI
    • RedeemModal
    • TransactionDetailDrawer

2026-06-20 (Sat)

🟢 ch/product

No activity

🔵 jy/product

feat 17:19:32 a4e207b9

feat(redemption): scaffold epoch redemption states (v3-26)

3 files · +17
  • Admin UI
    • status-badge
  • Investor Web UI
    • status-badge
  • Other
    • packages/types/src/index.ts

fix 16:49:02 0e160f76

fix(fm-onboard): handle invite accept when signed in as the wrong account

5 files · +94 · -10
  • Admin
    • Route (fund-invite-accept)
    • client
    • provider
    • types
  • Lambda API
    • fund-invites.get.list

2026-06-18 (Thu)

🟢 ch/product

feat 18:09:26 6eef3e2e

feat(infra): add SES domain identity for transactional email

3 files · +83 · -2
  • Infra
    • CDK Stack (ses-stack)
    • app.ts
    • environment.ts

fix 18:09:26 b34b6633

fix(infra): share one Lambda execution role to stay under the 500-resource limit

1 files · +35
  • Infra
    • CDK Stack (api-stack)

refactor 16:51:20 dc336d0a

refactor(pools): align config sync with 08 v3-29 + drop pool_type binary

41 files · +467 · -190
  • Admin
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (redemptions)
    • Route (yield)
    • configuration-tab
    • index
    • overview-tab
    • payload
    • permissions
  • Admin API
    • pools
    • use-pools
  • Docs
    • 08-smart-contracts.md
    • 11-db-schema.md
    • 15-api-reference.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0018_drop_pool_investment_blocked.sql
    • DB 0019_drop_pool_type.sql
    • DB schema.sql
    • DB seed.sql
    • index.ts
    • pause.ts
    • resolver.ts
  • Investor Web
    • PoolCard
    • Route (dashboard)
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Widget (invest-sidebar)
  • Investor Web API
    • fund-data
    • pools
  • Lambda API
    • deposits.post.create
    • fund-data.scheduler.sync
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • pools.post.pause
    • pools.scheduler.lifecycle
    • yield.post.reinvest
  • Other
    • CLAUDE.md
    • packages/types/src/index.ts

refactor 14:36:16 44f61bc6

refactor(pools): drop redundant pool columns (issuer, escrow/receipt address)

19 files · +61 · -61
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • deploy-status-banner
    • payload
    • permissions
    • step-basic-info
    • types
  • Admin API
    • pools
  • Docs
    • 11-db-schema.md
  • Infra
    • DB 0016_drop_pool_issuer.sql
    • DB 0017_drop_pool_escrow_receipt_address.sql
    • DB schema.sql
    • DB seed.sql
  • Investor Web API
    • pools
  • Lambda API
    • pools.get.list
    • pools.patch.update
    • pools.post.create

fix 14:36:16 c3064000

fix(admin): pin sidebar so it stays fixed on page scroll

1 files · +11 · -1
  • Admin UI
    • page-layout

feat 14:36:16 6189a243

feat(admin): revocable sessions + log out of all/other devices

18 files · +542 · -13
  • Admin
    • Route (my-settings)
  • Admin API
    • auth
    • index
    • keys
    • use-auth-sessions
  • Docs
    • 11-db-schema.md
    • 15-api-reference.md
  • Infra
    • CDK Stack (api-stack)
    • index.ts
    • jwt.ts
    • middleware.ts
    • sessions.ts
  • Lambda API
    • auth.get.admin-sessions
    • auth.post.admin-2fa-verify
    • auth.post.admin-logout-all
    • auth.post.admin-oauth
    • auth.post.admin-session-revoke
    • auth.post.refresh

fix 14:36:16 bf8c009b

fix(web): reset auth + clear cache on wallet account switch

2 files · +33 · -4
  • Investor Web
    • provider
    • use-sign-in

refactor 14:36:16 4144ae7a

refactor(pools): remove per-pool multi-sig (signing_method) selection

19 files · +27 · -107
  • Admin
    • Route (admin-settings)
    • Route (pool-create)
    • Route (yield)
    • index
    • operations-tab
    • payload
    • signing-method-badge
    • step-models
    • step-save-publish
    • types
  • Admin API
    • pools
  • Docs
    • 04-pool-models.md
    • 09-rbac.md
    • 11-db-schema.md
  • Infra
    • DB 0015_drop_pool_signing_method.sql
    • DB schema.sql
  • Investor Web
    • Route (help)
  • Lambda API
    • pools.patch.update
    • pools.post.create

fix 14:36:16 59c20839

fix(admin): persist pool-edit publish, lock reserve %, validate edit inputs

6 files · +78 · -22
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • configuration-tab
    • step-financial
    • step-models
    • step-risk-penalty

🔵 jy/product

docs 18:23:52 0942104d

docs: v3-29/v3-30 decision + changelog updates; CLAUDE.md KYC status

6 files · +168 · -28
  • Docs
    • 09-rbac.md
    • 09a-custody.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Other
    • CLAUDE.md

docs 18:17:29 e12f2c66

docs(kyc): note deferred status for cross-VASP entry (G2) + re-verification (G6)

1 files · +8
  • Docs
    • 03-kyc-identity.md

feat 17:50:45 52c38915

feat(web): KYB feature-flag gate + returning-user fast-path in KYCModal (G5, G2)

2 files · +42 · -2
  • Investor Web API
    • kyc
  • Investor Web UI
    • KYCModal

feat 17:45:10 11185abb

feat(web): pre-flight per-pool KYC eligibility warning (G3)

6 files · +128 · -3
  • Infra
    • CDK Stack (api-stack)
  • Investor Web
    • Route (pool.$id)
    • Widget (invest-sidebar)
  • Investor Web API
    • pools
    • use-pools
  • Lambda API
    • pools.get.eligibility

feat 17:35:03 93d74ec7

feat(admin): enforce TOTP on high-privilege OAuth logins (A1)

9 files · +343 · -282
  • Admin
    • Route (auth-callback)
    • Route (super-login)
    • auth-context
    • index
    • provider
    • totp-step
    • types
  • Lambda API
    • auth.post.admin-2fa-verify
    • auth.post.admin-oauth

feat 17:17:06 f808d93d

feat(web): dashboard T-30 KYC expiry banner (G4)

3 files · +43 · -1
  • Investor Web
    • Route (dashboard)
  • Investor Web API
    • user-settings
  • Lambda API
    • kyc.get.status

fix 16:42:41 89713423

fix(admin): drop unused updateMutation in admin-settings

1 files · +1 · -2
  • Admin
    • Route (admin-settings)

feat 16:39:03 22b666f7

feat(admin): operator page-permission editing (PATCH /admin-users/{id}/permissions)

6 files · +155 · -10
  • Admin
    • Route (admin-settings)
  • Admin API
    • admin-users
    • use-admin-users
  • Infra
    • CDK Stack (api-stack)
  • Lambda API
    • admin-users.get.list
    • admin-users.patch.permissions

feat 15:45:57 dd907560

feat(admin): FM onboarding wizard with invite/accept flow

22 files · +2448 · -454
  • Admin
    • Route (auth-callback)
    • Route (fund-detail)
    • Route (fund-invite-accept)
    • Route (fund-manager-detail)
    • Route (fund-manager-onboard)
    • Route (fund-managers)
    • routes
  • Admin API
    • fund-invites
    • index
    • keys
    • use-fund-invites
  • Infra
    • CDK Stack (api-stack)
    • client.ts
    • environment.ts
    • index.ts
    • package.json
    • templates.ts
  • Lambda API
    • fund-invites.delete
    • fund-invites.get.list
    • fund-invites.post.accept
    • fund-invites.post.create
  • Other
    • pnpm-lock.yaml

docs 12:56:11 0a2fcc8d

docs(v3-29): DB↔on-chain field sync + is_paused on-chain + deprecate investment_blocked

3 files · +50
  • Docs
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md

2026-06-17 (Wed)

🟢 ch/product

fix 15:12:59 fa6f3023

fix(admin): feedback & deploy status for draft pool publish/save

7 files · +131 · -965
  • Admin
    • Route (pool-detail)
    • Route (pool-edit)
    • deploy-status-banner
    • package
    • root
  • Admin API
    • pools
  • Other
    • pnpm-lock.yaml

feat 13:54:09 930709bf

feat(admin): categorize pool-create Step 5 summary & fill missing fields

1 files · +111 · -27
  • Admin
    • step-save-publish

fix 13:39:45 8ab46ec6

fix(pools): validate pool-create Step 4 inputs & fix on-chain unit gaps

8 files · +195 · -41
  • Admin
    • step-risk-penalty
    • validation
  • Lambda API
    • pools.patch.update
    • pools.post.create
    • pools.post.governance
    • pools.worker.deploy

fix 11:10:56 bb6ebb59

fix(admin): validate pool-create Step 3 custom yield interval

2 files · +15 · -6
  • Admin
    • step-models
    • validation

fix 11:10:56 8832f1cf

fix(admin): validate & format pool-create Step 2 financial inputs

5 files · +102 · -9
  • Admin
    • index
    • number-format
    • step-financial
    • validation

🔵 jy/product

docs 17:52:28 50e7473f

docs(i18n): English SoT scaffold + KO locale, English-clean backend docs

33 files · +676 · -120
  • Docs
    • 01-overview.md
    • 02-core-concepts.md
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 09-rbac.md
    • 09a-custody.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 12-triggers.md
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 16-timeline.md
    • 17-changelog.md
    • 18-failure-types.md
    • 19-activity.md
    • 20-joob-pool-config.md
    • 21-holder-verification.md
    • config.ts
    • index.md

docs 16:33:51 a19eee15

docs(custody): consolidate custody into 09a + canonical timelock table

6 files · +122 · -2
  • Docs
    • 04-pool-models.md
    • 08-smart-contracts.md
    • 09-rbac.md
    • 09a-custody.md
    • 17-changelog.md
    • config.ts

docs 15:24:56 4a7985c5

docs(v3-27/v3-28): non-custody key governance — money-path non-upgradeable + emergency-freeze exit-right

3 files · +56
  • Docs
    • 09-rbac.md
    • 14-decisions.md
    • 17-changelog.md

2026-06-16 (Tue)

🟢 ch/product

fix 18:01:56 6f17a783

fix(pools): repair draft pool edit → publish/save flow

8 files · +261 · -7
  • Admin
    • Route (pool-edit)
    • index
    • payload
  • Infra
    • CDK Stack (api-stack)
  • Lambda API
    • deposits.get.list
    • pools.post.lifecycle
    • portfolio-positions.get.list
    • redemption-requests.get.list

fix 18:01:56 202a697b

fix(admin): polish pool-create Asset Type combobox

3 files · +28 · -14
  • Admin
    • Route (pool-create)
    • category-combobox
    • step-save-publish

fix 15:49:25 c53e8e34

fix(pools): seed nav_per_token on create + harden validation

6 files · +153 · -4
  • Admin
    • index
    • step-risk-penalty
    • validation
  • Lambda API
    • pools.post.create

feat 13:54:12 2297a966

feat(kyc): serialize SBT mint/burn/revoke through FIFO queue + recovery

16 files · +1821 · -227
  • Admin
    • Route (kyc)
  • Admin API
    • kyc
  • Admin UI
    • status-badge
  • Docs
    • 03-kyc-identity.md
    • 10-status-machines.md
    • 12-triggers.md
    • 13-operations.md
  • Infra
    • CDK Stack (api-stack)
    • apply-review.ts
    • mint-queue.ts
    • package.json
  • Investor Web API
    • use-user-settings
  • Lambda API
    • kyc.post.mint-sbt
    • kyc.scheduler.reconcile-sweep
    • kyc.worker.mint-sbt
  • Other
    • pnpm-lock.yaml

🔵 jy/product

docs 18:44:51 a27f6c45

docs: remove stale D+7 refund / Receipt NFT / Escrow leftovers (v3-03/v3-11)

5 files · +7 · -25
  • Docs
    • 01-overview.md
    • 12-triggers.md
    • 13-operations.md
    • 15-api-reference.md
    • 18-failure-types.md

feat 18:37:50 a6eca3aa

feat(v3-26): require fund_id on every pool (remove Aset-custody direct pools)

9 files · +127 · -23
  • Admin
    • step-basic-info
    • validation
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
  • Lambda API
    • pools.post.create
  • Other
    • CLAUDE.md

chore 17:43:55 b9b9efc0

chore(#13): normalize overview-tab stat cells to p-4 (card padding convention)

1 files · +2 · -2
  • Investor Web
    • Widget (overview-tab)

feat 17:33:17 c3753f6b

feat(#8): investor governance timelock countdown banner

4 files · +72
  • Investor Web
    • Route (pool.$id)
    • Widget (index)
    • Widget (timelock-countdown)
  • Investor Web API
    • pools

feat 17:10:01 83876954

feat(#18): per-pool investor risk disclosures box (overview tab)

3 files · +131
  • Investor Web
    • Widget (overview-tab)
    • Widget (risk-disclosure)
  • Investor Web API
    • pools

chore 17:05:07 55c6ede2

chore(#14): drop stale pool_type residue from FE types + LIST_SELECT

3 files · +2 · -5
  • Admin API
    • pools
  • Investor Web API
    • pools
  • Lambda API
    • pools.get.list

docs 16:53:13 1616f998

docs(decisions): stamp every v3-NN decision with its own Date line

1 files · +39 · -1
  • Docs
    • 14-decisions.md

docs 16:46:22 4967636e

docs: add per-decision Date lines + resolve 2 Joob timeline contradictions

2 files · +9 · -3
  • Docs
    • 14-decisions.md
    • 16-timeline.md

docs 16:39:45 44e80c0b

docs: pool risk-tier (v3-25), multi-stablecoin clarification, timeline reconcile

4 files · +81 · -17
  • Docs
    • 04-pool-models.md
    • 14-decisions.md
    • 16-timeline.md
    • 17-changelog.md

feat 16:26:30 8b69f462

feat(web): pool risk-tier badge (Phase 1) replacing deprecated collateral_type badge

6 files · +63 · -32
  • Investor Web
    • PoolCard
    • Widget (overview-tab)
  • Investor Web API
    • pools
  • Investor Web UI
    • index
    • risk-tier-badge
  • Lambda API
    • pools.get.list

feat 11:24:23 4f0b7695

feat(web): surface collateral desc, KYC eligibility & PENDING_RESERVE redemption status

4 files · +49 · -2
  • Investor Web
    • Route (portfolio-activity)
    • Widget (overview-tab)
  • Investor Web API
    • pools
  • Lambda API
    • pools.get.list

2026-06-15 (Mon)

🟢 ch/product

refactor 18:05:53 5c593b8b

refactor(infra): indexer uses read-only RPC client (drop admin-key/deploy-addr deps)

2 files · +42 · -5
  • Infra
    • chain-config.ts
    • engine.ts

feat 18:05:53 d3b3433d

feat(infra): on-chain event indexer (PlatformPool/LP → DB mirror)

19 files · +1523 · -53
  • Docs
    • 11-db-schema.md
    • 21-holder-verification.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0013_onchain_indexer.sql
    • DB 0014_holder_verification_state_c.sql
    • DB schema.sql
    • chain-config.ts
    • cursor.ts
    • deposit.ts
    • engine.ts
    • events.ts
    • lp-transfer.ts
    • nav.ts
    • pool-registry.ts
    • redemption.ts
    • resolve.ts
    • types.ts
    • yield.ts
  • Lambda API
    • onchain-indexer.scheduler

fix 18:05:53 4204b0f6

fix(web): prevent duplicate SIWE prompts across multiple tabs

2 files · +77 · -6
  • Investor Web
    • client
    • provider

🔵 jy/product

docs 20:08:27 8d92ed19

docs(14-decisions): add v3-20 (yield = manual claim only) entry

1 files · +25
  • Docs
    • 14-decisions.md

docs 19:25:21 249a7ab2

docs: drop residual yield_trigger / AUTO references (align with v3-20 manual-only)

4 files · +11 · -23
  • Docs
    • 02-core-concepts.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 20-joob-pool-config.md

feat 19:25:21 6cb0d0ef

feat(admin): pool Controls tab — freeze / impairment / wind-down / governance

3 files · +253
  • Admin
    • Route (pool-detail)
    • pool-controls
  • Admin API
    • pools

feat 18:53:40 ea5d5117

feat(admin): investor info sidebar, chain-aware explorer, server-side FM PII, PII-access audit

22 files · +507 · -64
  • Admin
    • Route (audit-log)
    • Route (deposits)
    • Route (kyc)
    • Route (redemptions)
    • chain-explorer
    • investor-sidebar
  • Admin API
    • activity-events
    • dashboard
    • deposits
    • kyc
    • portfolio-positions
    • redemption-requests
    • use-dashboard
    • use-portfolio-positions
  • Admin UI
    • explorer-link
  • Infra
    • CDK Stack (api-stack)
  • Lambda API
    • activity-events.get.list
    • activity-events.post.create
    • deposits.get.list
    • portfolio-positions.get.list
    • redemption-requests.get.list
    • users.get.list

docs 18:53:40 c4a9ecc5

docs(09-rbac): Investor Info Display — role-based fields, chain-aware explorer, PII-access audit

1 files · +37
  • Docs
    • 09-rbac.md

docs 13:39:15 8c2a5c47

docs: cold/hot key custody (09-rbac) + drop investor FX disclosure (v3-24)

3 files · +50 · -20
  • Docs
    • 04-pool-models.md
    • 09-rbac.md
    • 17-changelog.md

refactor 12:42:14 343a7d21

refactor(deposits): drop v2.x Receipt-NFT / FM-notify remnants

4 files · +14 · -80
  • Admin
    • Route (dashboard)
    • Route (deposits)
  • Admin API
    • deposits
    • use-deposits

refactor 12:35:18 c76ff592

refactor(redemption+yield): drop v2.x FM_ACCEPTED 2-step; yield edit = role-based

3 files · +21 · -52
  • Admin
    • Route (pool-detail)
    • Route (redemptions)
    • yield-settings-tab

refactor 11:56:35 737fca5f

refactor(wo-3c): drop deprecated pool_type; branch on fund_id presence

14 files · +24 · -60
  • Admin
    • Route (deposits)
    • Route (pool-detail)
    • Route (pools)
    • Route (redemptions)
    • Route (yield)
    • configuration-tab
    • overview-tab
    • types
    • yield-settings-tab
  • Admin API
    • deposits
    • pools
  • Investor Web
    • use-invest-flow
  • Investor Web API
    • pools
  • Investor Web UI
    • status-badge

2026-06-12 (Fri)

🟢 ch/product

feat 18:50:37 0d08cc93

feat(infra): read-layer authz + yield-due read model + WO-6 pool updates backend

38 files · +2085 · -96
  • Docs
    • 11-db-schema.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0011_custom_yield_interval.sql
    • DB 0012_pool_updates.sql
    • DB schema.sql
    • admin-roles.ts
    • create-system-update.ts
    • fund-scoping.ts
    • index.ts
    • middleware.ts
    • read-scope.ts
    • yield-schedule.ts
  • Lambda API
    • activity-events.get.list
    • admin-users.get.list
    • dashboard.get.stats
    • deposits.get.list
    • fund-members.get.list
    • funds.get.list
    • kyc-logs.get.list
    • nav-changes.get.list
    • nav-changes.post.activate
    • notification-logs.get.list
    • pool-updates.delete
    • pool-updates.get.list
    • pool-updates.patch.update
    • pool-updates.post.create
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • pools.post.impairment
    • pools.post.wind-down
    • pools.scheduler.yield-due
    • portfolio-positions.get.list
    • redemption-requests.get.list
    • users.get.list
    • wallets.get.list
    • yield-distributions.get.list
    • yield-distributions.post.create

docs 14:41:54 8f0851a8

docs(db-schema): document admin_users TOTP 2FA columns (0009_admin_totp)

2 files · +13 · -1
  • Docs
    • 11-db-schema.md
  • Other
    • CLAUDE.md

feat 14:27:51 dba1e58a

feat(auth): require TOTP 2FA on the super admin password login

16 files · +742 · -95
  • Admin
    • Route (super-login)
    • auth-context
    • index
    • package
    • provider
    • types
  • Infra
    • CDK Stack (api-stack)
    • DB 0009_admin_totp.sql
    • DB schema.sql
    • index.ts
    • jwt.ts
    • package.json
    • totp.ts
  • Lambda API
    • auth.post.admin-2fa-verify
    • auth.post.admin-login
  • Other
    • pnpm-lock.yaml

🔵 jy/product

feat 17:19:28 3e5c1125

feat(wo-6): Pool Updates / Announcements feed (FE — admin + investor)

12 files · +404 · -1
  • Admin
    • Route (pool-detail)
    • index
    • updates-tab
  • Admin API
    • index
    • keys
    • pool-updates
    • use-pool-updates
  • Investor Web
    • Route (pool.$id)
    • Widget (index)
    • Widget (updates-tab)
  • Investor Web API
    • pool-updates
    • use-pool-updates

docs 16:58:44 f142784d

docs: WO-4 FM scoping, read-authz split, PII policy (09-rbac + changelog)

2 files · +16 · -2
  • Docs
    • 09-rbac.md
    • 17-changelog.md

feat 16:58:44 9495c9f0

feat(admin): WO-4 FM panel — route guards, read-only UI, PII, logout redirect

12 files · +183 · -47
  • Admin
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-detail)
    • Route (fund-managers)
    • Route (funds)
    • Route (pool-detail)
    • Route (pools)
    • Route (protected-layout)
    • Route (redemptions)
    • provider
    • route-permissions
    • types

feat 16:58:44 98e34c8b

feat(infra): WO-4 FM write-scoping + email-keyed membership hardening

7 files · +96 · -5
  • Infra
    • email.ts
    • fund-scoping.ts
  • Lambda API
    • admin-users.delete
    • admin-users.patch.update
    • admin-users.post.create
    • fund-members.post.create
    • pools.patch.update

fix 16:29:07 97d6b0ef

fix(admin): super-login Sign In keeps full brand color when disabled

1 files · +1 · -1
  • Admin
    • Route (super-login)

docs 16:29:07 06e609d3

docs: yield v3-20/Pool-Updates v3-22 + FM scoping v3-19/v3-21 (batch)

2 files · +52 · -4
  • Docs
    • 09-rbac.md
    • 17-changelog.md

fix 15:56:47 ce4e64c2

fix(admin): drop wrong start_date yield estimate; keep D-n threshold only

5 files · +14 · -55
  • Admin
    • Route (pools)
    • dday
    • yield-settings-tab
  • Docs
    • 11-db-schema.md
    • 17-changelog.md

feat 15:52:18 e48908c6

feat(admin): yield-due display — D-n ≤30d / date >30d, estimated vs confirmed

6 files · +116 · -21
  • Admin
    • Route (pools)
    • dday
    • yield-settings-tab
  • Admin UI
    • dday-badge
  • Docs
    • 11-db-schema.md
    • 17-changelog.md

chore 15:12:23 4597b091

chore(db): drop pools.yield_trigger (claim-based / manual only, v3-20)

6 files · +23 · -7
  • Docs
    • 11-db-schema.md
    • 17-changelog.md
  • Infra
    • DB 0010_drop_yield_trigger.sql
    • DB schema.sql
  • Lambda API
    • pools.patch.update
    • pools.post.create

docs 15:06:47 ae654105

docs(rbac): FM panel = role-scoped spec + yield manual-only (v3-19, v3-20)

3 files · +109 · -4
  • Docs
    • 09-rbac.md
    • 11-db-schema.md
    • 17-changelog.md

feat 15:06:41 daea369f

feat(admin): remove stale yield AUTO trigger; show distribution date as D-n

20 files · +85 · -90
  • Admin
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pools)
    • Route (yield)
    • configuration-tab
    • dday
    • index
    • payload
    • permissions
    • step-models
    • step-save
    • step-save-publish
    • types
    • yield-settings-tab
  • Admin API
    • pools
  • Admin UI
    • dday-badge
    • index

2026-06-11 (Thu)

🟢 ch/product

chore 16:37:49 65f3676a

chore: sync supabase db and docs db schema

1 files · +158 · -94
  • Docs
    • 11-db-schema.md

fix 14:41:07 2168c8a9

fix(kyc): close SumSub integration gaps — async SBT mint, webhook-loss reconciliation

12 files · +843 · -402
  • Infra
    • CDK Stack (api-stack)
    • apply-review.ts
    • client.ts
    • country.ts
    • final-rejection.ts
    • index.ts
  • Lambda API
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.reuse
    • kyc.post.webhook
    • kyc.scheduler.reconcile-sweep
    • kyc.worker.apply-review

feat 14:05:02 a24d62f3

feat(auth): Google OAuth login for admin via Supabase Auth

15 files · +405 · -1002
  • Admin
    • .env
    • Route (auth-callback)
    • Route (login)
    • auth-context
    • env
    • package
    • provider
    • routes
    • supabase
    • types
  • Infra
    • CDK Stack (api-stack)
  • Lambda API
    • auth.post.admin-oauth
  • Other
    • pnpm-lock.yaml

🔵 jy/product

perf 17:53:00 574ab043

perf(admin): snappier category delete (cache update + per-row spinner)

2 files · +15 · -5
  • Admin
    • category-combobox
  • Admin API
    • use-pool-categories

fix 17:38:18 9a9a7e7b

fix(admin): surface category-delete errors inline (e.g. 409 in-use)

4 files · +17 · -7
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • category-combobox
    • step-basic-info

feat 17:24:34 961854dd

feat(admin): allow clearing the selected fund (unselect → platform pool)

3 files · +25
  • Admin
    • fund-select
    • step-basic-info

fix 17:17:54 65418b93

fix(admin): keep category combobox open while creating (blur no longer closes the text box)

1 files · +2 · -1
  • Admin
    • category-combobox

feat 17:12:22 6e6adf3a

feat(admin): pool category management — delete + explicit 'create new' text box

9 files · +192 · -28
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • category-combobox
    • step-basic-info
  • Admin API
    • pools
    • use-pool-categories
  • Infra
    • CDK Stack (api-stack)
  • Lambda API
    • pool-categories.delete

feat 16:43:48 5a49e81e

feat(admin): move super admin login to unlisted /super route

3 files · +107 · -79
  • Admin
    • Route (login)
    • Route (super-login)
    • routes

docs 16:38:01 56513e5c

docs(rbac): super admin logs in via unlisted /super route (break-glass)

1 files · +1
  • Docs
    • 09-rbac.md

docs 16:38:01 043430ed

docs: slim README to a v3 entry point + point to docs site as SoT

1 files · +55 · -1391
  • Other
    • README.md

refactor 16:03:56 6d8874d6

refactor(admin): remove pool_type from pool create/edit (WO-3 3b)

16 files · +82 · -190
  • Admin
    • Route (pool-create)
    • Route (pool-edit)
    • index
    • payload
    • permissions
    • step-basic-info
    • step-models
    • step-pool-type
    • step-save
    • step-save-publish
    • types
    • validation

refactor 15:37:52 4e96525b

refactor(investor): remove v2.x display remnants (WO-3 3a)

3 files · +2 · -16
  • Investor Web
    • Route (portfolio-activity)
    • Widget (overview-tab)
  • Investor Web UI
    • status-badge

fix 15:20:27 cc02a4b3

fix(investor): header KYC chip reads live status instead of stale JWT

1 files · +22 · -4
  • Investor Web
    • auth-button

feat 13:28:07 0f3377c7

feat(investor): redemption penalty estimate fix + now-vs-maturity + PENDING_RESERVE display

4 files · +66 · -26
  • Investor Web
    • Route (pool.$id)
  • Investor Web UI
    • RedeemModal
    • TransactionDetailDrawer
    • status-badge

docs 12:56:30 ded9b547

docs(claude): align pool lifecycle rules to v3 (IMPAIRED/WIND_DOWN, pool_type removed)

1 files · +34 · -26
  • Other
    • CLAUDE.md

feat 12:56:30 3d483d57

feat(investor): surface IMPAIRED/WIND_DOWN/frozen states + fix deposit gating

6 files · +95 · -21
  • Investor Web
    • Route (pool.$id)
    • Widget (invest-sidebar)
    • Widget (pool-header-card)
  • Investor Web API
    • pools
  • Investor Web UI
    • PoolStatusAlert
    • status-badge

2026-06-10 (Wed)

🟢 ch/product

feat 16:51:05 0692651d

feat(multichain): per-chain env config + explicit chainId on all on-chain calls

58 files · +545 · -218
  • Admin
    • Route (pool-create)
    • payload
    • step-basic-info
    • types
    • validation
  • Admin API
    • config
    • index
    • keys
    • pools
    • use-config
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • DB 0008_chain_sot_consolidation.sql
    • approve-redemption.ts
    • chain-config.ts
    • chain.ts
    • client.ts
    • create-pool.ts
    • environment.ts
    • freeze.ts
    • governance.ts
    • index.ts
    • kyc-sbt.ts
    • lifecycle.ts
    • nav.ts
    • reinvest.ts
    • siwe.ts
    • yield-distribution.ts
  • Investor Web
    • Route (portfolio)
  • Investor Web API
    • keys
    • pools
    • use-wallets
    • wallets
  • Investor Web UI
    • YieldClaimDialog
  • Lambda API
    • auth.post.verify
    • config.get.chains
    • deposits.post.create
    • kyc.get.status
    • kyc.post.mint-sbt
    • kyc.post.webhook
    • nav-changes.post.activate
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • pools.patch.update
    • pools.post.create
    • pools.post.freeze
    • pools.post.governance
    • pools.post.impairment
    • pools.post.wind-down
    • pools.worker.deploy
    • redemption-requests.post.approve
    • redemption-requests.post.create
    • redemption-requests.post.fund
    • redemption-requests.post.reject
    • wallets.get.list
    • yield-distributions.post.create
    • yield.post.reinvest
  • Smart Contract
    • chains.ts

fix 15:25:38 9f483d60

fix(security): harden contract guards + admin auth, split oversized routes

66 files · +4133 · -2923
  • Admin
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (protected-layout)
    • Route (redemptions)
    • Route (yield)
    • auth-context
    • category-combobox
    • configuration-tab
    • constants
    • delete-pool-section
    • deploy-status-banner
    • disabled-tooltip
    • fund-select
    • index
    • info-callout
    • investors-tab
    • label
    • operations-tab
    • overdue-badge
    • overview-tab
    • payload
    • permissions
    • provider
    • routes
    • signing-method-badge
    • step-basic-info
    • step-financial
    • step-indicator
    • step-models
    • step-pool-type
    • step-risk-penalty
    • step-save
    • step-save-publish
    • transactions-tab
    • types
    • validation
    • yield-settings-tab
  • Admin UI
    • count-badge
    • index
  • Contract Test
    • PlatformPool.t
  • Investor Web
    • Route (pool.$id)
    • Widget (index)
    • Widget (invest-sidebar)
    • Widget (pool-header-card)
    • Widget (position-card)
    • Widget (reinvest-confirm-dialog)
    • index
    • use-invest-flow
    • use-redeem-flow
    • use-reinvest-flow
  • Investor Web UI
    • KYCModal
  • Smart Contract
    • PlatformPool

fix 11:20:52 33b81f9a

fix(auth): source admin identity from JWT + add token refresh flow

16 files · +304 · -40
  • Admin
    • client
    • index
    • provider
    • types
  • Infra
    • CDK Stack (api-stack)
    • index.ts
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
    • client
    • provider
    • use-sign-in
  • Investor Web API
    • redeposit
  • Lambda API
    • auth.post.refresh
    • nav-changes.post.propose
    • redemption-requests.post.reject
    • yield-distributions.post.create

refactor 11:00:20 68e870c6

refactor(infra): extract fetch-or-404 into requireRow helper

12 files · +330 · -133
  • Infra
    • fetch.ts
  • Lambda API
    • deposits.post.create
    • kyc.get.status
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.reuse
    • redemption-requests.post.approve
    • redemption-requests.post.create
    • redemption-requests.post.fund
    • redemption-requests.post.reject
    • yield-claims.post.create
  • Smart Contract
    • PlatformPool.abi.json

🔵 jy/product

No activity

2026-06-09 (Tue)

🟢 ch/product

feat 17:10:11 72589a95

feat(rbac): two-layer RBAC enforcement (on-chain 4 roles + off-chain withRole)

45 files · +645 · -202
  • Contract Deploy
    • DeployV3Sepolia.s
  • Contract Test
    • PlatformPool.t
    • PlatformPoolFlows.t
    • SequenceDiagramVerification.t
  • Infra
    • fund-scoping.ts
    • index.ts
    • jwt.ts
    • middleware.ts
    • page-permissions.ts
  • Lambda API
    • admin-users.delete
    • admin-users.post.create
    • fund-members.delete
    • fund-members.patch.update
    • fund-members.post.create
    • funds.delete
    • funds.patch.update
    • funds.post.create
    • kyc.get.status
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.reuse
    • nav-changes.post.activate
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • notification-logs.post.escalate
    • notification-logs.post.resend
    • pool-categories.post.create
    • pools.delete
    • pools.patch.update
    • pools.post.create
    • pools.post.freeze
    • pools.post.governance
    • pools.post.impairment
    • pools.post.wind-down
    • redemption-requests.post.approve
    • redemption-requests.post.create
    • redemption-requests.post.fund
    • redemption-requests.post.reject
    • yield-claims.get.list
    • yield-claims.post.create
    • yield-distributions.get.me
    • yield-distributions.post.create
    • yield.post.reinvest
  • Smart Contract
    • .env.example
    • PlatformPool

chore 13:48:17 f09a5353

chore: solve build conflict

1 files · -5
  • Docs
    • 14-decisions.md

feat 12:28:01 ae08ad37

feat(kyc): v3-17 cross-VASP reuse + v3-19 expiry/revocation, impairment timelock

33 files · +1215 · -428
  • Admin
    • index
    • pool-form
  • Admin API
    • deposits
  • Contract Test
    • PlatformKYCSoulbound.t
    • PlatformPool.t
  • Docs
    • 14-decisions.md
  • Infra
    • CDK Stack (api-stack)
    • DB 0007_sbt_expiry.sql
    • DB schema.sql
    • client.ts
    • index.ts
    • kyc-sbt.ts
    • sumsub.ts
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
    • Widget (performance-tab)
    • contracts
  • Investor Web API
    • pools
    • user-settings
  • Investor Web UI
    • KYCStatusCard
    • YieldClaimDialog
    • status-badge
  • Lambda API
    • kyc.get.status
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.reuse
    • kyc.post.webhook
    • kyc.scheduler.reverify-sweep
  • Other
    • CLAUDE.md
  • Smart Contract
    • PlatformKYCSoulbound
    • PlatformKYCSoulbound.abi.json
    • PlatformPool
    • PlatformPool.abi.json

🔵 jy/product

docs 15:19:45 b02c70dd

docs(decisions): resolve leftover merge conflict marker in 14-decisions (PD5)

1 files · +1 · -6
  • Docs
    • 14-decisions.md

docs 15:15:51 e5c137be

docs(rbac): v3 RBAC realignment — 4-role on-chain model + non-custodial

3 files · +150 · -97
  • Docs
    • 08-smart-contracts.md
    • 09-rbac.md
    • 21-holder-verification.md

docs 12:07:18 5d8f52e7

docs(lifecycle): explain yield settlement on LP transfer (settleYield)

2 files · +18 · -1
  • Docs
    • 05-investment-lifecycle.md
    • 08-smart-contracts.md

2026-06-08 (Mon)

🟢 ch/product

fix 17:05:32 88d45efe

fix(infra): include external_provider in pools list response

1 files · +1 · -1
  • Lambda API
    • pools.get.list

perf 16:56:51 b5d8db03

perf(infra,web): serve fund-data from cache and batch DPD requests

7 files · +67 · -43
  • Infra
    • CDK Stack (api-stack)
    • cache.ts
  • Investor Web
    • Widget (fund-data-tab)
  • Investor Web API
    • fund-data
    • keys
    • use-fund-data
  • Lambda API
    • pools.get.fund-data-dpd

refactor 16:56:51 9998d561

refactor(infra,web): redemption penalty/payout from on-chain SoT

5 files · +195 · -279
  • Infra
    • penalty-calculator.ts
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
  • Investor Web API
    • redemption-requests
  • Lambda API
    • redemption-requests.post.create

chore 16:56:51 d0bb0569

chore(contract): split deployment into per-contract scripts + KYC mint

7 files · +338 · -1
  • Contract Deploy
    • CreatePool.s
    • DeployFactory.s
    • DeployLPImplementation.s
    • DeployPoolImplementation.s
    • DeployV3Sepolia.s
    • MintKYC.s
  • Smart Contract
    • sepolia.md

fix 16:05:13 63a3b34d

fix(contract): YIELD_BASED penalty applies bps rate instead of forfeiting all yield

6 files · +90 · -13
  • Contract Test
    • PlatformPool.t
    • PlatformPoolFlows.t
  • Docs
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md
  • Smart Contract
    • PlatformPool

feat 16:05:13 c91f93cd

feat(qa-agent): add doc-driven QA agent with incremental diff generation

21 files · +2133 · -1
  • Other
    • package.json
    • pnpm-lock.yaml
    • qa-agent/.env.example
    • qa-agent/.gitignore
    • qa-agent/README.md
    • qa-agent/package.json
    • qa-agent/playwright.config.ts
    • qa-agent/src/cli.ts
    • qa-agent/src/config.ts
    • qa-agent/src/context/collect.ts
    • qa-agent/src/context/diff.ts
    • qa-agent/src/context/rules.ts
    • qa-agent/src/e2e/generate-spec.ts
    • qa-agent/src/e2e/mock.ts
    • qa-agent/src/e2e/runner.ts
    • qa-agent/src/generate/schema.ts
    • qa-agent/src/generate/tickets.ts
    • qa-agent/src/linear/client.ts
    • qa-agent/src/openrouter/client.ts
    • qa-agent/src/report/linear.ts
    • qa-agent/tsconfig.json

🔵 jy/product

docs 16:57:34 8c7f9e8b

docs(decisions): PD5 NAV timelock Resolved — 24h decrease confirmed via full timelock sign-off

1 files · +10 · -9
  • Docs
    • 14-decisions.md

docs 16:52:35 6481fd33

docs(nav): use canonical 2-arg updateNAV(newNav, reserveConsumed) in joob-dpd-sync step

1 files · +1 · -1
  • Docs
    • 06-writedown-nav.md

docs 16:38:48 95f91b89

docs(sc): complete timelock config table — add kyc_jurisdiction_whitelist + impairment execution (both 7d)

1 files · +2
  • Docs
    • 08-smart-contracts.md

docs 16:22:33 f92ad4bc

docs(v3): v3-19 — KYC validity/expiry policy (expiry blocks deposit, not redemption)

1 files · +24
  • Docs
    • 14-decisions.md

docs 11:35:09 cdfae71e

docs(pool-models): align 04-pool-models with implemented v3.0 contracts

1 files · +37 · -17
  • Docs
    • 04-pool-models.md

2026-06-05 (Fri)

🟢 ch/product

refactor 16:37:36 b065df15

refactor(web): remove unused ERC721_TRANSFER_EVENT dead export

1 files · -13
  • Investor Web
    • contracts

fix 16:34:02 d7ffd751

fix(auth): robust wallet sign-in — abort on failure, auto-switch network, relax SIWE domain in dev

3 files · +70 · -16
  • Infra
    • siwe.ts
  • Investor Web
    • provider
    • use-sign-in

fix 16:05:53 b830e977

fix(web,admin-web): force light mode by making dark: variant class-based

2 files · +12 · -1
  • Admin
    • global
  • Investor Web
    • global

refactor 15:30:16 9912d64c

refactor: extract shared @aset/types + chain/stablecoin registry

14 files · +1244 · -304
  • Admin
    • package
    • stablecoins
  • Admin API
    • redemption-requests
  • Infra
    • package.json
    • statuses.ts
  • Investor Web
    • contracts
    • package
  • Investor Web API
    • deposits
    • redemption-requests
  • Other
    • packages/types/package.json
    • packages/types/src/index.ts
    • pnpm-lock.yaml
  • Smart Contract
    • chains.ts
    • package.json

feat 15:09:06 cf59050c

feat(web,admin-web): v3 API/contract alignment + data-layer perf

26 files · +339 · -379
  • Admin
    • Route (dashboard)
    • Route (deposits)
    • Route (kyc)
    • Route (pools)
    • Route (redemptions)
    • Route (yield)
    • create-distribution-form
  • Admin API
    • deposits
    • nav-changes
    • pools
    • redemption-requests
    • use-deposits
    • use-pools
    • use-redemption-requests
    • yield-distributions
  • Investor Web
    • PoolCard
    • Route (pool.$id)
    • Route (portfolio)
    • Route (transactions)
    • contracts
    • index
  • Investor Web API
    • deposits
    • pools
    • redemption-requests
    • use-deposits
    • use-pools

feat 14:24:55 3c1e8d92

feat(infra): per-pool KYC gating at deposit (v3-10)

3 files · +111 · -2
  • Infra
    • kyc-gating.ts
  • Lambda API
    • deposits.post.create
    • kyc.post.mint-sbt

feat 14:05:58 ca1088f0

feat(infra): v3.0 backend migration + security & perf hardening

82 files · +7790 · -7125
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • DB 0002_v3_migration.sql
    • DB 0003_yield_fee_config.sql
    • DB 0004_security_hardening.sql
    • DB 0005_reinvest_revert.sql
    • DB 0006_enable_rls_and_invoker_views.sql
    • DB schema.sql
    • approve-redemption.ts
    • client.ts
    • create-pool.ts
    • deploy-pool.ts
    • enums.ts
    • environment.ts
    • freeze.ts
    • governance.ts
    • index.ts
    • jwt.ts
    • kyc-sbt.ts
    • lifecycle.ts
    • nav.ts
    • reinvest.ts
    • release-to-fund.ts
    • siwe.ts
    • statuses.ts
    • transfer-to-operator.ts
    • validate-amount.ts
    • viem-clients.ts
    • yield-distribution.ts
  • Lambda API
    • activity-events.get.list
    • admin-users.post.create
    • auth.post.verify
    • deposits.post.create
    • deposits.post.match
    • deposits.post.refund
    • deposits.scheduler.auto-refund
    • funds.patch.update
    • funds.post.create
    • kyc.post.mint-sbt
    • kyc.post.webhook
    • nav-changes.post.activate
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • notification-logs.post.escalate
    • notification-logs.post.resend
    • pools.delete
    • pools.patch.update
    • pools.post.burn-receipt
    • pools.post.create
    • pools.post.freeze
    • pools.post.governance
    • pools.post.impairment
    • pools.post.transfer-lp
    • pools.post.wind-down
    • pools.scheduler.lifecycle
    • pools.worker.deploy
    • redemption-requests.post.approve
    • redemption-requests.post.complete
    • redemption-requests.post.cosign
    • redemption-requests.post.create
    • redemption-requests.post.execute-transfer
    • redemption-requests.post.fm-accept
    • redemption-requests.post.fund
    • redemption-requests.post.reject
    • redemption-requests.post.request-approval
    • yield-claims.get.list
    • yield-claims.post.create
    • yield-distributions.get.me
    • yield-distributions.post.create
    • yield.post.reinvest
  • Smart Contract
    • PlatformEscrow.abi.json
    • PlatformEscrow.bytecode.d.ts
    • PlatformEscrow.bytecode.js
    • PlatformKYCSoulbound.abi.json
    • PlatformLPToken.abi.json
    • PlatformLPToken.bytecode.js
    • PlatformPool.abi.json
    • PlatformPool.bytecode.js
    • PlatformPoolFactory.abi.json
    • PlatformReceiptNFT.abi.json
    • PlatformReceiptNFT.bytecode.d.ts
    • PlatformReceiptNFT.bytecode.js

🔵 jy/product

No activity

2026-06-04 (Thu)

🟢 ch/product

feat 18:29:26 a3ff640f

feat(contract): v3.0 migration — Clones factory + security hardening

20 files · +2084 · -3267
  • Contract Deploy
    • DeployPlatformEscrow.s
    • DeployPlatformLPToken.s
    • DeployPlatformPool.s
    • DeployPlatformPoolFactory.s
    • DeployPlatformReceiptNFT.s
    • DeployV3Sepolia.s
  • Contract Test
    • PlatformEscrow.t
    • PlatformLPToken.t
    • PlatformPool.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • PlatformReceiptNFT.t
    • SequenceDiagramVerification.t
  • Smart Contract
    • .env.example
    • PlatformEscrow
    • PlatformKYCSoulbound
    • PlatformLPToken
    • PlatformPool
    • PlatformPoolFactory
    • PlatformReceiptNFT

feat 14:24:34 78523db8

feat:(web): change EFIDR to USD

1 files · +40 · -18
  • Investor Web
    • Widget (fund-data-tab)

🔵 jy/product

No activity

2026-06-02 (Tue)

🟢 ch/product

No activity

🔵 jy/product

docs 16:54:54 50ba8e83

docs(joob-config): correct target_size to USD 500K (ShardLab 250K + Hashed 250K confirmed)

1 files · +4 · -3
  • Docs
    • 20-joob-pool-config.md

docs 16:50:47 79377251

docs(v3): audit gaps — IMPAIRED lifecycle, loan_writeoffs table, reserve_consumed in nav_history

3 files · +51 · -16
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 11-db-schema.md

docs 16:46:53 fa3c335b

docs(08-smart-contracts): add 'On-chain vs DB Boundary' section (v3-18)

1 files · +78
  • Docs
    • 08-smart-contracts.md

docs 16:41:23 f516e858

docs(changelog): split into chronological entries — June 1-2 (v3-11~18) vs May 29 (v3-01~10)

1 files · +29 · -12
  • Docs
    • 17-changelog.md

docs 16:35:40 5d55d856

docs(v3): sweep stale tranche_structure / JUNIOR_SENIOR / claimWindDown refs

5 files · +18 · -17
  • Docs
    • 01-overview.md
    • 02-core-concepts.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 07-redemption.md

docs 16:30:02 cd3bb01a

docs(v3): v3-18 — minimum on-chain config + KYC compliance enforced on-chain

3 files · +56
  • Docs
    • 01-overview.md
    • 14-decisions.md
    • 17-changelog.md

docs 16:12:08 580ed84d

docs(v3): v3-16 — reserve consumption integrated into updateNAV (atomic loss absorption)

5 files · +101 · -2
  • Docs
    • 01-overview.md
    • 06-writedown-nav.md
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md

docs 16:04:51 1d3146bb

docs(v3): v3-17 cross-VASP KYC strategy (SumSub Reusable + fast re-KYC fallback)

4 files · +140
  • Docs
    • 01-overview.md
    • 03-kyc-identity.md
    • 14-decisions.md
    • 17-changelog.md

docs 14:11:12 22615cc2

docs(v3): v3-14 (tranche via linked pools) + v3-15 (drop PARTNER_REPORTED NAV)

9 files · +238 · -148
  • Docs
    • 01-overview.md
    • 02-core-concepts.md
    • 04-pool-models.md
    • 06-writedown-nav.md
    • 08-smart-contracts.md
    • 11-db-schema.md
    • 14-decisions.md
    • 17-changelog.md
    • 20-joob-pool-config.md

fix 11:37:57 56efac44

fix(admin-web): remove duplicate issuer field from PoolRow + docs(v3): IMPAIRED/DPD batch

7 files · +71 · -72
  • Admin API
    • pools
  • Docs
    • 01-overview.md
    • 06-writedown-nav.md
    • 08-smart-contracts.md
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md

2026-06-01 (Mon)

🟢 ch/product

feat 12:08:12 d3892cd2

feat: drive performance tab charts from fund-data history API

1 files · +38 · -6
  • Investor Web
    • Widget (performance-tab)

chore 11:38:05 b9d29609

chore: inject npm token

1 files · +3
  • CI/CD
    • deploy-web.yml

feat 11:28:38 f3de5035

feat: integrate external fund-data provider (JOOB) for pool detail

31 files · +1328 · -7
  • CI/CD
    • deploy-admin-web.yml
    • deploy-docs.yml
    • deploy-web.yml
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • DB 0001_fund_external_data.sql
    • DB schema.sql
    • cache.ts
    • client.ts
    • environment.ts
    • index.ts
    • mapper.ts
    • provider.ts
    • resolver.ts
    • sync.ts
    • types.ts
  • Investor Web
    • Route (pool.$id)
    • Widget (fund-data-tab)
    • Widget (index)
  • Investor Web API
    • fund-data
    • index
    • keys
    • pools
    • use-fund-data
  • Lambda API
    • fund-data.scheduler.sync
    • pools.get.fund-data-dpd
    • pools.get.fund-data-history
    • pools.get.fund-data-summary

chore 11:27:14 bdd09c20

chore: switch deployment to shardlab org profile and domain

14 files · +3819 · -57
  • Admin
    • .env
  • CI/CD
    • deploy-admin-web.yml
    • deploy-docs.yml
    • deploy-web.yml
  • Docs
    • README.md
    • package-lock.json
  • Infra
    • CDK Stack (docs-stack)
    • cdk.context.json
    • docs.ts
    • environment.ts
    • package.json
  • Investor Web
    • .env

refactor 11:27:14 d5299d60

refactor: update chain_id handling and improve code formatting

3 files · +32 · -15
  • Infra
    • siwe.ts
  • Investor Web
    • wagmi
  • Lambda API
    • auth.post.verify

feat 11:27:14 e8036a41

feat: add kaia in siwe

3 files · +17 · -5
  • Infra
    • chain.ts
    • siwe.ts
  • Other
    • .cursor/mcp.json

refactor 11:27:14 a44d7dfa

refactor: clean up frontend code, connect missing APIs, and extract shared utilities

127 files · +1880 · -1681
  • Admin
    • Route (admin-settings)
    • Route (deposits)
    • Route (login)
    • Route (my-settings)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (redemptions)
    • Route (yield)
    • auth-context
    • collateral-badge
    • create-distribution-form
    • deposit-timeline
    • escrow-badge
    • index
    • provider
    • status-utils
    • types
  • Admin API
    • admin-users
    • deposits
    • funds
    • pools
    • use-admin-users
    • use-deposits
    • yield-distributions
  • Admin UI
    • index
    • radio-card
  • Infra
    • DB schema.sql
    • admin-roles.ts
    • index.ts
    • pagination.ts
    • penalty-calculator.ts
    • portfolio-positions.ts
    • statuses.ts
    • token-calculations.ts
    • validate-request.ts
    • viem-clients.ts
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
    • Widget (PCWidgets)
    • Widget (PortfolioHero)
    • Widget (asset-details-tab)
    • Widget (documents-tab)
    • Widget (issuer-tab)
    • Widget (risk-profile-card)
    • Widget (risk-terms-tab)
    • Widget (yield-schedule-card)
    • contracts
    • env.d
    • portfolio-stats
  • Investor Web API
    • use-deposits
    • use-kyc
    • use-redemption-requests
    • use-redeposit
    • use-user-settings
    • use-yield-claims
  • Lambda API
    • activity-events.get.list
    • admin-users.get.list
    • admin-users.patch.update
    • admin-users.post.create
    • admin-users.post.invite
    • auth.post.verify
    • deposits.get.list
    • deposits.post.create
    • deposits.post.match
    • deposits.post.refund
    • deposits.scheduler.auto-refund
    • fund-members.get.list
    • fund-members.post.create
    • funds.get.list
    • funds.post.create
    • kyc-logs.get.list
    • kyc.get.status
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.webhook
    • nav-changes.get.list
    • nav-changes.post.activate
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • notification-logs.get.list
    • pool-categories.get.list
    • pool-categories.post.create
    • pool-compositions.get.list
    • pool-documents.get.list
    • pool-tvl-history.get.list
    • pools.delete
    • pools.get.list
    • pools.patch.update
    • pools.post.burn-receipt
    • pools.post.create
    • pools.post.transfer-lp
    • pools.scheduler.lifecycle
    • pools.worker.deploy
    • portfolio-positions.get.list
    • redemption-requests.get.list
    • redemption-requests.post.approve
    • redemption-requests.post.complete
    • redemption-requests.post.cosign
    • redemption-requests.post.create
    • redemption-requests.post.execute-transfer
    • redemption-requests.post.fm-accept
    • redemption-requests.post.reject
    • redemption-requests.post.request-approval
    • underlying-assets.get.list
    • users.get.list
    • wallets.get.list
    • yield-claims.get.list
    • yield-claims.post.create
    • yield-distributions.get.list
    • yield-distributions.get.me
    • yield-distributions.post.create
    • yield.post.reinvest
  • Smart Contract
    • PlatformEscrow.bytecode.d.ts
    • PlatformEscrow.bytecode.js
    • PlatformEscrow.bytecode.ts
    • PlatformLPToken.bytecode.d.ts
    • PlatformLPToken.bytecode.js
    • PlatformLPToken.bytecode.ts
    • PlatformPool.bytecode.d.ts
    • PlatformPool.bytecode.js
    • PlatformPool.bytecode.ts
    • PlatformReceiptNFT.bytecode.d.ts
    • PlatformReceiptNFT.bytecode.js
    • PlatformReceiptNFT.bytecode.ts
    • package.json

refactor 11:27:12 a5e3ecd8

refactor: align DB schema, lambda handlers, and frontend types with finalized spec

65 files · +1591 · -1414
  • Admin
    • Route (deposits)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (redemptions)
    • pool-form
  • Admin API
    • admin-users
    • deposits
    • funds
    • kyc
    • pools
    • redemption-requests
  • Docs
    • 11-db-schema.md
    • 12-triggers.md
    • 13-operations.md
    • 15-api-reference.md
    • 17-changelog.md
  • Infra
    • DB schema.sql
    • DB seed.sql
    • middleware.ts
  • Investor Web
    • PoolCard
    • Route (dashboard)
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Route (portfolio-activity)
    • Widget (HoldingCard)
    • Widget (PCWidgets)
    • Widget (PortfolioHero)
    • Widget (overview-tab)
    • Widget (risk-profile-card)
  • Investor Web API
    • deposits
    • kyc
    • kyc-logs
    • notifications
    • pools
    • redemption-requests
    • use-kyc
    • yield-distributions
  • Investor Web UI
    • InvestModal
    • KYCModal
    • TransactionDetailDrawer
    • status-badge
  • Lambda API
    • admin-users.get.list
    • admin-users.patch.update
    • admin-users.post.create
    • admin-users.post.invite
    • auth.post.verify
    • deposits.post.refund
    • deposits.scheduler.auto-refund
    • funds.patch.update
    • funds.post.create
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.webhook
    • notification-logs.post.escalate
    • notification-logs.post.resend
    • pools.get.list
    • pools.patch.update
    • pools.post.create
    • redemption-requests.post.reject
    • redemption-requests.post.request-approval
    • yield-distributions.post.create
  • Other
    • README.md

refactor 11:25:27 e56e4717

refactor: use finance-dashboard-kit style tokens and theme overrides

4 files · +2228 · -3429
  • Admin
    • global
    • package
  • Admin UI
    • alert-card
  • Other
    • pnpm-lock.yaml

chore 11:25:27 0d27abda

chore: use PAT for GitHub Packages auth in deploy workflow

2 files · +2 · -2
  • Admin

  • CI/CD
    • deploy-admin-web.yml

fix 11:25:27 5903c0d4

fix: resolve PageKey type mismatch in sidebar hasPermission

1 files · +2 · -1
  • Admin
    • sidebar

chore 11:25:27 a7be0e1f

chore: add github token

2 files · +4
  • CI/CD
    • deploy-admin-web.yml
  • Other
    • .npmrc

refactor 11:25:27 8024d00d

refactor: replace local shadcn/UI components with @shard-lab/finance-dashboard-kit package

69 files · +690 · -4308
  • Admin
    • Route (admin-settings)
    • Route (audit-log)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-detail)
    • Route (fund-manager-detail)
    • Route (fund-managers)
    • Route (funds)
    • Route (kyc)
    • Route (login)
    • Route (my-settings)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (redemptions)
    • Route (yield)
    • client
    • create-distribution-form
    • csv-export
    • formatters
    • global
    • header
    • index
    • methods
    • package
    • pool-form
    • query-client
    • sidebar
    • utils
    • vite.config
  • Admin UI
    • AutoExpandTextarea
    • alert-card
    • badge
    • button
    • cancellation-timer
    • card
    • confirm-dialog
    • data-table
    • detail-drawer
    • dialog
    • dropdown-menu
    • empty-state
    • explorer-link
    • index
    • input
    • label
    • metric-card
    • notification-log
    • page-header
    • page-layout
    • permission-guard
    • refresh-indicator
    • select
    • separator
    • skeleton
    • stat-card
    • status-badge
    • sub-status-indicator
    • switch
    • table
    • tabs
    • textarea
    • tooltip
  • Investor Web UI
    • Footer
  • Other
    • .npmrc
    • pnpm-lock.yaml

🔵 jy/product

docs 17:57:30 10eeaf56

docs(v3.0): D-v3-12 (wind-down NAV unify + IMPAIRED state) + D-v3-13 (DPD auto-writeoff via OJK schedule)

6 files · +127 · -11
  • Docs
    • 01-overview.md
    • 06-writedown-nav.md
    • 08-smart-contracts.md
    • 10-status-machines.md
    • 14-decisions.md
    • 17-changelog.md

docs 17:17:20 0b69e859

docs(v3.0): D-v3-11 — absorb PlatformEscrow into PlatformPool (5→4 contracts)

4 files · +36 · -16
  • Docs
    • 01-overview.md
    • 08-smart-contracts.md
    • 14-decisions.md
    • 17-changelog.md

docs 15:52:36 70e432f2

docs(v3.0,phase2.5): add overview highlights, changelog entries, 5-state holder page

4 files · +318 · -1
  • Docs
    • 01-overview.md
    • 17-changelog.md
    • 21-holder-verification.md
    • config.ts

fix 13:52:12 f9d3210d

fix(pools): fallback to pool.issuer when funds JOIN is null

2 files · +4 · -2
  • Admin API
    • pools
  • Investor Web API
    • pools

2026-05-30 (Sat)

🟢 ch/product

No activity

🔵 jy/product

docs 01:14:02 d73f4d8d

docs(pool-models): fix dead link breaking VitePress build

1 files · +1 · -1
  • Docs
    • 04-pool-models.md

2026-05-29 (Fri)

🟢 ch/product

No activity

🔵 jy/product

docs 23:54:56 e474eea0

docs(decisions,joob-config): update for v3.0

2 files · +250 · -88
  • Docs
    • 14-decisions.md
    • 20-joob-pool-config.md

docs 23:46:12 ff973fe0

docs(core-concepts,kyc): update for v3.0

2 files · +94 · -59
  • Docs
    • 02-core-concepts.md
    • 03-kyc-identity.md

docs 23:41:53 c424ed1a

docs(db-schema): add v3.0 dimension columns + deprecated markers

1 files · +102 · -12
  • Docs
    • 11-db-schema.md

docs 23:30:10 c275c53e

docs(status-machines): update for v3.0

1 files · +90 · -101
  • Docs
    • 10-status-machines.md

docs 23:25:58 8697799d

docs(writedown-nav): update for v3.0

1 files · +77 · -34
  • Docs
    • 06-writedown-nav.md

docs 23:06:06 33b252f8

docs(redemption): rewrite for v3.0

1 files · +110 · -89
  • Docs
    • 07-redemption.md

docs 22:53:19 b3317cd0

docs(overview): rewrite for v3.0

1 files · +52 · -15
  • Docs
    • 01-overview.md

docs 22:49:11 d99780bf

docs(investment-lifecycle): rewrite for v3.0

1 files · +213 · -52
  • Docs
    • 05-investment-lifecycle.md

docs 22:45:59 820d53fd

docs(smart-contracts): rewrite for v3.0 dimension model

1 files · +328 · -341
  • Docs
    • 08-smart-contracts.md

docs 17:55:20 c4684c81

docs(pool-models): complete v3.0 dimension model

1 files · +260 · -15
  • Docs
    • 04-pool-models.md

docs 17:51:28 4e3c3d95

docs(pool-models): add Sections 2-5

1 files · +800 · -12
  • Docs
    • 04-pool-models.md

docs 16:34:22 1c343e78

docs(pool-models): start v3.0 dimension model rewrite

1 files · +103 · -84
  • Docs
    • 04-pool-models.md

docs 16:06:57 ab63a0c5

docs: preserve in-progress timeline + joob pool config

2 files · +159 · -1
  • Docs
    • 16-timeline.md
    • 20-joob-pool-config.md

2026-03-20 (Fri)

🟢 ch/product

chore 17:55:48 91117e7c

chore: add deleted_at column at pool update

1 files · +21 · -5
  • Lambda API
    • pools.patch.update

feat 17:55:48 976e778f

feat: add stablecoin registry API + DAI currency support + ACTIVE pool currency edit

5 files · +63 · -3
  • Infra
    • CDK Stack (api-stack)
    • DB schema.sql
    • DB seed.sql
  • Lambda API
    • config.get.stablecoins
    • pools.patch.update

feat 17:55:48 c1eae2dc

feat: R8 — per-pool stablecoin config, deposit currency validation, multichain schema sync

3 files · +84 · -1
  • Infra
    • DB schema.sql
  • Lambda API
    • deposits.post.create
    • pools.patch.update

🔵 jy/product

feat 17:42:55 34f47813

feat: R9 — operating_currency/fx_rate + hide Archive button for archived pools

2 files · +84 · -58
  • Admin
    • Route (pool-detail)
  • Admin API
    • pools

fix 17:16:05 76d6c7bd

fix: R9 — fetchPools include_archived=true + archived count link

2 files · +17 · -1
  • Admin
    • Route (pools)
  • Admin API
    • pools

feat 17:01:33 cc0bab50

feat: R9 — pool detail enhancements + archived pool restore

4 files · +99 · -8
  • Admin
    • Route (pool-detail)
  • Admin API
    • pools
    • use-pools
  • Admin UI
    • notification-log

fix 16:33:20 e78abf0c

fix(pool-detail): currency changes now save via Save Changes button

2 files · +43 · -12
  • Admin
    • Route (pool-detail)
  • Admin API
    • use-pools

fix 16:04:34 1e0f195a

fix: R8 gaps — editable currencies in pool-detail + deposit currency field

3 files · +43 · -10
  • Admin
    • Route (pool-detail)
  • Admin API
    • pools
  • Investor Web
    • Route (pool.$id)

fix 15:54:23 9e135a72

fix(pool-detail): R8 update — accepted currencies editable when ACTIVE

3 files · +4 · -4
  • Admin
    • Route (pool-detail)
  • Docs
    • 04-pool-models.md
    • 11-db-schema.md

feat 15:46:38 3031e421

feat: R8 — per-pool stablecoin selection + multichain support

12 files · +234 · -48
  • Admin
    • Route (admin-settings)
    • Route (pool-create)
    • Route (pool-detail)
    • stablecoins
  • Docs
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 08-smart-contracts.md
    • 11-db-schema.md
    • 17-changelog.md
  • Investor Web
    • PoolCard
    • Route (pool.$id)
    • contracts

2026-03-19 (Thu)

🟢 ch/product

chore 18:34:09 21fbf56c

chore: remove contract broadcast artifacts from tracking

9 files · +3 · -640
  • Other
    • .gitignore
  • Smart Contract
    • run-1772160048858.json
    • run-1772160181071.json
    • run-1773130549287.json
    • run-1773130633482.json
    • run-latest.json

feat 17:21:41 607d7439

feat: implement backend handoff Mar19 — Super Admin auth, invite, pool filters, audit log JOIN, reinvest min amount, multi-chain explorer, multi-sig, security fixes

12 files · +2452 · -946
  • Infra
    • CDK Stack (api-stack)
    • DB schema.sql
    • DB seed.sql
    • package.json
  • Lambda API
    • activity-events.get.list
    • admin-users.post.invite
    • auth.post.admin-login
    • pools.get.list
    • pools.worker.deploy
    • yield.post.reinvest
  • Other
    • README.md
    • pnpm-lock.yaml

refactor 15:25:18 5f0bf35f

refactor: detach fund_members from admin_users FK and remove auth middleware for dev

48 files · +251 · -228
  • Admin
    • Route (fund-detail)
    • Route (fund-manager-detail)
    • Route (pool-detail)
  • Admin API
    • fund-members
    • funds
    • keys
    • pools
    • use-fund-members
    • use-funds
    • use-pools
  • Infra
    • DB schema.sql
    • DB seed.sql
  • Investor Web
    • Route (portfolio)
  • Investor Web API
    • index
    • keys
    • redeposit
    • use-redeposit
    • use-users
    • users
  • Lambda API
    • admin-users.delete
    • admin-users.patch.update
    • deposits.post.create
    • deposits.post.refund
    • fund-members.delete
    • fund-members.get.list
    • fund-members.patch.update
    • fund-members.post.create
    • funds.delete
    • funds.patch.update
    • kyc-logs.get.list
    • kyc.get.status
    • kyc.post.access-token
    • pool-compositions.get.list
    • pool-documents.get.list
    • pool-tvl-history.get.list
    • pools.delete
    • portfolio-positions.get.list
    • redemption-requests.post.cosign
    • redemption-requests.post.create
    • redemption-requests.post.execute-transfer
    • redemption-requests.post.request-approval
    • underlying-assets.get.list
    • wallets.get.list
    • yield-claims.get.list
    • yield-claims.post.create
    • yield-distributions.get.me
    • yield.post.reinvest

refactor 14:04:41 77d0e4be

refactor: remove Backend-Markdown section & sidebar

1 files · +37 · -60
  • Docs
    • config.ts

chore 13:59:00 ebe0177a

chore: rename wrong file name

2 files · +261 · -261
  • Docs
    • generate-dashboard-vitepress.sh
    • generate-dashboard-vitepresssh

refactor 13:57:18 69a064ad

refactor: remove html docs

42 files · +7272 · -18227
  • CI/CD
    • deploy-docs.yml
  • Docs
    • 01-overview.md
    • 02-core-concepts.md
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 09-rbac.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 12-triggers.md
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 16-timeline.md
    • 17-changelog.md
    • 18-failure-types.md
    • 19-activity.md
    • generate-dashboard-markdown.sh
    • generate-dashboard-vitepress.sh
    • generate-dashboard-vitepresssh

🔵 jy/product

fix 18:20:38 dd61cbed

fix(pool-detail): archive pool button invisible — warning-600 too light for white text

1 files · +1 · -1
  • Admin
    • Route (pool-detail)

feat 18:11:33 94334bc2

feat(admin-settings): R7-5 — role-based Admin Users actions

2 files · +67 · -38
  • Admin
    • Route (admin-settings)
  • Admin API
    • admin-users

feat 16:26:23 2cf8b4ae

feat(admin-web): R7-4 — Super Admin login page with email+password form

3 files · +84 · -4
  • Admin
    • Route (login)
    • provider
    • types

feat 16:16:54 06265f02

feat(pool-create): R7-5 — auto-calculate End Date from Start Date + Maturity Days

2 files · +114 · -61
  • Admin
    • Route (pool-create)
  • Docs
    • 09-rbac.md

feat 16:00:46 bc8f4713

feat(admin-web): Round 7 — retry deploy, multi-sig UI, Korean→English

16 files · +396 · -69
  • Admin
    • Route (admin-settings)
    • Route (audit-log)
    • Route (kyc)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (redemptions)
    • Route (yield)
  • Admin API
    • dashboard
    • pools
    • redemption-requests
    • use-pools
  • Admin UI
    • data-table
    • status-badge
  • Infra
    • DB seed.sql
  • Other
    • CLAUDE.md

docs 11:51:36 be95efa2

docs: VitePress update — Reinvest V1 policy, core-concepts link, RBAC restructure

6 files · +206 · -137
  • Docs
    • 02-core-concepts.md
    • 05-investment-lifecycle.md
    • 09-rbac.md

2026-03-18 (Wed)

🟢 ch/product

fix 19:55:12 fd10966e

fix: align Lambda and frontend with current DB schema — remove stale columns and enum values

8 files · +13 · -104
  • Admin API
    • pools
  • Investor Web
    • Widget (issuer-tab)
    • Widget (overview-tab)
  • Investor Web API
    • pools
  • Lambda API
    • funds.patch.update
    • funds.post.create
    • pools.get.list
    • yield.post.reinvest

feat 17:56:09 714b3d83

feat: improve mermaid charts — light-mode palette, edge label fix, click-to-zoom

5 files · +139 · -42
  • Docs
    • 04-pool-models.md
    • 08-smart-contracts.md
    • config.ts
    • custom.css
    • index.ts

fix 17:08:41 00d0eb73

fix: remove package-lock.json to let CI npm install resolve cleanly, use local vitepress binary

2 files · +1 · -261
  • CI/CD
    • deploy-docs.yml
  • Docs
    • package-lock.json

fix 17:05:41 651d56f9

fix: use npm run build instead of npx vitepress in CI, add markdown dashboard generation

1 files · +4 · -2
  • CI/CD
    • deploy-docs.yml

docs 17:03:06 005b7ce5

docs: add pure Markdown backend-markdown docs with custom containers, role badges, and interactive decisions

27 files · +8753 · -51
  • Docs
    • 01-overview.md
    • 02-core-concepts.md
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 09-rbac.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 12-triggers.md
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 16-timeline.md
    • 17-changelog.md
    • 18-failure-types.md
    • 19-activity.md
    • CBadge.vue
    • DecisionManagerMd.vue
    • config.ts
    • custom.css
    • generate-dashboard-markdown.sh
    • index.ts
    • package-lock.json
    • package.json

feat 13:39:22 8455ed24

feat: add pool delete API, update fund delete logic, and filter investor pool list

5 files · +149 · -7
  • Infra
    • CDK Stack (api-stack)
    • DB schema.sql
  • Lambda API
    • funds.delete
    • pools.delete
    • pools.get.list

refactor 13:33:49 72a27b9b

refactor: promote VitePress as main docs, remove legacy HTML

67 files · +13728 · -33843
  • CI/CD
    • deploy-docs.yml
  • Docs
    • .ci-trigger
    • 01-overview.md
    • 02-core-concepts.md
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 09-rbac.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 12-triggers.md
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 16-timeline.md
    • 17-changelog.md
    • 18-failure-types.md
    • 19-activity.md
    • ActivityFilter.vue
    • DecisionManager.vue
    • README.md
    • README.txt
    • SchemaFilter.vue
    • backend-logic-map.html
    • backend-logic-map.html.bak
    • config.ts
    • custom.css
    • generate-dashboard-vitepress.sh
    • generate-dashboard.sh
    • index.md
    • index.ts
    • logo.svg
    • package.json
    • project.json
    • smart-contract-architecture.html
  • Infra
    • CDK Stack (docs-stack)
    • package.json

fix 11:37:52 a207a1ff

fix: use npm/npx instead of pnpm for standalone vitepress package in CI

1 files · +2 · -2
  • CI/CD
    • deploy-docs.yml

fix 11:36:17 4b429957

fix: use working-directory and pnpm exec for vitepress build in CI

1 files · +4 · -2
  • CI/CD
    • deploy-docs.yml

fix 11:34:38 fc2989f4

fix: remove --frozen-lockfile for standalone vitepress package

1 files · +1 · -1
  • CI/CD
    • deploy-docs.yml

fix 11:32:22 6027ea2a

fix: remove pnpm version conflict in deploy-docs workflow

1 files · -2
  • CI/CD
    • deploy-docs.yml

feat 11:30:02 6a9c852a

feat: add reinvest on-chain contract helper

1 files · +86
  • Infra
    • reinvest.ts

feat 11:28:27 8364de01

feat: convert backend-logic-map.html to VitePress documentation site

29 files · +13554 · -2
  • CI/CD
    • deploy-docs.yml
  • Docs
    • 01-overview.md
    • 02-core-concepts.md
    • 03-kyc-identity.md
    • 04-pool-models.md
    • 05-investment-lifecycle.md
    • 06-writedown-nav.md
    • 07-redemption.md
    • 08-smart-contracts.md
    • 09-rbac.md
    • 10-status-machines.md
    • 11-db-schema.md
    • 12-triggers.md
    • 13-operations.md
    • 14-decisions.md
    • 15-api-reference.md
    • 16-timeline.md
    • 17-changelog.md
    • 18-failure-types.md
    • 19-activity.md
    • ActivityFilter.vue
    • SchemaFilter.vue
    • config.ts
    • custom.css
    • generate-dashboard-vitepress.sh
    • index.md
    • index.ts
    • logo.svg
    • package.json

🔵 jy/product

fix 17:20:49 aaa4b516

fix: 8 code scan findings from Round 5 handoff

8 files · +18 · -18
  • Admin
    • Route (deposits)
    • Route (kyc)
    • Route (pool-create)
  • Admin API
    • deposits
  • Investor Web
    • Route (help)
    • Route (pool.$id)
    • Route (pools)
  • Investor Web API
    • pools

fix 16:39:00 a3e89743

fix: A-5 auto-pause banner border unified (border-2 error-300 → border error-200)

1 files · +1 · -1
  • Admin
    • Route (pool-detail)

fix 16:29:01 9e1bdfa3

fix: A-2/A-4/I-5/I-6 — badge style unification across both apps

2 files · +11 · -11
  • Admin UI
    • status-badge
  • Investor Web UI
    • status-badge

2026-03-17 (Tue)

🟢 ch/product

feat 14:53:20 5334a65d

feat: backend handoff Mar17 — reinvest API, multi-sig endpoints, PATCH method fix

22 files · +881 · -597
  • Admin API
    • admin-users
    • fund-members
    • funds
    • pools
  • Infra
    • CDK Stack (api-stack)
    • DB schema.sql
  • Investor Web
    • vite.config
  • Investor Web UI
    • label
  • Lambda API
    • admin-users.patch.update
    • admin-users.put.update
    • fund-members.patch.update
    • fund-members.put.update
    • funds.patch.update
    • funds.put.update
    • pools.patch.update
    • pools.put.update
    • redemption-requests.post.cosign
    • redemption-requests.post.execute-transfer
    • redemption-requests.post.request-approval
    • redeposit.post.create
    • yield.post.reinvest
  • Other
    • README.md

chore 11:12:12 ba8be0d6

chore: revise wrong time error at activity dashboard

2 files · +9 · -15
  • Docs
    • generate-dashboard.sh
  • Other
    • .mcp.json

🔵 jy/product

feat 18:03:26 34e32f1f

feat: AF-9 Archived pool frontend prep

3 files · +14 · -1
  • Admin
    • Route (pools)
  • Admin API
    • pools
  • Admin UI
    • status-badge

fix 17:41:17 08eb496d

fix: AF-13 deployStatus type error — web PoolView lacks field

1 files · +1 · -1
  • Investor Web
    • Route (pools)

feat 17:38:43 c6ece522

feat: AF-14/AF-9/AF-13 — error truncate, delete bottom, hide FAILED

2 files · +52 · -34
  • Admin
    • Route (pool-detail)
  • Investor Web
    • Route (pools)

fix 17:29:13 d90ccaf0

fix: AF-9 visually distinct Delete (red) vs Archive (amber) buttons

1 files · +20 · -10
  • Admin
    • Route (pool-detail)

fix 17:28:07 b65b034f

fix: AF-9 Delete/Archive button visible on all pool statuses

1 files · +26 · -18
  • Admin
    • Route (pool-detail)

feat 16:14:46 ac81c840

feat: Round 5 batch 2 — AF-1/3/4

3 files · +10 · -3
  • Admin
    • Route (dashboard)
    • Route (pool-create)
    • Route (pool-detail)

feat 16:09:50 3fe5435c

feat: Round 5 handoff — AF-10/7/12/8/9/11, IF-6/7

25 files · +271 · -85
  • Admin
    • Route (fund-detail)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (redemptions)
  • Admin UI
    • AutoExpandTextarea
    • metric-card
  • Investor Web
    • Route ($)
    • Route (bridge)
    • Route (dashboard)
    • Route (help)
    • Route (notifications)
    • Route (pools)
    • Route (portfolio-activity)
    • Route (transactions)
    • Widget (HoldingCard)
    • Widget (PCWidgets)
    • Widget (documents-tab)
    • Widget (overview-tab)
    • root
  • Investor Web UI
    • KYCStatusCard
    • OnboardingModal
    • RedeemModal
    • TransactionDetailDrawer
    • status-badge

feat 12:37:52 5de6014e

feat: IF-1 in-place Claim/Redeem modals, IF-2 Reinvest CTA, IF-5 chart empty state, IF-6 emoji→lucide icons, AF-1 description textarea, AF-3~6 quick wins

12 files · +217 · -71
  • Admin
    • Route (dashboard)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
  • Admin UI
    • sub-status-indicator
  • Investor Web
    • Route (dashboard)
    • Route (pool.$id)
    • Route (portfolio)
    • Route (settings)
    • Widget (performance-tab)
  • Investor Web UI
    • PoolStatusAlert

fix 10:40:49 bee43cb7

fix: dashboard TS2367 — PENDING → REQUESTED for RedemptionStatus

5 files · +329 · -100
  • Admin
    • Route (dashboard)
    • Route (pool-detail)
  • Admin UI
    • notification-log
  • Investor Web
    • Route (pool.$id)
    • Widget (PCWidgets)

2026-03-16 (Mon)

🟢 ch/product

fix 03:49:40 6ec1f2ea

fix: remove unused ExternalLink import breaking CI build

1 files · +1 · -1
  • Admin
    • Route (pool-detail)

feat 03:45:48 a38baeb2

feat: async pool deploy, pool update API, auth token fix, and invest flow improvements

56 files · +2191 · -1460
  • Admin
    • Route (fund-detail)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pools)
    • Route (redemptions)
    • Route (yield)
  • Admin API
    • pools
    • use-pools
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • DB schema.sql
    • deploy-pool.ts
    • package.json
  • Investor Web
    • Route (pool.$id)
    • client
    • contracts
    • use-sign-in
  • Investor Web API
    • auth
    • use-user-settings
  • Lambda API
    • activity-events.get.list
    • admin-users.get.list
    • admin-users.post.create
    • dashboard.get.stats
    • deposits.get.list
    • deposits.post.create
    • deposits.post.match
    • fund-members.get.list
    • fund-members.post.create
    • funds.get.list
    • funds.post.create
    • kyc.post.mint-sbt
    • nav-changes.get.list
    • nav-changes.post.activate
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • notification-logs.get.list
    • notification-logs.post.escalate
    • notification-logs.post.resend
    • pools.post.burn-receipt
    • pools.post.create
    • pools.post.deploy
    • pools.post.transfer-lp
    • pools.put.update
    • pools.worker.deploy
    • redemption-requests.get.list
    • redemption-requests.post.approve
    • redemption-requests.post.complete
    • redemption-requests.post.fm-accept
    • redemption-requests.post.reject
    • users.get.list
    • yield-distributions.get.list
    • yield-distributions.post.create
  • Other
    • pnpm-lock.yaml
  • Smart Contract
    • PlatformEscrow.bytecode.ts
    • PlatformReceiptNFT.bytecode.ts
    • foundry.toml

🔵 jy/product

feat 18:29:57 37979539

feat: UI/UX complex fixes — I-7/I-7b/I-8/I-10/I-11/I-12

2 files · +132 · -45
  • Investor Web
    • Route (pool.$id)
    • Widget (PCWidgets)

fix 18:17:39 7915a87c

fix: UI/UX quick fixes — 12 items across admin and investor

8 files · +39 · -40
  • Admin
    • Route (dashboard)
    • Route (pool-detail)
  • Admin UI
    • data-table
    • funding-badge
  • Investor Web
    • Widget (header)
    • formatters
    • provider
  • Investor Web UI
    • status-badge

feat 13:57:31 5eb7505b

feat: implement Round 4 QA spec (10 items)

6 files · +256 · -22
  • Admin
    • Route (fund-detail)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
  • Admin API
    • pools
  • Investor Web
    • auth-button

2026-03-15 (Sun)

🟢 ch/product

fix 21:56:10 0f99a2b8

fix: resolve frontend build errors from cross-layer field consistency changes

6 files · +9 · -11
  • Admin
    • Route (deposits)
    • Route (redemption-funding)
    • Route (redemptions)
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
  • Investor Web API
    • deposits

refactor 21:51:42 113d01e7

refactor: align backend Lambda handlers with sequence diagrams and fix cross-layer field consistency

49 files · +1730 · -583
  • Admin
    • Route (deposits)
    • Route (pool-detail)
    • Route (redemptions)
  • Admin API
    • deposits
    • pools
    • redemption-requests
  • Admin UI
    • status-badge
  • Contract Test
    • PlatformPool.t
    • PlatformPoolFlows.t
    • SequenceDiagramVerification.t
  • Docs
    • backend-logic-map.html
  • Infra
    • DB schema.sql
    • approve-redemption.ts
    • deploy-pool.ts
    • index.ts
    • release-to-fund.ts
    • transfer-to-operator.ts
    • yield-distribution.ts
  • Investor Web
    • Route (dashboard)
    • Route (pool.$id)
    • Route (portfolio)
    • Route (portfolio-activity)
    • contracts
  • Investor Web API
    • deposits
    • redemption-requests
    • redeposit
    • underlying-assets
    • use-deposits
    • yield-claims
  • Investor Web UI
    • RedeemModal
    • YieldClaimDialog
    • status-badge
  • Lambda API
    • deposits.post.create
    • deposits.post.match
    • deposits.post.refund
    • deposits.scheduler.auto-refund
    • pools.post.create
    • pools.post.deploy
    • pools.scheduler.lifecycle
    • redemption-requests.post.approve
    • redemption-requests.post.complete
    • redemption-requests.post.create
    • redemption-requests.post.reject
    • redeposit.post.create
    • yield-claims.post.create
    • yield-distributions.post.create
  • Other
    • CLAUDE.md
  • Smart Contract
    • PlatformEscrow
    • PlatformPool

chore 15:44:51 65197f63

chore: remove code-vs-doc-diff.md from tracking

1 files · -154
  • Docs
    • code-vs-doc-diff.md

refactor 15:44:51 142209af

refactor: simplify redemption to single-stage approval — remove recommend/complete, merge into approveRedemption

7 files · +2199 · -2428
  • Contract Test
    • PlatformPool.t
    • PlatformPoolFlows.t
    • SequenceDiagramVerification.t
  • Docs
    • backend-logic-map.html
    • smart-contract-architecture.html
  • Smart Contract
    • PlatformPool
    • PlatformPool.abi.json

feat 15:44:51 f02b5883

feat: add PlatformEscrow & PlatformPoolFactory contracts, update architecture docs

19 files · +4464 · -1146
  • Contract Deploy
    • DeployPlatformEscrow.s
    • DeployPlatformPoolFactory.s
  • Contract Test
    • PlatformEscrow.t
    • PlatformPool.t
    • PlatformPoolFactory.t
    • PlatformPoolFlows.t
    • SequenceDiagramVerification.t
  • Docs
    • backend-logic-map.html
    • smart-contract-architecture.html
  • Investor Web
    • contracts
  • Other
    • CLAUDE.md
    • README.md
  • Smart Contract
    • Makefile
    • PlatformEscrow
    • PlatformEscrow.abi.json
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPoolFactory
    • PlatformPoolFactory.abi.json

fix 15:39:19 27711f97

fix: replace removed Escrow ABI/address references with PlatformPool in web invest flow

2 files · +7 · -9
  • Investor Web
    • Route (pool.$id)
    • contracts

refactor 15:39:19 6c55bd02

refactor: consolidate architecture — merge Escrow into PlatformPool, add yield claim flow, clean up legacy code

74 files · +7338 · -39063
  • Admin API
    • redemption-requests
  • Contract Deploy
    • CreateEscrowViaFactory.s
    • DeployDepositReceipt.s
    • DeployPlatformEscrow.s
    • DeployPlatformEscrowFactory.s
    • DeployPlatformReceiptNFT.s
  • Contract Test
    • DepositReceipt.t
    • PlatformEscrow.t
    • PlatformEscrowFactory.t
    • PlatformPool.t
    • PlatformPoolFlows.t
    • PlatformReceiptNFT.t
  • Docs
    • code-vs-doc-diff.md
    • smart-contract-architecture.html
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • deploy-pool.ts
    • environment.ts
    • index.ts
    • jwt.ts
    • middleware.ts
    • yield-distribution.ts
  • Investor Web
    • contracts
  • Lambda API
    • auth.post.nonce
    • auth.post.verify
    • deposits.post.create
    • deposits.post.match
    • deposits.scheduler.auto-refund
    • kyc.get.status
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.webhook
    • nav-changes.post.activate
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • pools.post.burn-receipt
    • pools.post.create
    • pools.post.create-escrow
    • pools.post.transfer-lp
    • pools.scheduler.lifecycle
    • redemption-requests.post.approve
    • redemption-requests.post.complete
    • redemption-requests.post.create
    • redemption-requests.post.fm-accept
    • redemption-requests.post.recommend
    • redemption-requests.post.reject
    • redeposit.post.create
    • yield-claims.get.list
    • yield-claims.post.create
    • yield-distributions.get.me
    • yield-distributions.post.create
  • Other
    • CLAUDE.md
    • README.md
  • Smart Contract
    • .env.example
    • DepositReceipt
    • DepositReceipt.abi.json
    • Makefile
    • PlatformEscrow
    • PlatformEscrow.abi.json
    • PlatformEscrowFactory
    • PlatformEscrowFactory.abi.json
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformReceiptNFT
    • PlatformReceiptNFT.abi.json
    • run-1772160048858.json
    • run-1772160181071.json
    • run-1773130549287.json
    • run-1773130633482.json
    • run-latest.json

🔵 jy/product

fix 02:48:06 e31c1d29

fix: resolve CI build errors - severity type, unused vars

3 files · +11 · -24
  • Admin
    • Route (dashboard)
    • Route (pool-detail)
    • sidebar

other 02:39:31 32d1ea9a

Admin Round 3: Row color accent, side panel CTAs, yield rebuild, auto-pause, activity pagination

50 files · +3619 · -1286
  • Admin
    • Route (admin-settings)
    • Route (audit-log)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-detail)
    • Route (fund-managers)
    • Route (kyc)
    • Route (my-settings)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (redemption-funding)
    • Route (redemptions)
    • Route (yield)
    • csv-export
    • formatters
    • header
    • pool-form
    • routes
    • sidebar
  • Admin API
    • dashboard
    • deposits
    • pools
    • use-deposits
    • use-notification-logs
    • use-pools
    • yield-distributions
  • Admin UI
    • confirm-dialog
    • data-table
    • detail-drawer
    • funding-badge
    • index
    • notification-log
    • page-layout
    • stat-card
    • status-badge
  • Docs
    • backend-logic-map.html
  • Investor Web
    • PoolCard
    • Route (pools)
    • Route (portfolio)
    • Route (portfolio-activity)
    • Widget (PortfolioHero)
    • Widget (header)
    • pools-bg
  • Investor Web API
    • index
    • support-request
    • use-support-request
  • Investor Web UI
    • Footer
  • Other
    • CLAUDE.md

2026-03-14 (Sat)

🟢 ch/product

No activity

🔵 jy/product

feat 19:56:22 6c6bf66d

feat: pool detail + portfolio refinements, pool status alerts, seed data updates

21 files · +1455 · -391
  • Admin
    • Route (fund-detail)
    • Route (pool-create)
  • Admin API
    • funds
    • pools
  • Admin UI
    • status-badge
  • Docs
    • backend-logic-map.html
  • Infra
    • DB seed.sql
  • Investor Web
    • PoolCard
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Widget (HoldingCard)
    • Widget (PCWidgets)
    • Widget (PortfolioHero)
    • Widget (overview-tab)
    • index
  • Investor Web API
    • pools
  • Investor Web UI
    • InvestModal
    • PoolStatusAlert
    • status-badge
  • Other
    • CLAUDE.md

fix 02:24:59 dd766615

fix: remove 3 unused functions (formatAddress, penaltyLabel, triggerLabel) — build clean

3 files · -12
  • Investor Web
    • Widget (overview-tab)
    • Widget (yield-schedule-card)
    • auth-button

feat 02:18:59 b305a212

feat: pool detail modernization + design brief fixes + green color alignment

41 files · +2864 · -2433
  • Admin
    • Route (kyc)
    • Route (pool-create)
  • Admin API
    • index
    • keys
    • kyc
    • pools
    • use-pool-categories
  • Docs
    • backend-logic-map.html
    • smart-contract-architecture.html
  • Infra
    • DB schema.sql
    • DB seed.sql
  • Investor Web
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Route (portfolio-activity)
    • Widget (HoldingCard)
    • Widget (PCWidgets)
    • Widget (PortfolioHero)
    • Widget (QuickActions)
    • Widget (header)
    • Widget (index)
    • Widget (overview-tab)
    • Widget (performance-tab)
    • Widget (risk-profile-card)
    • Widget (risk-terms-tab)
    • Widget (yield-schedule-card)
    • aset-logo
    • aset-logo-white
    • auth-button
    • global
    • redemption-state
    • routes
  • Investor Web API
    • pools
  • Investor Web UI
    • InvestModal
    • MobileBottomNav
    • logo
    • select
  • Lambda API
    • pool-categories.get.list
    • pool-categories.post.create
    • pools.post.create
  • Other
    • README.md

2026-03-13 (Fri)

🟢 ch/product

No activity

🔵 jy/product

docs 18:10:17 b90c971f

docs: update backend-logic-map smart contracts section — mermaid rendering fixes

1 files · +57 · -41
  • Docs
    • backend-logic-map.html

feat 17:56:28 69166922

feat: Admin gap spec implementation (§1-§8)

10 files · +2341 · -170
  • Admin
    • Route (audit-log)
    • Route (fund-detail)
    • Route (funds)
    • Route (pool-detail)
    • Route (pools)
    • Route (redemption-funding)
    • routes
    • sidebar
  • Docs
    • backend-logic-map.html
    • smart-contract-architecture.html

feat 14:36:35 2f6acafe

feat: Yield History tab in portfolio page (QA #4)

1 files · +176
  • Investor Web
    • Route (portfolio)

fix 14:15:17 8d511ea2

fix: QA report — 8 fixes across pool list, pool detail, portfolio

6 files · +31 · -19
  • Investor Web
    • PoolCard
    • Route (portfolio)
    • Widget (header)
    • Widget (risk-profile-card)
  • Investor Web API
    • pools
  • Investor Web UI
    • status-badge

feat 13:32:02 f2d8755b

feat: KYC status page + notification preferences restructure

4 files · +314 · -170
  • Investor Web
    • Route (kyc)
    • Route (settings)
    • routes
  • Investor Web UI
    • KYCStatusCard

2026-03-12 (Thu)

🟢 ch/product

No activity

🔵 jy/product

fix 18:15:58 4461cbe5

fix: portfolio — investor-friendly redemption labels, duplicate yield fix

1 files · +30 · -13
  • Investor Web
    • Route (portfolio)

feat 18:14:24 a656d6e6

feat: pool detail — Risk Profile card, Yield Schedule, Fully Subscribed banner

5 files · +270 · -5
  • Investor Web
    • Route (pool.$id)
    • Widget (index)
    • Widget (risk-profile-card)
    • Widget (yield-schedule-card)
  • Investor Web API
    • pools

chore 18:08:38 367f39e4

chore: sync schema.sql with latest Supabase DB changes

1 files · +443 · -540
  • Infra
    • DB schema.sql

feat 18:03:09 ad5b7b72

feat: investor pool list — collateral badge, escrow icon, Fully Subscribed state

5 files · +135 · -48
  • Investor Web
    • PoolCard
    • Route (pools)
    • Widget (overview-tab)
  • Investor Web API
    • pools
  • Investor Web UI
    • status-badge

fix 16:53:07 352644cc

fix: replace all EMERGEFI_ISSUED with PLATFORM_ISSUED — fixes build

3 files · +7 · -7
  • Admin
    • Route (pools)
    • pool-form
  • Admin API
    • deposits

fix 16:48:41 2ba618be

fix: YIELD_BASED label — forfeits % of accrued yield (configurable)

1 files · +2 · -2
  • Admin
    • Route (pool-create)

feat 16:42:20 616534b6

feat: Phase 2 admin updates + wizard spec fixes

11 files · +1809 · -718
  • Admin
    • Route (pool-create)
    • Route (pool-detail)
    • Route (redemptions)
    • Route (yield)
  • Admin API
    • pools
  • Docs
    • backend-logic-map.html
  • Investor Web
    • Route (landing)
    • Route (portfolio)
    • auth-button
  • Investor Web UI
    • tooltip
  • Other
    • .mcp.json

2026-03-11 (Wed)

🟢 ch/product

refactor 18:17:40 e5cb3e5a

refactor: rename Aset* contracts to Platform*/DepositReceipt, align roles with HTML spec, sync API endpoints

66 files · +45504 · -45433
  • Contract Deploy
    • BurnKYCSoulbound.s
    • CreateEscrowViaFactory.s
    • DeployAsetEscrow.s
    • DeployAsetEscrowFactory.s
    • DeployAsetKYCSoulbound.s
    • DeployAsetLPToken.s
    • DeployAsetPool.s
    • DeployAsetReceipt.s
    • DeployDepositReceipt.s
    • DeployPlatformEscrow.s
    • DeployPlatformEscrowFactory.s
    • DeployPlatformKYCSoulbound.s
    • DeployPlatformLPToken.s
    • DeployPlatformPool.s
    • GrantKYCRoles.s
  • Contract Test
    • AsetEscrow.t
    • AsetEscrowFactory.t
    • AsetKYCSoulbound.t
    • AsetLPToken.t
    • AsetPool.t
    • AsetPoolFlows.t
    • AsetReceipt.t
    • DepositReceipt.t
    • PlatformEscrow.t
    • PlatformEscrowFactory.t
    • PlatformKYCSoulbound.t
    • PlatformLPToken.t
    • PlatformPool.t
    • PlatformPoolFlows.t
  • Docs
    • backend-logic-map.html
  • Infra
    • deploy-pool.ts
    • kyc-sbt.ts
  • Investor Web
    • contracts
  • Lambda API
    • pools.post.burn-receipt
    • pools.post.transfer-lp
  • Other
    • CLAUDE.md
  • Smart Contract
    • .env.example
    • AsetEscrow
    • AsetEscrow.abi.json
    • AsetEscrowFactory
    • AsetEscrowFactory.abi.json
    • AsetKYCSoulbound
    • AsetKYCSoulbound.abi.json
    • AsetLPToken
    • AsetLPToken.abi.json
    • AsetLPToken.bytecode.ts
    • AsetPool
    • AsetPool.abi.json
    • AsetPool.bytecode.ts
    • AsetReceipt
    • AsetReceipt.abi.json
    • DepositReceipt
    • DepositReceipt.abi.json
    • Makefile
    • PlatformEscrow
    • PlatformEscrow.abi.json
    • PlatformEscrowFactory
    • PlatformEscrowFactory.abi.json
    • PlatformKYCSoulbound
    • PlatformKYCSoulbound.abi.json
    • PlatformLPToken
    • PlatformLPToken.abi.json
    • PlatformLPToken.bytecode.ts
    • PlatformPool
    • PlatformPool.abi.json
    • PlatformPool.bytecode.ts

docs 17:29:20 8c7eafd1

docs: add activity dashboard — auto-generated commit history by author in backend-logic-map

3 files · +5169 · -3
  • CI/CD
    • deploy-docs.yml
  • Docs
    • backend-logic-map.html
    • generate-dashboard.sh

feat 16:06:03 69f527e3

feat: KYC flow improvements — SumSub integration, SBT re-certification, toast notifications

33 files · +1431 · -384
  • Admin
    • Route (kyc)
    • eslint.config
  • Admin API
    • kyc
  • CI/CD
    • slack-push-notify.yml
  • Contract Deploy
    • BurnKYCSoulbound.s
    • DeployAsetKYCSoulbound.s
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • DB schema.sql
    • DB seed.sql
    • client.ts
    • environment.ts
    • index.ts
    • kyc-sbt.ts
  • Investor Web
    • eslint.config
    • package
    • provider
    • types
    • use-sign-in
  • Investor Web API
    • auth
    • index
    • kyc
    • use-kyc
    • use-user-settings
  • Investor Web UI
    • KYCModal
  • Lambda API
    • auth.post.verify
    • kyc.get.status
    • kyc.post.access-token
    • kyc.post.mint-sbt
    • kyc.post.webhook
  • Other
    • pnpm-lock.yaml
  • Smart Contract
    • Makefile

🔵 jy/product

docs 15:45:30 edcb6a80

docs: update backend-logic-map and add docs-src build tooling

5 files · +10278 · -81
  • Docs
    • backend-logic-map.html
    • backend-logic-map.html.bak
  • Other
    • docs-src/build.py
    • docs-src/template/notion_config.json
    • docs-src/template/shell.html

2026-03-10 (Tue)

🟢 ch/product

No activity

🔵 jy/product

docs 17:47:26 51cc06a6

docs: Round 2 surgical fixes — 14 corrections synced with Notion

1 files · +100 · -61
  • Docs
    • backend-logic-map.html

2026-03-09 (Mon)

🟢 ch/product

No activity

🔵 jy/product

fix 17:05:34 04e10d83

fix(critical): remove 2 extra </div> tags breaking sidebar navigation

1 files · -2
  • Docs
    • backend-logic-map.html

fix 16:46:19 b8790f8d

fix: QA fixes — replace legacy redemption flow, add deposit/yield flow diagrams

1 files · +191 · -15
  • Docs
    • backend-logic-map.html

other 16:20:58 d81e9d85

Batch 4: API + Kanban + R15 Changelog

1 files · +170 · -3
  • Docs
    • backend-logic-map.html

other 16:15:40 ac505c03

Batch 3: Lifecycle + Triggers + RBAC updates

1 files · +2465 · -2415
  • Docs
    • backend-logic-map.html

other 16:09:42 e37f9887

Batch 2: Concepts + Status Machines updates

1 files · +198 · -15
  • Docs
    • backend-logic-map.html

other 15:26:11 68fbb591

P0 fixes re-applied + Batch 1 schema section updates

1 files · +541 · -341
  • Docs
    • backend-logic-map.html

2026-03-06 (Fri)

🟢 ch/product

feat 15:52:45 0fdef03e

feat: replace remaining mock data with real API calls across admin-web and web

25 files · +624 · -585
  • Admin
    • Route (fund-manager-detail)
    • Route (pool-create)
    • Route (pool-detail)
    • create-distribution-form
  • Admin API
    • index
    • notifications
    • permissions
    • pools
    • use-funds
    • use-notification-logs
  • Infra
    • CDK Stack (api-stack)
  • Investor Web
    • Widget (documents-tab)
    • Widget (performance-tab)
  • Investor Web API
    • index
    • keys
    • nav-changes
    • performance-data
    • pool-documents
    • use-nav-changes
    • use-pool-documents
  • Lambda API
    • notification-logs.post.escalate
    • notification-logs.post.resend
    • pool-tvl-history.get.list

chore 15:23:54 d10f94aa

chore: rename EMERGEFI to ASET

2 files · +2 · -2
  • Infra
    • deploy-pool.ts
  • Smart Contract
    • AsetPool.bytecode.ts

fix 15:22:39 9e1a9fa7

fix: replace remaining @emergefi references with @aset across imports and emails

10 files · +22 · -22
  • Admin
    • Route (login)
    • provider
  • Admin API
    • permissions
  • Infra
    • deploy-pool.ts
    • kyc-sbt.ts
  • Investor Web
    • Route (portfolio)
    • contracts
  • Investor Web UI
    • KYCStatusCard
  • Lambda API
    • pools.post.burn-receipt
    • pools.post.transfer-lp

chore 15:11:22 5474701a

chore: trigger CI deployment test

4 files · +990 · -109
  • Admin

  • Docs
    • .ci-trigger
  • Investor Web

  • Other
    • pnpm-lock.yaml

refactor 14:49:46 de22ae02

refactor: rebrand EmergeFi to Aset, unify design system, and clean up code

148 files · +46295 · -45989
  • Admin
    • .env
    • Route (admin-settings)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-manager-detail)
    • Route (fund-managers)
    • Route (kyc)
    • Route (login)
    • Route (my-settings)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pools)
    • Route (redemptions)
    • Route (yield)
    • aset-logo
    • backend_requirements
    • create-distribution-form
    • env
    • favicon
    • formatters
    • global
    • header
    • package
    • pool-form
    • root
    • sidebar
  • Admin UI
    • alert-card
    • button
    • cancellation-timer
    • card
    • data-table
    • detail-drawer
    • empty-state
    • explorer-link
    • logo
    • metric-card
    • notification-log
    • page-header
    • page-layout
    • permission-guard
    • refresh-indicator
    • skeleton
    • status-badge
    • sub-status-indicator
    • switch
    • table
    • tabs
  • CI/CD
    • deploy-admin-web.yml
    • deploy-docs.yml
    • deploy-web.yml
  • Contract Deploy
    • CreateEscrowViaFactory.s
    • DeployAsetEscrow.s
    • DeployAsetEscrowFactory.s
    • DeployAsetKYCSoulbound.s
    • DeployAsetLPToken.s
    • DeployAsetPool.s
    • DeployAsetReceipt.s
    • DeployEmergeFiEscrow.s
    • DeployEmergeFiEscrowFactory.s
    • DeployEmergeFiKYCSoulbound.s
    • DeployEmergeFiLPToken.s
    • DeployEmergeFiPool.s
    • DeployEmergeFiReceipt.s
    • GrantKYCRoles.s
  • Contract Test
    • AsetEscrow.t
    • AsetEscrowFactory.t
    • AsetKYCSoulbound.t
    • AsetLPToken.t
    • AsetPool.t
    • AsetPoolFlows.t
    • AsetReceipt.t
    • EmergeFiEscrow.t
    • EmergeFiEscrowFactory.t
    • EmergeFiKYCSoulbound.t
    • EmergeFiLPToken.t
    • EmergeFiPool.t
    • EmergeFiPoolFlows.t
    • EmergeFiReceipt.t
  • Docs
    • README.md
  • Infra
    • .env.example
    • CDK Stack (admin-web-stack)
    • CDK Stack (api-stack)
    • CDK Stack (docs-stack)
    • CDK Stack (web-stack)
    • DB schema.sql
    • DB seed.sql
    • app.ts
    • deploy-pool.ts
    • docs.ts
    • environment.ts
    • kyc-sbt.ts
    • package.json
    • siwe.ts
  • Investor Web
    • .env
    • Widget (overview-tab)
    • aset-logo
    • contracts
    • env
    • favicon
    • global
    • package
    • wagmi
  • Investor Web UI
    • InvestModal
    • RedeemModal
    • badge
    • button
    • input
    • select
  • Lambda API
    • auth.post.verify
    • pools.post.burn-receipt
    • pools.post.transfer-lp
  • Other
    • CLAUDE.md
    • README.md
    • package.json
  • Smart Contract
    • .env.example
    • AsetEscrow
    • AsetEscrow.abi.json
    • AsetEscrowFactory
    • AsetEscrowFactory.abi.json
    • AsetKYCSoulbound
    • AsetKYCSoulbound.abi.json
    • AsetLPToken
    • AsetLPToken.abi.json
    • AsetLPToken.bytecode.ts
    • AsetPool
    • AsetPool.abi.json
    • AsetPool.bytecode.ts
    • AsetReceipt
    • AsetReceipt.abi.json
    • EmergeFiEscrow
    • EmergeFiEscrow.abi.json
    • EmergeFiEscrowFactory
    • EmergeFiEscrowFactory.abi.json
    • EmergeFiKYCSoulbound
    • EmergeFiKYCSoulbound.abi.json
    • EmergeFiLPToken
    • EmergeFiLPToken.abi.json
    • EmergeFiLPToken.bytecode.ts
    • EmergeFiPool
    • EmergeFiPool.abi.json
    • EmergeFiPool.bytecode.ts
    • EmergeFiReceipt
    • EmergeFiReceipt.abi.json
    • package.json

refactor 11:30:57 aa01ced6

refactor: enforce coding standards, fix Solidity security issues, and replace hardcoded colors with theme variables

52 files · +589 · -328
  • Admin
    • Route (dashboard)
    • Route (deposits)
    • Route (my-settings)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (redemptions)
    • Route (yield)
  • Admin API
    • notifications
    • permissions
  • Admin UI
    • data-table
    • detail-drawer
    • explorer-link
    • notification-log
    • refresh-indicator
    • sub-status-indicator
  • Infra
    • chain.ts
  • Investor Web
    • PoolCard
    • Route ($)
    • Route (dashboard)
    • Route (help)
    • Route (landing)
    • Route (notifications)
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Route (settings)
    • Widget (documents-tab)
    • Widget (header)
    • Widget (performance-tab)
    • Widget (risk-terms-tab)
    • Widget (tvl-chart)
    • favicon
    • formatters
    • hashed_logo
    • provider
    • root
    • wagmi
  • Investor Web API
    • notifications
    • performance-data
    • yield-claims
    • yield-distributions
  • Investor Web UI
    • Footer
    • InvestModal
    • KYCModal
    • LegalPageLayout
    • MobileBottomNav
    • OnboardingModal
    • RedeemModal
    • TransactionDetailDrawer
    • YieldClaimDialog
    • step-indicator
  • Smart Contract
    • EmergeFiPool

fix 10:41:38 3d624846

fix(infra): convert seed UUIDs to valid v4 format for API validation

1 files · +231 · -231
  • Infra
    • DB seed.sql

chore 10:41:38 08d941d8

chore(admin-web): remove unused code and fix query key consistency

3 files · +11 · -14
  • Admin API
    • funds
    • kyc
    • use-funds

feat 10:41:38 34cbe923

feat: replace mock data with real API integration across admin-web

25 files · +1684 · -733
  • Admin
    • Route (admin-settings)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-managers)
    • Route (kyc)
  • Admin API
    • dashboard
    • deposits
    • funds
    • index
    • keys
    • kyc
    • use-dashboard
    • use-deposits
    • use-funds
    • use-kyc
  • Admin UI
    • index
    • skeleton
  • Docs
    • backend-logic-map.html
  • Infra
    • CDK Stack (api-stack)
    • DB seed.sql
  • Lambda API
    • activity-events.get.list
    • dashboard.get.stats
    • deposits.get.list
    • funds.get.list
    • notification-logs.get.list

refactor 10:41:38 1af9568f

refactor: update RedemptionStatus type to use REQUESTED instead of PENDING

1 files · +1 · -1
  • Investor Web API
    • redemption-requests

refactor 10:41:36 fc584f3d

refactor: align lambda handlers and web UI with R15 schema migration

18 files · +246 · -194
  • Investor Web
    • Route (portfolio)
  • Investor Web UI
    • status-badge
  • Lambda API
    • admin-users.delete
    • admin-users.get.list
    • admin-users.post.create
    • admin-users.put.update
    • deposits.post.match
    • funds.post.create
    • funds.put.update
    • pools.get.list
    • pools.post.burn-receipt
    • pools.post.create
    • pools.post.transfer-lp
    • redemption-requests.get.list
    • redemption-requests.post.approve
    • redemption-requests.post.create
    • redemption-requests.post.recommend
    • redemption-requests.post.reject

🔵 jy/product

feat 13:15:24 ec608194

feat(web): landing page branding overhaul — value-driven editorial layout

6 files · +276 · -213
  • Investor Web
    • Route (landing)
    • aset-logo
    • aset-logo-white
    • hashed_logo
  • Investor Web UI
    • Footer
    • logo

feat 09:09:15 3886d6fc

feat(web): full dark mode landing page with glassmorphism + sphere hero

5 files · +452 · -188
  • Investor Web
    • Route (landing)
    • Widget (header)
    • aset-logo-white
    • sphere
  • Investor Web UI
    • Footer

feat 17:59:52 3e8d303f

feat(web): Phase 8 — Header/Auth UX, Mobile QA, Portfolio, Dashboard, Notifications

10 files · +435 · -292
  • Investor Web
    • Route (dashboard)
    • Route (portfolio)
    • Route (transactions)
    • Widget (header)
    • auth-button
    • favicon
    • formatters
    • global
  • Investor Web UI
    • filter-tabs
    • status-badge

2026-03-05 (Thu)

🟢 ch/product

No activity

🔵 jy/product

other 18:41:58 859fca96

Phase 6: Design polish & consistency — color unification, logo swap, footer restructure, mobile fixes

67 files · +6865 · -1473
  • Infra
    • supabase.ts
  • Investor Web
    • PoolCard
    • Route ($)
    • Route (bridge)
    • Route (dashboard)
    • Route (disclaimer)
    • Route (help)
    • Route (home)
    • Route (landing)
    • Route (notifications)
    • Route (pool.$id)
    • Route (pools)
    • Route (portfolio)
    • Route (privacy)
    • Route (settings)
    • Route (terms)
    • Route (transactions)
    • Widget (asset-details-tab)
    • Widget (documents-tab)
    • Widget (header)
    • Widget (index)
    • Widget (issuer-tab)
    • Widget (overview-tab)
    • Widget (performance-tab)
    • Widget (risk-terms-tab)
    • Widget (tvl-chart)
    • aset-logo
    • formatters
    • global
    • package
    • root
    • routes
  • Investor Web API
    • index
    • keys
    • notifications
    • performance-data
    • pools
    • redemption-requests
    • use-notifications
    • use-pools
    • use-user-settings
    • use-yield-claims
    • use-yield-distributions
    • user-settings
    • yield-claims
    • yield-distributions
  • Investor Web UI
    • Footer
    • InvestModal
    • KYCModal
    • KYCStatusCard
    • LegalPageLayout
    • MobileBottomNav
    • OnboardingModal
    • RedeemModal
    • TransactionDetailDrawer
    • YieldClaimDialog
    • filter-tabs
    • index
    • logo
    • stat-card
    • status-badge
    • step-indicator
  • Other
    • .mcp.json
    • CLAUDE.md
    • README.md
    • pnpm-lock.yaml

2026-03-03 (Tue)

🟢 ch/product

fix 12:04:09 3a957b1f

fix(admin-web): use VITE_APP_ENV for dev auto-login so it works in built deployments

1 files · +1 · -1
  • Admin
    • provider

🔵 jy/product

fix 19:31:07 645b1e9d

fix(admin-web): remove unused FmAcceptRedemptionPayload import

1 files · -1
  • Admin API
    • use-redemption-requests

fix 19:27:52 89423ea7

fix: resolve build errors in web and admin-web

2 files · +5 · -5
  • Admin API
    • use-redemption-requests
  • Investor Web
    • Route (portfolio)

other 19:19:59 19f0c3db

R15: schema merge migration — rename tables, restructure columns, add admin tables

74 files · +2993 · -2309
  • Admin
    • Route (redemptions)
  • Admin API
    • fund-members
    • issuer-admins
    • keys
    • platform-admins
    • pools
    • redemption-requests
    • use-fund-members
    • use-issuer-admins
    • use-platform-admins
    • use-pools
  • Admin UI
    • status-badge
  • Docs
    • backend-logic-map.html
  • Infra
    • CDK Stack (api-stack)
    • DB schema.sql
  • Investor Web
    • Route (pool.$id)
    • Route (portfolio)
    • Route (transactions)
  • Investor Web API
    • deposits
    • index
    • keys
    • pending-receipts
    • pools
    • redemption-requests
    • use-deposits
    • use-pending-receipts
    • use-redeposit
  • Investor Web UI
    • status-badge
  • Lambda API
    • admin-users.delete
    • admin-users.get.list
    • admin-users.post.create
    • admin-users.put.update
    • deposits.get.list
    • deposits.post.create
    • deposits.post.match
    • deposits.post.refund
    • deposits.scheduler.auto-refund
    • fund-members.delete
    • fund-members.get.list
    • fund-members.post.create
    • fund-members.put.update
    • funds.delete
    • funds.get.list
    • funds.post.create
    • funds.put.update
    • issuer-admins.delete
    • issuer-admins.get.list
    • issuer-admins.post.create
    • issuer-admins.put.update
    • issuers.delete
    • issuers.get.list
    • issuers.post.create
    • issuers.put.update
    • pending-receipts.get.list
    • pending-receipts.post.create
    • pending-receipts.post.match
    • pending-receipts.post.refund
    • pending-receipts.scheduler.auto-refund
    • platform-admins.delete
    • platform-admins.get.list
    • platform-admins.post.create
    • platform-admins.put.update
    • pools.post.burn-receipt
    • pools.post.create
    • pools.post.create-escrow
    • pools.post.deploy
    • pools.post.transfer-lp
    • redemption-requests.get.list
    • redemption-requests.post.approve
    • redemption-requests.post.recommend
    • redemption-requests.post.reject
    • redeposit.post.create
    • yield-distributions.get.list

2026-02-27 (Fri)

🟢 ch/product

No activity

🔵 jy/product

other 23:08:46 6dd16f10

R10-R14: Admin panel rounds 10-14 + QA fixes

18 files · +506 · -354
  • Admin
    • Route (admin-settings)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-manager-detail)
    • Route (kyc)
    • Route (my-settings)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pools)
    • Route (redemptions)
    • Route (yield)
    • routes
  • Admin API
    • funds
    • notifications
  • Admin UI
    • detail-drawer
    • notification-log
    • page-layout
    • switch

feat 17:26:36 1a76ab3a

feat(admin-web): Round 6 handoff — all 22 items implemented

102 files · +5249 · -3584
  • Admin
    • Route (admin-settings)
    • Route (admin-users)
    • Route (assignments)
    • Route (dashboard)
    • Route (deposits)
    • Route (fund-manager-detail)
    • Route (fund-managers)
    • Route (kyc)
    • Route (login)
    • Route (my-settings)
    • Route (pf-changes)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (receipts)
    • Route (redemptions)
    • Route (settings)
    • Route (users)
    • Route (yield)
    • admin-dashboard
    • assets-tab
    • auth-button
    • auth-context
    • backend_requirements
    • compositions-tab
    • contracts
    • create-assignment-form
    • create-distribution-form
    • documents-tab
    • formatters
    • fund-manager-dashboard
    • global
    • header
    • hooks
    • index
    • investors-tab
    • operator-dashboard
    • overview-tab
    • propose-pf-form
    • provider
    • role-switcher
    • root
    • routes
    • sidebar
    • siwe-message
    • types
    • use-sign-in
    • wagmi
  • Admin API
    • dashboard
    • deposits
    • fm-assignments
    • funds
    • index
    • investor-users
    • issuers
    • kyc
    • notifications
    • pending-receipts
    • permissions
    • pf-changes
    • pool-compositions
    • pool-documents
    • portfolio-positions
    • underlying-assets
    • use-auth
    • use-fm-assignments
    • use-investor-users
    • use-issuers
    • use-pending-receipts
    • use-pf-changes
    • use-pool-compositions
    • use-pool-documents
    • use-portfolio-positions
    • use-underlying-assets
  • Admin UI
    • alert-card
    • cancellation-timer
    • data-table
    • detail-drawer
    • explorer-link
    • index
    • notification-log
    • page-layout
    • permission-guard
    • refresh-indicator
    • role-guard
    • status-badge
    • sub-status-indicator
  • Docs
    • README.txt
    • backend-logic-map.html
    • project.json
  • Other
    • CLAUDE.md
    • README.md

2026-02-26 (Thu)

🟢 ch/product

chore 14:52:03 94bd8af5

chore: test redeploy web

1 files · +1 · -1
  • Investor Web
    • Route (home)

chore 14:50:15 0519be84

chore: test redeploy web

3 files · +155 · -2
  • Admin
    • Route (dashboard)
  • CI/CD
    • deploy-web.yml
  • Investor Web
    • Route (home)

chore 14:38:49 59681c5f

chore: test redeploy admin

1 files · +1 · -1
  • Admin
    • Route (dashboard)

chore 14:35:21 7da66629

chore: test redeploy admin

6 files · +36 · -2
  • Admin
    • .env
  • CI/CD
    • deploy-admin-web.yml
  • Investor Web
    • .env
  • Other
    • .gitignore

chore 14:27:40 8b0b3828

chore: test redeploy admin

2 files · +161 · -3
  • Admin
    • Route (dashboard)
  • CI/CD
    • deploy-admin-web.yml

chore 14:14:45 7e65922b

chore: test redeploy docs

1 files · +1 · -1
  • Docs
    • backend-logic-map.html

chore 14:13:50 b5a77309

chore: test redeploy docs

1 files · +1 · -1
  • Docs
    • backend-logic-map.html

chore 14:10:57 683adf94

chore: test redeploy docs

1 files · +1 · -1
  • Docs
    • backend-logic-map.html

chore 14:02:22 23bbb4c9

chore: test redeploy

6 files · +48 · -34
  • CI/CD
    • deploy-docs.yml
  • Docs
    • backend-logic-map.html
  • Infra
    • CDK Stack (certificate-stack)
    • CDK Stack (docs-stack)
    • app.ts
    • docs.ts

🔵 jy/product

No activity

2026-02-24 (Tue)

🟢 ch/product

docs 18:01:51 5853672a

docs: display all schema.sql columns in backend-logic-map entity grid

1 files · +96 · -34
  • Docs
    • backend-logic-map.html

docs 17:47:39 59ea7455

docs: sync backend-logic-map DB schema section with current schema.sql v3

1 files · +179 · -129
  • Docs
    • backend-logic-map.html

feat 17:34:27 f0a41242

feat: implement backlog features, replace legacy modules, and enforce code quality

153 files · +4578 · -2258
  • Admin
    • Route (admin-users)
    • Route (assignments)
    • Route (issuer-admins)
    • Route (issuers)
    • Route (nav-changes)
    • Route (pf-changes)
    • Route (platform-admins)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (receipts)
    • Route (redemptions)
    • Route (settings)
    • Route (users)
    • Route (yield)
    • admin-dashboard
    • assets-tab
    • auth-button
    • client
    • compositions-tab
    • create-admin-form
    • create-assignment-form
    • create-distribution-form
    • documents-tab
    • fund-manager-dashboard
    • header
    • index
    • investors-tab
    • operator-dashboard
    • overview-tab
    • propose-nav-form
    • propose-pf-form
    • role-switcher
    • routes
    • sidebar
  • Admin API
    • admin-users
    • fm-assignments
    • index
    • issuer-admins
    • issuers
    • keys
    • nav-changes
    • pending-receipts
    • pf-changes
    • platform-admins
    • pools
    • redemption-requests
    • use-admin-users
    • use-fm-assignments
    • use-issuer-admins
    • use-issuers
    • use-nav-changes
    • use-pending-receipts
    • use-pf-changes
    • use-platform-admins
    • use-pools
    • use-redemption-requests
  • Admin UI
    • card
    • data-table
    • empty-state
    • status-badge
    • table
  • Contract Deploy
    • DeployEmergeFiPool.s
  • Contract Test
    • EmergeFiLPToken.t
    • EmergeFiPool.t
    • EmergeFiPoolFlows.t
    • EmergeFiReceipt.t
  • Infra
    • CDK Stack (api-stack)
    • DB schema.sql
    • parse-body.ts
    • siwe.ts
    • supabase.ts
  • Investor Web
    • PoolCard
    • Route (home)
    • Route (pool.$id)
    • Route (portfolio)
    • Route (transactions)
    • Widget (header)
    • client
    • package
    • provider
    • routes
  • Investor Web API
    • index
    • keys
    • pending-receipts
    • pools
    • redemption-requests
    • redeposit
    • use-redemption-requests
    • use-redeposit
    • use-yield-distributions
    • yield-distributions
  • Investor Web UI
    • KYCModal
    • dialog
    • index
    • label
    • status-badge
  • Lambda API
    • admin-users.delete
    • admin-users.get.list
    • admin-users.post.create
    • admin-users.put.update
    • fm-assignments.delete
    • fm-assignments.get.list
    • fm-assignments.post.create
    • issuer-admins.delete
    • issuer-admins.get.list
    • issuer-admins.post.create
    • issuer-admins.put.update
    • issuers.delete
    • issuers.put.update
    • nav-changes.get.list
    • nav-changes.post.activate
    • nav-changes.post.cancel
    • nav-changes.post.propose
    • pending-receipts.get.list
    • pending-receipts.post.create
    • pending-receipts.post.match
    • pending-receipts.scheduler.auto-refund
    • pf-changes.get.list
    • pf-changes.post.activate
    • pf-changes.post.cancel
    • pf-changes.post.propose
    • platform-admins.delete
    • platform-admins.get.list
    • platform-admins.post.create
    • platform-admins.put.update
    • pool-compositions.get.list
    • pools.get.list
    • pools.post.create
    • pools.post.transfer-lp
    • portfolio-positions.get.list
    • redemption-requests.get.list
    • redemption-requests.post.approve
    • redemption-requests.post.complete
    • redemption-requests.post.create
    • redemption-requests.post.recommend
    • redemption-requests.post.reject
    • redeposit.post.create
    • users.get.list
    • yield-distributions.post.create
  • Other
    • CLAUDE.md
    • README.md
    • pnpm-lock.yaml
  • Smart Contract
    • EmergeFiEscrow
    • EmergeFiLPToken
    • EmergeFiPool
    • EmergeFiReceipt

🔵 jy/product

feat 17:36:15 68be2b4d

feat(decisions): overhaul Decisions section — 9 tickets (D-1 to D-6, L-1 to L-3)

1 files · +642 · -458
  • Docs
    • backend-logic-map.html

feat 16:05:12 29feead1

feat(decisions): overhaul Decisions section — 9 tickets (D-1 to D-6, L-1 to L-3)

1 files · +642 · -458
  • Docs
    • backend-logic-map.html

2026-02-23 (Mon)

🟢 ch/product

other 17:45:00 4d697362

ci: add Slack notifications to docs deploy workflow and update docs

3 files · +115 · -29
  • CI/CD
    • deploy-docs.yml
  • Docs
    • README.md
    • backend-logic-map.html

test 17:41:11 ee579c75

test

1 files · +1 · -1
  • Docs
    • backend-logic-map.html

fix 17:40:23 184f6ee9

fix: specify pnpm version in packageManager for GitHub Actions

1 files · +1
  • Other
    • package.json

docs 17:38:10 23463664

docs: bump backend logic map version to v6 for deploy test

1 files · +2 · -2
  • Docs
    • backend-logic-map.html

other 17:34:21 0f8edd0b

ci: allow docs deploy workflow to trigger on all branches

1 files · -2
  • CI/CD
    • deploy-docs.yml

feat 17:31:36 f0a6c2d2

feat: add docs/web/admin-web S3+CloudFront stacks and docs auto-deploy CI

17 files · +5463 · -12
  • Admin
    • package
    • root
  • CI/CD
    • deploy-docs.yml
  • Docs
    • README.md
    • backend-logic-map.html
  • Infra
    • CDK Stack (admin-web-stack)
    • CDK Stack (certificate-stack)
    • CDK Stack (docs-stack)
    • CDK Stack (index)
    • CDK Stack (web-stack)
    • app.ts
    • cdk.docs.json
    • docs.ts
    • environment.ts
    • package.json
  • Investor Web
    • package
    • root

🔵 jy/product

No activity

2026-02-20 (Fri)

🟢 ch/product

feat 18:32:18 17e00886

feat: add backend lambdas, contract upgrades, and web API refactor

67 files · +5774 · -1637
  • CI/CD
    • slack-notify-frontend.yml
    • slack-push-notify.yml
  • Contract Deploy
    • DeployEmergeFiPool.s
  • Contract Test
    • EmergeFiPool.t
    • EmergeFiPoolFlows.t
  • Infra
    • CDK Stack (api-stack)
  • Investor Web
    • .env
    • Route (pool.$id)
    • Route (pool.create)
    • Route (portfolio)
    • Widget (header)
    • package
    • routes
  • Investor Web API
    • index
    • investments
    • keys
    • pending-receipts
    • pools
    • portfolio-positions
    • redemption-requests
    • use-investments
    • use-pending-receipts
    • use-pools
    • use-portfolio-positions
    • use-redemption-requests
    • users
    • wallets
  • Investor Web UI
    • status-badge
  • Lambda API
    • admin-users.delete
    • admin-users.get.list
    • admin-users.post.create
    • admin-users.put.update
    • auth.post.verify
    • fm-assignments.delete
    • fm-assignments.get.list
    • fm-assignments.post.create
    • investments.get.list
    • investments.post.create
    • issuers.get.list
    • issuers.post.create
    • pending-receipts.get.list
    • pending-receipts.post.create
    • pending-receipts.post.match
    • pending-receipts.post.refund
    • pf-changes.get.list
    • pf-changes.post.activate
    • pf-changes.post.cancel
    • pf-changes.post.propose
    • pool-compositions.get.list
    • pool-documents.get.list
    • pools.post.burn-receipt
    • pools.post.transfer-lp
    • portfolio-positions.get.list
    • redemption-requests.get.list
    • redemption-requests.post.approve
    • redemption-requests.post.complete
    • redemption-requests.post.create
    • redemption-requests.post.recommend
    • redemption-requests.post.reject
    • redeposit.post.create
    • wallets.get.list
    • yield-distributions.get.list
    • yield-distributions.post.create
  • Other
    • CLAUDE.md
    • pnpm-lock.yaml
  • Smart Contract
    • EmergeFiPool

feat 18:31:03 471d9aaa

feat: build admin-web dashboard with full API integration

98 files · +5736 · -83
  • Admin
    • Route (admin-users)
    • Route (assignments)
    • Route (dashboard)
    • Route (pf-changes)
    • Route (pool-create)
    • Route (pool-detail)
    • Route (pool-edit)
    • Route (pools)
    • Route (receipts)
    • Route (redemptions)
    • Route (settings)
    • Route (users)
    • Route (yield)
    • admin-dashboard
    • assets-tab
    • auth-context
    • compositions-tab
    • create-admin-form
    • create-assignment-form
    • create-distribution-form
    • documents-tab
    • formatters
    • fund-manager-dashboard
    • header
    • index
    • investors-tab
    • methods
    • operator-dashboard
    • overview-tab
    • package
    • pool-form
    • propose-pf-form
    • provider
    • role-switcher
    • routes
    • sidebar
    • types
    • use-sign-in
  • Admin API
    • admin-users
    • fm-assignments
    • index
    • investor-users
    • issuers
    • keys
    • pending-receipts
    • pf-changes
    • pool-compositions
    • pool-documents
    • pools
    • portfolio-positions
    • redemption-requests
    • underlying-assets
    • use-admin-users
    • use-fm-assignments
    • use-investor-users
    • use-issuers
    • use-pending-receipts
    • use-pf-changes
    • use-pool-compositions
    • use-pool-documents
    • use-pools
    • use-portfolio-positions
    • use-redemption-requests
    • use-underlying-assets
    • use-yield-distributions
    • yield-distributions
  • Admin UI
    • badge
    • card
    • confirm-dialog
    • data-table
    • dialog
    • dropdown-menu
    • empty-state
    • index
    • input
    • label
    • metric-card
    • page-header
    • page-layout
    • role-guard
    • select
    • separator
    • status-badge
    • switch
    • table
    • tabs
    • textarea
    • tooltip

🔵 jy/product

No activity

2026-02-19 (Thu)

🟢 ch/product

docs 17:40:29 1ecb3b67

docs: add user flow documentation, DB schema, and project README

3 files · +1519
  • Infra
    • DB schema.sql
  • Other
    • CLAUDE.md
    • README.md

🔵 jy/product

No activity

2026-02-12 (Thu)

🟢 ch/product

other 15:09:33 80b23388

ci: add Slack notification workflow for frontend-app branch pushes

1 files · +71
  • CI/CD
    • slack-notify-frontend.yml

🔵 jy/product

No activity

2026-02-11 (Wed)

🟢 ch/product

chore 18:08:29 27f38dba

chore: add linear mcp

1 files · +4
  • Other
    • .mcp.json

🔵 jy/product

No activity

2026-02-10 (Tue)

🟢 ch/product

feat 17:10:13 b80f206b

feat: add admin-web setting

51 files · +1399 · -105
  • Admin
    • .env
    • Route (dashboard)
    • auth-button
    • auth-context
    • client
    • components
    • contracts
    • entry.client
    • entry.server
    • env
    • env.d
    • eslint.config
    • favicon
    • formatters
    • global
    • header
    • hooks
    • index
    • methods
    • package
    • provider
    • query-client
    • react-router.config
    • root
    • routes
    • sidebar
    • siwe-message
    • tsconfig
    • tsconfig.app
    • tsconfig.node
    • types
    • use-sign-in
    • utils
    • vite
    • vite.config
    • wagmi
  • Admin API
    • auth
    • index
    • use-auth
  • Admin UI
    • button
    • index
    • logo
  • Other
    • .gitignore
    • pnpm-lock.yaml

feat 16:48:40 e2418f38

feat: gate invest flow behind KYC verification and add lpIssuanceModel to PoolView

2 files · +19 · -1
  • Investor Web
    • Route (pool.$id)
  • Investor Web API
    • pools

refactor 16:34:31 5fc6a8a0

refactor: centralize ABIs, rename contracts/lambdas, and apply code quality fixes

100 files · +45725 · -4479
  • Contract Deploy
    • CreateEscrowViaFactory.s
    • DeployEmergeFiEscrow.s
    • DeployEmergeFiEscrowFactory.s
    • DeployEmergeFiKYCSoulbound.s
    • DeployEmergeFiLPToken.s
    • DeployEmergeFiPool.s
    • DeployEmergeFiReceipt.s
    • DeployKYCSoulbound.s
    • DeployLPToken.s
    • GrantKYCRoles.s
  • Contract Test
    • EmergeFiEscrow.t
    • EmergeFiEscrowFactory.t
    • EmergeFiKYCSoulbound.t
    • EmergeFiLPToken.t
    • EmergeFiPool.t
    • EmergeFiReceipt.t
    • KYCSoulbound.t
    • LPToken.t
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • chain.ts
    • deploy-pool.ts
    • environment.ts
    • index.ts
    • kyc-sbt.ts
    • kyc-soulbound.abi.json
    • package.json
    • parse-body.ts
  • Investor Web
    • Route (pool.$id)
    • Route (pool.create)
    • Widget (asset-details-tab)
    • Widget (documents-tab)
    • Widget (header)
    • Widget (index)
    • Widget (issuer-tab)
    • Widget (overview-tab)
    • Widget (risk-terms-tab)
    • client
    • contracts
    • index
    • package
    • root
    • routes
    • useClaimYield
    • useDeposit
    • useKYCStatus
    • usePoolData
    • wagmi
  • Investor Web API
    • investments
    • pools
    • use-investments
    • use-pools
  • Investor Web UI
    • button
  • Lambda API
    • auth.nonce
    • auth.post.nonce
    • auth.post.verify
    • auth.verify
    • investments.get
    • investments.get.list
    • investments.post.create
    • kyc-logs.get
    • kyc-logs.get.list
    • pools.get
    • pools.get.list
    • pools.post.burn-receipt
    • pools.post.create
    • pools.post.create-escrow
    • pools.post.deploy
    • pools.post.transfer-lp
    • redemption-requests.get
    • redemption-requests.get.list
    • underlying-assets.get
    • underlying-assets.get.list
    • users.get
    • users.get.list
    • wallets.get
    • wallets.get.list
  • Other
    • pnpm-lock.yaml
  • Smart Contract
    • .env.example
    • ERC20.abi.json
    • EmergeFiEscrow
    • EmergeFiEscrow.abi.json
    • EmergeFiEscrowFactory
    • EmergeFiEscrowFactory.abi.json
    • EmergeFiKYCSoulbound
    • EmergeFiKYCSoulbound.abi.json
    • EmergeFiLPToken
    • EmergeFiLPToken.abi.json
    • EmergeFiLPToken.bytecode.ts
    • EmergeFiPool
    • EmergeFiPool.abi.json
    • EmergeFiPool.bytecode.ts
    • EmergeFiReceipt
    • EmergeFiReceipt.abi.json
    • KYCSoulbound
    • LPToken
    • Makefile
    • foundry.toml
    • package.json

🔵 jy/product

feat 16:39:01 c21f9d0b

feat: Add KYC modal and update routes

3 files · +394 · -7
  • Investor Web
    • Route (pool.$id)
  • Investor Web UI
    • KYCModal
    • index

2026-02-06 (Fri)

🟢 ch/product

style 18:26:01 113e26b9

style: add shadcn Select component and soften borders across UI

7 files · +414 · -30
  • Investor Web
    • Route (home)
    • Route (portfolio)
    • package
  • Investor Web UI
    • card
    • index
    • select
  • Other
    • pnpm-lock.yaml

refactor 18:00:57 098f3ba1

refactor: overhaul frontend with session persistence, UI reorganization, and dead code removal

51 files · +3486 · -1436
  • Investor Web
    • PoolCard
    • Route (api-test)
    • Route (home)
    • Route (pool.$id)
    • Route (portfolio)
    • Widget (header)
    • Widget (index)
    • client
    • contracts
    • favicon
    • formatters
    • global
    • index
    • mockData
    • mockDataV2
    • package
    • provider
    • root
    • useDeposit
    • utils
  • Investor Web API
    • index
    • pools
    • use-investments
    • use-pools
  • Investor Web UI
    • StatusBadge
    • Tooltip
    • badge
    • button
    • card
    • index
    • input
    • logo
    • skeleton
    • status-badge
    • tooltip
  • Lambda API
    • pools.get
  • Other
    • .mcp.json
    • pnpm-lock.yaml

refactor 14:36:06 4222b1f5

refactor: extract Header widget and unify SIWE-based authentication

8 files · +131 · -190
  • Investor Web
    • Route (bridge)
    • Route (home)
    • Route (pool.$id)
    • Route (portfolio)
    • Widget (header)
    • Widget (index)
    • auth-button

refactor 13:29:28 86ba528f

refactor: reorganize shared modules and remove unused code

48 files · +2010 · -606
  • Contract Deploy
    • DeployKYCSoulbound.s
    • GrantKYCRoles.s
  • Contract Test
    • KYCSoulbound.t
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • auth-middleware.ts
    • environment.ts
    • index.ts
    • jwt.ts
    • kyc-sbt.ts
    • kyc-soulbound.abi.json
    • middleware.ts
    • siwe.ts
    • supabase.ts
  • Investor Web
    • Route (api-test)
    • index
    • sign-in-button
  • Investor Web API
    • index
    • investments
    • issuers
    • keys
    • kyc-logs
    • pools
    • redemption-requests
    • use-issuers
    • use-redemption-requests
    • users
    • wallets
  • Lambda API
    • auth.nonce
    • auth.verify
    • investments.get
    • issuers.get
    • kyc-logs.get
    • pools.get
    • redemption-requests.get
    • underlying-assets.get
    • users.get
    • wallets.get
  • Smart Contract
    • .env.example
    • KYCSoulbound
    • LPToken
    • Makefile

feat 13:29:27 51fe283c

feat: add SIWE authentication system with JWT token support

54 files · +1261 · -432
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • auth-middleware.ts
    • environment.ts
    • jwt.ts
    • package.json
    • siwe.ts
    • supabase.ts
    • tsconfig.json
  • Investor Web
    • Route (api-test)
    • auth-button
    • auth-context
    • client
    • eslint.config
    • hooks
    • index
    • provider
    • root
    • sign-in-button
    • siwe-message
    • types
    • use-sign-in
  • Investor Web API
    • auth
    • index
    • issuers
    • keys
    • kyc-logs
    • queries
    • use-auth
    • use-investments
    • use-issuers
    • use-kyc-logs
    • use-pools
    • use-underlying-assets
    • use-users
    • use-wallets
    • wallets
  • Investor Web UI
    • button
  • Lambda API
    • auth.nonce
    • auth.verify
    • investments.get
    • issuers.get
    • kyc-logs.get
    • pools.get
    • underlying-assets.get
    • users.get
    • wallets.get
  • Other
    • .mcp.json
    • .prettierrc
    • package.json
    • pnpm-lock.yaml

feat 13:28:28 19b8ee37

feat: add smart contracts (KYCSoulbound, LPToken, EmergeFiPool) with tests and deployment scripts

23 files · +2933 · -82
  • Contract Deploy
    • Counter.s
    • DeployEmergeFiPool.s
    • DeployKYCSoulbound.s
    • DeployLPToken.s
  • Contract Test
    • Counter.t
    • EmergeFiPool.t
    • KYCSoulbound.t
    • LPToken.t
  • Lambda API
    • investments.get
    • issuers.get
    • kyc-logs.get
    • pools.get
    • underlying-assets.get
    • users.get
  • Other
    • .gitmodules
  • Smart Contract
    • .env.example
    • Counter
    • EmergeFiPool
    • KYCSoulbound
    • LPToken
    • foundry.lock
    • foundry.toml
    • openzeppelin-contracts

chore 13:28:28 c787ada9

chore: remove comment

1 files · -2
  • Lambda API
    • pools.get

fix 13:28:28 faa7d787

fix: apply code review feedback for pools ordering

1 files · +3 · -1
  • Lambda API
    • pools.get

fix 13:28:28 b3fbdf98

fix: apply code review feedback for Lambda validation and types

8 files · +89 · -16
  • Infra
    • supabase.ts
  • Investor Web API
    • pools
  • Lambda API
    • investments.get
    • issuers.get
    • kyc-logs.get
    • pools.get
    • underlying-assets.get
    • users.get

fix 13:28:28 1035ce76

fix: apply code review feedback for env validation

1 files · +12 · -2
  • Investor Web
    • env

refactor 13:28:26 5d2ae032

refactor: clean code and improve type safety for API layer

11 files · +28 · -41
  • Investor Web
    • env
    • env.d
    • root
  • Investor Web API
    • index
    • investments
    • issuers
    • kyc-logs
    • pools
    • underlying-assets
    • users
    • wallets

feat 13:27:59 ba375865

feat: update api stack

6 files · +217 · -17
  • Infra
    • CDK Stack (api-stack)
  • Lambda API
    • investments.get
    • issuers.get
    • pools.get
    • underlying-assets.get
  • Other
    • .mcp.json

feat 13:27:57 7bd5296c

feat: update api and db schema by 2.0

12 files · +678 · -114
  • Investor Web
    • Route (api-test)
    • Route (home)
    • routes
  • Investor Web API
    • index
    • investments
    • issuers
    • kyc-logs
    • pools
    • queries
    • underlying-assets
    • users
    • wallets

🔵 jy/product

feat 13:18:28 140f4403

feat: update frontend application with latest changes

23 files · +2700 · -153
  • Investor Web
    • Route (bridge)
    • Route (home)
    • Route (pool.$id)
    • Route (portfolio)
    • contracts
    • formatters
    • global
    • index
    • mockData
    • mockDataV2
    • routes
    • useClaimYield
    • useDeposit
    • useKYCStatus
    • usePoolData
  • Investor Web UI
    • StatusBadge
    • Tooltip
    • badge
    • button
    • card
    • index
    • input

2026-01-28 (Wed)

🟢 ch/product

feat 14:51:33 7cc356c9

feat: change api url

2 files · +11 · -7
  • Infra
    • CDK Stack (certificate-stack)
    • environment.ts

feat 13:49:27 a85bfe10

feat: add wallet info display with address and balance

1 files · +47 · -3
  • Investor Web
    • Route (home)

feat 13:40:41 5aa6329f

feat: add Foundry smart contract setup for Base network

76 files · +28788
  • Contract Deploy
    • Counter.s
  • Contract Test
    • Counter.t
  • Smart Contract
    • .env.example
    • .gitattributes
    • .gitignore
    • Base.sol
    • CODEOWNERS
    • CONTRIBUTING.md
    • CommonBase.t.sol
    • CompilationScript.sol
    • CompilationScriptBase.sol
    • CompilationTest.sol
    • CompilationTestBase.sol
    • Config.sol
    • Config.t.sol
    • Counter
    • IERC1155.sol
    • IERC165.sol
    • IERC20.sol
    • IERC4626.sol
    • IERC6909.sol
    • IERC721.sol
    • IERC7540.sol
    • IERC7575.sol
    • IMulticall3.sol
    • LICENSE-APACHE
    • LICENSE-MIT
    • LibVariable.sol
    • LibVariable.t.sol
    • Makefile
    • README.md
    • RELEASE_CHECKLIST.md
    • Script.sol
    • StdAssertions.sol
    • StdAssertions.t.sol
    • StdChains.sol
    • StdChains.t.sol
    • StdCheats.sol
    • StdCheats.t.sol
    • StdConfig.sol
    • StdConstants.sol
    • StdConstants.t.sol
    • StdError.sol
    • StdError.t.sol
    • StdInvariant.sol
    • StdJson.sol
    • StdJson.t.sol
    • StdMath.sol
    • StdMath.t.sol
    • StdStorage.sol
    • StdStorage.t.sol
    • StdStyle.sol
    • StdStyle.t.sol
    • StdToml.sol
    • StdToml.t.sol
    • StdUtils.sol
    • StdUtils.t.sol
    • Test.sol
    • Vm.sol
    • Vm.t.sol
    • broadcast.log.json
    • ci.yml
    • config.toml
    • console.sol
    • console2.sol
    • dependabot.yml
    • foundry.toml
    • package.json
    • safeconsole.sol
    • sync.yml
    • test.json
    • test.toml
    • vm.py

refactor 11:52:26 2ef21bf1

refactor: simplify WalletConnect project ID validation

1 files · +4 · -8
  • Investor Web
    • wagmi

fix 11:49:15 e301e5ae

fix: add production validation for WalletConnect project ID

1 files · +11 · -1
  • Investor Web
    • wagmi

feat 11:41:52 92844b1c

feat: add WalletConnect with RainbowKit for Base network

9 files · +5147 · -208
  • Investor Web
    • .env
    • Route (home)
    • env
    • index
    • package
    • root
    • wagmi
  • Other
    • CLAUDE.md
    • pnpm-lock.yaml

🔵 jy/product

No activity

2026-01-27 (Tue)

🟢 ch/product

refactor 16:23:15 a175cf80

refactor: extract status badge classes to helper function

1 files · +12 · -9
  • Investor Web
    • Route (home)

feat 16:13:14 a6e7a7da

feat: add CloudFront distribution and API infrastructure

30 files · +1186 · -65
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • CDK Stack (certificate-stack)
    • CDK Stack (index)
    • app.ts
    • cdk.context.json
    • environment.ts
    • package.json
    • supabase.ts
    • tsconfig.json
  • Investor Web
    • Route (home)
    • client
    • index
    • methods
    • package
    • query-client
    • root
  • Investor Web API
    • index
    • pools
    • queries
  • Investor Web UI
    • button
    • index
  • Lambda API
    • kyc-logs.get
    • pools.get
    • users.get
    • wallets.get
  • Other
    • .cursor/rules/CLAUDE.md
    • pnpm-lock.yaml
    • pnpm-workspace.yaml

🔵 jy/product

No activity

2026-01-23 (Fri)

🟢 ch/product

feat 14:02:16 eb6e9d63

feat: split dev and prod in cdk and add tailwind css

14 files · +485 · -75
  • Infra
    • .env.example
    • CDK Stack (api-stack)
    • app.ts
    • environment.ts
    • index.ts
    • package.json
  • Investor Web
    • Route (home)
    • entry.server
    • global
    • package
    • root
    • vite.config
  • Other
    • .mcp.json
    • pnpm-lock.yaml

🔵 jy/product

No activity

2026-01-22 (Thu)

🟢 ch/product

chore 16:11:24 d4b5282a

chore: uncondition

1 files · -1
  • CI/CD
    • code-review.yml

fix 16:02:08 32229091

fix: apply workflow code review feedback

1 files · +2 · -2
  • CI/CD
    • code-review.yml

refactor 15:58:05 301bd99d

refactor: change ~ to @

2 files · +2 · -2
  • Investor Web
    • tsconfig.app
  • Other
    • CLAUDE.md

chore 15:52:45 fdebb60d

chore: uncomment

1 files · -1
  • Investor Web
    • entry.server

fix 15:49:16 cdb34dd7

fix: restore isbot check for SEO support

3 files · +10
  • Investor Web
    • entry.server
    • package
  • Other
    • pnpm-lock.yaml

chore 15:46:21 65f91b5e

chore: replace WEBHOOK_URL to secret variable

1 files · +1 · -1
  • CI/CD
    • code-review.yml

chore 15:39:41 5f84cc29

chore: remove unused package

3 files · +2 · -28
  • Investor Web
    • entry.server
    • package
  • Other
    • pnpm-lock.yaml

chore 15:36:07 c6b170a1

chore: update CLAUDE.md

3 files · +46 · -203
  • Investor Web
    • buggy-component
    • buggy-utils
  • Other
    • CLAUDE.md

fix 15:22:30 88216afc

fix: apply additional code review feedback

2 files · +5 · -12
  • Investor Web
    • buggy-component
    • buggy-utils

fix 15:18:11 37f02cbe

fix: apply code review feedback

4 files · +154 · -75
  • Investor Web
    • buggy-component
    • buggy-utils
    • package
  • Other
    • pnpm-lock.yaml

chore 14:54:30 090f88e9

chore: trigger workflow re-run

chore 14:49:15 1fbcad2a

chore: trigger workflow re-run

chore 14:42:35 fee6d2e2

chore: switch to webhook-based Gemini code review

2 files · +36 · -61
  • CI/CD
    • code-review.yml
    • gemini-review.yml

chore 13:33:57 f7e76441

chore: use direct Gemini API call instead of third-party action

1 files · +44 · -38
  • CI/CD
    • gemini-review.yml

chore 13:29:24 0a440d67

chore: improve code review prompt for stricter analysis

1 files · +31 · -15
  • CI/CD
    • gemini-review.yml

chore 12:09:14 35b189a0

chore: update review prompt with detailed guidelines

1 files · +9 · -1
  • CI/CD
    • gemini-review.yml

chore 12:06:54 fbc052f2

chore: configure Gemini API via OpenAI-compatible endpoint

1 files · +13 · -12
  • CI/CD
    • gemini-review.yml

chore 11:58:41 d35b788d

chore: switch to official google-gemini GitHub action

1 files · +1 · -1
  • CI/CD
    • gemini-review.yml

test 11:47:14 67c826ec

test: add Gemini code review workflow and intentional buggy code

3 files · +176
  • CI/CD
    • gemini-review.yml
  • Investor Web
    • buggy-component
    • buggy-utils

🔵 jy/product

No activity

2026-01-21 (Wed)

🟢 ch/product

feat 17:52:49 a3563e43

feat: setting

🔵 jy/product

No activity