Replies: 3 comments 1 reply
|
I support the proposed first step: make storage usage visible, finish reclaiming data after deletion, and improve scoped manual cleanup. For the later automatic policies, I think the Runtime Host must own both the decision and the execution. Desktop should expose the settings and results, while the Host reuses its existing Session retirement path and busy-session checks. Automatic archiving and deletion of archived Sessions after a retention period should be separate, opt-in settings, both off by default. There is currently a Host archive command, but no general idle/completion/PR-driven auto-archive policy. I would apply an enabled retention policy to all archived Sessions, including manually archived ones. Restoring a Session cancels its deletion deadline; archiving it again starts a new deadline. This needs a durable The proposed archive triggers need different authoritative facts:
This suggests shipping storage visibility and manual cleanup first, then Host-owned idle archiving. Completion and PR triggers can follow once their fact sources and exact meanings are established. I would update the proposal's “only automatically archived tasks should ever be automatically deleted” sentence to reflect that opt-in retention also covers manual archives. 中文说明(点击展开)我支持先做空间占用展示、删除后的空间回收,以及按范围手动清理。 后续的自动策略应由 Runtime Host 判断并执行;Desktop 负责展示设置和结果。自动归档与“已归档会话到期删除”是两个独立开关,默认都关闭。Host 已有归档命令,但目前没有按空闲、完成或 PR 状态自动归档普通会话的通用策略。 用户开启到期删除后,手动归档和自动归档的会话都适用。恢复会话即取消删除倒计时;再次归档则重新计时。需要持久化 三个归档触发条件分别需要可靠事实:空闲时间只能筛选候选,执行前仍要由 Host 检查整个会话版本族是否忙碌;Work Board 的 因此建议先交付空间与手动清理,再加入 Host 的空闲归档;完成和 PR 触发等事实来源及语义确定后接入。原帖“只有自动归档的任务才能自动删除”应改为:用户主动开启保留期限后,手动归档的任务也适用。 |
|
I agree with the proposed direction and would suggest treating it as a phased lifecycle and storage-management effort. The priority order should be:
A few safeguards seem essential:
I would support making storage visibility and safe manual reclamation the first concrete milestone, while keeping automatic retention and event-driven archiving for later phases. 中文翻译我赞同这个方向,并建议把它作为一个分阶段的任务生命周期和存储管理工作来推进。 优先顺序可以是:
我认为以下保护措施是必要的:
我支持把“存储可见性 + 安全的手动回收”作为第一阶段的具体目标,把自动保留和事件驱动归档放到后续阶段。 |
|
Thanks both. This settles the first step and sharpens the later ones. Step 1 has agreement, and I'll start on it. As both of you said, the Host computes and executes, and Desktop presents. From a first pass over
#5341 turned out to be an in-memory preview lease rather than disk residue, and #5394 already fixes it at the Host retirement hook, so step 1 will depend on that PR rather than redo it. I'll open a tracking issue with the details. Two questions for maintainers there: is the explicit-request, pre-Ready conversion of On retention scope, I'd like to adopt @me2seeks's model and withdraw my "only automatically archived tasks may be automatically deleted" line.
On automatic archive triggers, I agree with the ordering @me2seeks describes:
Automatic archiving and retention stay two separate, opt-in settings, both off by default. Revised plan
中文说明感谢两位。第一步已有共识,我这边开始推进。 由 Host 计算和执行,Desktop 负责展示。计划拆成三个可独立交付的 PR:
#5341 实际是内存里的预览 lease 泄漏,不是磁盘残留,#5394 已经在修,所以第一步依赖它,不重复实现。细节会放在跟踪 issue 里。请维护者确认两点: 关于到期删除的范围,我采纳 @me2seeks 的方案,撤回原帖"只有自动归档的任务才能被自动删除"的说法。
关于自动归档的触发条件,同意 @me2seeks 的顺序:
自动归档和到期删除是两个独立开关,都默认关闭。 |
Uh oh!
There was an error while loading. Please reload this page.
Why this
A Desktop task (Session) stays exactly where it was left once it is created. Nothing archives it when it goes idle, nothing expires it, and nowhere in the product shows how much disk the accumulated tasks take. Tasks are also a heavy object: each one can accumulate artifacts, context-offload blobs, subagent worktrees and runtime events. Long-running users therefore collect a sidebar they have to prune by hand, and a workspace that only grows.
Before proposing any code, I wanted to (1) pin down exactly what Maka does today, and (2) look at how comparable products handle this. Some of the choices here delete user data, so I'd like agreement on direction first.
What Maka does today (upstream/main
c9a176e10)Already there
active,running,waiting_for_user,blocked,aborted) is independent of archival (isArchived). "Pin" isisFlagged. The Host lifecycle isactive | archived(protocol/session-retirement.ts)..maka-sessionbundles.active | paused | completed | expired. Work Board items havetodo | in_progress | doneplus an independent archived flag.Gaps
runtime.sqliteis not vacuumed after deletes, so the file does not shrink. #5341 leaves artifact previews behind after deletion.doneWork Board item stays unarchived, and acompletedorexpiredscheduled task stays until deleted.How comparable products handle it
I surveyed about 30 products: coding agents first, general assistants for reference. Defaults are from official docs where available; see the note on sources below.
Coding agents
cleanupPeriodDays: 30 days, hard delete of transcripts across all projects, run at startupdesktopSessionCleanupPeriodDays = 0); opt-in auto-archive when the task's PR merges or closes (off by default)archive/unarchive/delete(delete removes descendants)history.max_bytesfor input historysessionRetentionon by default in recent versions: 30 days, with a 1-day minimumGeneral assistants (for reference)
What the survey suggests
Proposed direction (for discussion)
In order of value versus risk:
Questions for maintainers
session-retirementandstorage-maintenance), exposed as runtime policy, so that it applies to every client of a Host rather than to one Desktop window.Note on sources: coding-agent defaults come from each product's docs (Claude Code settings reference, Codex CLI and config reference, the VS Code agent-sessions docs, the Gemini CLI session-management doc, the Kilo session-history and auto-cleanup docs). User pain points come from their public issue trackers and forums. General-assistant behaviour comes from official help centres. A few entries (Zed, Warp, Devin) rely on search summaries and are the least certain. I can post the full per-product notes with links if useful.
AI disclosure: Claude Code (Claude Opus) surveyed the codebase and the public documentation and drafted this post; liugddx reviewed it.
All reactions