feat(ITC-WP-0017): establish AgenticDrivesFunctional pattern
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a025c2-407a-7a32-b40a-f37a52f03f62
This commit is contained in:
tegwick 2026-08-22 18:54:01 +02:00
parent 9e7e1d8c1e
commit 0ab196829e
21 changed files with 725 additions and 109 deletions

View file

@ -11,7 +11,7 @@ def test_cli_inspect_emits_json(capsys) -> None:
assert exit_code == 0
payload = json.loads(capsys.readouterr().out)
assert payload["ok"] is True
assert payload["infospace"]["artifact_count"] == 70
assert payload["infospace"]["artifact_count"] == 71
def test_cli_missing_profile_uses_structured_error(capsys) -> None:

View file

@ -25,7 +25,7 @@ def test_inspect_canon_counts_artifact_kinds() -> None:
assert payload["ok"] is True
assert payload["infospace"]["slug"] == "canon"
assert payload["infospace"]["artifact_count"] == 70
assert payload["infospace"]["artifact_count"] == 71
assert payload["infospace"]["kinds"] == {
"access-descriptor-set": 1,
"alignment-review-kit": 1,
@ -59,7 +59,7 @@ def test_inspect_canon_counts_artifact_kinds() -> None:
"native-concept-map": 1,
"pattern": 1,
"practice": 1,
"practice-pattern": 1,
"practice-pattern": 2,
"practice-pattern-scheme": 1,
"profile-alignment": 1,
"profile": 1,
@ -99,25 +99,28 @@ def test_validate_canon_passes_scaffold() -> None:
assert payload["ok"] is True
assert payload["errors"] == []
assert "warnings" in payload
assert payload["details"]["artifact_count"] == 70
assert payload["details"]["artifact_count"] == 71
def test_graph_exports_relationship_summary() -> None:
payload = artifact_graph()
assert payload["ok"] is True
assert payload["graph"]["node_count"] == 70
assert payload["graph"]["node_count"] == 71
assert payload["graph"]["edge_count"] > 15
def test_interface_deprecation_strangler_is_a_registered_practice_pattern() -> None:
def test_practice_patterns_are_registered() -> None:
payload = list_artifacts(kind="practice-pattern")
assert payload["count"] == 1
pattern = payload["artifacts"][0]
assert pattern["id"] == "practice-pattern/interface-deprecation-strangler"
assert pattern["title"] == "InterfaceDeprecationStrangler"
assert pattern["path"] == "patterns/InterfaceDeprecationStrangler.md"
assert payload["count"] == 2
patterns = {pattern["id"]: pattern for pattern in payload["artifacts"]}
agentic = patterns["practice-pattern/agentic-drives-functional"]
assert agentic["title"] == "AgenticDrivesFunctional"
assert agentic["path"] == "patterns/AgenticDrivesFunctional.md"
strangler = patterns["practice-pattern/interface-deprecation-strangler"]
assert strangler["title"] == "InterfaceDeprecationStrangler"
assert strangler["path"] == "patterns/InterfaceDeprecationStrangler.md"
def test_capability_review_joins_a_minimal_record(tmp_path) -> None: