Communitygithub.com

maskshell/solidforge - 선행 기술 탐색

AI 코딩 에이전트를 위한 루프 엔지니어링 시스템으로, 하나의 Claude Code 플러그인으로 제공됩니다. 수렴 → 명세 → 구현: 이중 링 수렴 게이트를 통한 병렬 TDD 개발, 적대적 교차 소스 리뷰, 출처 기반 인용 검증, 선행 기술 충돌 탐색 — 모든 게이트에서 정직한 커버리지를 제공하며, 절대 조용한 통과(green)를 허용하지 않습니다.

solidforge - 선행 기술 탐색란 무엇인가요?

선행 기술 탐색(prior-art-search)은 AI 에이전트가 문서 형태의 산출물(설계 논문, 연구 문서, 사양서)에 대해 새로운 주장(novelty claim)과 기존 문헌 간의 충돌을 검색 기반으로 탐지하는 읽기 전용 기술입니다. 이 기술은 교차 소스 리뷰(cross-source-review)가 프로세스 축에서 문서를 수렴하지만 선행 기술을 검색하지 않고, 출처 검증(primary-source-verification)이 인용된 출처만 가져오며 인용되지 않은 선행 기술을 추적하지 않으며, 연구자(researcher)가 작성을 위해 전방향으로 자료를 수집하는 것과 달리, 문서가 과도하게 새로운 주장을 하는지(overclaim novelty) 확인합니다. 각 새로운 주장에 대해 arXiv, 웹, 공개 저장소를 검색하여 충돌(collision), 인용되지 않은 관련 자료(uncited-relevant), 검색 범위 내 미발견(clear-under-search), 또는 불확실(inconclusive) 중 하나의 결과를 할당하고, 정직한 커버리지 공개(collisions_under_known_coverage)를 제공합니다. 이 기술은 절대 'novel_confirmed'를 출력하지 않으며, 인간 검토가 필요한 경우를 명확히 식별합니다. Claude Code, Cursor, Codex 등 AI 코딩 에이전트와 함께 사용할 수 있습니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add maskshell/solidforge

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서


name: prior-art-search description: 선행 기술 탐색 — 읽기 전용, 검색 기반, 새로운 주장별 충돌 탐지기로, 문서의 새로운 주장을 선행 기술 코퍼스에서 SEARCH(검색)하여 선행 기술 충돌(충돌 / 인용되지 않은 관련 자료 / 검색 범위 내 미발견 / 불확실)을 판정하고, 정직한 커버리지 공개(collisions_under_known_coverage)를 제공합니다. 문서의 새로운 주장(NOVELTY)이 선행 기술과 충돌하는지 확인해야 할 때 사용하십시오 — "이 논문이 새로운 주장을 과도하게 하는가?", "이 프레이밍이 이미 문헌에 존재하는가?"와 같은 경우입니다. 주장별 충돌 패킷 + 충돌 기록을 생성하며, 절대 novel_confirmed를 출력하지 않습니다. 코드 리뷰(병렬 개발), 사양 작성(청사진 제작), 문서 프로세스 수렴(교차 소스 리뷰), 인용된 출처 검증(출처 검증 — psv 역방향 인용, 선행 기술 탐색 역방향 미인용), 또는 전방향 연구 수집(청사진 제작 연구자)에는 사용하지 마십시오. 문서의 새로운 주장이 실제로 참(REAL)이거나 중요한지(significant) 판단하지 않습니다(결과 축 — 인간). A 단계: 명시적 호출(/prior-art-search).

새로운 주장 커버리지(Novelty Coverage)

문서 형태 산출물(설계 논문, 연구 문서, 사양서)을 위한 읽기 전용, 검색 기반, 새로운 주장별 충돌 탐지기입니다. 이는 cross-source-review(csr), primary-source-verification(psv), 또는 청사진 제작의 researcher가 도달하지 못하는 OUTCOME(결과) 축의 새로운 주장 표면을 엽니다: csr은 문서의 PROCESS(프로세스) 축을 수렴하지만 선행 기술을 검색하지 않으며, psv는 각 인용된 출처를 가져오지만(역방향, 인용) 인용되지 않은 선행 기술을 추적하지 않으며, researcher는 작성을 위해 전방향으로 출처를 수집합니다(반대 방향). 선행 기술 탐색은 누락된 역방향, 인용되지 않은 선행 기술 충돌 검사입니다 — 각 새로운 주장에 대해 선행 기술 코퍼스를 SEARCH(검색)하고 충돌을 정직하게 보고합니다.

