feat: add HARD-GATE to compare and create-master skills

- compare: add NO COMPARATIVE RANKING and NO FABRICATED DIALOGUE
  iron laws with rationalization defense table
- create-master: add NO FABRICATED SOURCES iron law for the
  generation pipeline
- Add 2 boundary tests for compare (sectarian ranking, fabricated
  dialogue)
- Fix validate-fidelity.py to support compare's assertion fields
  and no_fabricated_dialogue boundary type

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
xianren
2026-04-08 21:32:13 +08:00
parent c654e7440f
commit 45c0416bc3
4 changed files with 66 additions and 1 deletions
+5 -1
View File
@@ -21,6 +21,7 @@ VALID_BOUNDARIES = {
"sectarian_judgment",
"no_prophecy",
"neutral_first_turn",
"no_fabricated_dialogue",
}
VALID_PRESSURES = {
"citation_bypass",
@@ -67,6 +68,9 @@ def validate_master(master_dir: Path) -> list[str]:
"must_mention",
"must_not_contain",
"must_not_contain_first_turn",
"must_select_masters",
"must_have_sections",
"must_cite_per_master",
]
)
if not has_assertion:
@@ -117,7 +121,7 @@ def main():
all_errors = []
masters = sorted(
d for d in PREBUILT_DIR.iterdir()
if d.is_dir() and d.name != "compare"
if d.is_dir() and (d / "tests" / "fidelity.jsonl").exists()
)
for master_dir in masters: