降耗①:按区注入排除 README,去掉与 @import 的重复
README(红线速查/一页纸总则)已由 CLAUDE.md 用 @import 常驻每次会话, 按区注入里再读一遍是纯重复。readDirDocs 过滤掉 README.md,只注编号正文。 - server 首注 54,339 → 49,416 字符(省 ~4.9K) - client 首注(含 client+engineering 两个 README)省 ~5.5K - 注入文案标注「README 已随 CLAUDE.md 常驻,此处为编号正文」 - 零规范损失(内容未删,只是不重复注入);pipe-test 确认无 README 段、 正文与跨区去重逻辑不变 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -30,13 +30,14 @@ function markInjected(relDir) {
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
// 读取某目录下全部 .md(按文件名排序,README 先于编号靠 sort 自然处理),拼成一段带分隔标题的全文。
|
||||
// 读取某目录下的编号正文 .md(按文件名排序),拼成一段带分隔标题的全文。
|
||||
// 排除 README.md:它已被 CLAUDE.md 用 @import 常驻每次会话上下文,注入里再带就是重复。
|
||||
function readDirDocs(relDir) {
|
||||
var abs = path.join(PROJECT_DIR, relDir);
|
||||
var files;
|
||||
try { files = fs.readdirSync(abs); } catch (e) { return ''; }
|
||||
var out = [];
|
||||
files.filter(function (f) { return /\.md$/i.test(f); })
|
||||
files.filter(function (f) { return /\.md$/i.test(f) && !/^README\.md$/i.test(f); })
|
||||
.sort()
|
||||
.forEach(function (f) {
|
||||
try {
|
||||
@@ -80,9 +81,10 @@ process.stdin.on('end', function () {
|
||||
markInjected(d);
|
||||
});
|
||||
context =
|
||||
'【必须严格遵守 · ' + area + '开发规范(本会话首次注入完整文档全文)】\n' +
|
||||
'你正在修改' + area + '代码。下面是本次及后续所有改动都必须时刻遵守的完整规范' +
|
||||
'(' + dirs.join('、') + ')。逐条落实,勿凭记忆越线;dev-guide 与 engineering 冲突时以 dev-guide 硬红线为准。\n\n' +
|
||||
'【必须严格遵守 · ' + area + '开发规范(本会话首次注入编号正文全文)】\n' +
|
||||
'你正在修改' + area + '代码。下面是本次及后续所有改动都必须时刻遵守的完整规范正文' +
|
||||
'(' + dirs.join('、') + ';各目录 README 的红线速查/一页纸总则已随 CLAUDE.md 常驻上下文,此处不再重复)。' +
|
||||
'逐条落实,勿凭记忆越线;dev-guide 与 engineering 冲突时以 dev-guide 硬红线为准。\n\n' +
|
||||
full.join('\n\n');
|
||||
} else {
|
||||
context =
|
||||
|
||||
Reference in New Issue
Block a user