aboutsummaryrefslogtreecommitdiff
path: root/scripts/workflow-integrity.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/workflow-integrity.py')
-rwxr-xr-xscripts/workflow-integrity.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/scripts/workflow-integrity.py b/scripts/workflow-integrity.py
index fa33c4c..3ac1b3d 100755
--- a/scripts/workflow-integrity.py
+++ b/scripts/workflow-integrity.py
@@ -15,7 +15,7 @@ Checks:
to a real file under the canonical scripts dir.
4. plugin-parent every engine.plugin.org maps to an indexed engine.
5. orientation every non-plugin workflow has an orientation section
- (Overview / Purpose / When to Use|Run / Status).
+ (Overview / Summary / Purpose / When to Use|Run / Status).
6. trigger-uniqueness no trigger phrase is claimed by two different workflows.
Exit 0 when clean, 1 when any check fails, 2 on bad usage.
@@ -36,8 +36,9 @@ CATALOG_RE = re.compile(r"^- =([A-Za-z0-9._-]+\.org)= ", re.M)
PLUGIN_RE = re.compile(r"^(.+)\.[^.]+\.org$") # engine.plugin.org
SCRIPT_REF_RE = re.compile(r"\.ai/scripts/([A-Za-z0-9][A-Za-z0-9._/-]*)")
QUOTED_RE = re.compile(r'"([^"]+)"')
-ORIENTATION_RE = re.compile(r"^\* (overview|purpose|when to use|when to run|status)\b",
- re.M | re.I)
+ORIENTATION_RE = re.compile(
+ r"^\* (overview|summary|quick contract|purpose|when to use|when to run|status)\b",
+ re.M | re.I)
def catalog_entries(index_text: str) -> set[str]:
@@ -124,7 +125,7 @@ def check(workflows_dir: Path) -> list[str]:
text = (workflows_dir / w).read_text(encoding="utf-8")
if not ORIENTATION_RE.search(text):
findings.append(f"[missing-section] {w}: no orientation section "
- "(Overview / Purpose / When to Use|Run / Status)")
+ "(Overview / Summary / Purpose / When to Use|Run / Status)")
# 6. trigger-uniqueness
for phrase, owners in sorted(trigger_map(index_text).items()):