사양은 커널을 470줄로 추정했으나 실제 구현은 1,132줄이다. 그래서 레포
순증감이 -223에서 약 +439로 뒤집힌다. 이 작업은 줄 수를 줄이지 않는다.
근거는 상태기계 4개가 1개가 되는 것 하나뿐이라는 점을 명시하고, 이행을
멈추면 쓰이지 않는 커널이 남아 최악이라는 점도 적는다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
telemetry가 platform/bounded-capacity.ts의 assertBoundedCapacity를 다시
내보내고 있었다. 같은 파일이 이미 그 심볼을 직접 import해서 쓰고 있고 이
재수출의 소비자는 없었다. 남겨두면 커널로 가는 두 번째 문이 되고, 어댑터가
어댑터를 통해 커널에 닿는 경로를 정당화하게 된다.
같이 담긴 IndexedDB 커널 이행 계획은 커널 -> CP -> MT -> OP -> RT 순서와
각 사본의 동작 변화 지점을 줄 번호로 특정한다. LOC 절감은 -223으로 작고,
이 작업의 근거는 줄 수가 아니라 트랜잭션 상태기계를 4개에서 1개로 만드는
것이라는 점을 명시했다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
계획과 달랐던 2건(워커 realm tsconfig 제외, spec 정규식이 unsafe로 거부됨)과
측정 결과(번들 영향 0바이트, 회귀 검사 12->14)를 남긴다. 이 샌드박스에서
판정 불가한 게이트 3종과 그 이유도 적는다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
모듈별 구조 리뷰에서 나온 두 설계를 spec으로 남기고, 그중 배럴 경계
작업의 실행 계획을 쓴다. 배럴 규칙은 실제 import 그래프에 돌려 위반
15건이 치환 대상 15줄과 일치함을 확인했고, 재수출할 심볼 82개는 실제
export와 대조했다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Install the REST auth profile registry once at composition and make it the
single transport authority for V3. Contract composition now rejects an
unregistered authProfileId, so the executor never resolves a profile at
runtime.
The credential collaborator contributes proof headers only: Fetch credentials
come from the resolved profile, transport-owned and forbidden headers are
rejected, headers outside the profile's allowed set are rejected, and a missing
required header fails closed as AUTH_INTEGRATION_FAILURE with zero fetch calls.
The final invariant re-proves credentials mode and the exact header sets.
Demo mode satisfies the strict bearer profile with a fixed non-secret marker
instead of weakening REFERENCE_EXTERNAL_BEARER. Credential owners now receive
the operation lifetime through AuthOperationContext.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>