Declare concepts and review boundaries for the silent artifacts (T02)
Twelve of the thirteen artifacts that declared nothing now declare what they define, together with the map-assigned concepts the Organization Model was missing and the Landscape seed concepts the extractor cannot see because they are listed rather than defined in prose. The ownership index grows from 164 entries to 750, undeclared prose definitions fall from 637 to 57, and there are no ownership conflicts. The 57 that remain are overlaps this round assigned to another owner: imports, each recorded in a boundary review. The kernel map declares nothing, deliberately, because it assigns concepts to owners rather than defining them. It is now the only silent artifact and the suite asserts that, so an artifact added without declarations fails. itc-org:Authority is declared, with Actor, Ownership, Membership, Role, Responsibility and Accountability, which SecurityCanon and the identity model already treat as organization-owned. The regression test that previously asserted the blind spot now asserts that the kernel map's assignment and the declaration agree. Profile is deliberately left undeclared. The kernel map assigns it to Core, the identity model owns it under accepted CUST-ADR-006, and Observability defines a runtime performance profile. Three senses need a decision, not a declaration, so it is recorded as open rather than forced. Eleven boundary reviews are added beside the artifacts they describe, in the shape the identity model has used since INFO-WP-0021. The largest finding is that Core and the Information Space model restate eight provenance concepts in nearly identical words; Core owns them and Information Space imports. Label, Drift, Summary and Attribute are resolved by disambiguation rather than transfer. make check passes with 50 tests, clean validation, no stale generated assets. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 3588@bnt-lap001 Assistant-Session: 24b80f66-e5a7-4e61-99fe-2d422e6d17da
This commit is contained in:
parent
164993d4e2
commit
f7b17b83f2
46 changed files with 5665 additions and 39 deletions
|
|
@ -9,6 +9,7 @@ import pytest
|
|||
import yaml
|
||||
|
||||
from info_tech_canon.cli import main
|
||||
from info_tech_canon.generation import concept_ownership
|
||||
from info_tech_canon.maintenance import (
|
||||
check_generated,
|
||||
concept_candidates,
|
||||
|
|
@ -121,16 +122,22 @@ def test_missing_mapping_schema_is_a_validation_finding(corpus):
|
|||
assert any(e["code"] == "mapping_schema_unreadable" for e in payload["errors"])
|
||||
|
||||
|
||||
def test_concept_candidates_find_prose_definitions_the_declarations_miss():
|
||||
def test_authority_is_declared_where_the_kernel_map_assigns_it():
|
||||
"""The gap that let itc-org:Authority pass the SecurityCanon conflict check."""
|
||||
report = concept_candidates(load_context())
|
||||
organization = next(item for item in report["artifacts"]
|
||||
if item["artifact"] == "model/organization")
|
||||
ownership = concept_ownership(load_context())
|
||||
owners = {item["concept"]: item["owner"] for item in ownership["concepts"]}
|
||||
|
||||
assert "Authority" in organization["undeclared"]
|
||||
assert organization["undeclared_count"] > organization["declared_count"]
|
||||
assert report["undeclared_total"] > 0
|
||||
assert "model/security" in report["silent_artifacts"]
|
||||
assert owners["Authority"] == "model/organization"
|
||||
assert owners["Actor"] == "model/organization"
|
||||
assert not ownership["ownership_conflicts"]
|
||||
|
||||
|
||||
def test_only_the_kernel_map_declares_no_concepts():
|
||||
"""It assigns concepts to owners rather than defining them (T02)."""
|
||||
report = concept_candidates(load_context())
|
||||
|
||||
assert report["silent_artifacts"] == ["kernel/itc-kernel-map"]
|
||||
assert report["undeclared_total"] < report["candidate_total"] / 2
|
||||
|
||||
|
||||
def test_concept_candidates_ignore_preserved_source():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue