Skip to content

Commit 796f431

Browse files
Merge pull request #74 from CodeWithJuber/mintlify/1ff51f6b
Update from code changes: verify --deep statuses and completion gate
2 parents dbae96f + 97cace4 commit 796f431

18 files changed

Lines changed: 296 additions & 6 deletions

mintlify/ar/cli/quality.mdx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,19 @@ forge verify
1515
forge verify --deep # multi-lens consensus (v0.19+)
1616
```
1717

18+
يُبلِّغ `forge verify --deep` عن `status` رباعي الحالات بدلًا من نجاح/إخفاق ثنائي:
19+
20+
| الحالة | المعنى |
21+
| ---------------- | ------------------------------------------------------------------------------------- |
22+
| `PASS` | اتفقت جميع العدسات **و** حالة اختبارات `forge verify` الأساسية هي أيضًا `PASS`. |
23+
| `FAIL` | أبلغت عدسة واحدة على الأقل عن إخفاق حقيقي. |
24+
| `INCOMPLETE` | لم تتمكن عدسة من الإنهاء (مهلة، أو تعطل، أو تبعية مفقودة) — تُعامَل كأنها غير مُثبَتة. |
25+
| `NOT_CONFIGURED` | لا توجد عدسات موصولة بهذا المستودع — لم يُفحَص شيء فعليًا. |
26+
27+
`PASS` وحدها تُعتبر تحققًا. يرفض `--deep` عمدًا ترقية الإجماع إلى `PASS` عندما تكون حالة
28+
اختبارات `forge verify` الأساسية أي شيء غير `PASS`، بحيث يستلزم اجتياز الفحص العميق
29+
اجتياز الفحص الأساسي دائمًا.
30+
1831
## `forge scan`
1932

2033
بوّابة المهارات — فحص مهارة أو خادم MCP بحثًا عن الحقن / RCE / التسريب قبل التثبيت.

mintlify/ar/concepts/cross-session-memory.mdx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,15 @@ description: "تثبيت الجلسة، وبوّابة الإكمال، ولقط
4646
`FORGE_STOPGATE=0` يوقفه.
4747
</Note>
4848

49+
بالنسبة للجلسات التي غيّرت الشيفرة، تشترط البوّابة أيضًا **دليلًا اختباريًا** — إما ملف
50+
اختبار في فرق الجلسة، أو تشغيلًا طازجًا ناجحًا لـ `forge verify` مقابل التغييرات
51+
الحالية. لم تعُد لقطة `forge handoff` وحدها كافية لتجاوز فرع تغيير الشيفرة من البوّابة.
52+
4953
قائمة الإصلاح تُشير إلى الأدوات التي تُنهي العمل:
5054

5155
```bash
52-
forge docs sync # sweep the diff for stale doc mentions
56+
forge verify # record the test evidence for code changes
57+
forge docs sync # sweep the diff for stale doc mentions
5358
forge handoff "<done>" --next "<next>" # write the bounded session snapshot
5459
forge decide "<decision> — <reason>" # record a choice so no session re-decides it
5560
```

mintlify/ar/concepts/verification-gates.mdx

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,19 @@ forge verify --deep # multi-lens consensus — several independent checks
2828
تحقق مستقلة، لا عدسة واحدة فقط.
2929
</Note>
3030

31+
يُبلِّغ `forge verify --deep` عن `status` رباعي الحالات، لا نجاح/إخفاق ثنائيًا:
32+
33+
- `PASS` — اتفقت جميع العدسات **و** حالة اختبارات `forge verify` الأساسية هي أيضًا
34+
`PASS`. هذه الحالة وحدها تُعدّ تحققًا.
35+
- `FAIL` — أبلغت عدسة واحدة على الأقل عن إخفاق حقيقي.
36+
- `INCOMPLETE` — لم تتمكن عدسة من الإنهاء (مهلة، أو تعطل، أو تبعية مفقودة). لم يُدحَض
37+
شيء، لكن لم يُثبَت شيء كذلك.
38+
- `NOT_CONFIGURED` — لا توجد عدسات موصولة بهذا المستودع، فلم يجد `--deep` ما يفحصه.
39+
40+
قاعدة أن `PASS` تستلزم `PASS` في الفحص الأساسي مقصودة: لا يمكن لإجماع عميق أخضر أن
41+
يتجاوز تشغيلًا أساسيًا أحمر، لذا فإن `INCOMPLETE` أو `NOT_CONFIGURED` على عدسة الاختبار
42+
الأساسية يُخفّض نتيجة الفحص العميق لتطابقها.
43+
3144
## عَلَم الرمز المُهلوَس — `forge atlas has`
3245

3346
`forge atlas has <symbol>` هو فحص الهلوسة: إذا استدعى النموذج رمزًا ليس في الرسم البياني
@@ -83,6 +96,27 @@ forge harden # gitleaks pre-commit + sandbox settings
8396
وقت الالتزام حتى يُصطاد العمل الجزئي أو غير المُتحقَق منه قبل أن يهبط.
8497
</Note>
8598

99+
## بوابة الإكمال — الدليل الاختباري مطلوب
100+
101+
لم تعُد بوابة إكمال مسار Stop (راجع
102+
[الذاكرة عبر الجلسات](/concepts/cross-session-memory)) تقبل تسليم الوكيل دليلًا على
103+
اكتمال تغييرات الشيفرة. بالنسبة لأي جلسة لمست شيفرة المصدر، تشترط البوابة **دليلًا
104+
اختباريًا حقيقيًا**:
105+
106+
- ملف اختبار مُعدَّل في فرق الجلسة، **أو**
107+
- تشغيل ناجح طازج لـ `forge verify` مُسجَّل مقابل التغييرات الحالية.
108+
109+
لا تكفي لقطة `forge handoff` وحدها لاجتياز البوابة — فهي تُسجّل النية، لا التحقق. إن
110+
غاب كِلا الدليلَين، تحجب البوابة مرة واحدة مع قائمة إصلاح:
111+
112+
```bash
113+
forge verify # produce the test evidence
114+
forge handoff "<done>" --next "<next>" # then snapshot the session
115+
```
116+
117+
الجلسات التي لا تمس الشيفرة — كالتغييرات على التوثيق فقط، أو الإعدادات فقط، وغيرها —
118+
لا تتأثر؛ فمطلب الدليل الاختباري يُطلَق فقط حين يُغيّر فرق الجلسة الشيفرة فعلًا.
119+
86120
## فحوصات واجهة المستخدم — `forge uicheck`
87121

88122
فحوصات UI حتمية، دون LLM ودون لقطات شاشة لأول ثلاث عدسات:

mintlify/cli/quality.mdx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,19 @@ forge verify
1515
forge verify --deep # multi-lens consensus (v0.19+)
1616
```
1717

18+
`forge verify --deep` reports a four-state `status` instead of a plain pass/fail:
19+
20+
| Status | Meaning |
21+
| ---------------- | ------------------------------------------------------------------------------------ |
22+
| `PASS` | Every lens agreed **and** the core `forge verify` tests status is also `PASS`. |
23+
| `FAIL` | At least one lens reported a real failure. |
24+
| `INCOMPLETE` | A lens could not finish (timeout, crash, missing dependency) — treat as not proven. |
25+
| `NOT_CONFIGURED` | No lenses are wired up for this repo — nothing was actually checked. |
26+
27+
Only `PASS` counts as verified. `--deep` deliberately refuses to promote a consensus to
28+
`PASS` when the underlying `forge verify` tests status is anything other than `PASS`, so
29+
a green deep run always implies a green base run.
30+
1831
## `forge scan`
1932

2033
Skill-gate — vet a skill or MCP server for injection / RCE / exfil before install.

mintlify/cn/cli/quality.mdx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,19 @@ forge verify
1515
forge verify --deep # multi-lens consensus (v0.19+)
1616
```
1717

18+
`forge verify --deep` 汇报的是一个四态的 `status`,而不是简单的 pass/fail:
19+
20+
| 状态 | 含义 |
21+
| ---------------- | ------------------------------------------------------------------------------------- |
22+
| `PASS` | 每一个视角都一致通过,**并且**核心 `forge verify` 的测试状态也是 `PASS`|
23+
| `FAIL` | 至少有一个视角报出了真实的失败。 |
24+
| `INCOMPLETE` | 某个视角没能跑完(超时、崩溃、依赖缺失)—— 视为未被证明。 |
25+
| `NOT_CONFIGURED` | 这个仓库没有接通任何视角 —— 实际上什么都没检查。 |
26+
27+
只有 `PASS` 才算已验证。`--deep` 有意拒绝在底层 `forge verify` 的测试状态不是 `PASS`
28+
时把共识提升为 `PASS`,所以一次绿色的 deep 运行永远意味着一次绿色的
29+
base 运行。
30+
1831
## `forge scan`
1932

2033
技能门 —— 在安装前审核一个 skill 或 MCP 服务器是否有注入 / RCE / 数据外泄风险。

mintlify/cn/concepts/cross-session-memory.mdx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,15 @@ Stop 路径上唯一有资格作出回应的 guard 是 `completion-gate.sh`
4545
也都放行(fail-open)。`FORGE_STOPGATE=0` 可以关掉它。
4646
</Note>
4747

48+
对于动了代码的会话,这个门还要求提供**测试证据** —— 要么会话 diff 里有一个
49+
测试文件,要么针对当前变更有一次新鲜通过的 `forge verify`。仅凭一份
50+
`forge handoff` 快照,已经不足以清掉这个门的代码变更这一支。
51+
4852
修复清单指向那些能收尾工作的工具:
4953

5054
```bash
51-
forge docs sync # sweep the diff for stale doc mentions
55+
forge verify # record the test evidence for code changes
56+
forge docs sync # sweep the diff for stale doc mentions
5257
forge handoff "<done>" --next "<next>" # write the bounded session snapshot
5358
forge decide "<decision> — <reason>" # record a choice so no session re-decides it
5459
```

mintlify/cn/concepts/verification-gates.mdx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,19 @@ forge verify --deep # multi-lens consensus — several independent checks
2929
独立的验证视角,而不只是一个。
3030
</Note>
3131

32+
`forge verify --deep` 汇报的是一个四态的 `status`,不是二元的 pass/fail:
33+
34+
- `PASS` —— 每一个视角都一致通过,**并且**核心 `forge verify` 的测试状态也是
35+
`PASS`。只有这个状态才算已验证。
36+
- `FAIL` —— 至少有一个视角报出了真实的失败。
37+
- `INCOMPLETE` —— 某个视角没能跑完(超时、崩溃、依赖缺失)。什么都没被证伪,
38+
但也什么都没被证明。
39+
- `NOT_CONFIGURED` —— 这个仓库没有接通任何视角,所以 `--deep` 无东西可查。
40+
41+
`PASS` 蕴含 base 也是 `PASS` 这条规则是有意为之:一次绿色的 deep 共识永远
42+
不能跑赢一次红色的 base 运行,所以 base 测试视角上的 `INCOMPLETE`
43+
`NOT_CONFIGURED` 会把 deep 的结果同步降级。
44+
3245
## 幻觉符号标记 —— `forge atlas has`
3346

3447
`forge atlas has <symbol>` 是幻觉检查:如果模型调用了一个不在代码图里的
@@ -84,6 +97,26 @@ forge harden # gitleaks pre-commit + sandbox settings
8497
让部分完成或未验证的工作在落地之前就被拦住。
8598
</Note>
8699

100+
## 完成门 —— 必须有测试证据
101+
102+
Stop 路径上的完成门(见
103+
[跨会话记忆](/concepts/cross-session-memory))不再接受一份代理 handoff 作为
104+
代码变更已完成的证明。对任何动了源码的会话,这个门都要求**真实的测试证据**
105+
106+
- 会话 diff 里改动过一个测试文件,**或者**
107+
- 针对当前变更有一次新鲜通过的 `forge verify` 记录在案。
108+
109+
单独一份 `forge handoff` 快照并不能满足这个门 —— 它记录的是意图,而不是
110+
验证。如果两种证据都没有,这个门会**阻塞一次**,并附上一份修复清单:
111+
112+
```bash
113+
forge verify # produce the test evidence
114+
forge handoff "<done>" --next "<next>" # then snapshot the session
115+
```
116+
117+
只改文档、只改配置以及其他非代码的会话不受影响 —— 只有当会话的 diff 真的
118+
动了代码时,测试证据的要求才会触发。
119+
87120
## UI 检查 —— `forge uicheck`
88121

89122
确定性的 UI 检查,前三个视角不需要 LLM 也不需要截图:

mintlify/concepts/cross-session-memory.mdx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,16 @@ on the agent.
4747
allows (fail-open). `FORGE_STOPGATE=0` disables it.
4848
</Note>
4949

50+
For sessions that changed code, the gate also requires **test evidence** — either a test
51+
file in the session's diff or a fresh passing `forge verify` against the current
52+
changes. A `forge handoff` snapshot alone no longer clears the code-change branch of the
53+
gate.
54+
5055
The repair checklist points at the tools that finish the work:
5156

5257
```bash
53-
forge docs sync # sweep the diff for stale doc mentions
58+
forge verify # record the test evidence for code changes
59+
forge docs sync # sweep the diff for stale doc mentions
5460
forge handoff "<done>" --next "<next>" # write the bounded session snapshot
5561
forge decide "<decision> — <reason>" # record a choice so no session re-decides it
5662
```

mintlify/concepts/verification-gates.mdx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,20 @@ forge verify --deep # multi-lens consensus — several independent checks
2929
independent verification lenses, not just one.
3030
</Note>
3131

32+
`forge verify --deep` reports a four-state `status`, not a binary pass/fail:
33+
34+
- `PASS` — every lens agreed **and** the core `forge verify` tests status is also
35+
`PASS`. Only this state counts as verified.
36+
- `FAIL` — at least one lens reported a real failure.
37+
- `INCOMPLETE` — a lens could not finish (timeout, crash, missing dependency). Nothing
38+
was disproven, but nothing was proven either.
39+
- `NOT_CONFIGURED` — no lenses are wired up for this repo, so `--deep` had nothing to
40+
check.
41+
42+
The `PASS`-implies-base-`PASS` rule is deliberate: a green deep consensus can never
43+
outrun a red base run, so `INCOMPLETE` or `NOT_CONFIGURED` on the base test lens
44+
downgrades the deep result to match.
45+
3246
## The hallucinated-symbol flag — `forge atlas has`
3347

3448
`forge atlas has <symbol>` is the hallucination check: if the model calls a symbol that
@@ -84,6 +98,28 @@ forge harden # gitleaks pre-commit + sandbox settings
8498
commit time so partial or unverified work is caught before it lands.
8599
</Note>
86100

101+
## Completion gate — test evidence required
102+
103+
The Stop-path completion gate (see
104+
[Cross-session memory](/concepts/cross-session-memory)) no longer accepts an agent
105+
handoff as proof that code changes are done. For any session that touched source code,
106+
the gate requires **real test evidence**:
107+
108+
- a test file changed in the session's diff, **or**
109+
- a fresh passing `forge verify` recorded against the current changes.
110+
111+
A `forge handoff` snapshot on its own does not satisfy the gate — it records intent, not
112+
verification. If neither piece of evidence is present, the gate blocks once with a
113+
repair checklist:
114+
115+
```bash
116+
forge verify # produce the test evidence
117+
forge handoff "<done>" --next "<next>" # then snapshot the session
118+
```
119+
120+
Doc-only, config-only, and other non-code sessions are unaffected — the test-evidence
121+
requirement fires only when the session's diff actually changes code.
122+
87123
## UI checks — `forge uicheck`
88124

89125
Deterministic UI checks, no LLM and no screenshots for the first three lenses:

mintlify/hi/cli/quality.mdx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,19 @@ forge verify
1515
forge verify --deep # multi-lens consensus (v0.19+)
1616
```
1717

18+
`forge verify --deep` सामान्य pass/fail के बजाय एक चार-अवस्था वाला `status` रिपोर्ट करता है:
19+
20+
| Status | अर्थ |
21+
| ---------------- | ------------------------------------------------------------------------------------ |
22+
| `PASS` | हर lens सहमत हुआ **और** core `forge verify` tests status भी `PASS` है। |
23+
| `FAIL` | कम-से-कम एक lens ने वास्तविक failure रिपोर्ट किया। |
24+
| `INCOMPLETE` | कोई lens पूरा नहीं हो सका (timeout, crash, missing dependency) — इसे unproven मानें। |
25+
| `NOT_CONFIGURED` | इस repo के लिए कोई lenses wired नहीं हैं — असल में कुछ भी check नहीं हुआ। |
26+
27+
केवल `PASS` को verified माना जाता है। `--deep` जानबूझकर consensus को `PASS` पर promote
28+
करने से मना कर देता है जब अंतर्निहित `forge verify` tests status `PASS` के अलावा कुछ भी हो, इसलिए
29+
एक हरा deep run हमेशा एक हरे base run का संकेत देता है।
30+
1831
## `forge scan`
1932

2033
Skill-गेट — इंस्टॉल से पहले किसी skill या MCP सर्वर की injection / RCE / exfil के लिए जाँच करें।

0 commit comments

Comments
 (0)