핵심 포지셔닝

검색 기반, 재현 기반이 아님

collision(충돌) / uncited-relevant(인용되지 않은 관련 자료) 발견은 모델 재현이 아니라 발견된 선행 기술의 FETCHED QUOTE(가져온 인용문)를 반드시 인용해야 합니다. 발견된 선행 기술 텍스트의 가져온 인용문으로 근거를 제시할 수 없는 발견은 inconclusive(불확실)로 하향 조정되며, 절대 주장되지 않습니다. 이것은 하중 지지 불변 조건(작업 공간 규칙 3 + L1)이며, 자체 게이트(NC-I5)에 의해 시행됩니다. 발견된 텍스트 자체는 검색 결과에서 모델이 추출한 것입니다 — psv의 가져온 권위 있는 출처보다 약한 오라클입니다(아래 이중 레이어 주의 사항 참조).

주장별 충돌 커버리지, 새로운 주장 판결이 아님

선행 기술 탐색은 절대 novel_confirmed 또는 "문서가 새로운 주장을 함"을 출력하지 않습니다. 유일한 최상위 신호는 collisions_under_known_coverage: M개의 추출된 새로운 주장 중 C는 검색 범위 내 미발견, N은 충돌, U는 인용되지 않은 관련 자료, I는 불확실입니다. I 주장(및 M=0 경우 — 새로운 주장 표면 없음)은 인간에게 ESCALATE(에스컬레이션)됩니다. 이것은 정직한 커버리지 공개이며, 새로운 주장 판결이 아닙니다. 증거 부재의 불가피한 한계: 부정을 증명할 수 없습니다("존재하는 선행 기술이 없음"), 따라서 충돌이 발견되지 않은 문서는 "검색된 코퍼스에서 충돌이 발견되지 않음"이지 "새로운 주장"이 아닙니다. novel_confirmed 불리언으로 순환하는 대칭적인 "새로운 주장 수렴" 기술은 범주 오류입니다 — 이는 커버리지 공개("검색된 코퍼스에서 충돌이 발견되지 않음")를 판결("새로운 주장")로 평탄화합니다. 즉, 증거 부재를 부재의 증거로 취급합니다; 선행 기술 탐색은 명시적으로 그렇지 않습니다. (더 넓은 두 축 프레임 — 프로세스 × 결과 — 은 사양 게이밍 논문 §4.2에 있습니다; 선행 기술 탐색은 전적으로 결과 축에 있으므로 오류는 결과 내부적이며 프로세스/결과 혼동이 아닙니다.)

csr 및 psv에 추가적이며, 단일 파이프라인

선행 기술 탐색은 csr(프로세스 축) 및 psv(인용된 출처 검증)에 ADDITIVE(추가적)이며, 어느 것과도 병합되지 않습니다. csr의 동일 계열 + 다른 계열 다중 라운드 논쟁과 달리, 선행 기술 탐색은 SINGLE PIPELINE(단일 파이프라인)입니다 — 새로운 주장 추출 → 선행 기술 검색 → 주장별 충돌 판결 → 커버리지 공개. 오라클은 검색 가능한 선행 기술 코퍼스이며, 다른 계열 모델이 아니므로 csr의 이기종 하부 구조를 포팅하지 않습니다. psv와 선행 기술 탐색은 구성됩니다: 고위험 문서는 psv(인용된 출처가 정확한가?)와 선행 기술 탐색(찾을 수 있는 선행 기술에 대해 새로운 주장이 충돌 없는가?)을 모두 실행할 수 있습니다. 이들은 병합되지 않습니다.

이중 레이어 오라클 약점, 정직하게 명시됨(작업 공간 규칙 3)

선행 기술 탐색의 오라클은 검색 가능한 선행 기술 코퍼스이며, psv의 가져온 1차 출처보다 두 레이어에서 WEAKER(약합니다)(하중 지지 정직성 주의 사항, 제안서 §3 / ADR §8 Q4):

  1. 비교 측 약점(psv와 공유). 주장-대-선행 기술 비교는 모델에 의해 판단됩니다 — clear-under-search는 모델이 충돌을 찾지 못했음을 의미하며, 존재하지 않는다는 의미가 아닙니다. 이것은 psv의 계층 2 부분 비교 약점입니다.
  2. 선택 측 약점(선행 기술 탐색 고유). 검색 결과는 비교 약점 위에 선택 약점을 추가합니다: 순위 편향, 재현 한계(전체 코퍼스를 검색할 수 없음), 발견된 선행 기술 텍스트 자체는 검색 반환에서 모델이 추출한 것이지 가져온 권위 있는 바이트 범위가 아닙니다.

따라서 선행 기술 탐색은 두 레이어에서 더 약하며, "약한 오라클 대 강한 오라클"이 아닙니다. 이것이 바로 NEVER(절대) novel_confirmed를 출력하지 않고, 최상위 신호가 판결이 아닌 커버리지 진술인 이유입니다. clear-under-search는 "검색된 항목에서 충돌 없음"을 의미하며, "새로운 주장"이 아닙니다. 더 약한 오라클은 인간 검토 없이 새로운 주장 확인의 불가피한 한계입니다.

두 가지 사각지대, 정직하게 명시됨(작업 공간 규칙 3)

선행 기술 탐색 자체의 모델 수행 단계는 숨겨지지 않고 공개된 사각지대를 가지고 있습니다: (1) 새로운 주장 추출은 추출기의 사각지대를 상속합니다 — 작성자나 추출기가 "새로운 주장"으로 식별하지 않은 주장은 M에서 누락됩니다; (2) 주장-대-선행 기술 비교는 모델에 의해 판단됩니다 — clear-under-search는 모델이 충돌을 찾지 못했음을 의미하며, 존재하지 않는다는 의미가 아닙니다. C/N/U/I/M 개수는 추출, 검색 및 비교된 항목에 조건적이며, 완전성 보장이 아닙니다. 다른 계열 추출 다리는 지연된 완화 조치입니다(부분적).

범위

  • 포함: 문서에서 원자적 새로운 주장 추출(각각: 위치 + 검색 대상); 주장별로 선행 기술 코퍼스 검색; 가져온 선행 기술 인용문에 근거한 주장별 충돌 판결(충돌/인용되지 않은 관련 자료/검색 범위 내 미발견/불확실) 발행; 충돌 기록(collisions_under_known_coverage) + 충돌 발견 패킷 발행.
  • 제외: 코드 리뷰(parallel-development); 사양/아키텍처 설계 작성(blueprint-crafting); 문서 프로세스 수렴(cross-source-review); 인용된 출처 검증(primary-source-verification); 연구 수집(blueprint-crafting researcher); 새로운 주장 판결 — 문서의 새로운 주장이 실제로 참(REAL)이거나 중요한지(significant) 판단 — (인간).

범위 가드(진입 시 감지)

  • 산출물이 소스/테스트 코드 → parallel-development로 라우팅.
  • 산출물이 사양, 아키텍처 설계, 반복 계획, 연구 작성/재작성 → blueprint-crafting으로 라우팅.
  • 요청이 "이 문서에 대해 적대적 다중 라운드 리뷰를 수렴으로 진행" → cross-source-review로 라우팅(프로세스 축).
  • 요청이 "이 문서의 인용된 주장이 출처에 대해 유효한가?" → primary-source-verification으로 라우팅(psv = 역방향 인용; 선행 기술 탐색 = 역방향 미인용).
  • 요청이 "이 문서가 새로운 주장을 과도하게 하는가? — 인용하지 않은 선행 기술과 충돌하는가?" → 선행 기술 탐색(이 스킬).
  • 요청이 "이것이 새로운/중요한/올바른 기여인가?" → 결과 축, 인간만.

가드는 소프트입니다(상기시키고 라우팅, 거부하지 않음). A 단계는 명시적 호출(/prior-art-search)에 의존합니다.

빠른 시작

당신은 오케스트레이터입니다. 다리는 읽기 전용이며, 드라이버는 단일 파이프라인을 실행합니다(다중 라운드 논쟁이 아님). 순서대로 실행하십시오.

  1. 프레임 — 산출물 + 새로운 주장 표면을 식별합니다. 핵심 새로운 주장을 열거(하중 지지 "X는 새롭다 / 처음이다 / 선행 기술이 없다" 주장을 충돌 확인). 범위를 선언합니다.

  2. 새로운 주장 추출(NC-I2) — solidforge:novelty-claim-extractor를 생성(새 컨텍스트); 산출물을 읽고 원자적 새로운 주장을 열거하며, 각 주장은 위치 및 검색 대상과 연결됩니다. 원자적 = 주장당 하나의 새로운 주장 명제(복합은 분할). 새로운 주장은 새로운 주장 명제입니다("X는 새로운 프레이밍이다", "Y는 최초로 ...한다", "Z는 선행 기술이 없다"). 사실/인용 주장(psv의 영역 — 확인, 충돌 확인하지 않음) 및 해석적 주장("이것은 중요하다" — 검색으로 판정 불가; 인간에게 에스컬레이션, inadmissible 태그)과 구별합니다. (추출기 사각지대 주의 사항: 양측이 "새로운 주장"으로 식별하지 않은 주장은 M에서 누락됩니다.)

  3. 다중 소스 검색 + 충돌 판결(NC-I3) — 각 새로운 주장에 대해 선행 기술 코퍼스(arXiv, 웹, 공개 저장소)를 검색하여 이미 해당 주장을 한 작업을 찾고, 주장을 발견된 선행 기술과 비교하여 다음 중 하나를 할당합니다:

    • collision(충돌) — 발견된 선행 기술이 이미 이 주장을 함(문서의 새로운 주장이 과장됨); 충돌 소스 인용 + 발견된 선행 기술 텍스트 QUOTE(인용)(심각도 blocker; evidence는 발견된 선행 기술을 반드시 QUOTE해야 함).
    • uncited-relevant(인용되지 않은 관련 자료) — 문서가 인용하지 않은 관련 작업 발견(직접 충돌은 아니지만 커버리지 간격); 발견된 선행 기술 QUOTE(심각도 warning).
    • clear-under-search(검색 범위 내 미발견) — 검색된 코퍼스 내에서 충돌 없음(NOT novel; 충돌이 표면화되지 않았을 뿐). 발견으로 간주되지 않고 개수만 계산.
    • inconclusive(불확실) — 검색이 주장을 커버할 수 없음(유료화된 코퍼스, 모호한 질의, 찾을 수 없는 항목); 인간에게 에스컬레이션(심각도 coverage). 공개 소스(arXiv 초록, 공개 저장소)는 자격 증명 없이 검색됩니다; 웹 검색 API는 별도로 명명된 HTTP 표면을 사용합니다(csr의 _ANTHROPIC_AUTH_TOKEN LLM-토큰 네임스페이스가 아님 — install.md 참조). (비교 사각지대 주의 사항 + 선택 측 약점.)
  4. 커버리지 공개(NC-I4) — collision-record(충돌 기록) 발행: collisions_under_known_coverage = M = C+N+U+I 추출된 새로운 주장 중 C 검색 범위 내 미발견 / N 충돌 / U 인용되지 않은 관련 자료 / I 불확실; 더하기 충돌 발견 패킷(충돌/인용되지 않은 관련 자료/불확실 발견; clear-under-search 주장은 개수만 계산, 나열되지 않음). M=0(추출 가능한 새로운 주장 없음 — 새로운 주장을 하지 않는 문서, 또는 모든 새로운 주장이 해석적) 및 I>0 모두 인간에게 ESCALATE(에스컬레이션). NEVER(절대) novel_confirmed. 가져온 인용문 없이 충돌/인용되지 않은 관련 자료 발견은 inconclusive(불확실)로 하향 조정.

정직한 신호는 커버리지 공개입니다 — 정확히 무엇이 검색되었고 무엇이 충돌했으며, 무엇이 커버될 수 없었는지. 문서가 진정으로 새로운 주장(NOVEL)인지 여부는 인간이 결정합니다.

