fix(bug-discovery): dedup check via issues search API #83
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/bug-discovery/dedup-api"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что сделано
pipeline-status({ pr_number: N })oracle (принимает только номер PR, не ищет issues) — прямой поиск через Forgejo issues search API (curlсq=<ключевые слова>&type=issues&state=open&limit=50&page=1, owner/repo изgit remote get-url origin).&page=2,&page=3и т.д.pipeline-statusи формулировку «returns issue context» из скилла.~/.config/opencode/skills/bug-discovery/— байт-идеально (diff пуст).Почему
Шаг 1 гарантированно падал у каждого сабагента, нашедшего баг:
pipeline-statusпринимает номер PR, а не issue, и не возвращает «issue context». Поиск дубликатов должен идти только через issues search API.Watch out
Изменение сделано только в
SKILL.md(1 файл) — правка логически неделима, поэтому 1 коммит вместо 3-4 (декомпозиция невозможна;git resetзаблокирован deny-листом). Контракты остальных шагов протокола и AGENTS.md не тронуты.Pending
—
Closes #77
Closes #77
Code Review Summary
Summary
PR исправляет шаг 1 протокола bug-discovery: убран нерабочий вызов
pipeline-status({ pr_number: N })(оракул принимает только номер PR, не ищет issues) и заменён на прямой Forgejo issues search API (q=<ключевые слова>&type=issues&state=open&limit=50&page=1) с правилом пагинации и критерием дубликата. Копия в~/.config/opencode/skills/bug-discovery/синхронизирована байт-идентично (провереноdiff— пусто). CI green, PR body полный.Positives
pipeline-statusдействительно принимает только PR-номер — замена на issues search API устраняет гарантированный фейл у каждого сабагента.&page=2,&page=3) и критерий дубликата (совпадение title/ключевых слов → комментарий к существующему issue, пропуск создания) прописаны явно.reviewer.md,memory-syncer.md,run-pipeline/SKILL.md,project-template/SKILL.md) ссылаются только по имениskill("bug-discovery"), без зависимости от внутреннего шага 1. Удалённый литерал нигде больше не используется. Новый curl-паттерн не конфликтует с deny-rules.~/.configкопии выполнена и проверена.Suggestions (info, not blocking)
curlPOST к.../issues/{index}/comments. Стоит дописать команду явно (как сделано для поиска), чтобы сабагент не изобретал формат.q=<ключевые слова>— кириллица в URL без percent-encoding; curl отправит как есть, Forgejo может не найти. Рекомендация: указать, что ключевые слова лучше на латинице/английском (title issues всё равно English по конвенции).Verdict: APPROVE