ci(int9): חיווט שער-INV-INT9 ל-Gitea Actions — 🚧 חסום עד שיירשם runner (legal-ai #618) #15

Merged
chaim merged 1 commits from chore/618-int9-workflow-enable into main 2026-09-02 11:29:38 +00:00
Owner

ה-PR הזה מכיל קובץ אחד: .gitea/workflows/int9-guard.yaml — החיווט של שער-INV-INT9
ל-Gitea Actions. הסקריפט עצמו (scripts/int9-guard.mjs + 5 הפיקסצ'רים) כבר ב-main
דרך #14 ורץ ידנית.

למה זה חסום

ה-Gitea Actions runner היחיד על nautilus רשום בהיקף-repo ל-legal-ai בלבד:

select id,name,owner_id,repo_id from action_runner;
 id |      name       | owner_id | repo_id
  2 | nautilus-runner |        0 |       6    = ezer-mishpati/legal-ai
  1 | nautilus-runner |        0 |       6    רישום-רפאים, offline מ-2026-04-13

/repos/…/plugin-legal-ai/actions/runnerstotal_count: 0 ·
/orgs/ezer-mishpati/actions/runnerstotal_count: 0.

נמדד: ריצה 3200 / job 3250 (‏labels: ["ubuntu-latest"]) ישבה ב-queued עם
started_at: 1970-01-01 — מעולם לא נמסרה ל-runner — בזמן שה-runner היה busy: false
והריץ בהצלחה 7/7 שערים של legal-ai PR ‏#705. כלומר: לא תקיעת-תור, לא תקיעת-image,
אלא היקף-רישום.

מיזוג עכשיו היה הופך את הריפו מאפס checks ל-check תקוע-לנצח בכל PR עתידי (יש כאן
13 PRs ממוזגים), ובמקביל גורם ל-AC2 של legal-ai#618 להיראות מסופק בזמן שהוא חסום.

פאנל בן 5 מומחים הכריע 4/5 שאין לשנות תשתית-ייצור אוטונומית בשביל משימת p3-low
מונעת-נסיגה. ההכרעה איך לסגור את הפער הועברה לחיים.

ה-PR הזה הוא גם המדידה

ביום שיירשם runner לריפו הזה, ה-check כאן יעבור מ-queued ל-success מעצמו
וזו תהיה הראיה החיה ש-AC2 סופק. עד אז ה-check התקוע מוגבל ל-PR הזה בלבד.

איך מריצים את השער בינתיים

npm run int9:guard             # ✓ / ✗ exit 1
npm run int9:guard:self-test   # 5/5 פיקסצ'רים

תנאי-מיזוג

  1. GET /repos/ezer-mishpati/plugin-legal-ai/actions/runnerstotal_count ≥ 1.
  2. ה-check של ה-PR הזה מגיע ל-success (‏started_at != 1970-01-01).
  3. ‏PR-מוטציה מכוון (הזרקת issues.update({status}) מחוץ לטווח) → failure — שהשער נושך גם ב-CI.

מסלול-חזרה אם יתברר שהוא רועש: git revert של קומיט-המיזוג — אין תלות-ריצה.

Refs ezer-mishpati/legal-ai#618

## 🚧 חסום בכוונה — אל תמזג לפני שיירשם runner ל-`plugin-legal-ai` ה-PR הזה מכיל **קובץ אחד**: `.gitea/workflows/int9-guard.yaml` — החיווט של שער-INV-INT9 ל-Gitea Actions. הסקריפט עצמו (`scripts/int9-guard.mjs` + 5 הפיקסצ'רים) כבר ב-`main` דרך #14 ורץ ידנית. ## למה זה חסום ה-Gitea Actions runner היחיד על nautilus רשום **בהיקף-repo ל-`legal-ai` בלבד**: ```sql select id,name,owner_id,repo_id from action_runner; id | name | owner_id | repo_id 2 | nautilus-runner | 0 | 6 ← = ezer-mishpati/legal-ai 1 | nautilus-runner | 0 | 6 ← רישום-רפאים, offline מ-2026-04-13 ``` `/repos/…/plugin-legal-ai/actions/runners` → `total_count: 0` · `/orgs/ezer-mishpati/actions/runners` → `total_count: 0`. **נמדד:** ריצה `3200` / job `3250` (‏`labels: ["ubuntu-latest"]`) ישבה ב-`queued` עם `started_at: 1970-01-01` — מעולם לא נמסרה ל-runner — **בזמן** שה-runner היה `busy: false` והריץ בהצלחה 7/7 שערים של `legal-ai` PR ‏#705. כלומר: לא תקיעת-תור, לא תקיעת-image, אלא **היקף-רישום**. מיזוג עכשיו היה הופך את הריפו מ**אפס checks** ל-**check תקוע-לנצח בכל PR עתידי** (יש כאן 13 PRs ממוזגים), ובמקביל גורם ל-AC2 של legal-ai#618 להיראות מסופק בזמן שהוא חסום. פאנל בן 5 מומחים הכריע **4/5** שאין לשנות תשתית-ייצור אוטונומית בשביל משימת `p3-low` מונעת-נסיגה. ההכרעה איך לסגור את הפער הועברה לחיים. ## ה-PR הזה הוא גם **המדידה** ביום שיירשם runner לריפו הזה, ה-check כאן יעבור מ-`queued` ל-`success` **מעצמו** — וזו תהיה הראיה החיה ש-AC2 סופק. עד אז ה-check התקוע מוגבל ל-PR **הזה בלבד**. ## איך מריצים את השער בינתיים ```bash npm run int9:guard # ✓ / ✗ exit 1 npm run int9:guard:self-test # 5/5 פיקסצ'רים ``` ## תנאי-מיזוג 1. ‏`GET /repos/ezer-mishpati/plugin-legal-ai/actions/runners` → `total_count ≥ 1`. 2. ה-check של ה-PR הזה מגיע ל-`success` (‏`started_at != 1970-01-01`). 3. ‏PR-מוטציה מכוון (הזרקת `issues.update({status})` מחוץ לטווח) → `failure` — שהשער נושך גם ב-CI. מסלול-חזרה אם יתברר שהוא רועש: `git revert` של קומיט-המיזוג — אין תלות-ריצה. Refs ezer-mishpati/legal-ai#618
chaim added 1 commit 2026-09-02 01:42:28 +00:00
ci(int9): חיווט שער-INV-INT9 ל-Gitea Actions (legal-ai #618) — חסום עד שיירשם runner
All checks were successful
INV-INT9 issue.status write-ownership / int9-guard (pull_request) Successful in 3s
76db4aadb5
הסקריפט `scripts/int9-guard.mjs` כבר ב-`main` (PR #14) ורץ ידנית דרך
`npm run int9:guard`. הקובץ כאן הוא החיווט שלו ל-CI.

**אל תמזג לפני שיירשם runner ל-plugin-legal-ai.** ה-runner היחיד על nautilus
רשום בהיקף-repo ל-`legal-ai` בלבד (`action_runner.repo_id = 6`), ולכן job של
הריפו הזה לא נאסף לעולם — נמדד: ריצה 3200 / job 3250 ב-`queued` עם
`started_at: 1970-01-01`, בזמן שה-runner היה `busy: false` והריץ 7/7 שערים
של legal-ai. מיזוג עכשיו היה מייצר check תקוע-לנצח על **כל** PR עתידי בריפו.

ה-PR הזה הוא גם המדידה: ביום שיירשם runner הוא יהפוך לירוק מעצמו.

Refs ezer-mishpati/legal-ai#618

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
chaim merged commit 5a5fdd9162 into main 2026-09-02 11:29:38 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ezer-mishpati/plugin-legal-ai#15