| FL1 |
PromptCore (Layer 1) — leaked prompt를 전문 포함 없이 "inspired-by" 패턴으로 요약·구조 추출, sgup/ai Fable5.md + value-for-fable 8섹션을 병합해 버전 관리(V2/V3…). |
core/ 산출물 존재 + license_gate.sh PASS(전문 미포함) + 버전 디렉토리/파일 존재 |
| FL2 |
ProcedureHarness (Layer 2) — fablize의 실증 전이 4절차: verification grounding(산출물 실행·관찰 후 완료), multi-story completion + evidence gate(근거 없는 "done" 거부), systematic investigation(재현→가설경쟁→인과사슬), early-stop 방지 hook. 2-pass review(옵션). |
절차별 산출물/hook 파일 4종 존재 + early-stop hook 셀프테스트 |
| FL3 |
ValueOptimizer (Layer 3) — VFF v2 output-style 적용, COST optimizer(작업유형별 모델 라우팅), drift prevention, passive mode(항상 ON). 압축 규칙은 품질 부채이므로 도입 금지(value-for-fable v2 교훈). |
output-style 파일 존재 + COST 라우팅 규칙 문서 + grep "압축/compress" 강제 규칙 부재 |
| FL4 |
SkillPack & Router (Layer 4) — supergoal(자율 빌드)·context-handoff(세션 재개)·skill-fable·Cheswick optimizer 통합 인터페이스 + Smart Model Router(Sonnet 기본→복잡 작업 Opus 자동 전환, 라우팅 기준 문서화). |
통합 매니페스트 + 라우터 규칙 파일 존재 |
| FL5 |
배포 3형태 — (a) Claude Code Plugin(.claude-plugin/marketplace.json+plugin.json 유효 JSON), (b) CLI(fablelayer init/upgrade <model>/benchmark 서브커맨드), (c) Local LLM Adapter(Ollama/LM Studio/SillyTavern config 생성기). |
3형태 산출물 존재 + plugin.json python -m json.tool 통과 + CLI usage 출력 |
| FL6 |
재현 가능 Benchmark Suite — bench/RESULTS.md + 원자료(raw.json 등) + 재현 스크립트 + 중립 채점표·독립 심판 ≥2 방법론 + ## 한계/## Limitations 섹션 필수. |
bench_integrity_gate.sh PASS |
| FL7 |
라이선스/법적 (HARD) — leaked prompt 전문 미포함, 모든 소스 ATTRIBUTION.md에 기재(라이선스 상태 정직 표기: MIT/불명확 구분), LICENSE(AGPL-3.0)+NOTICE 존재. |
license_gate.sh exit 2 차단 + ATTRIBUTION/LICENSE/NOTICE 존재 |
| FL8 |
Fallback-Zero — FableLayer가 생성하는 프롬프트/에이전트 산출물은 Opus fallback 유발 패턴이 없어야 한다. 기존 ~/fable-forge/gates/fable_lint.sh를 의존성으로 재사용(중복 구현 금지). |
verify_fablelayer.sh가 fable_lint 호출 + 생성물 lint exit 0 |
| FL9 |
성능 주장 정직성 (HARD) — "85%/90% similarity", "87점", "65% 절감" 등 수치 주장이 bench/ 실측 참조([bench/...] 링크) 없이 README/문서에 단언되면 차단. capability(전이불가) vs procedure(전이) 구분을 README에 명시. |
perf_claim_gate.sh exit 2 + grep capability/procedure 구분 문구 |
| FL10 |
한국어·영어 완벽 — README.md(영어) + README.ko.md(한국어) 동시 유지. |
두 파일 존재 + 비어있지 않음 |
| FL11 |
RUN_MANIFEST — 매 실행 runs/<run_id>/RUN_MANIFEST.json에 mode/입력/phase/게이트 결과 기록. phase는 canonical enum(0-context/1-spec/2-build/3-gates/4-bench/5-report)만. resume/status 지원. |
매니페스트 생성 + completeness_gate.sh phase enum 검사 |
| FL12 |
FAILURE_LOG — 발견 결함이 FAILURE_LOG.md에 누적, 재발 패턴은 게이트 룰로 승격(경로 명시). |
파일 존재 + 승격 경로 문구 |
| FL13 |
완전성 게이트 (fail-closed) — 매 실행 마지막에 모드별 필수 산출물 존재 검증, 누락 시 exit 3. |
completeness_gate.sh 존재 + 셀프테스트(pass→0, fail→3) |
| FL14 |
부가 기능 범위 관리 — Web Dashboard / Community Marketplace / LoRA는 MVP 범위 밖. ROADMAP.md에 Phase별 명시적 defer. 미구현을 "구현됨"으로 보고 금지. |
ROADMAP.md에 Phase 0/1/2 구분 + defer 항목 명시 |
| FL15 |
안전·승인 경계 (HARD-by-policy) — GitHub repo 생성, push, /plugin marketplace 공개 등록, PR 자동 merge는 사용자 명시 승인 게이트 뒤에서만. submodule/fork 연결도 승인 후. |
파이프라인 SKILL.md에 승인 게이트 단계 명시 + 기본 동작은 로컬 산출물만 |
| FL16 |
건전성 ≥90 — 하네스 자체가 harness-soundness 루브릭 ≥90 / verdict sound. |
harness-soundness-auditor 채점 결과 |
| FL17 |
preflight 단독점유 (HARD) — 빌드 시작 전 루트가 타 프로젝트/에이전트 작업물인지 검사, 충돌 시 exit 4. FLOG-001(병렬 빌드 머지 오염) 재발 방지. |
preflight_gate.sh 셀프테스트(pass→0, foreign→4) |
| FL18 |
render/실행 충실도 (HARD) — plugin/marketplace JSON 유효성, CLI usage exit 0, README의 bench/ 링크 실재 검증, 위반 시 exit 2. |
render_gate.sh 셀프테스트 + 마스터 OR집계 배선 |
| FL19 |
publish 승인 게이트 (HARD) — 외부 publish는 전 게이트 green + 승인 토큰(runs/<id>/APPROVED 또는 --approved) 존재 시에만 exit 0. FL15를 SOFT→HARD 승격. |
publish_gate.sh 셀프테스트(승인 부재→2) |
| FL20 |
runtime 무결성 (HARD) — fablelayer/*.py syntax(compileall)·import 무결성 + tests/run_tests.py 통과 + CLI 서브커맨드(--help/status) 실행. markdown 명세만으로 --mode new PASS 금지(runnable 요건). 위반 시 exit 2. |
runtime_gate.sh 셀프테스트(pass→0, syntax err→2) + 마스터 배선 + completeness new에 fablelayer/*.py·tests·pyproject 요구 |