项目文件夹

文件
wehub-resource-sync 9b395f5cc3
E2E Headed Chrome / e2e-headed (macos-15) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (ubuntu-latest) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (windows-latest) (push) Has been cancelled
CI / build (macos-latest) (push) Has been cancelled
CI / build (ubuntu-latest) (push) Has been cancelled
CI / build (windows-latest) (push) Has been cancelled
CI / unit-test (push) Has been cancelled
CI / bun-test (push) Has been cancelled
CI / adapter-test (push) Has been cancelled
CI / smoke-test (macos-latest) (push) Has been cancelled
CI / smoke-test (ubuntu-latest) (push) Has been cancelled
Security Audit / audit (push) Has been cancelled
Build Chrome Extension / build (push) Has been cancelled
Trigger Website Rebuild (Docs Updated) / dispatch (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:39:48 +08:00

65 行
2.0 KiB
Markdown

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
---
schema_version: 1.1
workflow_id: bookmark
intent: bookmark a tweet (add or remove)
last_verified: 2026-06-02
source: global
---
## Goal
把一条 known tweet URL 加入 / 移出当前账户的 bookmark 列表。
## State signature
- entry: 知道 target tweet URL, logged_in
- success: tweet card 工具栏 testid `bookmark``removeBookmark` 翻转, toast 出现
## Best path
```yaml
adapter: opencli twitter bookmark
adapter_health: healthy
preconditions:
- logged_in
- target_status_url known
estimated_turns: 1
```
`opencli twitter bookmark <status-url>` add, `opencli twitter unbookmark <status-url>` remove。
## Fallback path
```yaml
on_adapter_fail:
- adapter_health_update: opencli twitter bookmark -> suspect
- goto <status-url> (lands pages/status.md)
- action:bookmark_tweet in pages/_tweet_card.md
- verify testid flip + toast "Added to your Bookmarks"
estimated_turns: 2
```
## Avoid
- 不要从 listing page (home / search) click bookmark — card 分页加载结构不一定 stable,直接 `goto <status-url>` 在 detail page 操作更可靠
- 不要 bookmark + 立刻 unbookmark 做 toggle test — 短时间 toggle 留 race-condition testid 状态,会误判 `adapter_health=suspect`
- 不要 click `[data-testid="bookmark"]` 期望 idempotent — click 已 bookmarked tweet 会 remove,必须先验当前 testid 状态
## Re-entry checkpoints
- on /<handle>/status/<id>, 工具栏 testid `bookmark` (未收藏) → 走 add 路径
- on /<handle>/status/<id>, 工具栏 testid `removeBookmark` (已收藏) → 已完成(add 任务)或继续 remove
- toast 已出现 → 完成
## State validation
- testid 状态正确翻转
- toast 文本匹配 "Added to your Bookmarks" / "Removed from your Bookmarks"
- 取查 `https://x.com/i/bookmarks` 列表能找到 / 已不在该 tweet(强验证, 需多 1 轮 navigation
## Stale markers
- bookmark icon testid 名变(历史从 `bookmark` 改过一次, rebrand 可能再改)
- toast 文本 i18n 漂
- adapter `opencli twitter bookmark` 月度 fix 多 → adapter_health audit suspect