Skip to content

contribute opens hub issues without a fix, even for fixed clusters - #45

Merged
github-actions[bot] merged 5 commits into
mainfrom
improve/F-6-contribute-opens-hub-issues-without-a-fi
Nov 11, 2026
Merged

github-actions[bot] merged 5 commits into
mainfrom
improve/F-6-contribute-opens-hub-issues-without-a-fi

Conversation

@zolotarev

@zolotarev zolotarev commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

contribute no longer fills the hub with issues that carry no fix.

  • No fix in .dpcli is a refusal (before any offline draft or +1); --issue reports on purpose.
  • A fixed cluster with no friction since the fix is refused; a committed fix bypasses this.
  • A Cyrillic title is refused: the hub is public and English.

VERSION 47, CHANGELOG, tests added.

🤖 Generated with Claude Code

@zolotarev zolotarev added the feedback Friction reported from real use label Nov 11, 2026
@github-actions

Copy link
Copy Markdown

VERDICT: rework

  • The idea (stop issue spam, no issues for already fixed clusters, no non-English titles on the public hub) is valid, and the tests cover the new refusals.
  • .github/workflows/implement.yml:2 is built on the old behaviour: a feedback issue from a trusted author, opened by dpcli contribute without a fix, becomes a PR. With this change the default path no longer creates such issues. Say in the PR how the implement pipeline still gets its input (is --issue the intended entry?), and update the workflow comment or its doc accordingly.
  • Docs describe the old flow and are not updated: CONTRIBUTING.md:12, templates/workflow.md:126, skills/harness-retro/SKILL.md:15. At minimum, mention that no fix means a refusal and that --issue reports on purpose. Keep it to a few words, since these are paid on every agent run, and check tools/budgets.json.
  • lib/dpcli/__init__.py:9: VERSION = 47# bump… lost the space before the comment (the original had one). Restore the formatting.
  • The "fixed, no friction since" refusal also blocks --issue and a PR that carries a real follow-up fix for a cluster marked fixed by mistake. Confirm this is intended, or let a committed fix on an improve/<id>-* branch bypass it. The test only covers --issue.
  • The PR body says "Seen ×1 in 0 task(s)": the evidence is thin for a behaviour change that affects every project. Add the concrete friction (the number of spurious issues) to the PR description.

@github-actions

Copy link
Copy Markdown

Auto-rework round 1/5.

…refusal and --issue

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
  1. implement.yml: skipped — needs a human: workflow file. The default path no longer creates issues; --issue is the intended entry for report-only frictions, so its header comment should say so.
  2. Docs: fixed — CONTRIBUTING.md, templates/workflow.md and skills/harness-retro/SKILL.md now say no fix is a refusal and --issue reports on purpose; budgets check green.
  3. VERSION spacing: fixed.
  4. Fixed-cluster refusal: fixed — a committed fix on the improve branch now bypasses it; --issue and no-commit calls still refuse. Test added.
  5. PR body evidence: skipped — I could not read or edit the PR body here (gh pr view was denied), and I have no spurious-issue count to add; it needs a human.

@github-actions

Copy link
Copy Markdown

VERDICT: rework

  • Real friction (issues opened with no fix, including for already-merged fixes), tests cover the three refusals, VERSION 47 and CHANGELOG are in place. I could not run the suite here, so passing tests are unverified.
  • contribute.py:70-71: the new "no fix in .dpcli" refusal is at the end of the function, after if not gh_ok(): return offline(...). Offline with no commits still produces an issue draft without --issue. Move the no-fix check before the gh_ok() branch, or state that offline is exempt and add a test.
  • contribute.py:87-94: with no fix and no --issue, a similar open issue still gets a +1 comment. That is probably fine, since it is cheap and adds evidence, but it contradicts the CHANGELOG/CONTRIBUTING wording ("No fix in .dpcli is a refusal"). Either refuse earlier or reword the docs, and add a test for the intended behavior.
  • contribute.py:42: ch.isalpha() and not ch.isascii() also rejects harmless English titles with an accented letter or a Greek symbol ("café"). Narrow the check to Cyrillic ('Ѐ' <= ch <= 'ӿ'), or accept it and say so in the CHANGELOG.
  • Scope: one PR bundles three behaviors (no-fix refusal, fixed-cluster refusal, non-English title refusal). The PR body lists only the first. Add the other two to the PR body, since the CHANGELOG already covers them.
  • Lightness: the new text is repeated in CHANGELOG, CONTRIBUTING, harness-retro and templates/workflow.md. The last two are agent prompts paid on every run. Keep the short --issue hint in only one of them, and confirm tools/budgets.json still passes.

@github-actions

Copy link
Copy Markdown

Auto-rework round 2/5.

@github-actions

Copy link
Copy Markdown
  • offline no-fix check: fixed — refusal moved before the gh_ok branch (own-PR rework exempt); test added.
  • +1 contradicting docs: fixed — no fix now refuses earlier, so no +1 without --issue; test added, +1 test uses --issue.
  • accented titles: fixed — check narrowed to Cyrillic; test added; CHANGELOG says Cyrillic.
  • scope: fixed — PR body now lists all three behaviors.
  • lightness: fixed — --issue hint removed from templates/workflow.md, kept in harness-retro and CONTRIBUTING; unit tests and metrics --check green.

@github-actions

Copy link
Copy Markdown

VERDICT: rework

  • Not reviewed: conflicts with main in CHANGELOG.md; merge main and push.

@github-actions

Copy link
Copy Markdown

Auto-rework round 3/5.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

fixed: CHANGELOG.md conflict with main — merged origin/main, kept both entries (this change is now 48, main's bash_guard entry stays 47), VERSION bumped to 48 (also conflicted); tests and metrics --check green.

@github-actions

Copy link
Copy Markdown

VERDICT: rework

  • Not reviewed: conflicts with main in CHANGELOG.md; merge main and push.

@github-actions

Copy link
Copy Markdown

Auto-rework round 4/5.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Merge conflict with main (CHANGELOG.md, VERSION): fixed — merged origin/main, my entry moved to 49 (main took 48), VERSION = 49; tests and metrics check green.

@github-actions

Copy link
Copy Markdown

VERDICT: accept

  • Real friction: agents ran contribute on every cluster and filled the hub with issues, including ones for fixes already merged. The three refusals (no fix, fixed with no recurrence, Cyrillic title) address it directly. lib/dpcli/commands/contribute.py:64-71
  • Correct: the fixed check uses t_fix and status as feedback.py folds them, and compares timestamps the same way (feedback.py:152). A committed fix bypasses the fixed refusal, which covers a mistaken "fixed". The no-fix refusal runs before the offline draft and the +1. Journals are untouched.
  • Tested: tests/test_contribute.py covers no fix (online and offline), --issue, fixed and then recurring, fixed with a committed fix, and non-English and accented titles. I could not run the suite or CI in this review, so check CI is green before merging.
  • Process: VERSION 49 and a CHANGELOG 49 line are present, and the docs, skill and template are updated in English.
  • Nit: the PR body says "VERSION 47", but the diff bumps 48 to 49.
  • Nit: skills/harness-retro/SKILL.md and templates/workflow.md each grow by a few tokens, and the code grows by about 8 lines. I could not check them against tools/budgets.json. Confirm the budgets job passes without raising the caps.

@github-actions github-actions Bot removed the rework label Nov 11, 2026
@github-actions
github-actions Bot merged commit b28bb61 into main Nov 11, 2026
4 checks passed
@github-actions
github-actions Bot deleted the improve/F-6-contribute-opens-hub-issues-without-a-fi branch November 11, 2026 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feedback Friction reported from real use

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant