브릿지가 다루는 결정
외부 변환 엔진은 자기 파이프라인과 자기 게이트로 소스를 타깃 코드로 바꿉니다. 그 결과가 옳은지는 그 엔진의 책임입니다. Bridge는 그 엔진이 자기 작업에 대해 낸 증거 보고서를 리스펙스 도구로 검사할 수 있게 하는 공개 통로입니다. 리스펙스가 외부 엔진을 실행하거나 그 자리를 대신하지 않습니다.
보고서가 결속하는 증거
vouch.bridge-report/v0 보고서는 다음을 함께 결속합니다.
- 소스 바이트와 타깃 바이트, 그리고 각각의 해시
- 엔진 identity(이름, 버전, 커밋)
- 선언된 route와 capability 식별자
- 엔진이 스스로 선언한 게이트 결과
- 연결된 증거 아티팩트의 해시
- 보고서가 주장하는 범위와 주장하지 않는 범위를 적은 attests/excludes 경계
연결 증거는 해시만 공개하는 hash-only 방식도 허용합니다. 그래서 외부
엔진은 비공개 구현을 드러내지 않고도 공개 검사 표면을 얻습니다.
검사가 증명하는 것
lispex verify-bridge는 보고서의 형태, 정규 바이트, 선언된 경계, 그리고
소비자가 요청한 바이트·컨텍스트 결속을 확인합니다. 통과는 “보고서가 선언한
파일·해시·게이트가 서로 맞는다”는 뜻입니다. 외부 엔진을 다시 실행했다는
뜻도, 타깃 코드가 옳다는 뜻도 아닙니다.
소비자가 바이트를 직접 결속하는 이유
보고서만 검사하면 “어떤 바이트에 대한 보고서인가”는 보고서의 말을 따르게
됩니다. 보존해 둔 실제 바이트를 --source와 --target으로 함께 주면,
보고서가 정확히 그 바이트에 결속되어 있는지 확인합니다. --linked는 연결
증거 파일을, --expect-context는 기대한 profile·subject·route 컨텍스트를
담은 vouch.bridge-context-manifest/v0 매니페스트를 같은 방식으로
검사합니다. 이 옵션들은 소비자를 신뢰 권위로 만들지 않습니다. “내가 보려던
그 보고서가 맞는가”에만 답합니다.
보고서 검사하기
외부 엔진은 따로 실행합니다. 소스와 타깃 바이트를 보존한 다음, 보고서와
제공한 아티팩트에 lispex verify-bridge를 실행하세요.
lispex verify-bridge \
--source source.lspx \
--target translated.output \
bridge-report.json종료 0은 구조·경계·요청한 결속 검사를 모두 통과했다는 뜻입니다. 종료 1은
보고서를 읽었지만 스키마·해시·경계·정규 바이트·컨텍스트 검사 가운데 하나가
실패했다는 뜻이고, 이때도 stdout에는 vouch.bridge-verify-report/v0 검사
보고서가 남습니다. 종료 2는 사용법·입출력·JSON 파싱 실패입니다.
네이티브 증거로 승격되지 않습니다
Bridge 보고서(vouch.bridge-report/v0)와 네이티브 차등
영수증(csk.differential-receipt/v0)은 서로 다른 아티팩트 클래스이고, 검증
진입점도 lispex verify-bridge와 lispex verify로 다릅니다. 유효한 Bridge
보고서는 네이티브 증거가 아닙니다. 태그를 바꾸거나 네이티브처럼 보이는
필드를 더해도 외부 증거가 네이티브 실행 일치로 승격되지 않습니다.
검사기가 하지 않는 것
검사기는 외부 엔진을 실행하지 않고, 비공개 구현을 들여다보지 않으며, 타깃 코드의 옳음이나 의미적 동등성을 세우지 않습니다. 발행자 신원 결속, 서명 시각, 부인 방지도 Bridge 보고서의 범위 밖입니다.
다음으로
바우치 개요를 곁에 두세요. 인증, 요청 결속, 현재 실행 일치, 로컬 grant는 서로 다른 단계입니다.