✔ 장부 형식 — version 1·단계 6·투영 및 제어 표 23 (1.9863ms) ✔ ① 현재 작성자 = schema.sql 실제 작성 함수·열 (드리프트 없음) (221.1451ms) ✔ ② 표마다 목표 작성자 하나, 작성자 정의가 그 표를 소유한다 (0.9524ms) ✔ ③ 논리 키·제외 열은 실제 열이고 겹치지 않으며 사유가 정의돼 있다 (22.1255ms) ✔ ④ 동적 발행은 닫힌 19개 출력에만 등재되며 실제 SQL 도달 범위와 같다 (23.0897ms) ✔ 동적 작성자 해석은 public 발행만 잡고 temp 계산은 제외하며 미등록 출력은 거부한다 (1.3968ms) ✔ ⑤ refresh_* 함수가 쓰는 user_* 표는 전부 장부에 있다 (37.6773ms) ✔ ⑥ 단계 순서 — 표의 단계와 목표 작성자의 단계가 DAG 를 거스르지 않는다 (0.7492ms) ✔ parseCreateTable reads columns, NOT NULL, defaults, generated columns and inline constraints (2.5541ms) ✔ parseConstraint reads PK, UNIQUE, FK with delete rule and CHECK NOT VALID (0.7843ms) ✔ parseIndex reads uniqueness, columns without direction, INCLUDE and WHERE (0.6477ms) ✔ parsePolicy and parseTrigger read command, roles, expressions and trigger function (0.6279ms) ✔ writesOf finds insert/update/delete/truncate targets and ignores strings and comments (0.7551ms) ✔ db-objects.json is current, every table/view has a valid policy (466.3355ms) ✔ ledger totals match what schema.sql declares (index, FK, policy and trigger statements) (5.9692ms) ✔ isolated publisher remains visible as a dynamic writer of all 19 public outputs (398.7506ms) ✔ generation is deterministic (765.7266ms) ✔ check reports objects-stale when schema.sql changes (363.7897ms) ✔ check reports a new index in schema.sql as stale objects (348.8282ms) ✔ check reports policy-missing for a table without a policy and policy-stale for a policy without a table (315.5289ms) ✔ check reports policy-invalid for bad verdict, missing evidence on 검증, missing handoff on 인계 (350.4247ms) ✔ --strict rejects remaining 확인 필요 verdicts and 나열 statuses (341.6263ms) ✔ findings ratchet: duplicate indexes are never accepted, unlisted FK/prefix findings fail, stale accepted entries fail (0.3545ms) ✔ the current schema has zero duplicate/prefix index findings and every FK-without-index finding carries a reason (342.1435ms) ✔ an FK is covered by a partial index whose predicate is exactly '(column IS NOT NULL)', and a composite FK by an index leading with one of its columns (0.5605ms) ✔ R04 recovered failures remain visible and are not included in successful latency percentiles (1.2186ms) ✔ R04 missing recovery data, outstanding generations and no timing samples cannot become measured zero (0.9155ms) ℹ tests 27 ℹ suites 0 ℹ pass 27 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 3910.1807