info-tech-canon/tests/test_service.py
tegwick 28d5824362
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Assimilate ITCC v0.1 as Capability Model; canon 0.2.0
Define the intake and assimilation practice (incoming/ drop zone -> frozen
source snapshot -> Minimal Assimilation Profile -> disposition gate -> canon
transformation -> versioned change notes) and run it on the first inputs.

- infospace/assimilation/intake-and-assimilation-practice.md, incoming/README.md
- assimilation/it-capability-canon: frozen source, comparison matrix, 26
  mappings, 8 proposed changes, 7 open questions, decision record (adapt)
- new model ITC-CAP with 41-capability machine-readable catalog, anchored to
  owning canon models; CILM rejected, Profile renamed, Provision made explicit
- registered in canon.yaml / artifacts index / infospace.yaml; regenerated
  briefs, indexes, views; canon version 0.1.0-scaffold -> 0.2.0 + CHANGELOG
- ITC-WP-0014 for promotion work; ITC-WP-0013 added to the workplan registry

make validate: ok (65 artifacts, 0 errors/warnings). make test: 22 passed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 20:54:32 +02:00

164 lines
5.2 KiB
Python

from info_tech_canon.service import (
alignment_template,
artifact_graph,
generate_agent_briefs,
generate_indexes,
generate_tree,
inspect_canon,
list_models,
list_standards,
profile_graph,
profile_validate,
review_kit,
validate_canon,
)
from info_tech_canon.service import DEFAULT_INFOSPACE_ROOT
import shutil
def test_inspect_canon_counts_artifact_kinds() -> None:
payload = inspect_canon()
assert payload["ok"] is True
assert payload["infospace"]["slug"] == "canon"
assert payload["infospace"]["artifact_count"] == 65
assert payload["infospace"]["kinds"] == {
"access-descriptor-set": 1,
"alignment-review-kit": 1,
"assimilation": 1,
"alignment-review-schema": 1,
"alignment-review-workflow": 1,
"alignment-scorecard": 1,
"benefit-analysis": 1,
"benchmark-findings": 1,
"benchmark-workspace": 1,
"capability-catalog": 1,
"capture-criteria": 1,
"caring-mapping": 1,
"comparison-frame": 1,
"comparison-report": 1,
"concept-catalog": 1,
"conformance-pack": 1,
"consumer-workplan-brief": 3,
"consumer-workplan-template": 1,
"evaluation-pack": 1,
"evaluation-question-set": 1,
"example": 1,
"extension-candidate-set": 1,
"interface-card-expectation": 1,
"kernel": 2,
"mapping": 1,
"mapping-expectation": 1,
"model": 12,
"model-extension": 1,
"model-selection-guide": 1,
"native-concept-map": 1,
"pattern": 1,
"practice": 1,
"profile-alignment": 1,
"profile": 1,
"profile-artifact": 13,
"standard": 3,
"visualization-example-set": 1,
}
def test_model_and_standard_lists_are_filtered() -> None:
assert list_models()["count"] == 12
assert list_standards()["count"] == 3
def test_review_kit_exports_workflow_and_template() -> None:
payload = review_kit()
assert payload["ok"] is True
assert payload["review_kit"]["id"] == "review-kit/alignment"
assert payload["components"]["workflow"]["content"]["id"] == (
"review-kit/alignment/workflow"
)
assert "## Current Fit" in payload["template"]["content"]
def test_alignment_template_exports_content() -> None:
payload = alignment_template()
assert payload["ok"] is True
assert payload["path"] == "agent/templates/consumer-alignment-workplan.template.md"
assert "{{WORKPLAN_ID}}" in payload["content"]
def test_validate_canon_passes_scaffold() -> None:
payload = validate_canon()
assert payload["ok"] is True
assert payload["errors"] == []
assert "warnings" in payload
assert payload["details"]["artifact_count"] == 65
def test_graph_exports_relationship_summary() -> None:
payload = artifact_graph()
assert payload["ok"] is True
assert payload["graph"]["node_count"] == 65
assert payload["graph"]["edge_count"] > 15
def test_small_saas_profile_validates() -> None:
payload = profile_validate("small-saas")
assert payload["ok"] is True
assert payload["errors"] == []
assert payload["details"]["kinds"]["tenant"] == 2
def test_small_saas_profile_graph_exports_slice() -> None:
payload = profile_graph("small-saas")
assert payload["ok"] is True
assert payload["profile"] == "small-saas"
assert "small-saas/service/billing-portal" in payload["graph"]["nodes"]
def test_generators_write_expected_assets(tmp_path) -> None:
root = tmp_path / "infospace"
shutil.copytree(DEFAULT_INFOSPACE_ROOT, root)
index_payload = generate_indexes(root)
tree_payload = generate_tree(root)
brief_payload = generate_agent_briefs(root)
assert index_payload["ok"] is True
assert tree_payload["ok"] is True
assert brief_payload["ok"] is True
assert (root / "indexes" / "concept-ownership.yaml").is_file()
assert (root / "views" / "by-standard.md").read_text(
encoding="utf-8"
).startswith("<!-- GENERATED")
assert (root / "agent" / "global-agent-brief.md").is_file()
assert (root / "agent" / "retrieval-index.md").is_file()
assert (root / "agent" / "retrieval-index.yaml").is_file()
assert (root / "agent" / "retrieval-index.json").is_file()
assert (root / "agent" / "briefs" / "model-access-control.md").is_file()
assert (
root / "agent" / "briefs" / "model-purpose-demand-extension.md"
).is_file()
assert (root / "agent" / "briefs" / "evaluation-user-engine.md").is_file()
assert (
root / "agent" / "briefs" / "conformance-railiance-fabric.md"
).is_file()
assert (
root / "agent" / "briefs" / "comparison-repo-scoping-report.md"
).is_file()
assert (
root / "agent" / "briefs" / "benchmark-caring-kubernetes-rbac.md"
).is_file()
assert (root / "agent" / "briefs" / "review-kit-alignment.md").is_file()
assert (
root / "agent" / "templates" / "consumer-alignment-workplan.template.md"
).is_file()
assert (root / "agent" / "briefs" / "pattern-intent-scope-purposes.md").is_file()
assert (
root / "agent" / "templates" / "canon-interface-card.template.yaml"
).is_file()
assert (root / "agent" / "consumer-briefs" / "user-engine.md").is_file()