@@ -25,6 +25,8 @@ source of truth로 사용한다.
2525- ` CMP-002 — Manifest Lifecycle & Operator Approval Flow ` (validated state machine,
2626 setStatus 제거, engine positive-allowlist default-deny, clearUnregulated,
2727 factory register→approve)
28+ - ` DOC-002 — RFQ SDK and MVP Demo Planning `
29+ - ` RFQ-SDK-001 — RFQ Backend SDK Interfaces `
2830- multi-venue 아키텍처와 책임 문서 작성
2931- Corner Store용 Uniswap v3 최소 배포 profile 분리와 테스트
3032- ExecutionRouter/VenueRegistry/VenueSelector와 AMM reference adapter skeleton
@@ -33,7 +35,7 @@ source of truth로 사용한다.
3335- RFQ-002: operator-curated maker approval allowlist(` setMakerApproved ` ,
3436 ` RFQMakerNotApproved ` ), maker-initiated nonce-scoped idempotent cancellation
3537 (` cancelQuoteNonce ` /` cancelQuoteNonces ` , ` RFQQuoteCancelled ` ), venueType binding
36- fix, ` docs/rfq-threat-model.md ` 위협 모델과 D007 결정 기록
38+ fix, ` docs/rfq-threat-model.md ` 위협 모델과 D008 결정 기록
3739- legacy mock element(Sanctions A-01, AccreditedInvestor A-03, QualifiedPurchaser
3840 A-13)의 attestation setter를 ` Governed ` /` onlyOperator ` + 이벤트로 정렬해 CMP-001
3941 이후 hardening divergence를 닫았다(Lockup C-01은 settable mutator가 없어 변경 없음).
@@ -47,47 +49,30 @@ source of truth로 사용한다.
4749
4850## Next
4951
50- 1 . acquisition/lot data source와 holding-period Recipe 활성화 조건을 결정한다
52+ 1 . MVP RFQ demo backend milestone/user flow를 별도 문서·feature로 구체화한다.
53+ PR #29 /#30 이 머지되면 기존 live-Anvil E2E/CLI 경로를 재사용한다.
54+ 2 . pending RFQ/E2E/CLI/BUIDL PR stack(#29 /#30 /#35 )이 머지된 뒤
55+ roadmap과 feature 상태를 재조정한다.
56+ 3 . 남은 RFQ production policy를 별도 feature로 분리한다: custody, partial fill,
57+ production dealer/operator 책임.
58+ 4 . acquisition/lot data source와 holding-period Recipe 활성화 조건을 결정한다
5159 (C-01 Lockup은 현재 fixture-only mock acquisition source).
52- 2 . live Anvil deployment/E2E를 추가한다.
53- 3 . Order Book은 matching/custody/surveillance 모델 결정 후 구현한다.
54- 4 . CI hardening(static analysis 등)을 강화한다.
60+ 5 . Order Book은 matching/custody/surveillance 모델 결정 후 구현한다.
5561
5662## Last Session Summary
5763
58- - CMP-002 (Manifest Lifecycle & Operator Approval Flow)을 landing했다. Task 1
59- (registry state machine)에 이어 Task 2에서 engine fail-open을 닫고 factory/seam
60- finalization, 통합 시나리오, bookkeeping을 완료했다.
61- - 변경한 파일:
62- - product: ` src/compliance/ComplianceEngine.sol ` (evaluate positive-allowlist
63- default-deny + commit 주석), ` src/registry/TokenPolicyRegistry.sol ` +
64- ` src/interfaces/compliance/ITokenPolicyRegistry.sol ` (clearUnregulated),
65- ` src/factory/CornerStoreFactory.sol ` (register→approve natspec)
66- - test: ` test/unit/compliance/Engine.t.sol ` (신규 4 default-deny),
67- ` test/unit/registry/TokenPolicyRegistry.t.sol ` (신규 8 clearUnregulated+auth),
68- ` test/integration/EmergencyPause.t.sol ` (신규 3 router E2E),
69- ` test/integration/IntegrationBase.sol ` /` Surveillance.t.sol ` (seam 정리)
70- - bookkeeping: ` DECISIONS.md ` (D009), ` FEATURES.md ` (CMP-002), ` PROGRESS.md `
71- - Task 1(앞선 커밋): ` src/types/ComplianceTypes.sol ` (enum append),
72- ` src/libraries/Errors.sol ` (InvalidManifestTransition), registry state machine
73- - TDD: engine 4개 default-deny 테스트가 먼저 RED로 오늘의 fail-open(PROPOSED/
74- RETIRED × UNREGULATED/ACTIVE가 allowed=true)을 증명한 뒤 positive-allowlist로
75- GREEN 전환.
76- - 실행한 명령:
77- - ` forge fmt `
78- - ` forge test --offline `
79- - 통과한 검증:
80- - ` forge test --offline ` 227/227(pre-task 212 + 신규 15).
81- - engine default-deny(양방향 ordering 포함), registry clearUnregulated +
82- onlyOwner-vs-onlyOperator auth, 통합 PROPOSED/RETIRED reject + suspend→resume
83- 재거래.
64+ - #28 merge preparation includes RFQ protected-router integration scenarios on top of current main.
65+ - RFQFlow integration now covers router → compliance → RFQAdapter settlement plus maker-unapproved, cancellation, non-compliant buyer, and direct-call bypass scenarios.
66+ - RFQ-002, CMP-001, CMP-002, legacy gating, and RFQ-SDK records are preserved during this stacked merge reconciliation.
67+ - 실행한 검증:
68+ - original PR CI/checks passed before retarget
69+ - conflict reconciliation checked with ` git diff --check `
8470- 남은 리스크:
85- - ungated legacy mock element(A-01/A-03/QP)와 새 operator-gated element 사이
86- hardening divergence — follow-up으로 정렬(CMP-001 deferred).
87- - C-01 Lockup은 fixture-only mock acquisition source에 의존; production
88- acquisition/lot data source와 holding-period 활성화 default는 미결정.
89- - production data source(OFAC/ONCHAINID/ERC-165/EDGAR) 연결과 legal 활성화는
90- approval-gated로 열려 있다.
91- - engine은 direction-aware가 아니다(기존 문서화된 concern).
92- - production onboarding governance key management(factory ownership/multisig)는
93- 미결정.
71+ - MVP HTTP/CLI backend는 아직 구현하지 않았다.
72+ - production signer custody, persistent nonce store, pricing, inventory/risk는 integrator/operator 책임이다.
73+ - C-01 Lockup은 fixture-only mock acquisition source에 의존한다.
74+
75+ ## RFQ-002 Merge Note
76+
77+ - RFQ-002 hardening from PR #24 is included in this branch update: maker approval, maker nonce cancellation, venueType binding, and RFQ threat-model documentation.
78+ - The deferred router-path maker-approval/cancellation integration coverage is completed by PR #28 .
0 commit comments