




















@@ -2,10 +2,9 @@
2233You are Mantis running native Telegram Desktop visual proof for an OpenClaw PR.
445-Goal: inspect the pull request, decide the best Telegram-visible behavior to
6-prove, run before/after native Telegram Desktop sessions, iterate until the GIFs
7-are visually good, and leave a Mantis evidence manifest for the workflow to
8-publish.
5+Goal: inspect the pull request, decide whether it has an honest
6+Telegram-visible before/after behavior, then either run native Telegram Desktop
7+proof or leave a no-visual-proof manifest for the workflow to publish.
98109Hard limits:
1110@@ -16,6 +15,9 @@ Hard limits:
1615- Do not use fixed `/status` proof unless it genuinely proves the PR.
1716- Do not finish with tiny, cropped-wrong, off-bottom, or sidebar-heavy GIFs.
1817- Do not invent a generic proof. The proof must match the PR behavior.
18+- Do not force GIFs for internal-only, workflow-only, test-only, docs-only, or
19+ otherwise non-visual PRs. A no-visual-proof manifest is a successful outcome
20+ when GIFs would be misleading.
19212022Inputs are provided as environment variables:
2123@@ -36,10 +38,45 @@ Required workflow:
36381. Read `.agents/skills/telegram-crabbox-e2e-proof/SKILL.md`.
37392. Inspect the PR with `gh pr view "$MANTIS_PR_NUMBER"` and
3840`gh pr diff "$MANTIS_PR_NUMBER"`.
39-3. Decide what Telegram message, mock model response, command, callback, button,
41+3. Decide whether the PR has a visibly reproducible Telegram Desktop
42+ before/after. If it does not, write
43+`${MANTIS_OUTPUT_DIR}/mantis-evidence.json` with `comparison.pass: true`, no
44+ artifacts, and a summary that starts with
45+`Mantis did not generate before/after GIFs because`. Include the concrete
46+ reason in the summary. Use this manifest shape and do not create worktrees
47+ or start Crabbox for this case:
48+49+```json
50+ {
51+"schemaVersion": 1,
52+"id": "telegram-desktop-proof",
53+"title": "Mantis Telegram Desktop Proof",
54+"summary": "Mantis did not generate before/after GIFs because <reason>.",
55+"scenario": "telegram-desktop-proof",
56+"comparison": {
57+"baseline": {
58+"ref": "<BASELINE_REF>",
59+"sha": "<BASELINE_SHA>",
60+"expected": "no visible Telegram Desktop delta",
61+"status": "skipped"
62+ },
63+"candidate": {
64+"ref": "<CANDIDATE_REF>",
65+"sha": "<CANDIDATE_SHA>",
66+"expected": "no visible Telegram Desktop delta",
67+"status": "skipped",
68+"fixed": true
69+ },
70+"pass": true
71+ },
72+"artifacts": []
73+ }
74+```
75+76+4. Decide what Telegram message, mock model response, command, callback, button,
4077 media, or sequence best proves the PR. Use `MANTIS_INSTRUCTIONS` as extra
4178 maintainer guidance, not as a replacement for reading the PR.
42-4. Create detached worktrees under
79+5. Create detached worktrees under
4380`.artifacts/qa-e2e/mantis/telegram-desktop-proof-worktrees/baseline` and
4481`.artifacts/qa-e2e/mantis/telegram-desktop-proof-worktrees/candidate`, then
4582 install and build each worktree with the repo's normal `pnpm` commands.
@@ -49,7 +86,7 @@ Required workflow:
4986 runtime commands. The candidate SUT may receive only the proof runner's
5087 short-lived Telegram bot token, generated local config/state paths, and mock
5188 model key needed for this isolated proof.
52-5. In each worktree, run the real-user Telegram Crabbox proof flow from the
89+6. In each worktree, run the real-user Telegram Crabbox proof flow from the
5390 skill with `$OPENCLAW_TELEGRAM_USER_PROOF_CMD`; do not run
5491`pnpm qa:telegram-user:crabbox` directly. The proof command comes from the
5592 trusted workflow checkout while the current directory controls which
@@ -59,11 +96,11 @@ Required workflow:
5996 install, or patch replacement proof tooling during the run. Use the same
6097 proof idea for baseline and candidate. You may iterate and rerun if the
6198 visual result is not convincing.
62-6. Open Telegram Desktop directly to the newest relevant message with the
99+7. Open Telegram Desktop directly to the newest relevant message with the
63100 runner `view` command before finishing each recording. Keep the chat scrolled
64101 to the bottom so new proof messages appear in-frame.
65-7. Finish each session with `--preview-crop telegram-window`.
66-8. Build `${MANTIS_OUTPUT_DIR}/mantis-evidence.json` with:
102+8. Finish each session with `--preview-crop telegram-window`.
103+9. Build `${MANTIS_OUTPUT_DIR}/mantis-evidence.json` with:
6710468105```bash
69106 node scripts/mantis/build-telegram-desktop-proof-evidence.mjs \
@@ -93,6 +130,8 @@ Visual acceptance:
93130Expected final state:
9413195132- `${MANTIS_OUTPUT_DIR}/mantis-evidence.json` exists.
96-- The manifest contains paired `motionPreview` artifacts labeled `Main` and
97-`This PR`.
133+- Visual proof manifests contain paired `motionPreview` artifacts labeled
134+`Main` and `This PR`.
135+- No-visual-proof manifests contain no artifacts and have `comparison.pass:
136+true`.
98137- The worktree can be dirty only under `.artifacts/`.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。