fix(session-flow): stop handoffs from dropping in-force rules to fit the hot-file size cap

未关闭
#13,847 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
34/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
shell
领域
devtools

调研方向

Start by reading save_point.py validate and the session-flow plugin’s structure.md Shape 3 rules; the issue does not give their paths or identify the relevant tests. Add coverage for a dropped rule and a retired rule, separate core from non-core size in validation, and report when carried Prior sessions content causes the cap to be exceeded. The amendment carry-forward policy is an owner design decision, so completion also needs an agreed policy and a test for it.

由索引模型根据 Issue 内容生成。

描述

priority: medium status: needs-decision

Problem

A shape-3 handoff's hot file has a 24,600-byte cap, but its core (Original goal, Direction changes, Resumption brief, Current rules, Standing preferences) grows every hop and is the part validate says never moves. When the core nears the cap, the only lever left to a writer is the rule list, so in-force rules get dropped from the hot file to pass validate, and the next session never sees them. Nothing in save_point.py validate catches a dropped rule: it reads only size, order and slots.

Evidence (lane 3 chain 20261101T025745Z-handoff-lane3-plan-b, hop 28, 2026-11-06):

  • The hot file's core was 24,437 bytes with the cap at 24,600, leaving 163 bytes for every non-core section; the predecessor hop was already over the cap (26,460 bytes, core 21,782).
  • The Original goal alone was 13,269 bytes: it carries every dated owner amendment verbatim, and the chain has 28 hops.
  • To pass, the writer moved 20 in-force rules into the hop file (among them R77, wait for the hub's OUTAGE-END before GitHub writes; R58, limits on hand re-runs; R68 and R69, safe idle claiming). A side agent caught it; the rules were put back and the file emitted UNVALIDATED at 29,053 bytes (core 23,796).
  • structure.md "Shape 3" allows deleting a rule only when it is retired, not to fit the cap, but the skill gives no check that enforces it.

Done when

  • save_point.py validate fails when a rule id in the predecessor's Current rules is missing from the hot file and is not listed with a reason under a retired-rules heading in this hop's file (test: drop one rule, see FAIL; list it as retired, see PASS).
  • The core over the cap is never resolved by moving core content: the skill and validate's FAIL text say to emit UNVALIDATED (as it already does for a core over the cap) rather than shorten the core, and validate names the core size separately from the non-core size.
  • The Original goal stops growing without bound: a decided rule for how dated amendments past a threshold are carried (for example, the newest N verbatim in the hot file and the rest verbatim in the hop file with a pointer), with a test.
  • A handoff over the cap because of carried deterministic content (the Prior sessions table) is reported as such, so the writer is not pushed to cut written sections.

Notes

The amendment rule touches what "verbatim Original goal" means, so its shape is a design choice for the session-flow plugin's owner; the rule-drop check and the FAIL text are not.

主要语言
Shell
星标
22
派生
2
平均合并
1 小时 13 分钟
30 天内合并 PR
954

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

melodic-software/claude-code-plugins 的其他 Issue

查看 melodic-software/claude-code-plugins 的全部 Issue

相似的 Issue

更多 Shell/Bash Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。