Purge for Mac: Free, Open-Source Mac Cleaner
무료 오픈소스 Mac 클리너로 캐시·Xcode·앱 잔여물을 정리하고, 트래시 우선·텔레메트리 없음
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Public eval harness for Legal Eye — Hebrew legal RAG. 50 canonical questions, verbatim from precedent, no LLM. legal-eye.1bigfam.com
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Hebrew legal RAG, verbatim-from-precedent. No external LLM. Public score.
This repository is a public proof-of-work artifact for a production AI system, not a demo notebook.
Current published safety results: 0% fabricated citations, 100% out-of-scope rejection (5/5) and 0 FAIL on the latest canonical 50-question evaluation.
This repo is the canonical quality harness for legal-eye.1bigfam.com — a Hebrew legal retrieval-augmented-generation system that returns citations verbatim from real Israeli case law, never fabricated.
We publish the harness, the questions, and the raw results so anyone — journalist, lawyer, researcher, competitor — can verify the claim.
ChatGPT וקלוד יכולים לכתוב לך פסקת תוצאות שמלאה ב"ע"א 1234/19" שלא קיים. זה נקרא הזיה (hallucination) והן כמה שאלה חיה במקצוע המשפטי.
Legal Eye אומר: "אני לא ממציא ציטוטים. אם אין לי תשובה מבוססת על פסיקה אמיתית — אני אגיד 'אין לי תשובה'."
ה-repo הזה הוא ההוכחה. הוא מכיל:
eval_graph_arguments.py — סקריפט פייתון שיורה 50 שאלות-בדיקה
קנוניות אל ה-API של Legal Eye ומדווח על כל אחת אם הצליחה (PASS), חצי
הצליחה (WEAK), נכשלה (FAIL), או הביאה תשובה לשאלה שלא הייתה אמורה
לענות עליה (FAIL on out-of-scope).
runs/run_YYYY_MM_DD.json — התוצאות הגולמיות של כל ריצה,
50 שורות, אחת לכל שאלה; runs/latest.json מסכם את האחרונה.
GitHub Actions workflow — מריץ את ה-eval מחדש כל יום ראשון ב-03:00 UTC ומעדכן את ה-badges שכאן ב-README.
git clone https://github.com/GreenCycle2025/legal-eye-eval
cd legal-eye-eval
python3 eval_graph_arguments.py \
--base-url https://legal-eye-api.1bigfam.com \
--via lawyer --pace 2.5 --retries 1 --wait-ready 300 --timeout 90 \
--json my_run.json
python3 eval_rescore.py my_run.json
The harness applies a 3-pronged gate designed around the system's real strength — it knows when it doesn't know:
| Metric | Description |
|---|---|
hallucination_rate | Fraction of answers that fabricate a citation: 0% by construction (only verbatim_from_precedent is wired up; no LLM key in the environment) |
out_of_scope_rejection | Fraction of adversarial queries (recipes, foreign-jurisdiction trivia, etc.) the system correctly refuses to answer verbatim |
| PASS | In-scope questions where the system promotes a verbatim citation that carries the expected case and keywords |
| WEAK | The system answered, but did not promote a verbatim quote that meets the bar; it abstains rather than guess |
| FAIL | A promotion that pulled a citation about a different sub-topic, or an out-of-scope question answered |
| No answer | The request failed (timeout, HTTP error); not a verdict on the answer |
These numbers are generated from the run files by render_readme.py; the
weekly workflow rewrites them, and a test fails when they are out of date.
Latest run: 2026-11-01 (raw rows, summary)
| Questions | PASS | WEAK | FAIL | No answer (error) | Out-of-scope refused |
|---|---|---|---|---|---|
| 50 | 42 (84%) | 8 | 0 | 0 | 5/5 |
| Strict authority verdict | PASS | WEAK | FAIL |
|---|---|---|---|
| 50 questions | 42 (84%) | 8 | 0 |
The launch gate is 85% PASS on the strict verdict (43/50): not met.
By topic (keyword buckets of eval_rescore.domain_breakdown):
| Topic | Questions | PASS | WEAK | FAIL | No answer |
|---|---|---|---|---|---|
| out-of-scope | 5 | 5 | 0 | 0 | 0 |
| אחר | 12 | 11 | 1 | 0 | 0 |
| בריאות | 6 | 4 | 2 | 0 | 0 |
| חוזים | 10 | 9 | 1 | 0 | 0 |
| נזיקין | 8 | 6 | 2 | 0 | 0 |
| עבודה | 9 | 7 | 2 | 0 | 0 |
Since 2026-10-24 every question has two verdicts. verdict is the ladder
below, unchanged. strict_verdict applies the same ladder and adds one
condition: the answer must rest on the right authority.
An answer is a strict FAIL when it is promoted and one of these holds:
authority_expectations_v2.py);expect_source_doc_id, benchmark v3).A plausible answer supported by an unrelated authority used to count as PASS. It no longer counts.
The launch gate counts the strict verdict: 85% strict PASS on the 50 questions (43/50). The weekly run publishes both verdicts.
The 50 canonical questions remain the public production score. In addition, this repo now carries a separate 500-case robustness suite at benchmarks/benchmark_v2_500.json. It is an official set for robustness, not a separate gate: a release must not score clearly lower on the 450 holdout variants than on the 50 canonical questions, since that gap is the sign of tuning to the wording.
This is intentionally described as 50 independent canonical cases × 10 deterministic wording/stress variants, not as 500 independent legal doctrines. The extra 450 cases are holdout transformations used to detect prompt-surface overfitting after tuning on the canonical set.
The holdout covers concise/formal phrasing, evidence-only requests, anti-hallucination wording, harmless context noise, punctuation/spacing noise, current-law framing, source-coercion resistance, and a facts/question wrapper. Each row preserves the original expect_* assertions and contains provenance back to its source question.
python3 benchmark_v2.py --check benchmarks/benchmark_v2_500.json
python3 -m unittest -v test_benchmark_v2.py
python3 eval_graph_arguments.py \
--suite benchmarks/benchmark_v2_500.json \
--base-url https://legal-i-legal-eye.hf.space \
--via hgraph \
--json /tmp/legal-eye-benchmark-v2.json
python3 benchmark_v2_report.py /tmp/legal-eye-benchmark-v2.json
The v2 reporter keeps canonical and holdout scores separate and derives out-of-scope rejection from suite metadata. No v2 score is shown in the production badges until a complete run has actually been executed.
benchmarks/benchmark_v3_independent_100.json has 100 cases: 80 Israeli-law
questions on topics the engine was not tuned on, 10 in each of 8 groups, and
20 out-of-scope controls. An in-scope case passes only when the answer
comes from the frozen primary-law source, the statute section in
expect_source_doc_id. A plausible answer from the wrong source is a FAIL.
Details: benchmarks/README_v3.md.
Its sources are statute sections (heb_law/...). The production corpus
does not serve them yet: they come with the statutes extension of
legal-eye's authoritative-statutes work. Until that is live, v3 measures
something production cannot do, so it is not part of the gate yet. Once it
is live, v3 is run once against production and becomes a second gate,
X% PASS, set by the owner. X will be no lower than that first measurement,
and the target is 60%.
python3 benchmark_v3.py --check benchmarks/benchmark_v3_independent_100.json
python3 eval_graph_arguments.py --suite benchmarks/benchmark_v3_independent_100.json \
--base-url https://legal-eye-api.1bigfam.com --pace 2.5 --json /tmp/legal-eye-v3.json
python3 benchmark_v3_report.py /tmp/legal-eye-v3.json --suite benchmarks/benchmark_v3_independent_100.json
See eval_graph_arguments.py lines ~50-310. Coverage:
Every question carries an expect_* assertion:
expect_anchor_substring — required substring in the anchor or quoteexpect_quote_keywords — Hebrew root keywords ALL must appear in the
full bundle haystack (anchor_quote + applications + statute_refs)expect_no_promotion — adversarial; PASS only if the system
refuses to promote a verbatim citationexpect_no_promotion = True:
promoted? → FAIL
refused? → PASS
expect_anchor_substring set:
no anchor match → FAIL
anchor ok, no promote → WEAK
promote, keyword off → FAIL
promote, keyword ok → PASS
otherwise:
no promote → WEAK
promote, keyword off → WEAK
promote, keyword ok → PASS
The harness uses the bundle's own promotion thresholds
(MIN_PROMOTE_SCORE, MIN_PROMOTE_COVERAGE, HIGH_SCORE_BYPASS)
to decide whether the system would have promoted — not a
private heuristic. This guarantees the eval and the live system
agree on what "promoted" means.
The harness is plain stdlib Python 3.8+. No dependencies. No mocking.
It hits the real production API at its public address,
https://legal-eye-api.1bigfam.com (the same address the site calls), and
reports what the production system actually returned. The address allows
each client 0.5 questions per second with a burst of 20, so a run is paced
(--pace 2.5); it first waits for /readyz (--wait-ready) because a
sleeping server takes a while to start, and a question that got no answer
at all is asked once more (--retries 1). An answered question is never
asked again, whatever its verdict. A full run takes about 4 minutes.
.github/workflows/uptime.yml runs monitor.py every 15 minutes: the
public address must answer /readyz and /v1/corpus/selftest, and the
x-proxied-replica header tells whether the Hugging Face Space or the
standby server answered. A problem that survives three attempts a minute
apart opens an issue in this repository; its end closes the issue.
This eval harness is MIT-licensed. The Legal Eye product itself is closed-source commercial software. We publish the measurement methodology as a credibility signal, not the system internals.
Every run in runs/, generated by render_readme.py from the run files as
they are stored.
| Run | Questions | PASS | WEAK | FAIL | No answer |
|---|---|---|---|---|---|
| 2026-05-12 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-05-12 (v2) | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-05-17 | 50 | 17 (34%) | 32 | 0 | 1 |
| 2026-05-24 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-05-31 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-06-07 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-06-14 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-06-21 | 50 | 0 (0%) | 0 | 0 | 50 |
| 2026-06-28 |
---|---|---|---|---|---|---|---|
| 2026-05-12 (v1) | 50 | 16 (32%) | 33 | 1 | 0% | 100% (5/5) | Initial public baseline |
| 2026-05-12 (v2) | 50 | 17 (34%) | 33 | 0 ✅ | 0% | 100% (5/5) | Q1 keyword fix (פירוש→פרשנ); contracts domain rose 50→60% |
| 2026-09-27 | 50 | 17 (34%) | 33 | 0 ✅ | 0% | 100% (5/5) | Weekly run; no safety regression |
| 2026-10-04 | 50 | 17 (34%) | 33 | 0 ✅ | 0% | 100% (5/5) | Scheduled public regression run; no safety regression |
Contact: [email protected] · legal-eye.1bigfam.com
| 50 |
| 17 (34%) |
| 33 |
| 0 |
| 0 |
| 2026-07-05 | 50 | 0 (0%) | 0 | 0 | 50 |
| 2026-07-12 | 50 | 12 (24%) | 33 | 0 | 5 |
| 2026-07-19 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-07-26 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-08-02 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-08-09 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-08-16 | 50 | 17 (34%) | 31 | 0 | 2 |
| 2026-08-23 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-08-30 | 50 | 11 (22%) | 12 | 0 | 27 |
| 2026-09-06 | 50 | 17 (34%) | 32 | 0 | 1 |
| 2026-09-13 | 50 | 13 (26%) | 25 | 0 | 12 |
| 2026-09-20 | 50 | 13 (26%) | 33 | 0 | 4 |
| 2026-09-27 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-10-04 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-10-11 | 50 | 17 (34%) | 33 | 0 | 0 |
| 2026-10-18 | 50 | 14 (28%) | 33 | 0 | 3 |
| 2026-10-25 | 50 | 38 (76%) | 12 | 0 | 0 |
| 2026-11-01 | 50 | 42 (84%) | 8 | 0 | 0 |