fix: pipeline排序/runDic映射/label-master repeatable/达标优先级
- pipeline items 按 first_ts 自然时间排序,去掉 hardcoded section_order
- augment step-detail 去掉 R{n-1} 偏移,直接用本轮 runDic(与 resolve_run_ids.sh 实际行为对齐)
- 加 BundledSkill.repeatable 字段,label-master 标记 repeatable:true 跳过 duplicate detection
- SKILL.md/program.md: 目标集≥95%最高优先级,未达标前其他集合轻微下降不回滚
- SKILL.md/program.md: 禁止正则脚本替代 label-master 语义复核
- program.md: 每轮 SFT 前必须展示训练数据组成
- resolve_run_ids.sh: 修正注释(SFT_RUNDIC = 当轮 eval workflow id)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -2681,7 +2681,7 @@ class LocalCodingAgent:
|
||||
bundled = find_bundled_skill(skill_name, cwd=self.runtime_config.cwd)
|
||||
if bundled is not None:
|
||||
skill_key = bundled.name.strip().lower()
|
||||
if active_skill_names is not None and skill_key in active_skill_names:
|
||||
if active_skill_names is not None and skill_key in active_skill_names and not bundled.repeatable:
|
||||
duplicate_count = 1
|
||||
if duplicate_skill_counts is not None:
|
||||
duplicate_count = duplicate_skill_counts.get(skill_key, 0) + 1
|
||||
|
||||
@@ -35,6 +35,7 @@ class BundledSkill:
|
||||
aliases: tuple[str, ...] = ()
|
||||
allowed_tools: tuple[str, ...] = ()
|
||||
user_invocable: bool = True
|
||||
repeatable: bool = False
|
||||
source: str = 'python'
|
||||
path: str | None = None
|
||||
get_prompt: Callable[['LocalCodingAgent', str], str] = lambda _a, _args: ''
|
||||
@@ -190,6 +191,7 @@ def _load_directory_skill(path: Path, *, source: str = 'directory') -> BundledSk
|
||||
aliases=_split_csv(metadata.get('aliases')),
|
||||
allowed_tools=_split_csv(metadata.get('allowed_tools')),
|
||||
user_invocable=_parse_bool(metadata.get('user_invocable'), default=True),
|
||||
repeatable=_parse_bool(metadata.get('repeatable'), default=False),
|
||||
source=source,
|
||||
path=str(path),
|
||||
get_prompt=_directory_skill_prompt(body.strip()),
|
||||
|
||||
Reference in New Issue
Block a user