gentleman-programming/gentle-ai

issue-root-resolution

Trigger: root audit, atacar la raíz, issue roots, backlog roots, mechanism map, deletion-driven fix, resolver issues de raíz, close outdated issues.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/gentleman-programming/gentle-ai --skill issue-root-resolution

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Activation Contract

Load when auditing a defect backlog for shared root causes, proposing a fix for an issue cluster, or closing issues as resolved/outdated. Complements rdd-defect-workflow (single-defect flow) — this skill governs the cluster-level method.

Hard Rules

  • Read full bodies and comments, never titles. Classify against the actual code or PR diff, not descriptions of it.
  • Verify every "fixed" or "broken" claim against current origin/main the day you act. Compare report dates to fix merge dates: a repro filed before the fix landed is evidence about old builds, not current code.
  • Cluster defects by causal root, not surface. Each root gets a measured row in the meta-issue (#2471 style): issues attached, fix shape, state.
  • Before proposing any fix, produce a read-only mechanism map: one file:line anchor per claim, mechanism explained as implemented today. Report claim-vs-code mismatches explicitly; never force evidence to fit the hypothesis. Let the map shrink the proposal.
  • Rank solutions by what they DELETE: (1) removes a mechanism so the class becomes impossible, (2) static guard-ratchet making reintroduction a test failure, (3) localized predicate fix behind a failing repro test. New surface (verbs, flags, mechanisms) is last resort — defer until re-verified evidence demands it.
  • Extract maintainer choices as named D-items with recommended defaults. A maintainer condition recorded in an issue thread outranks any plan table, including yours.
  • Close only with evidence, one rule per closure: (A) fixed on main, cite commit AND proving test; (B) superseded by recorded maintainer decision; (C) surface no longer exists; (D) duplicate of a fixed issue. Comment before closing: what resolved it, verified today, reopen invitation. When in doubt, do not close — list as borderline.
  • Clean break, never compatibility. When a format or identity changes, bump its versioned tag as a REPLACEMENT: old records become outdated and fail closed with an actionable refusal naming the rerun. Never write dual recognition, legacy fallbacks, or compat shims; that residue is what the deletion criterion exists to prevent. Stored bytes are never rewritten and stay readable for forensics, but carry no gate or lifecycle validity.
  • Implementation follows the waves recipe: repro as failing test first, byte-stable goldens as defect signal, independently revertible slices, one writer per slice.
  • A universal guard's verification matrix is go test ./... at the repository root, never a curated package list. A guard that forbids a shape breaks every fixture that relied on it, including in packages the change never touched.
  • One worktree per writer, always, including the orchestrator. Before editing inline, check whether a delegated worker holds that path; if so, create a separate worktree rather than reusing it.
  • Audit every worker report yourself: re-run its key verification, decoy-test any new guard, spot-check its diffs. A self-report is a claim, not evidence.

Decision Gates

ConditionAction
Issue's failure mechanism absent from current mainRe-verify on latest build; close by rule A/C or mark stale — never fix ghost code.
Fix would add a mechanism, flag, or verbDefer with written reason; re-rank for a deletion-shaped alternative first.
Map contradicts the issue or your hypothesisThe map wins. Revise the plan and correct the public record (meta-issue) before coding.
Blocker's fix lives in an unmerged PRLeave open; it closes on merge or by its own thread condition.
Closure evidence incompleteBorderline list, not closure.

Execution Steps

  1. Measure: read the cluster fully; partition by root; record counts in the meta-issue.
  2. Classify each issue against the real diff/code; separate closes-via-X, improved-not-closed, unrelated, blocker.
  3. Map mechanisms read-only with anchors; flag mismatches.
  4. Rank fixes deletion-first; name D-items; get maintainer answers.
  5. Implement in slices (issue-first: every PR links a status:approved issue), audit each worker report.
  6. Hygiene pass: evidence-gated closures, stale-repro re-verification requests, meta-issue update with what changed and why.

Output Contract

Per pass, report: roots table (issues, fix shape, state), closures with rule+evidence, borderline list with reasons, D-items and their answers, mechanism-map mismatches found, and the meta-issue comment link.

References

  • ../rdd-advisory-transport/references/shared-advisory-transport-proposal.md — exemplar proposal shape produced by this method.
  • ../rdd-advisory-transport/references/issue-impact-matrix.md — exemplar per-issue disposition matrix.

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills