Replies: 4 comments 2 replies
|
Thanks for writing this up — the reference survey across Kubernetes, Node.js, and DataFusion is really helpful, and starting with an Issue-only pilot plus keeping PR handling manual sounds like the right scope to me. Two thoughts from looking at the live tracker, offered as suggestions rather than objections: 1. Maybe mark earlier, while still closing conservatively? Maka moves unusually fast — the codebase is only about three months old, and entire subsystems have been deleted within a single month. A 90-day-old bug report here often points at code that no longer exists, so by the time the current threshold fires, the report may no longer be reproducible at all. Marking at something like 30 days of inactivity would catch this earlier, especially if the stale comment asks the reporter to reconfirm against current 2. Could the label taxonomy start smaller? I suspect the pilot only needs one new label: For what it's worth, only 1 open issue is currently more than 30 days inactive, so this policy would start out costing nothing and already be in place before the queue ages — which seems like a nice property of adopting it now. (Drafted with AI assistance; I verified the tracker numbers and workflow details myself.) 中文版本感谢整理这份提案——Kubernetes、Node.js、DataFusion 的横向对比很有参考价值,先做 Issue-only 试点、PR 保持人工处理,这个范围我觉得是合适的。 对照实时队列数据后有两个想法,作为建议提出,供参考: 1. 标记也许可以更早,关闭仍然保持保守? Maka 的迭代速度非常快——仓库只有三个月左右的历史,整个子系统一个月内就可能被删掉。90 天前的 bug report 在这里往往指向已经不复存在的代码,等到现有阈值触发时,报告可能早已无法复现。把标记阈值改为 30 天无活动 能更早发现这种情况,特别是如果 stale 评论能要求报告者对照当前 2. 标签体系能不能从更小开始? 我感觉试点阶段可能只需要一个新标签: 另外供参考:当前只有 1 个 open Issue 超过 30 天未更新,所以现在建立这个政策几乎零成本,还能赶在队列老化之前就位——这似乎是现在讨论它的一个额外好处。 (本评论由 AI 辅助起草;队列数据和 workflow 细节我已逐一核实。) |
|
I agree with introducing lifecycle management, but I think the proposed I suggest treating inactivity as a trigger for review rather than a reason for closure:
Technically, GitHub Agentic Workflows should be able to support this. The agent can perform the contextual analysis and produce labels, comments, evidence, and a recommended action. A deterministic GitHub Actions workflow can then enforce the waiting period and perform the final close or reassignment. This keeps the subjective analysis with the LLM while keeping the actual lifecycle rules predictable and auditable. I would suggest starting with an Issue-only pilot in staged mode, where the agent only reports what it would do. After evaluating its accuracy, we could gradually enable labels and comments, then reassignment, and finally narrowly scoped automatic closure. In short:
This would be more responsive than a uniform 90+30 policy while still avoiding automatic closure based solely on age. 中文版本我赞成引入生命周期管理,但我认为目前建议的“90 天无活动,再等待 30 天关闭”对 Maka 来说有些保守。Maka 正式多人协作开发至今时间并不长,而且仍在快速迭代,最长 120 天的处理周期可能无法及时反映 Issue 的真实状态。 我更建议把“无活动”作为触发复核的条件,而不是关闭理由:
技术上,GitHub Agentic Workflows 基本可以满足这一需求。LLM Agent 负责结合上下文分析并输出标签、评论、证据和建议操作;普通的确定性 GitHub Actions workflow 负责等待时间、最终关闭和负责人交接。这样既能利用 LLM 的判断能力,也能让真正的状态变更保持可预测和可审计。 建议先只对 Issue 进行 staged-mode 试点,让 Agent 仅展示它准备执行的操作。验证准确率后,再逐步开放标签和评论、负责人交接,最后才启用范围严格受限的自动关闭。 简化后的流程是:
这种方式会比统一的 90+30 规则更及时,同时也不会仅仅因为 Issue 时间较久就自动关闭。 |
|
Three updates since my last comment. #3839 belongs here. I opened it two days before this thread proposing 30 + 7 for PRs; it reached lazy consensus. Landing it separately would decide this thread's PR half early, and only one ASF practice:
Long mark, short grace; 7 days is the plurality for PRs. But our queue is three months old — no issue is 60d+ inactive and no PR is 37d+ without a commit, so Iceberg's 180 would never fire here. Proposal: PRs 30 + 7 (matching Iceberg), issues 30 + 30. Grace differs because reopening does: a closed PR keeps its branch and review; a closed issue needs its reporter back. @YayoiNanoka — I agree 90+30 is too conservative; we differ only on who reviews. Your own staged rollout puts a deterministic workflow under the agent to enforce the wait and perform the action. That layer is what this thread can settle now, and it gives the agent something to be measured against. Sequence rather than choose. Withdrawing the milestone exemption I proposed — the repo has zero milestones in use, so it exempts nothing.
So staleness must be computed — last human comment for issues, last commit for PRs, one GraphQL query — with Measured that way: 6 of 221 issues are 30d+ inactive (4 unassigned, oldest 45d); 1 of 146 PRs is 30d+ without a commit. First run marks 5, closes nothing. The real drift is the ≥14d cohort: 32 issues, 16 PRs. @liugddx — your proposal and survey got this here. Want to take the implementation? 简体中文我上一条之后有三点更新。 #3839 应并入本帖。 那帖比本帖早两天,提议 PR 30 + 7,已达成 lazy consensus。单独落地会提前定下本帖的 PR 半边,而 ASF 实际做法:
普遍是标记期长、宽限期短,PR 的 7 天占多数。但我们的队列只有三个月:没有 issue 沉寂超过 60 天,也没有 PR 超过 37 天无新 commit,Iceberg 的 180 天在这里永远不会触发。建议:PR 30 + 7(对齐 Iceberg),Issue 30 + 30。 宽限期不同是因为重开成本不同——PR 关闭后分支和 review 都在,Issue 关闭后要靠报告者回来。 @YayoiNanoka —— 我同意 90+30 太保守,分歧只在由谁复核。 你的分阶段方案里,Agent 下面仍需一个确定性 workflow 执行等待期和最终动作。那一层正是本帖现在能定的,也给了 Agent 可对照衡量的基准。建议排序,而不是二选一。 撤回我提的 milestone 豁免 —— 仓库 milestone 使用数为 0,豁免不到任何东西。
所以 staleness 必须自己算——Issue 看最后一条人类评论,PR 看最后一次 commit,一次 GraphQL 查询即可——再由 按此口径: 221 个 issue 中 6 个沉寂 ≥30 天(4 个无人认领,最久 45 天);146 个 PR 中 1 个 ≥30 天无新 commit。首轮标记 5 项、关闭 0 项。真正在漂移的是 ≥14 天那一档:32 个 issue、16 个 PR。 @liugddx —— 提案和调研是你做的,实现要不要你来接? (Drafted with AI assistance; I verified the ASF workflow configs, the queue numbers, and the |
|
Implementation completed in PR #4391, merged on September 1, 2026. The agreed deterministic baseline is now landed: Issues use 30 days inactive + 30 days grace, PRs use 30 days without a new commit + 7 days grace, with |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Background
I would like to discuss how Maka should manage the lifecycle of Issues and Pull Requests (PRs). Mature open-source projects generally do not close an item solely because it is old. They first label it, explain the inactivity, give the author a recovery window, and close it only when there is still no response.
As of 2026-08-28,
apache/makahas 123 open PRs and 200 open Issues. The PR queue is currently active. Among Issues, 32 have had no update for more than 7 days and 1 has had no update for more than 30 days. Maka already has PR effort labels and an Issuetake/untakeownership workflow, but I could not find lifecycle labels such asstale,inactive, orstalled, nor a scheduled workflow that warns about or closes inactive items.Reference practices
lifecycle/staleand a bot comment.lifecycle/frozencan exempt it; continued inactivity eventually closes it.stalled. Maintainers are expected to contact the author and discuss continuation or a handoff before closing it.staleafter 60 inactive days and is closed 7 days later; a comment removes the stale state.actions/stale: The official workflow follows the same two-stage pattern: label and comment first, then close after a configurable grace period. Labels and milestones can be excluded.References:
actions/stale: https://docs.github.com/en/actions/tutorials/manage-your-work/close-inactive-issuesMaka proposal
stale,needs-response,roadmap,security,pinned, andblocked.staleand explain the deadline; close it after another 30 days without activity. A human reply or reopening removesstaleand restarts the clock.Questions for the maintainers and contributors
roadmap,security, andblockedsufficient?This thread is for discussing policy only. It does not change the state of any existing Issue or PR.
中文版本
背景
想和维护者、贡献者讨论一下 Maka 的 Issue / Pull Request 生命周期管理。成熟的开源项目通常不会因为条目“创建时间久”就直接关闭,而是先标记、评论提醒,经过缓冲期仍无响应后再关闭。
截至 2026-08-28,我核对到
apache/maka有 123 个 open PR、200 个 open Issue。PR 当前整体很活跃;Issue 中有 32 个超过 7 天未更新、1 个超过 30 天未更新。当前仓库已有 PR effort 自动标签和 Issuetake/untake认领流程,但没有发现stale/inactive/stalled生命周期标签,也没有定时提醒或自动关单 workflow。其他项目的参考做法
lifecycle/stale并评论,可用lifecycle/frozen豁免,继续无响应后自动关闭。stalled,先通知作者并确认是否继续或允许维护者接手,再考虑关闭。stale,再过 7 天关闭;评论会移除 stale 状态。actions/stale也采用“标记 / 评论 -> 等待 -> 关闭”的两阶段流程,并支持按标签或里程碑排除。初步建议
stale、needs-response、roadmap、security、pinned、blocked等标签和豁免规则。stale并评论,再过 30 天仍无活动才自动关闭;有人回复或重新打开时移除 stale 并重新计时。欢迎维护者和贡献者讨论阈值、豁免标签、PR 是否自动关单,以及后续的维护责任人。
All reactions