2026-06-16 01:53:01 +02:00
|
|
|
"""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"))
|
feat: scheduled agent execution via activity-core (WP-0006, v1.3.0)
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>
2026-06-17 08:19:51 +02:00
|
|
|
# 3 from WP-0004 (metrics) + 2 from WP-0006 (scheduled agent runs)
|
|
|
|
|
assert len(files) == 5
|
2026-06-16 01:53:01 +02:00
|
|
|
|
|
|
|
|
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()
|
2026-06-16 01:58:07 +02:00
|
|
|
assert (root / "integrations" / "optimizer-artifact-manifest.md").exists()
|