Enable kaizen agents to run on a regular cadence against a preselected repo roster, orchestrated by activity-core and prepared by kaizen-agentic — without this repo owning cron, Temporal workers, or an LLM runtime. CLI + module: - src/kaizen_agentic/schedule.py — .kaizen/schedule.yml parse/validate/scaffold - `kaizen-agentic schedule` group: init, validate, list, prepare <agent> (prepare bundles agent prompt + memory + metrics + repo pointers, offline) - tests/test_schedule_cli.py — 15 tests Contract & design: - ADR-005 scheduled agent execution; schema doc + example manifest - discover_kaizen_scheduled_repos resolver spec, state-hub roster fields, kaizen.schedule.prepared event payload, activity-core handoff checklist - INTEGRATION_PATTERNS Pattern 2 extended with roster model ActivityDefinition drafts (enabled: false): - weekly-coach-orientation, weekly-optimization-review Docs: agency-framework, CLI cheat sheet, PACKAGE_RELEASE runner prereqs, EcosystemIntegration, CHANGELOG, TODO. Workplan closed (status: done). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
"""Smoke tests for WP-0004 integration artifacts."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
import yaml
|
|
|
|
DEFINITIONS_DIR = (
|
|
Path(__file__).parent.parent / "docs" / "integrations" / "activity-definitions"
|
|
)
|
|
|
|
|
|
def test_activity_definitions_have_required_frontmatter():
|
|
files = list(DEFINITIONS_DIR.glob("*.md"))
|
|
# 3 from WP-0004 (metrics) + 2 from WP-0006 (scheduled agent runs)
|
|
assert len(files) == 5
|
|
|
|
for path in files:
|
|
text = path.read_text(encoding="utf-8")
|
|
assert text.startswith("---\n")
|
|
end = text.index("\n---\n", 4)
|
|
frontmatter = yaml.safe_load(text[4:end])
|
|
assert frontmatter["id"]
|
|
assert frontmatter["trigger"]["type"] in ("cron", "event")
|
|
assert frontmatter["owner"] == "kaizen-agentic"
|
|
|
|
|
|
def test_integration_docs_exist():
|
|
root = Path(__file__).parent.parent / "docs"
|
|
assert (root / "INTEGRATION_PATTERNS.md").exists()
|
|
assert (root / "integrations" / "helix-forge-correlation.md").exists()
|
|
assert (root / "integrations" / "optimizer-artifact-manifest.md").exists()
|