@@ -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가 없어 변경 없음).
@@ -44,49 +46,30 @@ source of truth로 사용한다.
4446
4547## Next
4648
47- 1 . RFQ integration-test 시나리오(router-path maker-approval/cancellation coverage)를
48- 추가한다 — RFQ-002에서 deferred된 follow-up.
49- 2 . acquisition/lot data source와 holding-period Recipe 활성화 조건을 결정한다
49+ 1 . MVP RFQ demo backend milestone/user flow를 별도 문서·feature로 구체화한다.
50+ PR #29 /#30 이 머지되면 기존 live-Anvil E2E/CLI 경로를 재사용한다.
51+ 2 . pending RFQ/E2E/CLI/BUIDL PR stack(#28 /#29 /#30 /#35 )이 머지된 뒤
52+ roadmap과 feature 상태를 재조정한다.
53+ 3 . 남은 RFQ production policy를 별도 feature로 분리한다: custody, partial fill,
54+ production dealer/operator 책임.
55+ 4 . acquisition/lot data source와 holding-period Recipe 활성화 조건을 결정한다
5056 (C-01 Lockup은 현재 fixture-only mock acquisition source).
51- 3 . live Anvil deployment/E2E를 추가한다.
52- 4 . Order Book은 matching/custody/surveillance 모델 결정 후 구현한다.
53- 5 . CI hardening(static analysis 등)을 강화한다.
57+ 5 . Order Book은 matching/custody/surveillance 모델 결정 후 구현한다.
5458
5559## Last Session Summary
5660
57- - CMP-002 (Manifest Lifecycle & Operator Approval Flow)을 landing했다. Task 1
58- (registry state machine)에 이어 Task 2에서 engine fail-open을 닫고 factory/seam
59- finalization, 통합 시나리오, bookkeeping을 완료했다.
60- - 변경한 파일:
61- - product: ` src/compliance/ComplianceEngine.sol ` (evaluate positive-allowlist
62- default-deny + commit 주석), ` src/registry/TokenPolicyRegistry.sol ` +
63- ` src/interfaces/compliance/ITokenPolicyRegistry.sol ` (clearUnregulated),
64- ` src/factory/CornerStoreFactory.sol ` (register→approve natspec)
65- - test: ` test/unit/compliance/Engine.t.sol ` (신규 4 default-deny),
66- ` test/unit/registry/TokenPolicyRegistry.t.sol ` (신규 8 clearUnregulated+auth),
67- ` test/integration/EmergencyPause.t.sol ` (신규 3 router E2E),
68- ` test/integration/IntegrationBase.sol ` /` Surveillance.t.sol ` (seam 정리)
69- - bookkeeping: ` DECISIONS.md ` (D009), ` FEATURES.md ` (CMP-002), ` PROGRESS.md `
70- - Task 1(앞선 커밋): ` src/types/ComplianceTypes.sol ` (enum append),
71- ` src/libraries/Errors.sol ` (InvalidManifestTransition), registry state machine
72- - TDD: engine 4개 default-deny 테스트가 먼저 RED로 오늘의 fail-open(PROPOSED/
73- RETIRED × UNREGULATED/ACTIVE가 allowed=true)을 증명한 뒤 positive-allowlist로
74- GREEN 전환.
75- - 실행한 명령:
76- - ` forge fmt `
77- - ` forge test --offline `
78- - 통과한 검증:
79- - ` forge test --offline ` 227/227(pre-task 212 + 신규 15).
80- - engine default-deny(양방향 ordering 포함), registry clearUnregulated +
81- onlyOwner-vs-onlyOperator auth, 통합 PROPOSED/RETIRED reject + suspend→resume
82- 재거래.
61+ - #27 merge preparation includes legacy element gating on top of current main.
62+ - Legacy mock element setters for A-01/A-03/A-13 are now operator-gated, closing the CMP-001 hardening divergence.
63+ - RFQ-002, CMP-001, CMP-002, and RFQ-SDK records are preserved during this stacked merge reconciliation.
64+ - 실행한 검증:
65+ - original PR CI/checks passed before retarget
66+ - conflict reconciliation checked with ` git diff --check `
8367- 남은 리스크:
84- - ungated legacy mock element(A-01/A-03/QP)와 새 operator-gated element 사이
85- hardening divergence — follow-up으로 정렬(CMP-001 deferred).
86- - C-01 Lockup은 fixture-only mock acquisition source에 의존; production
87- acquisition/lot data source와 holding-period 활성화 default는 미결정.
88- - production data source(OFAC/ONCHAINID/ERC-165/EDGAR) 연결과 legal 활성화는
89- approval-gated로 열려 있다.
90- - engine은 direction-aware가 아니다(기존 문서화된 concern).
91- - production onboarding governance key management(factory ownership/multisig)는
92- 미결정.
68+ - MVP HTTP/CLI backend는 아직 구현하지 않았다.
69+ - production signer custody, persistent nonce store, pricing, inventory/risk는 integrator/operator 책임이다.
70+ - C-01 Lockup은 fixture-only mock acquisition source에 의존한다.
71+
72+ ## RFQ-002 Merge Note
73+
74+ - RFQ-002 hardening from PR #24 is included in this branch update: maker approval, maker nonce cancellation, venueType binding, and RFQ threat-model documentation.
75+ - Deferred follow-up remains router-path maker-approval/cancellation integration-test coverage after stacked PRs are reconciled.
0 commit comments