Skip to content

[REFAC#301] 코드 주석 정리 — 단순 이슈/PR 참조 제거 - #302

Merged
juhy0987 merged 3 commits into
mainfrom
refactor/#301/comments-cleanup
May 7, 2026
Merged

juhy0987 merged 3 commits into
mainfrom
refactor/#301/comments-cleanup

Conversation

@juhy0987

@juhy0987 juhy0987 commented May 7, 2026

Copy link
Copy Markdown
Member

연관 이슈

구현 내용

코드베이스 전반의 주석에서 git log / PR 본문에 속해야 하는 단순 메타데이터 를 일괄 제거.
주석에는 WHY (race window / hidden invariant / non-obvious fallback) 만 보존하고, 변경 이력 /
reviewer 피드백 / 이슈 번호 등은 제거하여 향후 churn 방지.

처리 통계

항목 Before After
이슈/PR 참조 라인 (`이슈 #N` / `PR #N`) 593 0
`본 PR` 자기 참조 11 0
변경 파일 110
라인 변경 605 ins / 605 del

처리 패턴

패턴 처리
` (이슈 #N)` / ` (이슈 #N 단계 K)` / ` (이슈 #N 후속)` 끝부분 단순 참조 삭제
`// 이슈 #N: ` / `// PR #N : ` 시작부 `// ` 로 단순화
`// PR #N 피드백 — ` `// ` 만 보존
`이슈 #N 의 / 이후 / 에서` 본문 mid-clause 조사 조사 정리 후 본문만
`본 PR scope` 자기 참조 `현재 구현` 등 시점 중립 표현으로 교체
복잡한 algorithm / hidden invariant / race window 설명 보존
Exported func/type GoDoc 정합성 유지 (별도 보강은 후속 sub-issue)

적용 범위

  • ✅ `internal/` 전체
  • ✅ `pkg/` 전체
  • ✅ `cmd/` 전체
  • ❌ `test/` 제외 — 검증 의도 명시 주석 보존 우선 (별도 정리는 후속)
  • ❌ `migrations/`, `README.md`, `docs/`, `.github/`, `.claude/` 제외

CI / 머지 게이트 점검

변경 영향 범위

  • 영향: 110 `.go` 파일의 주석 only — 기능적 변경 0
  • 위험도: `Low` — 컴파일 / 테스트 결과에 영향 없음

Required Status Checks

  • 통과 확인 대상 (PR Checks 탭에서 확인):
    • `Commit Lint`
    • `PR Title Lint`
    • `Linked Issue Check`
    • `Format Check`
    • `Build`
    • `Test`
    • `Lint`

로컬 검증 통과

  • `go build ./...` 통과
  • `go test -race ./...` 통과 (35 패키지 모두 OK)
  • `go vet ./...` 통과
  • `gofmt` 적용

롤백 계획

PR revert 만으로 즉시 복원 — 기능 코드 변경 0 이라 데이터/운영 영향 없음.

TODO (후속 권장)

  • Docstring 정합성 보강 (godoc 컨벤션: 첫 단어가 식별자명) — 본 PR scope 외, 별도 sub-issue
  • `test/` 의 검증 의도 주석도 같은 정책으로 검토 — 본 PR scope 외

논의 사항

  • diff 가 110 파일 / 605 라인으로 크지만 단순 주석 정리라 reviewable. 분할 필요 시 sub-issue 로 분리 가능

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added LLM retry count tracking for raw content processing.
    • Introduced graceful timeout handling for chromedp page captures.
    • Enhanced per-worker chromedp request isolation for improved concurrency.
    • Added semantic validation support for LLM-generated CSS selectors.
  • Documentation

    • Cleaned up internal code comments and documentation references.

코드베이스 전반의 주석에서 git log / PR 본문에 속하는 단순 이슈/PR 참조를 일괄 제거.
주석에는 WHY (race window / hidden invariant / non-obvious fallback) 만 남기고, 변경
이력 / reviewer 피드백 메타데이터는 제거.

처리 패턴:
  - " (이슈 #N)" / " (이슈 #N 단계 K)" / " (이슈 #N 후속)" 류 끝부분 단순 참조 — 삭제
  - "// 이슈 #N: <WHY>" / "// PR #N <reviewer>: <WHY>" 시작부 — "// <WHY>" 로 단순화
  - "// PR #N <reviewer> 피드백 — <WHY>" — "// <WHY>" 만 보존
  - "이슈 #N 의 / 이후 / 에서" 본문 mid-clause — 조사 정리 후 본문만 보존
  - "본 PR scope" 자기 참조 — "현재 구현" 등 시점 중립 표현으로 교체

검증:
  - 593 → 0 매칭 (이슈 #N / PR #N 참조)
  - 본 PR 자기 참조 0건
  - go build / go test -race 통과
  - go vet 통과
  - gofmt 적용

scope:
  - internal/ 전체
  - pkg/ 전체
  - cmd/ 전체
  - test/ 제외 (검증 의도 명시 주석 보존 우선)

본 PR 은 단순 메타데이터 정리 — 기능적 변경 0. Docstring 정합성 (식별자명 첫 단어 등) 추가
보강은 후속 sub-issue 권장.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 7, 2026 11:26
@juhy0987 juhy0987 added the refactor Code refactoring label May 7, 2026
@coderabbitai

coderabbitai Bot commented May 7, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Rate limit exceeded

@juhy0987 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 41 minutes and 9 seconds before requesting another review.

To continue reviewing without waiting, purchase usage credits in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e0a76073-41b8-4296-bc72-0c1fdf6ec138

📥 Commits

Reviewing files that changed from the base of the PR and between aa319b3 and 577982f.

📒 Files selected for processing (6)
  • internal/processor/fetcher/rule/upgrader.go
  • internal/processor/fetcher/worker/pool.go
  • internal/processor/fetcher/worker/retry_scheduler.go
  • internal/processor/parser/rule/pathinfer/pathinfer.go
  • internal/processor/parser/worker/parser_worker.go
  • internal/scheduler/emitter.go
📝 Walkthrough

Walkthrough

Monorepo refactor updates comments/docs and rewires startup. Adds resolver caches, retry schedulers (immediate/delayed), chromedp graceful capture/status checks, publisher/scheduler pipeline guard, SampleURL repository, blacklist normalization, parser worker blacklist handling, plus minor API surface tweaks.

Changes

End-to-end pipeline refactor with targeted functional updates

Layer / File(s) Summary
Contracts & Storage
internal/storage/..., internal/publisher/publisher.go
Adds ErrInvalid, lowercases blacklist host, introduces SampleURLRepository, updates Postgres repos/services, and exposes publisher guard/ingestion interfaces.
Fetcher Domain & Impl
internal/processor/fetcher/...
Chromedp graceful capture and status check, worker_id-based chain/semaphore selection, pool/circuit-breaker docs.
Parser & LLMGen
internal/processor/parser/...
Parser struct/init docs, blacklist matcher docs, claudegen mounts, llmgen adds extractor/validator hooks, refiner wiring, parser worker gains optional blacklist/guard.
Retry Scheduling
internal/processor/fetcher/worker/retry_scheduler.go
Defines RetryScheduler; implements Kafka immediate retry and Redis delayed retry with peek–publish–ack.
Publisher & Scheduler
internal/publisher/*, internal/scheduler/*
Guard-aware emit/publish with skip semantics and best-effort release; scheduler integrates optional guard.
Validation Stage
internal/processor/validate/*
Comments clarified; behavior unchanged: quality_low explicitly recorded; lock usage documented.
Configs & LLM wiring
pkg/config/*, pkg/llm/*, pkg/metrics/*, pkg/queue/*, pkg/urlguard/*
Comment/doc refresh; fixed-order LLM chain helpers and provider registration notes.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested labels

refactor

Poem

I tidied the burrows of comment and code,
Cached rules in my satchel for a lighter load.
When links are in-flight, the guard says “wait,”
Retries queue softly, deciding their fate.
With chromedp’s glow and samples to stow—
Approvingly thump, and off I go. 🐇

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/#301/comments-cleanup

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request primarily focuses on cleaning up code comments by removing redundant issue references (e.g., '이슈 #123') across various files in the codebase. The changes improve the clarity and conciseness of the documentation. I have identified three specific instances where the removal of these references left behind dangling punctuation or empty comment lines that should be cleaned up to maintain code quality.

Comment thread internal/processor/fetcher/worker/pool.go Outdated
Comment thread internal/processor/parser/rule/pathinfer/pathinfer.go Outdated
Comment thread internal/processor/parser/worker/parser_worker.go Outdated
이슈 참조 sed 처리 후 잔존한 5건의 sed artifact 정리:

- retry_scheduler.go:24 / pathinfer.go:135 / parser_worker.go:832 / emitter.go:119:
  마침표 단독 주석 라인 (`//.` 또는 `// .`) 4건 → 통째 삭제
- pool.go:236: `// . 본문` 형태 1건 → `// 본문` (마침표+공백만 제거, 본문 보존)

gemini 3건 피드백 반영. 본문 의미 손상 없이 가독성 회복.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
internal/processor/fetcher/worker/chromedp_handler.go (1)

23-31: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Residual issue references contradict the PR objective claim of "593 → 0".

PR objectives state all issue/PR references and reviewer-feedback metadata were removed (이슈/PR 참조 라인 593 → 0), but several remain in this file and across the diff:

  • This file, line 30: 다음 sub-issue #230 에서 worker_id 별 Chrome RemoteURL 까지 매핑하면 ...
  • This file, line 23: per-worker Semaphore 모델 + 실효 동시성 정정 (gemini 피드백)
  • internal/processor/fetcher/domain/general/chain_handler.go line 61: sub-issue #229 머지 직후 시점
  • cmd/issuetracker/main.go line 302: 다음 sub-issue (#230) 에서 worker_id 별 RemoteURL 까지 매핑하면 ...

If these are intentionally retained (because they encode WHY/future-context the author wants to keep), please reconcile the PR description statistics; otherwise drop the issue numbers and reviewer-attribution suffixes per the stated cleanup policy. The technical content is fine to keep — only the metadata (#229, #230, (gemini 피드백), (CodeRabbit 피드백), (Copilot 피드백)) should be stripped or rephrased as neutral WHY notes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@internal/processor/fetcher/worker/chromedp_handler.go` around lines 23 - 31,
Remove residual issue/PR references and reviewer-attribution tokens from the
comment blocks that contradict the PR claim (e.g., the Semaphore comment
containing "gemini 피드백" and "sub-issue `#230`" and any nearby "sub-issue `#229`" or
reviewer tags); replace them with neutral explanatory notes about intent (e.g.,
"future work: map worker_id to Chrome RemoteURL" or "feedback: adjust per-worker
semaphore semantics") or delete the metadata entirely so the comment only
conveys technical rationale. Update the comments in chromedp_handler.go (the
per-worker Semaphore block) and the other referenced comment locations to strip
any "#<number>" markers and parenthesized reviewer names, ensuring the content
remains clear but contains no issue/PR or reviewer identifiers.
🧹 Nitpick comments (1)
internal/processor/parser/rule/pathinfer/llm.go (1)

37-37: 💤 Low value

Consider removing the refactoring suggestion or converting to a TODO.

The comment "그곳으로 이전 가능" (can be moved there) describes a potential future refactoring rather than explaining WHY the constant is currently at package level. Per the PR objective of removing metadata and preserving only WHY comments, this note could be removed. If the relocation is genuinely tracked work, convert it to a TODO with a username or issue reference; otherwise, delete the sentence.

♻️ Proposed simplification
-// pathinfer 패키지 안 inline 상수. 그곳으로 이전 가능.
+// pathinfer 패키지 안 inline 상수.

Or, if actionable:

-// pathinfer 패키지 안 inline 상수. 그곳으로 이전 가능.
+// TODO(juhy0987): pathinfer 패키지 안 inline 상수로 이전 검토
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@internal/processor/parser/rule/pathinfer/llm.go` at line 37, In llm.go inside
the pathinfer package remove the ephemeral refactor note that reads "그곳으로 이전 가능"
(or replace that single sentence with a TODO that references an owner or issue,
e.g., TODO(`@username`|#issue) if this move is tracked); keep the explanatory WHY
comment only and do not introduce extra metadata or rationale lines.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@internal/processor/fetcher/core/models.go`:
- Line 123: The PR added a new field LLMRetryCount on RawContentRef /
TopicFetched (LLMRetryCount int `json:"llm_retry_count,omitempty"`) which is a
schema/data-contract change; decide whether to keep it here or remove it: if
this PR must remain comments-only, remove the LLMRetryCount field from
RawContentRef/TopicFetched and any usage in requeue logic/tests, and create a
follow-up PR that documents and adds the field with migration notes; otherwise,
mark this PR as a schema change, add a short PR description documenting the new
field and its purpose (llm_retry_count used by requeue logic), and ensure tests
and consumers are updated accordingly.

In `@internal/processor/fetcher/rule/upgrader.go`:
- Around line 291-294: The GoDoc above hostnameOf incorrectly includes text
about newRepublishJobID; remove or move the stale newRepublishJobID description
so the comment block only documents hostnameOf (its parameters, behavior on
parse failure, and return value). Ensure newRepublishJobID retains its own GoDoc
(as already present at its definition) and that hostnameOf's GoDoc starts with a
clear one-line summary for hostnameOf followed by the brief details about
fallback behavior.

In `@internal/processor/fetcher/worker/pool.go`:
- Around line 235-238: The comment about worker goroutines is split incorrectly
with a leading period at the start of the next line; merge the broken sentence
so the period is at the end of the previous line and remove the stray leading
"." at the start of the following line—update the comment that references
"worker goroutine", "worker_id", "JobHandler" and "ChromedpJobHandler" so it
reads as one continuous sentence (preserving the existing wording about
per-worker resources, priority pools, and consistent wiring).

In `@internal/processor/parser/worker/parser_worker.go`:
- Around line 831-833: Remove the stray comment line containing just "//." near
the LLMRetryCount comment and the ref creation; either merge that period back
into the preceding comment about LLMRetryCount/serialization or delete the
orphaned comment so the block around item.RawRef and the comment describing
serialization (referencing ref := item.RawRef and LLMRetryCount) is clean and
grammatically correct.

In `@internal/scheduler/emitter.go`:
- Around line 117-120: Remove the stray orphan comment line containing only
"//." in emitter.go inside the error handling after e.producer.Publish; either
delete that line or fold the period into the preceding comment that documents
releaseGuardOnFailure so the comment reads naturally; ensure the block around
e.producer.Publish(ctx, msg) and the call to e.releaseGuardOnFailure(ctx,
guardURL, guardAcquired, job) has a single coherent comment (no standalone
"//.") to avoid leftover artifacts.

---

Outside diff comments:
In `@internal/processor/fetcher/worker/chromedp_handler.go`:
- Around line 23-31: Remove residual issue/PR references and
reviewer-attribution tokens from the comment blocks that contradict the PR claim
(e.g., the Semaphore comment containing "gemini 피드백" and "sub-issue `#230`" and
any nearby "sub-issue `#229`" or reviewer tags); replace them with neutral
explanatory notes about intent (e.g., "future work: map worker_id to Chrome
RemoteURL" or "feedback: adjust per-worker semaphore semantics") or delete the
metadata entirely so the comment only conveys technical rationale. Update the
comments in chromedp_handler.go (the per-worker Semaphore block) and the other
referenced comment locations to strip any "#<number>" markers and parenthesized
reviewer names, ensuring the content remains clear but contains no issue/PR or
reviewer identifiers.

---

Nitpick comments:
In `@internal/processor/parser/rule/pathinfer/llm.go`:
- Line 37: In llm.go inside the pathinfer package remove the ephemeral refactor
note that reads "그곳으로 이전 가능" (or replace that single sentence with a TODO that
references an owner or issue, e.g., TODO(`@username`|#issue) if this move is
tracked); keep the explanatory WHY comment only and do not introduce extra
metadata or rationale lines.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 66a5ce1e-8089-4359-8395-7e68c96c8e53

📥 Commits

Reviewing files that changed from the base of the PR and between 8d3b40b and aa319b3.

📒 Files selected for processing (110)
  • cmd/issuetracker/main.go
  • cmd/processor/main.go
  • cmd/rule-validator/main.go
  • internal/locks/ingestion_lock.go
  • internal/locks/pipeline_guard.go
  • internal/locks/processing_lock.go
  • internal/processor/fetcher/core/http2_metrics.go
  • internal/processor/fetcher/core/http_client.go
  • internal/processor/fetcher/core/http_status.go
  • internal/processor/fetcher/core/models.go
  • internal/processor/fetcher/core/worker_id.go
  • internal/processor/fetcher/domain/general/chain_handler.go
  • internal/processor/fetcher/domain/general/handler.go
  • internal/processor/fetcher/domain/general/sources/registry.go
  • internal/processor/fetcher/domain/general/types.go
  • internal/processor/fetcher/handler/handler.go
  • internal/processor/fetcher/implementation/chromedp/fetch.go
  • internal/processor/fetcher/implementation/chromedp/graceful_timeout.go
  • internal/processor/fetcher/implementation/chromedp/parse.go
  • internal/processor/fetcher/implementation/chromedp/types.go
  • internal/processor/fetcher/implementation/goquery/fetch.go
  • internal/processor/fetcher/implementation/goquery/parse.go
  • internal/processor/fetcher/rule/counter.go
  • internal/processor/fetcher/rule/downgrader.go
  • internal/processor/fetcher/rule/force_fetcher_token.go
  • internal/processor/fetcher/rule/raw_id_tracker.go
  • internal/processor/fetcher/rule/resolver.go
  • internal/processor/fetcher/rule/upgrader.go
  • internal/processor/fetcher/stage.go
  • internal/processor/fetcher/worker/chromedp_handler.go
  • internal/processor/fetcher/worker/circuit_breaker.go
  • internal/processor/fetcher/worker/manager.go
  • internal/processor/fetcher/worker/pool.go
  • internal/processor/fetcher/worker/retry_scheduler.go
  • internal/processor/fetcher/worker/semaphore.go
  • internal/processor/parser/parser.go
  • internal/processor/parser/rule/blacklist_matcher.go
  • internal/processor/parser/rule/claudegen/container.go
  • internal/processor/parser/rule/claudegen/worker.go
  • internal/processor/parser/rule/discovery.go
  • internal/processor/parser/rule/invalidating_repo.go
  • internal/processor/parser/rule/llmgen/confidence.go
  • internal/processor/parser/rule/llmgen/dedup.go
  • internal/processor/parser/rule/llmgen/generator.go
  • internal/processor/parser/rule/llmgen/pending.go
  • internal/processor/parser/rule/llmgen/prompt.go
  • internal/processor/parser/rule/llmgen/stale_counter.go
  • internal/processor/parser/rule/llmgen/wiring/wiring.go
  • internal/processor/parser/rule/parser.go
  • internal/processor/parser/rule/pathinfer/llm.go
  • internal/processor/parser/rule/pathinfer/pathinfer.go
  • internal/processor/parser/rule/refiner/llm_adapter.go
  • internal/processor/parser/rule/refiner/metrics.go
  • internal/processor/parser/rule/refiner/refiner.go
  • internal/processor/parser/rule/refiner/wiring/wiring.go
  • internal/processor/parser/rule/resolver.go
  • internal/processor/parser/rule/seeded.go
  • internal/processor/parser/rule/validator/adapter.go
  • internal/processor/parser/rule/validator/llm_validator.go
  • internal/processor/parser/rule/validator/pool.go
  • internal/processor/parser/rule/validator/validator.go
  • internal/processor/parser/stage/stage.go
  • internal/processor/parser/worker/cleanup.go
  • internal/processor/parser/worker/parser_worker.go
  • internal/processor/processor.go
  • internal/processor/validate/community/validator.go
  • internal/processor/validate/news/validator.go
  • internal/processor/validate/stage.go
  • internal/processor/validate/types/types.go
  • internal/processor/validate/validator.go
  • internal/processor/validate/worker.go
  • internal/publisher/publisher.go
  • internal/scheduler/emitter.go
  • internal/scheduler/entries.go
  • internal/scheduler/scheduler.go
  • internal/scheduler/source.go
  • internal/storage/blacklist.go
  • internal/storage/content.go
  • internal/storage/errors.go
  • internal/storage/fetcher_rule.go
  • internal/storage/parsing_rule.go
  • internal/storage/postgres/blacklist.go
  • internal/storage/postgres/content.go
  • internal/storage/postgres/fetcher_rule.go
  • internal/storage/postgres/parsing_rule.go
  • internal/storage/postgres/sample_url.go
  • internal/storage/sample_url.go
  • internal/storage/service/content.go
  • internal/storage/service/raw_content.go
  • internal/storage/validation_status.go
  • pkg/config/config.go
  • pkg/llm/capabilities.go
  • pkg/llm/chain/chain.go
  • pkg/llm/chain/policy.go
  • pkg/llm/llm.go
  • pkg/llm/measured.go
  • pkg/llm/policy/fixed.go
  • pkg/llm/policy/hybrid.go
  • pkg/llm/policy/latency.go
  • pkg/llm/policy/policy.go
  • pkg/llm/prompt/prompt.go
  • pkg/llm/providers/anthropic/anthropic.go
  • pkg/llm/providers/gemini/gemini.go
  • pkg/llm/providers/openai/openai.go
  • pkg/llm/providers/providers.go
  • pkg/llm/wiring/wiring.go
  • pkg/metrics/metrics.go
  • pkg/queue/config.go
  • pkg/urlguard/gate.go
  • pkg/urlguard/pattern.go

Comment thread internal/processor/fetcher/core/models.go
Comment thread internal/processor/fetcher/rule/upgrader.go Outdated
Comment thread internal/processor/fetcher/worker/pool.go
Comment thread internal/processor/parser/worker/parser_worker.go
Comment thread internal/scheduler/emitter.go
CodeRabbit Minor: hostnameOf 위에 newRepublishJobID 의 stale 첫 줄이 잔존하여 godoc 이
잘못된 함수 설명을 hostnameOf 에 attach. newRepublishJobID 는 본인의 godoc 을 별도로 보유.

Stale 라인 1줄 삭제. CodeRabbit 의 다른 3건 sed artifact 지적 (pool.go / parser_worker.go /
emitter.go) 은 직전 commit b09b3cd 에서 이미 fix 됨.

CodeRabbit 의 Minor #1 (RawContentRef schema 호환성 verify-only) 은 코드 변경 요구 아님 —
LLMRetryCount 는 omitempty + Go json decoder 가 unknown 필드 ignore — 호환성 OK.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor Code refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REFACTOR] 코드 주석 / GoDoc 정리 — 단순 이슈 참조 제거 + 필수 WHY 보존

2 participants