Skip to content

@Provide(.lazy) graph api를 구현한다 - #41

Merged
opficdev merged 6 commits into
developfrom
feat/#39
Sep 6, 2026
Merged

opficdev merged 6 commits into
developfrom
feat/#39

Conversation

@opficdev

@opficdev opficdev commented Sep 6, 2026

Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 작업 목적

@Provide(.lazy)로 graph 인스턴스별 최초 접근 시점의 지연 생성과 결과 재사용 지원

📝 작업 내용

📌 요약

  • DependencyLifetime.lazy와 graph 인스턴스 소유 lazy 저장소 추가
  • lifetime 연결 진단, typed override·CradleTesting.mock·동시성 경계 반영
  • Mermaid artifact, DocC, README, 소비자 fixture와 회귀 테스트 동기화
  • 코드 검토에서 확인한 Unicode 저장소 이름·preconditionFailure Factory 이름 충돌 차단

🔍 상세

  • 기본 @Provide·.shared·.transient 계약 유지
  • .lazy Factory의 최초 접근 실행, graph별 결과 재사용, 해제 시 결과 해제 검증
  • .shared → .lazy, .lazy → .transient, @External lazy 조합의 compiler 진단 추가
  • source graph, bodyless Factory, protocol·superclass 반환 타입, #function, 접근 수준 보존
  • .replace·.mock의 최초 접근 평가와 capture 해제 검증
  • actor·@MainActor 경계, Unicode 반환 타입, preconditionFailure Factory 이름 회귀 검증
  • Mermaid .lazy 수명 표현과 arm64·x86_64 artifact 갱신
  • README·DocC·아키텍처 문서 문장 윤문

검증:

  • swift build
  • swift test
  • swift build -Xswiftc -strict-concurrency=complete
  • swiftlint lint --strict --no-cache --config .swiftlint.yml
  • git diff --check
  • bash Scripts/verify-diagram-artifact.sh HEAD

🔄 변경 흐름

flowchart LR
    factory["@Provide Factory"]
    shared[".shared<br/>graph 초기화 시 생성"]
    lazy[".lazy<br/>생성 프로퍼티 첫 접근"]
    transient[".transient<br/>접근마다 생성"]
    storage["graph 인스턴스별 lazy 저장소"]
    reuse["반복 접근 시 같은 결과"]

    factory --> shared
    factory --> lazy
    factory --> transient
    lazy --> storage --> reuse
Loading

@opficdev opficdev self-assigned this Sep 6, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-06T05:25:41.249805Z 097ca9a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@opficdev
opficdev merged commit f74e925 into develop Sep 6, 2026
5 checks passed
@opficdev
opficdev deleted the feat/#39 branch September 6, 2026 05:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@Provide(.lazy) graph api를 구현한다

1 participant