실제 제작 소스에서 찾은 질문을 독립 합성 코드로 다시 만들었다. 전체 구현과 실행 예제, 테스트를 함께 공개하며 원래 업체의 프로그램과 자료는 연결하지 않는다.

제목과 자료 성격을 연결하지 않는다

chart는 official·synthetic·unverified를 명시적으로 받는다. 제목을 읽어 공식 자료로 승격하지 않으며 출처 참조, 날짜와 단위를 별도 값으로 남긴다. 공식처럼 들리는 제목도 예시 데이터일 수 있다. 이 함수는 자료가 어떤 성격이라고 선언됐는지 기록할 뿐 기관의 진위를 인증하지 않는다.

scope_card는 발견 내용과 관찰 범위, 아직 성립하지 않은 결론, 다음 확인을 함께 요구한다. 연구 내용을 특정 치료 결과로 확대하는 자동 문구는 없다. 실제 연구와 환자 자료를 넣지 않은 독립 합성 예제이며 일반적인 표현 계약만 다룬다.

같은 파일과 같은 주장을 추적한다

notice_pair는 asset·language·version·statement가 카드와 파일에서 같은지 비교한다. 차이가 있으면 어떤 필드가 다른지 반환한다. 문구가 같다는 것은 실제 이용 권한이 확인됐다는 뜻이 아니다. 저작권 판단을 흉내 내지 않고 표현 일치만 검사한다.

lineage는 이미지 식별자와 출처 메모, 이용 범위 메모를 주장·근거 참조에 연결한다. 고아 참조와 중복 ID, 검토 표시 누락은 거절한다. reviewed는 호출자의 선언이며 사진이 무엇을 입증하는지는 사람이 판단해야 한다. 입력 객체는 복사해 반환한다.

구조화와 전문가 검토는 다른 축이다

review_state는 initial·structured 편집 깊이, 출처 확인 기록과 전문가 검토를 나눈다. 전문가 검토가 recorded면 근거 참조가 필요하다. not_performed인데 검토 근거를 억지로 넣으면 거절한다. 어떤 상태도 publication_authorized를 참으로 바꾸지 않는다.

이는 실제 권한 시스템이 아니라 공개 설명을 위한 상태 계약이다. 원래 편집 사이트의 최종 보강 스크립트와 빌드 순서를 읽고, 문장 구조가 완성됐다는 말이 전문적인 적합성 검토까지 의미하지 않게 만들었다. 최신 콘텐츠의 진위는 이 예제 밖에서 확인해야 한다.

코드와 구현 살펴보기

독립 합성 전체 구현

"""Independent synthetic presentation contracts. No fact or rights certification."""
from copy import deepcopy
from datetime import date

def text(value):
    if not isinstance(value,str) or not value.strip() or len(value)>800: raise ValueError('bounded nonempty text required')
    return value

def chart(title, kind, reference, checked, unit):
    if kind not in ('official','synthetic','unverified'): raise ValueError('explicit provenance required')
    for v in (title,reference,unit): text(v)
    date.fromisoformat(checked)
    return dict(title=title,provenance=kind,reference=reference,checked=checked,unit=unit,caller_declared=True)

def notice_pair(card, file):
    keys={'asset','language','version','statement'}
    for row in (card,file):
        if set(row)!=keys: raise ValueError('explicit notice fields required')
        for v in row.values(): text(v)
    return {'consistent':card==file,'differences':sorted(k for k in keys if card[k]!=file[k]),'rights_certified':False}

def lineage(assets, claims):
    if not isinstance(assets,list) or not isinstance(claims,list): raise ValueError('lists required')
    ids=[text(a['id']) for a in assets]
    if len(set(ids))!=len(ids): raise ValueError('duplicate asset')
    for a in assets:
        if set(a)!={'id','origin','permission_note'}: raise ValueError('asset contract')
        text(a['origin']);text(a['permission_note'])
    seen=set()
    for c in claims:
        if set(c)!={'id','asset','claim','evidence','reviewed'}: raise ValueError('claim contract')
        if text(c['id']) in seen: raise ValueError('duplicate claim')
        seen.add(c['id'])
        if c['asset'] not in ids or c['reviewed'] is not True: raise ValueError('missing asset or caller review')
        text(c['claim']);text(c['evidence'])
    return {'assets':deepcopy(assets),'claims':deepcopy(claims),'automatic_truth_judgment':False}

def review_state(depth, source_check, expert_review, expert_evidence=None):
    if depth not in ('initial','structured') or source_check not in ('not_recorded','recorded') or expert_review not in ('not_performed','recorded'): raise ValueError('unknown status')
    if expert_review=='recorded': text(expert_evidence)
    elif expert_evidence is not None: raise ValueError('inactive evidence')
    return dict(depth=depth,source_check=source_check,expert_review=expert_review,expert_evidence=expert_evidence,publication_authorized=False)

def scope_card(finding, study_scope, not_established, next_check):
    return {k:text(v) for k,v in locals().items()}

검토 표시를 만들어내지 않는다

전문가 검토가 없는데 근거 필드를 채우면 일관성 오류다. 반대로 검토했다고 선언하려면 참조가 필요하다. 이 검사도 참조한 사람이 실제 전문가인지 인증하지는 않는다. 문서 상태가 허용하는 설명과 사실 확인이 요구하는 책임을 서로 다른 항목으로 남긴다.

이 반례는 실행 기록과 테스트로 다시 확인할 수 있다. 다른 업무에 적용할 때는 이름만 바꾸지 말고 입력의 의미와 실패 정책이 같은지 먼저 확인해야 한다. 작은 독립 함수는 운영 프로그램 전체를 대신하지 않는다.

공개 코드와 ZIP은 같은 검토 파일을 사용한다. 실제 업체의 자료를 가져오거나 외부 시스템을 실행하지 않은 상태에서도 핵심 판단을 확인할 수 있도록 만들었다. 새로운 연결을 추가하면 그 연결의 결과는 별도로 기록해야 한다.

직접 확인한 실행과 남겨 둔 경계

소스 폴더와 ZIP을 새로 푼 폴더에서 각각 12개 테스트가 통과했다. 실행 예제의 실제 반환값도 records.json으로 남겼다. 공개 페이지의 코드는 내려받기 구현과 대조할 수 있다. 과거 프로젝트의 완료 보고와 테스트 수치를 이번 실행의 증거로 가져오지 않았다.

아래 선택기는 실제 로컬 실행에서 저장한 결과를 읽는다. Python이나 서버를 브라우저에서 실행하는 기능은 아니다. 이 검수는 실제 브라우저의 렌더링과 물리적 기기 조작을 포함하지 않는다. 실서비스 통합의 결과는 별도 근거로 확인해야 한다.

저장된 실행 기록을 읽는 뷰어입니다. Python이나 서버를 브라우저에서 실행하지 않습니다.

내려받아 적용하기 전에

ZIP에는 전체 코어와 테스트, 실행기, 저장된 결과와 사용 안내가 있다. 라이브 예제는 두 언어 HTML도 포함한다. 수정과 재사용이 가능한 새 합성 코드이며 고객 원본 이미지, 실데이터와 계정 정보는 없다. 실제 프로그램을 실행하는 지시와 외부 전송도 넣지 않았다.

적용할 때는 먼저 단위와 입력 출처, 실패한 경우의 안내를 실제 업무에 맞춰 정해야 한다. 테스트 통과가 모든 입력 사실과 운영 권한을 보장하지는 않는다. 필요한 인증·저장·전송과 화면 검수는 작은 계약 바깥의 일로 남긴다. 나는 재사용할 코드와 함께 어떤 판단을 다시 해야 하는지도 읽을 수 있게 공개한다.

구현·테스트·실행 예제 ZIP 받기
독립 합성 코드, 수정·재사용 가능