W15: conflict resolution — E7 CRITICAL gate, T11/T18 audit refs, §5 metadata check, PROMPT_TEMPLATE Fixes (W15.4-W15.9)
Some checks failed
CI / Determine matrix (push) Has been cancelled
CI / ${{ matrix.os }} / ${{ matrix.build_type }} (push) Has been cancelled

- W15.4 (杨帆): §11/§14 cross-reference audit — PASS-WITH-NOTES, 3 fixes needed
- W15.5 (王测): §14 internal consistency — PASS-WITH-NOTES, 4 fixes needed
- W15.6 (胡桐): self-check script + YAML verification — PASS
- W15.7 (杨帆): Add E7 (no OPEN CRITICAL) to EXPRESS conditions, update T11 to include §14.4 A1-A4, add T18 finding status in §14.5
- W15.8 (王测): Fix findings-registry Close Date, add historical finding time-limit rule, add legacy audit Findings Summary note, add Fixes annotation to PROMPT_TEMPLATE
- W15.9 (胡桐): Fix false-positive warning in check_agents_metadata.py (skip audits/ dir), add metadata check to §5

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 18:33:02 +08:00
parent 0e41c8c6f6
commit f010af6c07
7 changed files with 62 additions and 11 deletions

View File

@@ -116,7 +116,7 @@ def check_yaml_parse(agents_dir):
# Profile files
for child in sorted(agents_dir.iterdir()):
if not child.is_dir() or child.name.startswith('.') or child.name == 'groups':
if not child.is_dir() or child.name.startswith('.') or child.name in ('groups', 'audits'):
continue
pf = child / 'profile.md'
if not pf.is_file():
@@ -158,7 +158,7 @@ def check_rating_range(agents_dir):
findings = []
for child in sorted(agents_dir.iterdir()):
if not child.is_dir() or child.name.startswith('.') or child.name == 'groups':
if not child.is_dir() or child.name.startswith('.') or child.name in ('groups', 'audits'):
continue
pf = child / 'profile.md'
if not pf.is_file():
@@ -206,7 +206,7 @@ def check_group_refs(agents_dir):
valid_groups.add(str(gid).strip())
for child in sorted(agents_dir.iterdir()):
if not child.is_dir() or child.name.startswith('.') or child.name == 'groups':
if not child.is_dir() or child.name.startswith('.') or child.name in ('groups', 'audits'):
continue
pf = child / 'profile.md'
if not pf.is_file():
@@ -243,7 +243,7 @@ def check_member_refs(agents_dir):
# Collect valid agent_ids
valid_agents = set()
for child in sorted(agents_dir.iterdir()):
if not child.is_dir() or child.name.startswith('.') or child.name == 'groups':
if not child.is_dir() or child.name.startswith('.') or child.name in ('groups', 'audits'):
continue
if (child / 'profile.md').is_file():
valid_agents.add(child.name)
@@ -286,7 +286,7 @@ def check_duplicate_ids(agents_dir):
agent_ids = {}
for child in sorted(agents_dir.iterdir()):
if not child.is_dir() or child.name.startswith('.') or child.name == 'groups':
if not child.is_dir() or child.name.startswith('.') or child.name in ('groups', 'audits'):
continue
pf = child / 'profile.md'
if not pf.is_file():
@@ -306,7 +306,7 @@ def check_duplicate_ids(agents_dir):
# Also verify dir name matches agent_id
for child in sorted(agents_dir.iterdir()):
if not child.is_dir() or child.name.startswith('.') or child.name == 'groups':
if not child.is_dir() or child.name.startswith('.') or child.name in ('groups', 'audits'):
continue
pf = child / 'profile.md'
if not pf.is_file():