sync: from iop v1.1.174
This commit is contained in:
parent
1155e0d739
commit
431b63c1f5
2 changed files with 40 additions and 1 deletions
|
|
@ -1 +1 @@
|
|||
1.1.173
|
||||
1.1.174
|
||||
|
|
|
|||
|
|
@ -11,6 +11,9 @@ SKILL_DIR = Path(__file__).resolve().parents[1]
|
|||
FORMATTER = SKILL_DIR / "scripts" / "finalize-task-route.sh"
|
||||
POLICY_FINALIZER = SKILL_DIR / "scripts" / "finalize-task-policy.sh"
|
||||
PLAN_SKILL = SKILL_DIR.parent / "plan" / "SKILL.md"
|
||||
COMMON_SKILLS_DIR = SKILL_DIR.parent
|
||||
COMMON_RULES_DIR = SKILL_DIR.parents[2] / "rules" / "common"
|
||||
|
||||
|
||||
GRADE_VECTORS = {
|
||||
1: (0, 0, 0, 0, 0),
|
||||
|
|
@ -90,6 +93,42 @@ class FinalizeTaskRoutingTests(unittest.TestCase):
|
|||
result[f"{target}_filename"], f"{prefix}-{lane}-G{grade:02d}.md"
|
||||
)
|
||||
|
||||
def test_common_workflows_do_not_depend_on_project_runtime(self) -> None:
|
||||
contract_roots = (
|
||||
COMMON_RULES_DIR / "rules-roadmap.md",
|
||||
COMMON_SKILLS_DIR / "create-roadmap",
|
||||
COMMON_SKILLS_DIR / "update-roadmap",
|
||||
COMMON_SKILLS_DIR / "sync-milestone-workstate",
|
||||
COMMON_SKILLS_DIR / "complete-milestone",
|
||||
COMMON_SKILLS_DIR / "plan",
|
||||
COMMON_SKILLS_DIR / "code-review",
|
||||
COMMON_SKILLS_DIR / "refine-local-plans",
|
||||
COMMON_SKILLS_DIR / "finalize-task-routing",
|
||||
)
|
||||
contract_files: list[Path] = []
|
||||
for root in contract_roots:
|
||||
candidates = (root,) if root.is_file() else root.rglob("*")
|
||||
contract_files.extend(
|
||||
path
|
||||
for path in candidates
|
||||
if path.is_file()
|
||||
and path.suffix in {".md", ".sh", ".yaml"}
|
||||
and "tests" not in path.parts
|
||||
)
|
||||
|
||||
forbidden = (
|
||||
"agent-ops/skills/project/",
|
||||
"orchestrate-agent-task-loop",
|
||||
"WORK_LOG.md",
|
||||
"work_log_",
|
||||
"dispatch.py",
|
||||
)
|
||||
for path in sorted(contract_files):
|
||||
text = path.read_text(encoding="utf-8")
|
||||
for needle in forbidden:
|
||||
with self.subTest(path=path, needle=needle):
|
||||
self.assertNotIn(needle, text)
|
||||
|
||||
def test_request_to_worker_contract_is_ordered_and_consistent(self) -> None:
|
||||
routing_skill = (SKILL_DIR / "SKILL.md").read_text(encoding="utf-8")
|
||||
plan_skill = PLAN_SKILL.read_text(encoding="utf-8")
|
||||
|
|
|
|||
Loading…
Reference in a new issue