권위 체인

  • docs/proposal.md = 권위 있는 설계(마스터; CSR 프로세스 축 SUBSTANTIVE-CONVERGED + psv N=9/K=0 검증됨, 2026-07-31).
  • docs/iteration-plan.md = 실행 청사진(A 단계 작업 항목 NC-I0–NC-I6; 충돌 시 proposal.md 승리).
  • docs/design-decisions.md = ADR 로그(명백하지 않은 결정: 절대 novel_confirmed 없음, 단일 파이프라인 논쟁 아님, 거짓 양성 구조적 프록시, 이중 레이어 검색 오라클 약점, psv/researcher와의 관계, 자격 증명 표면).
  • docs/proposal.convergence.md = 제안서의 교차 리뷰 추적.

cross-source-review / primary-source-verification / blueprint-crafting / parallel-development와의 조정

  • cross-source-review는 PROCESS(프로세스) 축 수렴 엔진으로 유지됩니다. 선행 기술 탐색은 ADDITIVE(추가적)이며 비병합적: csr의 substantive_converged는 선행 기술 탐색의 커버리지를 암시하지 않으며, 그 반대도 마찬가지입니다.
  • primary-source-verification은 보완적인 결과 축 다리입니다. psv = 역방향 인용(각 인용된 출처 가져오기); 선행 기술 탐색 = 역방향 미인용(문서가 인용하지 않은 선행 기술 검색). 이들은 구성됩니다(문서는 둘 다 실행 가능); 병합되지 않습니다. 선행 기술 탐색은 psv의 스키마-필드 패턴을 재사용합니다(충돌 발견은 psv의 문서 발견을 확장 — 엄격한 상위 집합) 및 install.md 자격 증명 REASONING(추론) — 코드가 아닌 패턴 복사(작업 공간 규칙 7).
  • blueprint-crafting은 순수하게 유지됩니다(프로세스 축). 그 researcher는 FORWARD(전방향) 수집입니다("X에 대한 출처를 찾아 작성") — 선행 기술 탐색의 역방향 충돌과 반대 방향입니다. 이들은 병합되지 않습니다.
  • parallel-development는 코드 리뷰를 소유합니다. 선행 기술 탐색은 문서 형태이며, 코드 형태가 아닙니다.
  • files_touched 경계: 이 스킬은 prior-art-search/ + 저장소 루트 agents/novelty-claim-extractor.agent.md를 소유합니다(psv의 solidforge:claim-extractor 미러링). csr, psv, bc 또는 pd 핵심 로직을 수정하지 않습니다(선행 기술 탐색은 추가적). 용어(작업 공간 규칙 10): collisions_under_known_coverage는 유일한 최상위 용어입니다; novel_confirmed는 금지된 용어이며 발행된 필드로 절대 나타나지 않습니다.

자체 점검(완료 정의)

성숙도 노트(A 단계 빌드): 아래 모든 자체 게이트는 출하되며 녹색 통과(NC-I0–NC-I6 수렴; docs/iteration-plan.run-record.json이 판결 포함). 라이브 N≥3 도그푸드는 2026-08-01에 3개의 실제 산출물(긴 사양 게이밍 논문 포함)에서 실행됨 — 커버리지 프로필은 dogfood-run-2026-08-01.md에 있음: 가져온 선행 기술을 통해 2개의 인용되지 않은 관련 자료 발견 표면화(사양 게이밍 NC34 ↔ SWE-ABS; psv NC2 ↔ AI-Powered Citation Auditing), 알려진 자체 인증 패러독스 충돌은 arXiv 전용 오라클 하에서 검색 범위 내 미발견으로 반환 — 이중 레이어 약점을 프로덕션에서 입증(제로 충돌 결과는 "검색된 항목에서 충돌 없음"이며 "새로운 주장"이 아님). 오프라인 dogfood.py 게이트는 표준 픽스처만 커버함(네트워크가 없을 때 규칙 1 건너뛰기 경로). 남은 연기: 다른 계열 추출 다리(추출기 사각지대의 부분적 완화). 이름 prior-art-search는 PROPOSED(제안됨)이며, 인간 LOCK(잠금) 대기 중(제안서 §8 Q1).

자체 점검에 실패한 스킬 변경은 완료되지 않습니다(작업 공간 규칙 1). 커밋 전에 실행:

python3 skills/prior-art-search/infra/test/disconnect_check.py        # 구조 + 로딩 체인
python3 skills/prior-art-search/infra/test/plugin_layout.py           # 플러그인 레이아웃

[번역을 위해 잘림]

관련 스킬