Introduce identity model and reconcile upstream imports
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a070b5-4994-7271-bd8b-7c3dbcedec4b
This commit is contained in:
parent
a2b254786e
commit
361c944325
38 changed files with 1014 additions and 123 deletions
|
|
@ -11,6 +11,7 @@
|
|||
| workplan | ITC-WP-ADHOC-2026-08-15 | finished | — | workplans/ADHOC-2026-08-15.md |
|
||||
| workplan | INFO-WP-0019 | blocked | — | workplans/INFO-WP-0019-conformance-and-maintenance.md |
|
||||
| workplan | INFO-WP-0020 | finished | — | workplans/INFO-WP-0020-shared-evidence-model.md |
|
||||
| workplan | INFO-WP-0021 | finished | — | workplans/INFO-WP-0021-identity-model.md |
|
||||
| workplan | ITC-WP-0001 | finished | — | workplans/ITC-WP-0001-infospace-scaffold-and-seed-placement.md |
|
||||
| workplan | ITC-WP-0002 | finished | — | workplans/ITC-WP-0002-service-surface-cli-json-api.md |
|
||||
| workplan | ITC-WP-0003 | finished | — | workplans/ITC-WP-0003-validation-indexes-and-generated-views.md |
|
||||
|
|
@ -41,6 +42,9 @@
|
|||
| task | INFO-WP-0020-T01 | done | — | workplans/INFO-WP-0020-shared-evidence-model.md |
|
||||
| task | INFO-WP-0020-T02 | done | — | workplans/INFO-WP-0020-shared-evidence-model.md |
|
||||
| task | INFO-WP-0020-T03 | done | — | workplans/INFO-WP-0020-shared-evidence-model.md |
|
||||
| task | INFO-WP-0021-T01 | done | — | workplans/INFO-WP-0021-identity-model.md |
|
||||
| task | INFO-WP-0021-T02 | done | — | workplans/INFO-WP-0021-identity-model.md |
|
||||
| task | INFO-WP-0021-T03 | done | — | workplans/INFO-WP-0021-identity-model.md |
|
||||
| task | ITC-WP-0001-T01 | done | — | workplans/ITC-WP-0001-infospace-scaffold-and-seed-placement.md |
|
||||
| task | ITC-WP-0001-T02 | done | — | workplans/ITC-WP-0001-infospace-scaffold-and-seed-placement.md |
|
||||
| task | ITC-WP-0001-T03 | done | — | workplans/ITC-WP-0001-infospace-scaffold-and-seed-placement.md |
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
repository: info-tech-canon
|
||||
title: InfoTechCanon
|
||||
status: service-baseline
|
||||
version: 0.8.0
|
||||
version: 0.9.0
|
||||
description: >
|
||||
An evolving, markdown-first canon for building interoperable, adaptable,
|
||||
and extensible information-processing systems.
|
||||
|
|
@ -61,6 +61,11 @@ models:
|
|||
title: InfoTechCanonGovernanceModel
|
||||
path: infospace/models/governance/InfoTechCanonGovernanceModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-ident
|
||||
title: InfoTechCanonIdentityModel
|
||||
path: infospace/models/identity/InfoTechCanonIdentityModel.md
|
||||
status: draft
|
||||
version: 0.1.0
|
||||
- id: itc-evid
|
||||
title: InfoTechCanonEvidenceModel
|
||||
path: infospace/models/evidence/InfoTechCanonEvidenceModel.md
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ Imports and anchors:
|
|||
- `kernel/itc-core`
|
||||
- `model/evidence`
|
||||
- `model/governance`
|
||||
- `model/identity`
|
||||
- `model/organization`
|
||||
|
||||
## Owned Concepts
|
||||
|
|
|
|||
56
infospace/agent/briefs/model-identity.md
Normal file
56
infospace/agent/briefs/model-identity.md
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
id: agent-brief/model-identity
|
||||
artifact_id: model/identity
|
||||
source_path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source_kind: model
|
||||
generated: true
|
||||
---
|
||||
|
||||
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||
|
||||
# Agent Brief: InfoTechCanon Identity Model
|
||||
|
||||
- Artifact ID: `model/identity`
|
||||
- Kind: `model`
|
||||
- Canonical path: `models/identity/InfoTechCanonIdentityModel.md`
|
||||
- Full source: `models/identity/InfoTechCanonIdentityModel.md`
|
||||
- Summary: Domain model used by canon profiles and standards: InfoTechCanon Identity Model.
|
||||
|
||||
## Retrieval Hints
|
||||
|
||||
Imports and anchors:
|
||||
- `kernel/itc-core`
|
||||
- `model/access-control`
|
||||
- `model/evidence`
|
||||
- `model/organization`
|
||||
|
||||
## Owned Concepts
|
||||
|
||||
- `Account`
|
||||
- `Administration Relationship`
|
||||
- `Affiliation Relationship`
|
||||
- `Assurance Level`
|
||||
- `Claim`
|
||||
- `Credential`
|
||||
- `Delegation Relationship`
|
||||
- `Following Relationship`
|
||||
- `Identifier`
|
||||
- `Identity Record`
|
||||
- `InfoTechCanon Identity Model`
|
||||
- `Lifecycle State`
|
||||
- `Persona`
|
||||
- `Profile`
|
||||
- `Pseudonymous Identifier`
|
||||
- `Realm`
|
||||
- `Relationship`
|
||||
- `Representation Relationship`
|
||||
- `Scope`
|
||||
- `Scoped Identifier`
|
||||
- `Service Account`
|
||||
- `Synonymity Assertion`
|
||||
- `Tenant`
|
||||
- `Trust Relationship`
|
||||
|
||||
## Related Distinctions
|
||||
|
||||
No common distinction is anchored directly on this artifact.
|
||||
|
|
@ -21,6 +21,7 @@ generated: true
|
|||
Imports and anchors:
|
||||
- `kernel/itc-core`
|
||||
- `model/evidence`
|
||||
- `model/identity`
|
||||
|
||||
## Owned Concepts
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ generated: true
|
|||
Imports and anchors:
|
||||
- `kernel/itc-core`
|
||||
- `model/evidence`
|
||||
- `model/identity`
|
||||
|
||||
## Owned Concepts
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
This brief summarizes the current canon service surface for agents.
|
||||
|
||||
- Infospace slug: `canon`
|
||||
- Artifact count: 77
|
||||
- Retrieval index items: 77
|
||||
- Artifact count: 78
|
||||
- Retrieval index items: 78
|
||||
- Primary confidence command: `make validate`
|
||||
- Refresh generated indexes and views with: `make index`
|
||||
- Refresh agent briefs and interface templates with: `make agent-briefs`
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
}
|
||||
],
|
||||
"infospace": "canon",
|
||||
"item_count": 77,
|
||||
"item_count": 78,
|
||||
"items": [
|
||||
{
|
||||
"canonical_path": "assimilation/emission-cadence/ASSIMILATION.md",
|
||||
|
|
@ -1073,6 +1073,10 @@
|
|||
"target": "model/evidence",
|
||||
"type": "maps"
|
||||
},
|
||||
{
|
||||
"target": "model/identity",
|
||||
"type": "maps"
|
||||
},
|
||||
{
|
||||
"target": "model/task",
|
||||
"type": "maps"
|
||||
|
|
@ -1196,6 +1200,7 @@
|
|||
"kernel/itc-core",
|
||||
"model/evidence",
|
||||
"model/governance",
|
||||
"model/identity",
|
||||
"model/organization"
|
||||
],
|
||||
"kind": "model",
|
||||
|
|
@ -1203,6 +1208,10 @@
|
|||
"InfoTechCanon Access Control Model"
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"target": "model/identity",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/evidence",
|
||||
"type": "uses"
|
||||
|
|
@ -1422,18 +1431,82 @@
|
|||
"title": "InfoTechCanon Governance Model",
|
||||
"warnings": []
|
||||
},
|
||||
{
|
||||
"canonical_path": "models/identity/InfoTechCanonIdentityModel.md",
|
||||
"id": "model/identity",
|
||||
"imports": [
|
||||
"kernel/itc-core",
|
||||
"model/access-control",
|
||||
"model/evidence",
|
||||
"model/organization"
|
||||
],
|
||||
"kind": "model",
|
||||
"owned_concepts": [
|
||||
"Account",
|
||||
"Administration Relationship",
|
||||
"Affiliation Relationship",
|
||||
"Assurance Level",
|
||||
"Claim",
|
||||
"Credential",
|
||||
"Delegation Relationship",
|
||||
"Following Relationship",
|
||||
"Identifier",
|
||||
"Identity Record",
|
||||
"InfoTechCanon Identity Model",
|
||||
"Lifecycle State",
|
||||
"Persona",
|
||||
"Profile",
|
||||
"Pseudonymous Identifier",
|
||||
"Realm",
|
||||
"Relationship",
|
||||
"Representation Relationship",
|
||||
"Scope",
|
||||
"Scoped Identifier",
|
||||
"Service Account",
|
||||
"Synonymity Assertion",
|
||||
"Tenant",
|
||||
"Trust Relationship"
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"target": "kernel/itc-core",
|
||||
"type": "conforms_to"
|
||||
},
|
||||
{
|
||||
"target": "model/organization",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/access-control",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/evidence",
|
||||
"type": "uses"
|
||||
}
|
||||
],
|
||||
"source_path": "../prj-canon-federation/ledger/concept-ownership.json",
|
||||
"summary": "Domain model used by canon profiles and standards: InfoTechCanon Identity Model.",
|
||||
"title": "InfoTechCanon Identity Model",
|
||||
"warnings": []
|
||||
},
|
||||
{
|
||||
"canonical_path": "models/information-space/InfoTechCanonInformationSpaceModel.md",
|
||||
"id": "model/information-space",
|
||||
"imports": [
|
||||
"kernel/itc-core",
|
||||
"model/evidence"
|
||||
"model/evidence",
|
||||
"model/identity"
|
||||
],
|
||||
"kind": "model",
|
||||
"owned_concepts": [
|
||||
"InfoTechCanon Information Space Model"
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"target": "model/identity",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/evidence",
|
||||
"type": "uses"
|
||||
|
|
@ -1541,13 +1614,18 @@
|
|||
"id": "model/organization",
|
||||
"imports": [
|
||||
"kernel/itc-core",
|
||||
"model/evidence"
|
||||
"model/evidence",
|
||||
"model/identity"
|
||||
],
|
||||
"kind": "model",
|
||||
"owned_concepts": [
|
||||
"InfoTechCanon Organization Model"
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"target": "model/identity",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/evidence",
|
||||
"type": "uses"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
Schema: `info-tech-canon.retrieval-index.v1`
|
||||
Infospace: `canon`
|
||||
Items: **77**
|
||||
Items: **78**
|
||||
|
||||
## Common Distinctions
|
||||
|
||||
|
|
@ -354,7 +354,7 @@ Items: **77**
|
|||
- Canonical path: `models/access-control/InfoTechCanonAccessControlModel.md`
|
||||
- Source path: `seeds/InfoTechCanonAccessControlModel_RC1_seed.md`
|
||||
- Summary: Domain model used by canon profiles and standards: InfoTechCanon Access Control Model.
|
||||
- Imports and anchors: `kernel/itc-core`, `model/evidence`, `model/governance`, `model/organization`
|
||||
- Imports and anchors: `kernel/itc-core`, `model/evidence`, `model/governance`, `model/identity`, `model/organization`
|
||||
- Owned concepts: `InfoTechCanon Access Control Model`
|
||||
|
||||
### InfoTechCanon Capability Model
|
||||
|
|
@ -407,6 +407,16 @@ Items: **77**
|
|||
- Imports and anchors: `kernel/itc-core`, `model/evidence`
|
||||
- Owned concepts: `InfoTechCanon Governance Model`
|
||||
|
||||
### InfoTechCanon Identity Model
|
||||
|
||||
- ID: `model/identity`
|
||||
- Kind: `model`
|
||||
- Canonical path: `models/identity/InfoTechCanonIdentityModel.md`
|
||||
- Source path: `../prj-canon-federation/ledger/concept-ownership.json`
|
||||
- Summary: Domain model used by canon profiles and standards: InfoTechCanon Identity Model.
|
||||
- Imports and anchors: `kernel/itc-core`, `model/access-control`, `model/evidence`, `model/organization`
|
||||
- Owned concepts: `Account`, `Administration Relationship`, `Affiliation Relationship`, `Assurance Level`, `Claim`, `Credential`, `Delegation Relationship`, `Following Relationship`, `Identifier`, `Identity Record`, `InfoTechCanon Identity Model`, `Lifecycle State`, `Persona`, `Profile`, `Pseudonymous Identifier`, `Realm`, `Relationship`, `Representation Relationship`, `Scope`, `Scoped Identifier`, `Service Account`, `Synonymity Assertion`, `Tenant`, `Trust Relationship`
|
||||
|
||||
### InfoTechCanon Information Space Model
|
||||
|
||||
- ID: `model/information-space`
|
||||
|
|
@ -414,7 +424,7 @@ Items: **77**
|
|||
- Canonical path: `models/information-space/InfoTechCanonInformationSpaceModel.md`
|
||||
- Source path: `seeds/InfoTechCanonInformationSpaceModel_RC1_seed.md`
|
||||
- Summary: Domain model used by canon profiles and standards: InfoTechCanon Information Space Model.
|
||||
- Imports and anchors: `kernel/itc-core`, `model/evidence`
|
||||
- Imports and anchors: `kernel/itc-core`, `model/evidence`, `model/identity`
|
||||
- Owned concepts: `InfoTechCanon Information Space Model`
|
||||
|
||||
### InfoTechCanon Landscape Model
|
||||
|
|
@ -454,7 +464,7 @@ Items: **77**
|
|||
- Canonical path: `models/organization/InfoTechCanonOrganizationModel.md`
|
||||
- Source path: `seeds/InfoTechCanonOrganizationModel_RC1_seed.md`
|
||||
- Summary: Domain model used by canon profiles and standards: InfoTechCanon Organization Model.
|
||||
- Imports and anchors: `kernel/itc-core`, `model/evidence`
|
||||
- Imports and anchors: `kernel/itc-core`, `model/evidence`, `model/identity`
|
||||
- Owned concepts: `InfoTechCanon Organization Model`
|
||||
|
||||
### InfoTechCanon Purpose And Demand Model Extension
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
schema: info-tech-canon.retrieval-index.v1
|
||||
infospace: canon
|
||||
item_count: 77
|
||||
item_count: 78
|
||||
items:
|
||||
- id: assimilation/emission-cadence
|
||||
kind: assimilation
|
||||
|
|
@ -658,6 +658,8 @@ items:
|
|||
target: model/governance
|
||||
- type: maps
|
||||
target: model/evidence
|
||||
- type: maps
|
||||
target: model/identity
|
||||
- type: maps
|
||||
target: model/task
|
||||
- type: maps
|
||||
|
|
@ -741,8 +743,11 @@ items:
|
|||
- kernel/itc-core
|
||||
- model/evidence
|
||||
- model/governance
|
||||
- model/identity
|
||||
- model/organization
|
||||
relationships:
|
||||
- type: uses
|
||||
target: model/identity
|
||||
- type: uses
|
||||
target: model/evidence
|
||||
- type: conforms_to
|
||||
|
|
@ -887,6 +892,53 @@ items:
|
|||
- type: introduces
|
||||
target: catalog/evidence-basis
|
||||
warnings: []
|
||||
- id: model/identity
|
||||
kind: model
|
||||
title: InfoTechCanon Identity Model
|
||||
canonical_path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source_path: ../prj-canon-federation/ledger/concept-ownership.json
|
||||
summary: 'Domain model used by canon profiles and standards: InfoTechCanon Identity
|
||||
Model.'
|
||||
owned_concepts:
|
||||
- Account
|
||||
- Administration Relationship
|
||||
- Affiliation Relationship
|
||||
- Assurance Level
|
||||
- Claim
|
||||
- Credential
|
||||
- Delegation Relationship
|
||||
- Following Relationship
|
||||
- Identifier
|
||||
- Identity Record
|
||||
- InfoTechCanon Identity Model
|
||||
- Lifecycle State
|
||||
- Persona
|
||||
- Profile
|
||||
- Pseudonymous Identifier
|
||||
- Realm
|
||||
- Relationship
|
||||
- Representation Relationship
|
||||
- Scope
|
||||
- Scoped Identifier
|
||||
- Service Account
|
||||
- Synonymity Assertion
|
||||
- Tenant
|
||||
- Trust Relationship
|
||||
imports:
|
||||
- kernel/itc-core
|
||||
- model/access-control
|
||||
- model/evidence
|
||||
- model/organization
|
||||
relationships:
|
||||
- type: conforms_to
|
||||
target: kernel/itc-core
|
||||
- type: uses
|
||||
target: model/organization
|
||||
- type: uses
|
||||
target: model/access-control
|
||||
- type: uses
|
||||
target: model/evidence
|
||||
warnings: []
|
||||
- id: model/information-space
|
||||
kind: model
|
||||
title: InfoTechCanon Information Space Model
|
||||
|
|
@ -899,7 +951,10 @@ items:
|
|||
imports:
|
||||
- kernel/itc-core
|
||||
- model/evidence
|
||||
- model/identity
|
||||
relationships:
|
||||
- type: uses
|
||||
target: model/identity
|
||||
- type: uses
|
||||
target: model/evidence
|
||||
- type: conforms_to
|
||||
|
|
@ -977,7 +1032,10 @@ items:
|
|||
imports:
|
||||
- kernel/itc-core
|
||||
- model/evidence
|
||||
- model/identity
|
||||
relationships:
|
||||
- type: uses
|
||||
target: model/identity
|
||||
- type: uses
|
||||
target: model/evidence
|
||||
- type: conforms_to
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@ artifacts:
|
|||
target: model/governance
|
||||
- type: maps
|
||||
target: model/evidence
|
||||
- type: maps
|
||||
target: model/identity
|
||||
- type: maps
|
||||
target: model/task
|
||||
- type: maps
|
||||
|
|
@ -58,6 +60,8 @@ artifacts:
|
|||
placement: copied
|
||||
placement_workplan: ITC-WP-0001
|
||||
relationships:
|
||||
- type: uses
|
||||
target: model/identity
|
||||
- type: uses
|
||||
target: model/evidence
|
||||
- type: conforms_to
|
||||
|
|
@ -84,6 +88,8 @@ artifacts:
|
|||
placement: copied
|
||||
placement_workplan: ITC-WP-0001
|
||||
relationships:
|
||||
- type: uses
|
||||
target: model/identity
|
||||
- type: uses
|
||||
target: model/evidence
|
||||
- type: conforms_to
|
||||
|
|
@ -103,6 +109,23 @@ artifacts:
|
|||
target: kernel/itc-core
|
||||
- type: introduces
|
||||
target: catalog/evidence-basis
|
||||
- id: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
kind: model
|
||||
title: InfoTechCanon Identity Model
|
||||
provenance:
|
||||
placement: adapted
|
||||
placement_workplan: INFO-WP-0021
|
||||
source_path: ../prj-canon-federation/ledger/concept-ownership.json
|
||||
relationships:
|
||||
- type: conforms_to
|
||||
target: kernel/itc-core
|
||||
- type: uses
|
||||
target: model/organization
|
||||
- type: uses
|
||||
target: model/access-control
|
||||
- type: uses
|
||||
target: model/evidence
|
||||
- id: model/evidence
|
||||
path: models/evidence/InfoTechCanonEvidenceModel.md
|
||||
kind: model
|
||||
|
|
@ -221,6 +244,8 @@ artifacts:
|
|||
placement: copied
|
||||
placement_workplan: ITC-WP-0001
|
||||
relationships:
|
||||
- type: uses
|
||||
target: model/identity
|
||||
- type: uses
|
||||
target: model/evidence
|
||||
- type: conforms_to
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
root: infospace
|
||||
file_count: 210
|
||||
file_count: 214
|
||||
files:
|
||||
- path: README.md
|
||||
directory: .
|
||||
|
|
@ -115,6 +115,9 @@ files:
|
|||
- path: agent/briefs/model-governance.md
|
||||
directory: agent/briefs
|
||||
name: model-governance.md
|
||||
- path: agent/briefs/model-identity.md
|
||||
directory: agent/briefs
|
||||
name: model-identity.md
|
||||
- path: agent/briefs/model-information-space.md
|
||||
directory: agent/briefs
|
||||
name: model-information-space.md
|
||||
|
|
@ -430,6 +433,12 @@ files:
|
|||
- path: models/governance/evidence-basis.yaml
|
||||
directory: models/governance
|
||||
name: evidence-basis.yaml
|
||||
- path: models/identity/InfoTechCanonIdentityModel.md
|
||||
directory: models/identity
|
||||
name: InfoTechCanonIdentityModel.md
|
||||
- path: models/identity/boundary-review.md
|
||||
directory: models/identity
|
||||
name: boundary-review.md
|
||||
- path: models/information-space/InfoTechCanonInformationSpaceModel.md
|
||||
directory: models/information-space
|
||||
name: InfoTechCanonInformationSpaceModel.md
|
||||
|
|
@ -607,6 +616,9 @@ files:
|
|||
- path: validation/latest.json
|
||||
directory: validation
|
||||
name: latest.json
|
||||
- path: validation/model-import-reviews.yaml
|
||||
directory: validation
|
||||
name: model-import-reviews.yaml
|
||||
- path: views/README.md
|
||||
directory: views
|
||||
name: README.md
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
concept_count: 134
|
||||
concept_count: 158
|
||||
concepts:
|
||||
- concept: "Assimilation \u2014 EmissionCadenceDeclaration handover"
|
||||
owner: assimilation/emission-cadence
|
||||
|
|
@ -224,6 +224,102 @@ concepts:
|
|||
owner: model/governance
|
||||
path: models/governance/InfoTechCanonGovernanceModel.md
|
||||
source: artifact_title
|
||||
- concept: InfoTechCanon Identity Model
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: artifact_title
|
||||
- concept: Account
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Service Account
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Identity Record
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Identifier
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Scoped Identifier
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Credential
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Claim
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Profile
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Persona
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Scope
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Tenant
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Realm
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Relationship
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Affiliation Relationship
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Following Relationship
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Representation Relationship
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Delegation Relationship
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Administration Relationship
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Trust Relationship
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Synonymity Assertion
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Lifecycle State
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Assurance Level
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: Pseudonymous Identifier
|
||||
owner: model/identity
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
source: frontmatter.owned_concepts
|
||||
- concept: InfoTechCanon Information Space Model
|
||||
owner: model/information-space
|
||||
path: models/information-space/InfoTechCanonInformationSpaceModel.md
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ artifacts:
|
|||
- model/devsecops
|
||||
- model/evidence
|
||||
- model/governance
|
||||
- model/identity
|
||||
- model/information-space
|
||||
- model/landscape
|
||||
- model/network
|
||||
|
|
@ -385,6 +386,8 @@ rows:
|
|||
- maps
|
||||
model/governance:
|
||||
- maps
|
||||
model/identity:
|
||||
- maps
|
||||
model/information-space:
|
||||
- maps
|
||||
model/landscape:
|
||||
|
|
@ -429,6 +432,8 @@ rows:
|
|||
- uses
|
||||
model/governance:
|
||||
- uses
|
||||
model/identity:
|
||||
- uses
|
||||
model/organization:
|
||||
- uses
|
||||
- artifact: model/capability
|
||||
|
|
@ -483,12 +488,24 @@ rows:
|
|||
- conforms_to
|
||||
model/evidence:
|
||||
- uses
|
||||
- artifact: model/identity
|
||||
targets:
|
||||
kernel/itc-core:
|
||||
- conforms_to
|
||||
model/access-control:
|
||||
- uses
|
||||
model/evidence:
|
||||
- uses
|
||||
model/organization:
|
||||
- uses
|
||||
- artifact: model/information-space
|
||||
targets:
|
||||
kernel/itc-core:
|
||||
- conforms_to
|
||||
model/evidence:
|
||||
- uses
|
||||
model/identity:
|
||||
- uses
|
||||
- artifact: model/landscape
|
||||
targets:
|
||||
kernel/itc-core:
|
||||
|
|
@ -517,6 +534,8 @@ rows:
|
|||
- conforms_to
|
||||
model/evidence:
|
||||
- uses
|
||||
model/identity:
|
||||
- uses
|
||||
- artifact: model/purpose-demand-extension
|
||||
targets:
|
||||
concept-catalog/purpose-demand:
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ disciplines:
|
|||
path: models/organization/InfoTechCanonOrganizationModel.md
|
||||
- name: Governance Model
|
||||
path: models/governance/InfoTechCanonGovernanceModel.md
|
||||
- name: Identity Model
|
||||
path: models/identity/InfoTechCanonIdentityModel.md
|
||||
- name: Evidence Model
|
||||
path: models/evidence/InfoTechCanonEvidenceModel.md
|
||||
- name: Task Model
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ InfoTechCanonLandscapeModel
|
|||
InfoTechCanonOrganizationModel
|
||||
InfoTechCanonGovernanceModel
|
||||
InfoTechCanonEvidenceModel
|
||||
InfoTechCanonIdentityModel
|
||||
InfoTechCanonTaskModel
|
||||
InfoTechCanonTaggingStandard
|
||||
InfoTechCanonAccessControlModel
|
||||
|
|
@ -62,6 +63,7 @@ Core = how the canon works.
|
|||
Information Space = how canon knowledge is stored, linked, retrieved, and reused.
|
||||
Landscape = what systems, services, resources, and runtime entities exist.
|
||||
Organization = who can act, belong, own, steward, operate, and be responsible.
|
||||
Identity = scoped records, identifiers, credentials and actor-linking relationships.
|
||||
Evidence = assertions, their addressable sources, and contextual strength.
|
||||
Governance = how action is directed, constrained, justified, reviewed, and evidenced.
|
||||
Task = what work exists and how it becomes actionable, committed, and completed.
|
||||
|
|
@ -317,6 +319,10 @@ Network owns communication and reachability. Observability owns signals and runt
|
|||
| Control | Governance |
|
||||
| Risk | Governance |
|
||||
| Exception / Waiver | Governance |
|
||||
| Identifier | Identity (itc-ident); Information Space imports artifact usage |
|
||||
| Delegation Relationship (Delegation) | Identity (itc-ident); Organization imports |
|
||||
| Account, Identity Record, Credential, Claim, Scope, Tenant, Realm | Identity (itc-ident) |
|
||||
| Assurance Level | Identity (itc-ident), distinct from governance assurance |
|
||||
| Evidence | Evidence (itc-evid) |
|
||||
| Evidence Source | Evidence (itc-evid) |
|
||||
| Adjudication Outcome | Evidence (itc-evid) |
|
||||
|
|
|
|||
|
|
@ -215,6 +215,12 @@ Security may analyze or test access control as a security domain.
|
|||
## 3.5 Boundary with Identity and Authentication
|
||||
|
||||
Identity provisioning and authentication are related but distinct.
|
||||
[ITC-IDENT](../identity/InfoTechCanonIdentityModel.md) owns Account, Identity Record,
|
||||
Identifier, Credential, Claim, Scope, Tenant, Realm, identity relationships and
|
||||
Assurance Level under ADR-006. This model imports them and retains Subject,
|
||||
Principal, Relationship Tuple, CredentialReference and ResourceScope.
|
||||
ResourceScope refines the general identity Scope. Protocol deployment details
|
||||
remain downstream; the following list is not an unowned conceptual gap.
|
||||
|
||||
This standard references but does not fully own:
|
||||
|
||||
|
|
|
|||
|
|
@ -1174,6 +1174,10 @@ Audits are a specific kind of assessment with stronger independence and procedur
|
|||
|
||||
## 11.42 AssuranceCase
|
||||
|
||||
Identity Assurance Level belongs to ITC-IDENT and records separate proofing,
|
||||
authentication and federation confidence dimensions. It is distinct from this
|
||||
model's AssuranceCase and AssuranceConclusion (ADR-006 R2).
|
||||
|
||||
An **AssuranceCase** is a structured argument, supported by evidence, that a claim about governance, risk, compliance, safety, security, or quality is justified.
|
||||
|
||||
---
|
||||
|
|
|
|||
217
infospace/models/identity/InfoTechCanonIdentityModel.md
Normal file
217
infospace/models/identity/InfoTechCanonIdentityModel.md
Normal file
|
|
@ -0,0 +1,217 @@
|
|||
---
|
||||
id: itc-ident:IdentityModel
|
||||
title: InfoTechCanon Identity Model
|
||||
short_name: ITC-IDENT
|
||||
type: domain-model
|
||||
standard_family: InfoTechCanon
|
||||
repository_context: info-tech-canon
|
||||
recommended_path: models/identity/InfoTechCanonIdentityModel.md
|
||||
status: draft
|
||||
version: 0.1.0
|
||||
canonical_owner: InfoTechCanonIdentityModel
|
||||
namespace: itc-ident
|
||||
classification: model
|
||||
imports:
|
||||
- InfoTechCanonCore
|
||||
- InfoTechCanonOrganizationModel
|
||||
- InfoTechCanonAccessControlModel
|
||||
- InfoTechCanonEvidenceModel
|
||||
owned_concepts:
|
||||
- Account
|
||||
- Service Account
|
||||
- Identity Record
|
||||
- Identifier
|
||||
- Scoped Identifier
|
||||
- Credential
|
||||
- Claim
|
||||
- Profile
|
||||
- Persona
|
||||
- Scope
|
||||
- Tenant
|
||||
- Realm
|
||||
- Relationship
|
||||
- Affiliation Relationship
|
||||
- Following Relationship
|
||||
- Representation Relationship
|
||||
- Delegation Relationship
|
||||
- Administration Relationship
|
||||
- Trust Relationship
|
||||
- Synonymity Assertion
|
||||
- Lifecycle State
|
||||
- Assurance Level
|
||||
- Pseudonymous Identifier
|
||||
created_at: 2026-09-05
|
||||
updated_at: 2026-09-05
|
||||
---
|
||||
|
||||
# InfoTechCanon Identity Model
|
||||
|
||||
Draft 0.1.0 implements accepted CUST-ADR-006 decision 4 and R1/R2/R4.
|
||||
It describes identity records, contextual identifiers and actor-linking
|
||||
relationships, while importing actor, authorization and evidence semantics.
|
||||
|
||||
## 1. Imported boundary
|
||||
|
||||
| Owner | Imported concepts and donor aliases |
|
||||
| --- | --- |
|
||||
| [ITC-ORG](../organization/InfoTechCanonOrganizationModel.md) | Actor; Person (Natural Person); Agent (Artificial Agent); Organization; Group; Role; Membership (Membership Relationship); Responsibility; Authority; Ownership |
|
||||
| [ITC-ACCESS](../access-control/InfoTechCanonAccessControlModel.md) | Subject (Authenticated Subject); Principal (Authorization Principal); Relationship Tuple; ResourceScope; CredentialReference |
|
||||
| [ITC-EVID](../evidence/InfoTechCanonEvidenceModel.md) | Evidence; Evidence Source; Evidence strength |
|
||||
|
||||
Aliases map donor terminology to upstream concepts; they do not copy the donor's
|
||||
competing definitions. In particular Subject follows the Access Control model,
|
||||
not an identity-owned protocol definition. Organization and its social extensions
|
||||
remain upstream. Community/Household publication is T12; Family is a separate seed
|
||||
under T13 and is not treated as a collective actor here.
|
||||
|
||||
Delegation moves from Organization's live definition into the already accepted
|
||||
identity ownership assignment, with Organization retaining an import at its old
|
||||
anchor. Identifier similarly moves from Information Space's live generic
|
||||
definition to identity; its artifact-specific conventions stay in Information
|
||||
Space. The boundary review records why these are transfers, not new ownership
|
||||
decisions. Draft registration is not stable promotion or consumer adoption.
|
||||
|
||||
## 2. Owned concepts
|
||||
|
||||
### 2.1 Account
|
||||
|
||||
**Account** — A record through which an actor obtains or maintains access to a system within a scope. A Service Account is one specialization. An Account is not the actor, a credential, an authorization principal, or a billing/CRM record.
|
||||
|
||||
### 2.2 Service Account
|
||||
|
||||
**Service Account** — An Account intended for software, workload, bot, or automation access rather than ordinary human interactive use. The account and the Agent using it remain separate.
|
||||
|
||||
### 2.3 Identity Record
|
||||
|
||||
**Identity Record** — A record that describes, binds, or organizes information about an actor within a source or scope. It is not selfhood, proof material, or necessarily a login Account.
|
||||
|
||||
### 2.4 Identifier
|
||||
|
||||
**Identifier** — A value or reference used to distinguish or refer to something within a Scope. Record the namespace or issuer context needed to interpret it. Equal values in different scopes do not establish equivalence. Artifact identifiers can additionally require stability, namespace uniqueness, machine readability and version awareness through Information Space conventions.
|
||||
|
||||
### 2.5 Scoped Identifier
|
||||
|
||||
**Scoped Identifier** — An Identifier whose meaning is intentionally limited to a relying party, sector, tenant, realm, application, namespace, or other scope. Explicit scoping does not make the identified record a different Actor.
|
||||
|
||||
### 2.6 Credential
|
||||
|
||||
**Credential** — Proof material or a mechanism used to demonstrate control, entitlement, or a Claim, such as an authenticator, certificate, or signed assertion. Evidence about verification and its addressable source are imported from ITC-EVID; a secret is not automatically an evidence assertion. A CredentialReference remains an Access Control reference to this concept. Payment instrument references and commercial mandates belong to CommerceCanon, not to login credential semantics.
|
||||
|
||||
### 2.7 Claim
|
||||
|
||||
**Claim** — A statement made by an issuer or source about an actor, account, identifier, relationship, or attribute. A Claim is not necessarily verified. When captured as Evidence for a stated interest, retain the distinct assertion and Evidence Source; the identity statement and its assessed support remain distinguishable.
|
||||
|
||||
### 2.8 Profile
|
||||
|
||||
**Profile** — Descriptive attributes or presentation for an Actor or Account in a Scope. This is an identity profile, distinct from a canon application profile and from Observability’s runtime performance Profile.
|
||||
|
||||
### 2.9 Persona
|
||||
|
||||
**Persona** — A deliberate contextual presentation of an Actor, used to separate roles, audiences, privacy boundaries, or pseudonymous participation. Different personas do not by themselves prove different actors.
|
||||
|
||||
### 2.10 Scope
|
||||
|
||||
**Scope** — A boundary within which identifiers, meanings, relationships, accounts, policies, or lifecycle states are valid. Tenant and Realm specialize Scope; Access Control retains the narrower ResourceScope. Namespace remains an Information Space naming mechanism using scoping.
|
||||
|
||||
### 2.11 Tenant
|
||||
|
||||
**Tenant** — An administrative or isolation Scope for a system, service, platform, or application. It may be associated with an Organization or commercial party, but is not identical to either. Isolation must be implemented downstream; naming a tenant does not enforce it.
|
||||
|
||||
### 2.12 Realm
|
||||
|
||||
**Realm** — An issuer, security, or administrative namespace used by an identity system, modeled as a Scope specialization. It represents an identity/admin boundary and is not interchangeable with Tenant or Organization.
|
||||
|
||||
### 2.13 Relationship
|
||||
|
||||
**Relationship** — A typed, scoped assertion connecting an actor, account, identifier, group, or other identity-model element to another. This is the identity actor-linking taxonomy, not ownership of every graph edge or Core RelationshipDefinition. Record endpoints, type, scope, provenance, lifecycle and relevant evidence. Imported Membership and Ownership concepts must not acquire duplicate definitions under identity-specific spellings.
|
||||
|
||||
### 2.14 Affiliation Relationship
|
||||
|
||||
**Affiliation Relationship** — An association without necessarily implying membership, control, employment, or authorization. Do not infer an imported Membership merely from affiliation.
|
||||
|
||||
### 2.15 Following Relationship
|
||||
|
||||
**Following Relationship** — A directed social relationship where one actor follows, subscribes to, or observes another actor or profile. Social following is not a commercial subscription or authorization grant.
|
||||
|
||||
### 2.16 Representation Relationship
|
||||
|
||||
**Representation Relationship** — A relationship in which one actor acts or speaks on behalf of another within a scope. Representation does not by itself establish how authority was granted; reference Delegation Relationship when that is the basis.
|
||||
|
||||
### 2.17 Delegation Relationship
|
||||
|
||||
**Delegation Relationship** — A relationship in which an actor transfers or grants responsibility or authority to another actor within defined limits. This consolidates the donor’s bounded-authority definition with the existing Organization §10.18 definition. Delegation is its compatibility name, not a second owned concept. Actor, Responsibility and Authority are imported from Organization. Record delegator, delegate, delegated scope/authority or responsibility, validity interval, revocability and constraints. A delegation assertion does not itself grant an authorization-engine permission.
|
||||
|
||||
### 2.18 Administration Relationship
|
||||
|
||||
**Administration Relationship** — A relationship in which an actor has management authority over accounts, relationships, policies, or configuration in a Scope. Record its basis and limits; management status does not silently grant every possible access permission.
|
||||
|
||||
### 2.19 Trust Relationship
|
||||
|
||||
**Trust Relationship** — A relationship in which an actor, issuer, verifier, system, or Scope relies on another for claims, identifiers, credentials, or decisions. State the purpose and basis of reliance using imported Evidence and Evidence Source. Commercial reliance may name CommerceCanon’s Counterparty Assurance Gradient when available; identity does not define that gradient.
|
||||
|
||||
### 2.20 Synonymity Assertion
|
||||
|
||||
**Synonymity Assertion** — A scoped, evidenced and revocable assertion that identifiers, records, accounts, profiles, or actors refer to the same target for a stated purpose. Retain method, confidence, provenance, privacy constraints and lifecycle. A weak match is not a verified link or a destructive merge. Representation, control and acts-for relationships are not equivalence merely because a donor system stores them in the same linking table.
|
||||
|
||||
### 2.21 Lifecycle State
|
||||
|
||||
**Lifecycle State** — The current state of a record, account, relationship, credential, claim, or assertion. A record’s type or profile defines its applicable states and transitions; illustrative states include proposed, active, suspended, revoked, expired and superseded. Evidence may support a transition without automatically authorizing it.
|
||||
|
||||
### 2.22 Assurance Level
|
||||
|
||||
**Assurance Level** — Confidence metadata for a specified identity-proofing, authentication, or federation dimension under a named scheme and version. Keep those dimensions distinct, attach assessments to the relevant binding, credential or federation relationship, and record the supporting Evidence. A level is not a global account trust score or an authorization decision. Governance AssuranceCase/AssuranceConclusion and general Evidence strength remain separately owned.
|
||||
|
||||
### 2.23 Pseudonymous Identifier
|
||||
|
||||
**Pseudonymous Identifier** — An Identifier designed to limit correlation across contexts. Record its permitted scope and linking policy; pseudonymity does not itself guarantee anonymity. Any re-identification relationship remains separately controlled and evidenced.
|
||||
|
||||
## 3. Convenience terms
|
||||
|
||||
User and Subscriber are mapped convenience terms, not canonical root concepts.
|
||||
Resolve User to the relevant Actor, Account, Subject, Principal or Profile.
|
||||
Resolve Subscriber according to context: a commercial subscription holder uses
|
||||
CommerceCanon roles and relationships; an identity-system usage may refer to an
|
||||
Account or Person; social following uses Following Relationship. Do not force
|
||||
these meanings into a single record type or infer a commercial commitment.
|
||||
|
||||
## 4. Carried design principles
|
||||
|
||||
P1 uses imported Actor as the participation root; Service Account is a record,
|
||||
not an actor. P2 separates Person, Account, Identity Record, Profile, Credential,
|
||||
Subject and Principal. P3 keeps Scope explicit. P4 keeps collectives distinct,
|
||||
using imported Organization concepts and the accepted Family/Household split.
|
||||
P5 models different relationships explicitly while respecting their owners.
|
||||
P6 keeps authorization projections separate from identity records.
|
||||
P7 makes synonymity a scoped, evidenced and revocable assertion.
|
||||
P8 separates captured Evidence from its addressable Evidence Source.
|
||||
P9 maps product terms to orthogonal concepts rather than adopting product labels.
|
||||
P10 tests concrete scenarios without claiming that the original mixed corpus has
|
||||
already been migrated. P11 leaves implementations downstream.
|
||||
P12 separates proofing, authentication and federation assurance dimensions.
|
||||
P13 prefers non-destructive linking; weak matches require review and never imply
|
||||
silent merges. Commerce P14/P15 remain with CFED T06.
|
||||
|
||||
## 5. Worked boundary cases
|
||||
|
||||
| Case | Representation and acceptance constraint |
|
||||
| --- | --- |
|
||||
| One employee has two application logins | One imported Person may control two Accounts, each with scoped Identifiers. Do not infer identity equivalence from equal usernames. |
|
||||
| A workload uses a service login | Imported Agent and Service Account remain separate; authentication yields an imported Subject/Principal projection. |
|
||||
| A vendor administers a customer's tenant | Separate imported Organizations, Tenant and Administration Relationship. Commercial reliance is a CommerceCanon relationship, not implied membership. |
|
||||
| An operator delegates bounded authority to an agent | One Delegation Relationship uses imported Actors/Authority and explicit limits. Organization imports this same relation; authorization enforcement remains with Access Control. |
|
||||
| Two records are a probabilistic match | Preserve both records; capture a revocable Synonymity Assertion with method, purpose and evidence. A match does not authorize a merge. |
|
||||
| One actor has two pseudonymous personas | Retain separate Personas and scoped identifiers; cross-context linking requires its own evidenced, privacy-constrained assertion. |
|
||||
| A credential expires | Its lifecycle change does not erase the Person or necessarily close every Account. |
|
||||
| A group membership is projected into an access tuple | Import Membership and Relationship Tuple; identity owns neither definition. |
|
||||
|
||||
## 6. Provenance
|
||||
|
||||
The [federation ledger](../../../../prj-canon-federation/ledger/README.md) pins the
|
||||
donor glossary at `4bb474970b73d500da03b6482e84e6c256146b79`. All 23 identity-owned
|
||||
concepts are represented here; User/Subscriber are convenience mappings. Donor
|
||||
P1–P13 are adapted to accepted boundaries, rather than copying their obsolete
|
||||
Family-as-actor, Service-Account-as-actor or source/evidence conflations.
|
||||
|
||||
Native INFO-WP-0021 implements CFED-WP-0001-T05. T06 owns the commerce model;
|
||||
T07 owns corpus distribution and T08 interface cards. Original seeds and source
|
||||
research remain unchanged. See [boundary review](boundary-review.md).
|
||||
35
infospace/models/identity/boundary-review.md
Normal file
35
infospace/models/identity/boundary-review.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Identity destination boundary review — 2026-09-05
|
||||
|
||||
Authority: accepted CUST-ADR-006 decision 4 and R1/R2/R4; implementation review by
|
||||
Codex under CFED-WP-0001-T05. No accepted owner assignment is changed.
|
||||
|
||||
| Overlap | Evidence | Resolution |
|
||||
| --- | --- | --- |
|
||||
| Delegation Relationship / Delegation | Donor: bounded authority grant. Organization §10.18: bounded responsibility or authority grant/transfer, with scope and revocation attributes. | Consolidate into identity's ledger-assigned Delegation Relationship, preserving broader incumbent semantics and the Delegation compatibility name. Organization imports at its old section anchor. Actor/Responsibility/Authority remain organization-owned. |
|
||||
| Identifier | Information Space §11.37 defines a generic stable artifact/entity reference. ADR decision 4 assigns Identifier to identity. | Identity owns the general definition; Information Space retains an import and its artifact-specific recommendations. |
|
||||
| Profile | Identity describes an actor/account; Observability §11.36 describes runtime performance. | Distinct qualified concepts; add disambiguation rather than transfer performance-profile ownership. |
|
||||
| Relationship | Identity actor-linking assertion versus Core RelationshipDefinition and general graph mechanisms. | Scope the identity taxonomy explicitly; no universal relationship ownership claim. |
|
||||
| Assurance Level | Proofing/authentication/federation confidence versus governance assurance cases. | Keep dimensions separate and retain the R2 distinction. |
|
||||
| Credential | Identity proof material versus Access Control CredentialReference and Security misuse/exposure analysis. | Identity owns Credential; retain the narrower references and security analysis upstream. |
|
||||
|
||||
G4 review: the identity owned_concepts list contains none of Actor, Person, Agent,
|
||||
Organization, Group, Role, Membership, Subject, Principal, Relationship Tuple,
|
||||
ResourceScope, CredentialReference, Responsibility, Authority or Ownership.
|
||||
Organization no longer defines Delegation; its retained anchor imports the single
|
||||
identity definition. Thus the previously recorded delegation publication
|
||||
prerequisite is resolved by executing accepted ownership, without an ADR amendment.
|
||||
|
||||
## Reciprocal model imports
|
||||
|
||||
Identity imports Actor/Authority from Organization and Subject/Principal from
|
||||
Access Control. Organization imports Delegation Relationship from identity;
|
||||
Access Control imports identity records and credentials. Access Control also already imports Organization. These five document
|
||||
edges form one reciprocal component; their concept ownership remains disjoint.
|
||||
Information Space imports Identifier but identity does not depend on that model.
|
||||
|
||||
The artifact graph and raw consistency_cycles metric retain this component.
|
||||
validation/model-import-reviews.yaml admits only its exact five `uses` edges,
|
||||
with this rationale. Added internal edges, new component members, non-import
|
||||
edge types or any additional cycle fail the ordinary zero-cycle check. This is
|
||||
an explicit bounded exception to document-level acyclicity, not permission for
|
||||
circular concept definitions. INFO-WP-0021 owns the validation change and tests.
|
||||
|
|
@ -421,7 +421,6 @@ InformationSpaceEntity
|
|||
├── MetadataEntity
|
||||
│ ├── FrontMatter
|
||||
│ ├── MetadataRecord
|
||||
│ ├── Identifier
|
||||
│ ├── Namespace
|
||||
│ ├── Label
|
||||
│ ├── Alias
|
||||
|
|
@ -755,7 +754,9 @@ A **MetadataRecord** is structured data describing an artifact, section, chunk,
|
|||
|
||||
## 11.37 Identifier
|
||||
|
||||
An **Identifier** is a stable reference string for an artifact or entity.
|
||||
Identifier is imported from [ITC-IDENT](../identity/InfoTechCanonIdentityModel.md).
|
||||
The following are artifact-specific conventions over that imported concept,
|
||||
not a second general definition.
|
||||
|
||||
Recommended properties:
|
||||
|
||||
|
|
|
|||
|
|
@ -874,6 +874,9 @@ An **EventCorrelationKey** links events to related traces, logs, requests, incid
|
|||
|
||||
## 11.36 Profile
|
||||
|
||||
This runtime performance Profile is distinct from ITC-IDENT’s actor/account
|
||||
Profile and from a canon application profile.
|
||||
|
||||
A **Profile** is sampled performance or resource-use data.
|
||||
|
||||
This concept is observability-specific and distinct from InfoTechCanon application profiles.
|
||||
|
|
|
|||
|
|
@ -387,7 +387,6 @@ OrganizationEntity
|
|||
│ ├── Membership
|
||||
│ ├── Assignment
|
||||
│ ├── ReportingLine
|
||||
│ ├── Delegation
|
||||
│ ├── Responsibility
|
||||
│ ├── Accountability
|
||||
│ ├── Authority
|
||||
|
|
@ -768,20 +767,10 @@ Authority SHOULD be scoped.
|
|||
|
||||
## 10.18 Delegation
|
||||
|
||||
**Delegation** is a relationship in which an actor transfers or grants responsibility or authority to another actor within defined limits.
|
||||
|
||||
Recommended attributes:
|
||||
|
||||
```yaml
|
||||
delegator:
|
||||
delegate:
|
||||
delegated_scope:
|
||||
delegated_authority:
|
||||
valid_from:
|
||||
valid_to:
|
||||
revocable:
|
||||
constraints:
|
||||
```
|
||||
Delegation is imported from [ITC-IDENT Delegation Relationship](../identity/InfoTechCanonIdentityModel.md).
|
||||
The existing name and section anchor remain compatibility entry points. Actor,
|
||||
Responsibility and Authority stay organization-owned; the bounded delegation
|
||||
relationship is defined once in identity under CUST-ADR-006 decision 4.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
10
infospace/validation/model-import-reviews.yaml
Normal file
10
infospace/validation/model-import-reviews.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# Reciprocal imports are reviewed at concept ownership level, not hidden from
|
||||
# the artifact graph. Any extra internal edge/node/type invalidates this review.
|
||||
reviews:
|
||||
- boundary_review: models/identity/boundary-review.md
|
||||
edges:
|
||||
- [model/identity, uses, model/organization]
|
||||
- [model/identity, uses, model/access-control]
|
||||
- [model/organization, uses, model/identity]
|
||||
- [model/access-control, uses, model/identity]
|
||||
- [model/access-control, uses, model/organization]
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# By Concept
|
||||
|
||||
Concept count: **134**
|
||||
Concept count: **158**
|
||||
|
||||
| Concept | Owner | Source |
|
||||
| --- | --- | --- |
|
||||
|
|
@ -62,6 +62,30 @@ Concept count: **134**
|
|||
| Adjudication Outcome | `model/evidence` | `frontmatter.owned_concepts` |
|
||||
| Evidence strength | `model/evidence` | `frontmatter.owned_concepts` |
|
||||
| InfoTechCanon Governance Model | `model/governance` | `artifact_title` |
|
||||
| InfoTechCanon Identity Model | `model/identity` | `artifact_title` |
|
||||
| Account | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Service Account | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Identity Record | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Identifier | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Scoped Identifier | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Credential | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Claim | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Profile | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Persona | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Scope | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Tenant | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Realm | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Relationship | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Affiliation Relationship | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Following Relationship | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Representation Relationship | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Delegation Relationship | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Administration Relationship | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Trust Relationship | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Synonymity Assertion | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Lifecycle State | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Assurance Level | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| Pseudonymous Identifier | `model/identity` | `frontmatter.owned_concepts` |
|
||||
| InfoTechCanon Information Space Model | `model/information-space` | `artifact_title` |
|
||||
| InfoTechCanon Landscape Model | `model/landscape` | `artifact_title` |
|
||||
| InfoTechCanon Network Model | `model/network` | `artifact_title` |
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@
|
|||
- `model/devsecops` via `conforms_to`
|
||||
- `model/evidence` via `conforms_to`
|
||||
- `model/governance` via `conforms_to`
|
||||
- `model/identity` via `conforms_to`
|
||||
- `model/information-space` via `conforms_to`
|
||||
- `model/landscape` via `conforms_to`
|
||||
- `model/network` via `conforms_to`
|
||||
|
|
@ -108,6 +109,7 @@
|
|||
- `evaluation/user-engine/questions` via `uses`
|
||||
- `evaluation/user-engine/small-saas-alignment` via `uses`
|
||||
- `kernel/itc-kernel-map` via `maps`
|
||||
- `model/identity` via `uses`
|
||||
- `model/security` via `uses`
|
||||
- `profile/small-saas` via `requires`
|
||||
- `review-kit/alignment/model-selection-guide` via `uses`
|
||||
|
|
@ -155,6 +157,7 @@
|
|||
- `model/data` via `uses`
|
||||
- `model/devsecops` via `uses`
|
||||
- `model/governance` via `uses`
|
||||
- `model/identity` via `uses`
|
||||
- `model/information-space` via `uses`
|
||||
- `model/landscape` via `uses`
|
||||
- `model/network` via `uses`
|
||||
|
|
@ -202,6 +205,13 @@
|
|||
- `standard/emission-cadence` via `imports`
|
||||
- `standard/repository-layout` via `imports`
|
||||
|
||||
## `model/identity`
|
||||
|
||||
- `kernel/itc-kernel-map` via `maps`
|
||||
- `model/access-control` via `uses`
|
||||
- `model/information-space` via `uses`
|
||||
- `model/organization` via `uses`
|
||||
|
||||
## `model/information-space`
|
||||
|
||||
- `comparison/repo-scoping/canon-benefit-analysis` via `maps`
|
||||
|
|
@ -260,6 +270,7 @@
|
|||
- `evaluation/user-engine/small-saas-alignment` via `uses`
|
||||
- `kernel/itc-kernel-map` via `maps`
|
||||
- `model/access-control` via `uses`
|
||||
- `model/identity` via `uses`
|
||||
- `profile/small-saas` via `requires`
|
||||
- `review-kit/alignment/model-selection-guide` via `uses`
|
||||
- `small-saas/team/platform` via `uses`
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
- ID: `kernel/itc-kernel-map`
|
||||
- Kind: `kernel`
|
||||
- Path: `kernel/InfoTechCanonKernelMap.md`
|
||||
- Relationships: 16
|
||||
- Relationships: 17
|
||||
|
||||
## InfoTechCanon CARING Access Governance Standard
|
||||
|
||||
|
|
|
|||
|
|
@ -2,82 +2,83 @@
|
|||
|
||||
# Import Matrix
|
||||
|
||||
| Artifact | `assimilation/emission-cadence` | `assimilation/it-capability-canon` | `benchmark/caring/kubernetes-rbac` | `benchmark/caring/kubernetes-rbac/access-descriptors` | `benchmark/caring/kubernetes-rbac/caring-mapping` | `benchmark/caring/kubernetes-rbac/findings` | `benchmark/caring/kubernetes-rbac/native-concepts` | `capability-catalog/itc-cap` | `catalog/attribute-value-types` | `catalog/evidence-basis` | `comparison/repo-scoping/canon-benefit-analysis` | `comparison/repo-scoping/consumer-workplan-brief` | `comparison/repo-scoping/extension-candidates` | `comparison/repo-scoping/frame` | `comparison/repo-scoping/report` | `concept-catalog/purpose-demand` | `conformance/railiance-fabric` | `conformance/railiance-fabric/consumer-workplan-brief` | `conformance/railiance-fabric/entity-edge-capture-criteria` | `conformance/railiance-fabric/mapping-expectations` | `conformance/railiance-fabric/visualization-examples` | `evaluation/user-engine` | `evaluation/user-engine/consumer-workplan-brief` | `evaluation/user-engine/interface-card-expectations` | `evaluation/user-engine/questions` | `evaluation/user-engine/small-saas-alignment` | `example/consumer-purpose-portfolio` | `example/emission-cadence/qonto-assistant` | `kernel/itc-core` | `kernel/itc-kernel-map` | `mapping/capability-anchors` | `mapping/emission-cadence-handover` | `mapping/purpose-demand-governance-candidates` | `model/access-control` | `model/capability` | `model/data` | `model/devsecops` | `model/evidence` | `model/governance` | `model/information-space` | `model/landscape` | `model/network` | `model/observability` | `model/organization` | `model/purpose-demand-extension` | `model/security` | `model/task` | `pattern/intent-scope-purposes` | `practice-pattern/agentic-drives-functional` | `practice-pattern/interface-deprecation-strangler` | `practice/intake-and-assimilation` | `profile/small-saas` | `review-kit/alignment` | `review-kit/alignment/model-selection-guide` | `review-kit/alignment/schema` | `review-kit/alignment/scorecard` | `review-kit/alignment/workflow` | `review-kit/alignment/workplan-template` | `scheme/practice-pattern` | `small-saas/capability-requirements/production` | `small-saas/control/namespace-per-tenant` | `small-saas/dataset/subscription-ledger` | `small-saas/deployment/production` | `small-saas/evidence/access-review-2026-05` | `small-saas/incident/cross-tenant-access-attempt` | `small-saas/policy/tenant-isolation` | `small-saas/service/billing-portal` | `small-saas/system/billing-system` | `small-saas/task/onboard-tenant` | `small-saas/team/platform` | `small-saas/tenant/acme` | `small-saas/tenant/globex` | `small-saas/user/ada-admin` | `standard/caring` | `standard/emission-cadence` | `standard/repository-layout` | `standard/tagging` |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| `assimilation/emission-cadence` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `assimilation/it-capability-canon` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `benchmark/caring/kubernetes-rbac` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `stress_tests` | | | `stress_tests` | | `stress_tests` | | | `stress_tests` | `stress_tests` | | | `stress_tests` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | `uses` |
|
||||
| `benchmark/caring/kubernetes-rbac/access-descriptors` | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | `uses` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | |
|
||||
| `benchmark/caring/kubernetes-rbac/caring-mapping` | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | `maps` | | | | | | | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | |
|
||||
| `benchmark/caring/kubernetes-rbac/findings` | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `proposes` | | | | | | | `proposes` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `proposes` | | | |
|
||||
| `benchmark/caring/kubernetes-rbac/native-concepts` | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | | | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | |
|
||||
| `capability-catalog/itc-cap` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `catalog/attribute-value-types` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `catalog/evidence-basis` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `comparison/repo-scoping/canon-benefit-analysis` | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | `maps` | `maps` | | | | | `maps` | | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` |
|
||||
| `comparison/repo-scoping/consumer-workplan-brief` | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `comparison/repo-scoping/extension-candidates` | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | `proposes` | `proposes` | | | | | `proposes` | | `proposes` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `comparison/repo-scoping/frame` | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `comparison/repo-scoping/report` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | | | | | `compares` | | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `concept-catalog/purpose-demand` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `conformance/railiance-fabric` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | | `uses` | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` |
|
||||
| `conformance/railiance-fabric/consumer-workplan-brief` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `conformance/railiance-fabric/entity-edge-capture-criteria` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `uses` | `uses` | | `uses` | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `conformance/railiance-fabric/mapping-expectations` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `maps` | `maps` | | `maps` | | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `conformance/railiance-fabric/visualization-examples` | | | | | | | | | | | | | | | | | `part_of` | | `illustrates` | `illustrates` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `evaluation/user-engine` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | | | `uses` | | | | | `uses` | `uses` | `uses` | `uses` | | | | | `evaluates` | | | | | | | | | | | | | | | | | | | | | | `uses` | | | |
|
||||
| `evaluation/user-engine/consumer-workplan-brief` | | | | | | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `evaluation/user-engine/interface-card-expectations` | | | | | | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | |
|
||||
| `evaluation/user-engine/questions` | | | | | | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | `uses` | | `uses` | | | `uses` | | | | | `uses` | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `evaluation/user-engine/small-saas-alignment` | | | | | | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | `uses` | | | | | `uses` | | | | | `uses` | | | | | | | | `evaluates` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `example/consumer-purpose-portfolio` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `illustrates` | | | `illustrates` | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `example/emission-cadence/qonto-assistant` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | |
|
||||
| `kernel/itc-core` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `kernel/itc-kernel-map` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | `maps` |
|
||||
| `mapping/capability-anchors` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `mapping/emission-cadence-handover` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | |
|
||||
| `mapping/purpose-demand-governance-candidates` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | | `maps` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/access-control` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/capability` | | `derived_from` | | | | | | `introduces` | | `uses` | | | | | | | | | | | | | | | | | | | `conforms_to` | | `introduces` | | | | | | | `uses` | `uses` | | `uses` | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/data` | | | | | | | | | `introduces` | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/devsecops` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/evidence` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/governance` | | | | | | | | | | `introduces` | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/information-space` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/landscape` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/network` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/observability` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/organization` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/purpose-demand-extension` | | | | | | | | | | | | | | | | `introduces` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | `extends` | `uses` | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/security` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | `uses` | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/task` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `pattern/intent-scope-purposes` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `implements` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `practice-pattern/agentic-drives-functional` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | `uses` | | | | `uses` | | | | `uses` | | | `related_to` | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | |
|
||||
| `practice-pattern/interface-deprecation-strangler` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | | | | `uses` | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | |
|
||||
| `practice/intake-and-assimilation` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `profile/small-saas` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | `requires` | | `requires` | `requires` | | `requires` | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | | | | | | | | | | | | | | | | | | | | | | | | | | | `requires` | | | `requires` |
|
||||
| `review-kit/alignment` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | `uses` | | | | | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | |
|
||||
| `review-kit/alignment/model-selection-guide` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | `uses` | | `uses` | | `uses` | `uses` | `uses` | `uses` | `uses` | `uses` | `uses` | | | | | `uses` | `part_of` | | | | | | | | | | | | | | | | | | | | | `uses` | | | `uses` |
|
||||
| `review-kit/alignment/schema` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `uses` | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `review-kit/alignment/scorecard` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `uses` | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `review-kit/alignment/workflow` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `uses` | | `uses` | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `review-kit/alignment/workplan-template` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `scheme/practice-pattern` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `small-saas/capability-requirements/production` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | `instantiates` | | | | | | | | | | | | | | | `applies_to` | | | | | | | | | | |
|
||||
| `small-saas/control/namespace-per-tenant` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | | | | `evidenced_by` | | | | | | | | | | `uses` | | | |
|
||||
| `small-saas/dataset/subscription-ledger` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | `instantiates` | | | | | | | | | | | | | | `governed_by` | `owned_by` | | | | `partitioned_for` | `partitioned_for` | | | | | |
|
||||
| `small-saas/deployment/production` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `uses` | | | | | | | | | | `instantiates` | | | | | | | | | `implements` | | | | | | `deploys` | | | | `separates` | `separates` | | | | | |
|
||||
| `small-saas/evidence/access-review-2026-05` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | `instantiates` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `small-saas/incident/cross-tenant-access-attempt` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | `constrained_by` | | | `evidenced_by` | | | | | | | | | | | | | |
|
||||
| `small-saas/policy/tenant-isolation` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | `instantiates` | | | | | | | | | `requires` | | | `evidenced_by` | | | | | | | | | | | | | |
|
||||
| `small-saas/service/billing-portal` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | `instantiates` | | | | | | | | | | | | | | | | `part_of` | | `owned_by` | | | | | | | |
|
||||
| `small-saas/system/billing-system` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | `instantiates` | | | | | | | | | | | | | | | | | | | `serves` | `serves` | | | | | |
|
||||
| `small-saas/task/onboard-tenant` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | | | | | | | | | | | | | | `governed_by` | | | | `owned_by` | `changes` | | | | | | |
|
||||
| `small-saas/team/platform` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `small-saas/tenant/acme` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | `isolated_by` | | | | | | | | | | | | `represented_by` | | | | |
|
||||
| `small-saas/tenant/globex` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | `isolated_by` | | | | | | | | | | | | | | | | |
|
||||
| `small-saas/user/ada-admin` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | | `access_evidenced_by` | | `has_access_under` | | | | `member_of` | | | | | | | |
|
||||
| `standard/caring` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | `imports` | | `imports` | `imports` | `uses` | `imports` | | | `imports` | `imports` | `imports` | | `imports` | `imports` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `imports` |
|
||||
| `standard/emission-cadence` | `derived_from` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | `imports` | | | | `imports` | | | `related_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `standard/repository-layout` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | `imports` | `imports` | | | | | | | `imports` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `standard/tagging` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | `imports` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| Artifact | `assimilation/emission-cadence` | `assimilation/it-capability-canon` | `benchmark/caring/kubernetes-rbac` | `benchmark/caring/kubernetes-rbac/access-descriptors` | `benchmark/caring/kubernetes-rbac/caring-mapping` | `benchmark/caring/kubernetes-rbac/findings` | `benchmark/caring/kubernetes-rbac/native-concepts` | `capability-catalog/itc-cap` | `catalog/attribute-value-types` | `catalog/evidence-basis` | `comparison/repo-scoping/canon-benefit-analysis` | `comparison/repo-scoping/consumer-workplan-brief` | `comparison/repo-scoping/extension-candidates` | `comparison/repo-scoping/frame` | `comparison/repo-scoping/report` | `concept-catalog/purpose-demand` | `conformance/railiance-fabric` | `conformance/railiance-fabric/consumer-workplan-brief` | `conformance/railiance-fabric/entity-edge-capture-criteria` | `conformance/railiance-fabric/mapping-expectations` | `conformance/railiance-fabric/visualization-examples` | `evaluation/user-engine` | `evaluation/user-engine/consumer-workplan-brief` | `evaluation/user-engine/interface-card-expectations` | `evaluation/user-engine/questions` | `evaluation/user-engine/small-saas-alignment` | `example/consumer-purpose-portfolio` | `example/emission-cadence/qonto-assistant` | `kernel/itc-core` | `kernel/itc-kernel-map` | `mapping/capability-anchors` | `mapping/emission-cadence-handover` | `mapping/purpose-demand-governance-candidates` | `model/access-control` | `model/capability` | `model/data` | `model/devsecops` | `model/evidence` | `model/governance` | `model/identity` | `model/information-space` | `model/landscape` | `model/network` | `model/observability` | `model/organization` | `model/purpose-demand-extension` | `model/security` | `model/task` | `pattern/intent-scope-purposes` | `practice-pattern/agentic-drives-functional` | `practice-pattern/interface-deprecation-strangler` | `practice/intake-and-assimilation` | `profile/small-saas` | `review-kit/alignment` | `review-kit/alignment/model-selection-guide` | `review-kit/alignment/schema` | `review-kit/alignment/scorecard` | `review-kit/alignment/workflow` | `review-kit/alignment/workplan-template` | `scheme/practice-pattern` | `small-saas/capability-requirements/production` | `small-saas/control/namespace-per-tenant` | `small-saas/dataset/subscription-ledger` | `small-saas/deployment/production` | `small-saas/evidence/access-review-2026-05` | `small-saas/incident/cross-tenant-access-attempt` | `small-saas/policy/tenant-isolation` | `small-saas/service/billing-portal` | `small-saas/system/billing-system` | `small-saas/task/onboard-tenant` | `small-saas/team/platform` | `small-saas/tenant/acme` | `small-saas/tenant/globex` | `small-saas/user/ada-admin` | `standard/caring` | `standard/emission-cadence` | `standard/repository-layout` | `standard/tagging` |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| `assimilation/emission-cadence` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `assimilation/it-capability-canon` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `benchmark/caring/kubernetes-rbac` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `stress_tests` | | | `stress_tests` | | `stress_tests` | | | | `stress_tests` | `stress_tests` | | | `stress_tests` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | `uses` |
|
||||
| `benchmark/caring/kubernetes-rbac/access-descriptors` | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | `uses` | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | |
|
||||
| `benchmark/caring/kubernetes-rbac/caring-mapping` | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | `maps` | | | | | | | | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | |
|
||||
| `benchmark/caring/kubernetes-rbac/findings` | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `proposes` | | | | | | | | `proposes` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `proposes` | | | |
|
||||
| `benchmark/caring/kubernetes-rbac/native-concepts` | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | | | | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | |
|
||||
| `capability-catalog/itc-cap` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `catalog/attribute-value-types` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `catalog/evidence-basis` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `comparison/repo-scoping/canon-benefit-analysis` | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | `maps` | | | | | `maps` | | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` |
|
||||
| `comparison/repo-scoping/consumer-workplan-brief` | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `comparison/repo-scoping/extension-candidates` | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | `proposes` | | `proposes` | | | | | `proposes` | | `proposes` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `comparison/repo-scoping/frame` | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `comparison/repo-scoping/report` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | | | | | `compares` | | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `concept-catalog/purpose-demand` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `conformance/railiance-fabric` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | | `uses` | | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` |
|
||||
| `conformance/railiance-fabric/consumer-workplan-brief` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `conformance/railiance-fabric/entity-edge-capture-criteria` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `uses` | `uses` | | `uses` | | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `conformance/railiance-fabric/mapping-expectations` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `maps` | `maps` | | `maps` | | | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `conformance/railiance-fabric/visualization-examples` | | | | | | | | | | | | | | | | | `part_of` | | `illustrates` | `illustrates` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `evaluation/user-engine` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | | | `uses` | | | | | | `uses` | `uses` | `uses` | `uses` | | | | | `evaluates` | | | | | | | | | | | | | | | | | | | | | | `uses` | | | |
|
||||
| `evaluation/user-engine/consumer-workplan-brief` | | | | | | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `evaluation/user-engine/interface-card-expectations` | | | | | | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | |
|
||||
| `evaluation/user-engine/questions` | | | | | | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | `uses` | | `uses` | | | `uses` | | | | | | `uses` | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `evaluation/user-engine/small-saas-alignment` | | | | | | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | `uses` | | | | | `uses` | | | | | | `uses` | | | | | | | | `evaluates` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `example/consumer-purpose-portfolio` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `illustrates` | | | `illustrates` | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `example/emission-cadence/qonto-assistant` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | |
|
||||
| `kernel/itc-core` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `kernel/itc-kernel-map` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | `maps` |
|
||||
| `mapping/capability-anchors` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `mapping/emission-cadence-handover` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | |
|
||||
| `mapping/purpose-demand-governance-candidates` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | | | `maps` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/access-control` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | `uses` | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/capability` | | `derived_from` | | | | | | `introduces` | | `uses` | | | | | | | | | | | | | | | | | | | `conforms_to` | | `introduces` | | | | | | | `uses` | `uses` | | | `uses` | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/data` | | | | | | | | | `introduces` | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/devsecops` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/evidence` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/governance` | | | | | | | | | | `introduces` | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/identity` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | `uses` | | | | `uses` | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/information-space` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/landscape` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/network` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/observability` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/organization` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/purpose-demand-extension` | | | | | | | | | | | | | | | | `introduces` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | `extends` | | `uses` | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/security` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | `uses` | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/task` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `pattern/intent-scope-purposes` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | `implements` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `practice-pattern/agentic-drives-functional` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | `uses` | | | | | `uses` | | | | `uses` | | | `related_to` | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | |
|
||||
| `practice-pattern/interface-deprecation-strangler` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | |
|
||||
| `practice/intake-and-assimilation` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `profile/small-saas` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | `requires` | | `requires` | `requires` | | `requires` | | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | | | | | | | | | | | | | | | | | | | | | | | | | | | `requires` | | | `requires` |
|
||||
| `review-kit/alignment` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | `uses` | | | | | | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | |
|
||||
| `review-kit/alignment/model-selection-guide` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | `uses` | | `uses` | | | `uses` | `uses` | `uses` | `uses` | `uses` | `uses` | `uses` | | | | | `uses` | `part_of` | | | | | | | | | | | | | | | | | | | | | `uses` | | | `uses` |
|
||||
| `review-kit/alignment/schema` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | `uses` | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `review-kit/alignment/scorecard` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | `uses` | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `review-kit/alignment/workflow` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | `uses` | | `uses` | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `review-kit/alignment/workplan-template` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `scheme/practice-pattern` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `small-saas/capability-requirements/production` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | `instantiates` | | | | | | | | | | | | | | | `applies_to` | | | | | | | | | | |
|
||||
| `small-saas/control/namespace-per-tenant` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | | | | `evidenced_by` | | | | | | | | | | `uses` | | | |
|
||||
| `small-saas/dataset/subscription-ledger` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | `instantiates` | | | | | | | | | | | | | | `governed_by` | `owned_by` | | | | `partitioned_for` | `partitioned_for` | | | | | |
|
||||
| `small-saas/deployment/production` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `uses` | | | | | | | | | | `instantiates` | | | | | | | | | `implements` | | | | | | `deploys` | | | | `separates` | `separates` | | | | | |
|
||||
| `small-saas/evidence/access-review-2026-05` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | `instantiates` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `small-saas/incident/cross-tenant-access-attempt` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | `constrained_by` | | | `evidenced_by` | | | | | | | | | | | | | |
|
||||
| `small-saas/policy/tenant-isolation` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | `instantiates` | | | | | | | | | `requires` | | | `evidenced_by` | | | | | | | | | | | | | |
|
||||
| `small-saas/service/billing-portal` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | `instantiates` | | | | | | | | | | | | | | | | `part_of` | | `owned_by` | | | | | | | |
|
||||
| `small-saas/system/billing-system` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | `instantiates` | | | | | | | | | | | | | | | | | | | `serves` | `serves` | | | | | |
|
||||
| `small-saas/task/onboard-tenant` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | | | | | | | | | | | | | | `governed_by` | | | | `owned_by` | `changes` | | | | | | |
|
||||
| `small-saas/team/platform` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `small-saas/tenant/acme` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | `isolated_by` | | | | | | | | | | | | `represented_by` | | | | |
|
||||
| `small-saas/tenant/globex` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | `isolated_by` | | | | | | | | | | | | | | | | |
|
||||
| `small-saas/user/ada-admin` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | | `access_evidenced_by` | | `has_access_under` | | | | `member_of` | | | | | | | |
|
||||
| `standard/caring` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | `imports` | | `imports` | `imports` | `uses` | `imports` | | | | `imports` | `imports` | `imports` | | `imports` | `imports` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `imports` |
|
||||
| `standard/emission-cadence` | `derived_from` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | `imports` | | | | | `imports` | | | `related_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `standard/repository-layout` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | `imports` | | `imports` | | | | | | | `imports` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `standard/tagging` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | `uses` | | | | | | | | | | `imports` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
# Kernel Overview
|
||||
|
||||
- Infospace: `canon`
|
||||
- Artifacts: 77
|
||||
- Artifacts: 78
|
||||
|
||||
## Artifact Kinds
|
||||
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
- `kernel`: 2
|
||||
- `mapping`: 3
|
||||
- `mapping-expectation`: 1
|
||||
- `model`: 13
|
||||
- `model`: 14
|
||||
- `model-extension`: 1
|
||||
- `model-selection-guide`: 1
|
||||
- `native-concept-map`: 1
|
||||
|
|
@ -53,7 +53,7 @@
|
|||
- `applies_to`: 1
|
||||
- `changes`: 1
|
||||
- `compares`: 1
|
||||
- `conforms_to`: 29
|
||||
- `conforms_to`: 30
|
||||
- `constrained_by`: 1
|
||||
- `deploys`: 1
|
||||
- `derived_from`: 2
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
- `instantiates`: 14
|
||||
- `introduces`: 5
|
||||
- `isolated_by`: 2
|
||||
- `maps`: 41
|
||||
- `maps`: 42
|
||||
- `member_of`: 1
|
||||
- `owned_by`: 3
|
||||
- `part_of`: 22
|
||||
|
|
@ -80,4 +80,4 @@
|
|||
- `separates`: 2
|
||||
- `serves`: 2
|
||||
- `stress_tests`: 6
|
||||
- `uses`: 140
|
||||
- `uses`: 146
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# Repository Tree
|
||||
|
||||
File count: **210**
|
||||
File count: **214**
|
||||
|
||||
- `README.md`
|
||||
- `agent/README.md`
|
||||
|
|
@ -42,6 +42,7 @@ File count: **210**
|
|||
- `agent/briefs/model-devsecops.md`
|
||||
- `agent/briefs/model-evidence.md`
|
||||
- `agent/briefs/model-governance.md`
|
||||
- `agent/briefs/model-identity.md`
|
||||
- `agent/briefs/model-information-space.md`
|
||||
- `agent/briefs/model-landscape.md`
|
||||
- `agent/briefs/model-network.md`
|
||||
|
|
@ -147,6 +148,8 @@ File count: **210**
|
|||
- `models/governance/InfoTechCanonGovernanceModel.md`
|
||||
- `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||
- `models/governance/evidence-basis.yaml`
|
||||
- `models/identity/InfoTechCanonIdentityModel.md`
|
||||
- `models/identity/boundary-review.md`
|
||||
- `models/information-space/InfoTechCanonInformationSpaceModel.md`
|
||||
- `models/landscape/InfoTechCanonLandscapeModel.md`
|
||||
- `models/network/InfoTechCanonNetworkModel.md`
|
||||
|
|
@ -206,6 +209,7 @@ File count: **210**
|
|||
- `standards/tagging/InfoTechCanonTaggingStandard.md`
|
||||
- `validation/README.md`
|
||||
- `validation/latest.json`
|
||||
- `validation/model-import-reviews.yaml`
|
||||
- `views/README.md`
|
||||
- `views/by-concept.md`
|
||||
- `views/by-mapping-target.md`
|
||||
|
|
|
|||
55
src/info_tech_canon/import_reviews.py
Normal file
55
src/info_tech_canon/import_reviews.py
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
"""Exact reviewed model-import cycles; preserve the complete artifact graph."""
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
|
||||
|
||||
def reviewed_import_cycles(artifacts, root: Path) -> list[dict] | None:
|
||||
"""Return reviews only when every cyclic component matches its exact edge set.
|
||||
|
||||
None means the ordinary zero-cycle threshold still applies. Reviews cannot
|
||||
excuse new nodes, edges, relationship types, or a missing boundary rationale.
|
||||
"""
|
||||
path = root / "validation/model-import-reviews.yaml"
|
||||
if not path.is_file():
|
||||
return None
|
||||
try:
|
||||
payload = yaml.safe_load(path.read_text())
|
||||
reviews = payload["reviews"]
|
||||
if not isinstance(reviews, list):
|
||||
return None
|
||||
by_id = {a.id: a for a in artifacts}
|
||||
edges = {(a.id, rel.get("type"), rel.get("target"))
|
||||
for a in artifacts for rel in a.relationships
|
||||
if rel.get("target") in by_id}
|
||||
graph = {key: {target for source, _, target in edges if source == key}
|
||||
for key in by_id}
|
||||
reachable = {}
|
||||
for node in graph:
|
||||
seen, pending = set(), list(graph[node])
|
||||
while pending:
|
||||
target = pending.pop()
|
||||
if target not in seen:
|
||||
seen.add(target)
|
||||
pending.extend(graph[target] - seen)
|
||||
reachable[node] = seen
|
||||
components = {frozenset(other for other in graph
|
||||
if other in reachable[node] and node in reachable[other])
|
||||
for node in graph if node in reachable[node]}
|
||||
matched = []
|
||||
for nodes in sorted(components, key=lambda group: sorted(group)):
|
||||
actual = {edge for edge in edges if edge[0] in nodes and edge[2] in nodes}
|
||||
for review in reviews:
|
||||
expected = {tuple(edge) for edge in review["edges"]}
|
||||
rationale = (root / review["boundary_review"]).resolve()
|
||||
if (actual == expected and all(by_id[node].kind == "model" for node in nodes)
|
||||
and rationale.is_relative_to(root.resolve()) and rationale.is_file()
|
||||
and all(kind == "uses" for _, kind, _ in actual)):
|
||||
matched.append({"nodes": sorted(nodes), "edges": sorted(actual),
|
||||
"boundary_review": review["boundary_review"]})
|
||||
break
|
||||
else:
|
||||
return None
|
||||
return matched
|
||||
except (KeyError, TypeError, ValueError, OSError, yaml.YAMLError):
|
||||
return None
|
||||
|
|
@ -214,6 +214,13 @@ def validate_canon(root: Path | str | None = None) -> dict[str, Any]:
|
|||
checks.metrics,
|
||||
context.infospace.config.viability,
|
||||
)
|
||||
from .import_reviews import reviewed_import_cycles
|
||||
import_reviews = reviewed_import_cycles(context.infospace.artifacts, context.infospace_root)
|
||||
if import_reviews:
|
||||
threshold_errors = [error for error in threshold_errors
|
||||
if error.get("metric") != "consistency_cycles"]
|
||||
checks.details["reviewed_model_import_cycles"] = import_reviews
|
||||
checks.details["cycle_threshold_exception"] = "Exact reviewed reciprocal model imports; raw metric retained"
|
||||
errors.extend(threshold_errors)
|
||||
structural = structural_checks(context)
|
||||
errors.extend(structural["errors"])
|
||||
|
|
|
|||
|
|
@ -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"] == 77
|
||||
assert payload["infospace"]["artifact_count"] == 78
|
||||
|
||||
|
||||
def test_cli_missing_profile_uses_structured_error(capsys) -> None:
|
||||
|
|
|
|||
26
tests/test_identity_boundary.py
Normal file
26
tests/test_identity_boundary.py
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
from info_tech_canon.generation import concept_ownership
|
||||
from info_tech_canon.service import load_context
|
||||
|
||||
|
||||
def test_identity_does_not_own_its_upstream_imports():
|
||||
context = load_context()
|
||||
rows = concept_ownership(context)["concepts"]
|
||||
owned = {r["concept"] for r in rows if r["owner"] == "model/identity" and r["source"] == "frontmatter.owned_concepts"}
|
||||
assert len(owned) == 23
|
||||
assert owned.isdisjoint({"Actor", "Person", "Agent", "Organization", "Group", "Role", "Membership", "Subject", "Principal", "Relationship Tuple", "Evidence", "Evidence Source", "Authority", "Responsibility", "Ownership"})
|
||||
for concept in owned:
|
||||
assert {r["owner"] for r in rows if r["concept"] == concept} == {"model/identity"}
|
||||
|
||||
|
||||
def test_incumbent_definition_anchors_are_imports():
|
||||
root = load_context().infospace_root
|
||||
for path, concept, anchor in [
|
||||
("models/organization/InfoTechCanonOrganizationModel.md", "Delegation", "## 10.18 Delegation"),
|
||||
("models/information-space/InfoTechCanonInformationSpaceModel.md", "Identifier", "## 11.37 Identifier"),
|
||||
]:
|
||||
text = (root / path).read_text()
|
||||
assert anchor in text
|
||||
assert f"**{concept}** is" not in text
|
||||
assert "../identity/InfoTechCanonIdentityModel.md" in text
|
||||
access = (root / "models/access-control/InfoTechCanonAccessControlModel.md").read_text()
|
||||
assert "ITC-IDENT" in access.split("## 3.5 Boundary with Identity and Authentication", 1)[1].split("## ", 1)[0]
|
||||
45
tests/test_import_reviews.py
Normal file
45
tests/test_import_reviews.py
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
from types import SimpleNamespace
|
||||
import yaml
|
||||
|
||||
from info_tech_canon.import_reviews import reviewed_import_cycles
|
||||
|
||||
|
||||
def fixture(tmp_path):
|
||||
(tmp_path / "validation").mkdir()
|
||||
(tmp_path / "review.md").write_text("Distinct concept owners reviewed.")
|
||||
edges = [["a", "uses", "b"], ["b", "uses", "a"]]
|
||||
(tmp_path / "validation/model-import-reviews.yaml").write_text(yaml.safe_dump(
|
||||
{"reviews": [{"boundary_review": "review.md", "edges": edges}]}))
|
||||
return [SimpleNamespace(id="a", kind="model", relationships=[{"type": "uses", "target": "b"}]),
|
||||
SimpleNamespace(id="b", kind="model", relationships=[{"type": "uses", "target": "a"}])]
|
||||
|
||||
|
||||
def test_exact_review_preserves_reciprocal_imports(tmp_path):
|
||||
artifacts = fixture(tmp_path)
|
||||
assert len(reviewed_import_cycles(artifacts, tmp_path)) == 1
|
||||
assert artifacts[0].relationships == [{"type": "uses", "target": "b"}]
|
||||
|
||||
|
||||
def test_new_internal_edge_or_type_is_not_excused(tmp_path):
|
||||
artifacts = fixture(tmp_path)
|
||||
artifacts[0].relationships.append({"type": "defines", "target": "b"})
|
||||
assert reviewed_import_cycles(artifacts, tmp_path) is None
|
||||
|
||||
|
||||
def test_new_component_member_is_not_excused(tmp_path):
|
||||
artifacts = fixture(tmp_path)
|
||||
artifacts[0].relationships.append({"type": "uses", "target": "c"})
|
||||
artifacts.append(SimpleNamespace(id="c", kind="model", relationships=[{"type": "uses", "target": "a"}]))
|
||||
assert reviewed_import_cycles(artifacts, tmp_path) is None
|
||||
|
||||
|
||||
def test_missing_rationale_is_not_excused(tmp_path):
|
||||
artifacts = fixture(tmp_path)
|
||||
(tmp_path / "review.md").unlink()
|
||||
assert reviewed_import_cycles(artifacts, tmp_path) is None
|
||||
|
||||
|
||||
def test_unreviewed_second_cycle_is_not_excused(tmp_path):
|
||||
artifacts = fixture(tmp_path)
|
||||
artifacts.append(SimpleNamespace(id="c", kind="model", relationships=[{"type": "uses", "target": "c"}]))
|
||||
assert reviewed_import_cycles(artifacts, tmp_path) is None
|
||||
|
|
@ -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"] == 77
|
||||
assert payload["infospace"]["artifact_count"] == 78
|
||||
assert payload["infospace"]["kinds"] == {
|
||||
"access-descriptor-set": 1,
|
||||
"alignment-review-kit": 1,
|
||||
|
|
@ -53,7 +53,7 @@ def test_inspect_canon_counts_artifact_kinds() -> None:
|
|||
"kernel": 2,
|
||||
"mapping": 3,
|
||||
"mapping-expectation": 1,
|
||||
"model": 13,
|
||||
"model": 14,
|
||||
"model-extension": 1,
|
||||
"model-selection-guide": 1,
|
||||
"native-concept-map": 1,
|
||||
|
|
@ -70,7 +70,7 @@ def test_inspect_canon_counts_artifact_kinds() -> None:
|
|||
|
||||
|
||||
def test_model_and_standard_lists_are_filtered() -> None:
|
||||
assert list_models()["count"] == 13
|
||||
assert list_models()["count"] == 14
|
||||
assert list_standards()["count"] == 4
|
||||
|
||||
|
||||
|
|
@ -99,14 +99,14 @@ def test_validate_canon_passes_scaffold() -> None:
|
|||
assert payload["ok"] is True
|
||||
assert payload["errors"] == []
|
||||
assert "warnings" in payload
|
||||
assert payload["details"]["artifact_count"] == 77
|
||||
assert payload["details"]["artifact_count"] == 78
|
||||
|
||||
|
||||
def test_graph_exports_relationship_summary() -> None:
|
||||
payload = artifact_graph()
|
||||
|
||||
assert payload["ok"] is True
|
||||
assert payload["graph"]["node_count"] == 77
|
||||
assert payload["graph"]["node_count"] == 78
|
||||
assert payload["graph"]["edge_count"] > 15
|
||||
|
||||
|
||||
|
|
|
|||
71
workplans/INFO-WP-0021-identity-model.md
Normal file
71
workplans/INFO-WP-0021-identity-model.md
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
id: INFO-WP-0021
|
||||
type: workplan
|
||||
title: "Identity model and upstream ownership reconciliation"
|
||||
domain: infotech
|
||||
repo: info-tech-canon
|
||||
status: finished
|
||||
owner: codex
|
||||
topic_slug: canon
|
||||
created: "2026-09-05"
|
||||
updated: "2026-09-05"
|
||||
state_hub_workstream_id: "0e35415e-af27-5710-9d18-25769dc71ec6"
|
||||
---
|
||||
|
||||
# Identity model and upstream ownership reconciliation
|
||||
|
||||
Implements CFED-WP-0001-T05 from accepted ADR-006 and the federation ledger.
|
||||
|
||||
## Reconcile incumbent definitions
|
||||
|
||||
```task
|
||||
id: INFO-WP-0021-T01
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "6b907000-2be8-5dc2-8cc4-442e672bc35b"
|
||||
```
|
||||
|
||||
Review Delegation/Identifier overlaps against accepted ownership; consolidate
|
||||
into identity and retain upstream import anchors. Disambiguate Profile,
|
||||
Relationship and assurance dimensions. Record boundary-review.md.
|
||||
|
||||
## Author and register the identity model
|
||||
|
||||
```task
|
||||
id: INFO-WP-0021-T02
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "a34f8f3e-70bd-5bf8-90c0-80ad047b067a"
|
||||
```
|
||||
|
||||
Represent all 23 ledger-assigned concepts and two convenience terms; import
|
||||
organization, access and evidence concepts; adapt P1–P13. Register draft 0.1.0
|
||||
in canon, infospace, artifact graph and kernel map. Close the Access identity gap.
|
||||
|
||||
## Verify ownership and retrieval
|
||||
|
||||
```task
|
||||
id: INFO-WP-0021-T03
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "2ae54fb7-2079-5fbc-b745-eb36a6787fc9"
|
||||
```
|
||||
|
||||
Check exact ledger coverage, no upstream-owned concept definitions, no duplicate
|
||||
Delegation/Identifier definitions, generated surfaces, service checks and source
|
||||
preservation. Record project evidence and synchronize native tasks.
|
||||
|
||||
## Live continuation
|
||||
|
||||
CFED T06 owns CommerceCanon publication; T07 corpus distribution; T08 interface
|
||||
cards; T12/T13 social collective and Family work. These remain live records;
|
||||
no stable promotion or consumer adoption is claimed by this implementation.
|
||||
|
||||
## Verification — 2026-09-05
|
||||
|
||||
make check passes: 45 tests, generated consistency, canon and small-saas profile
|
||||
validation. Exact ledger coverage: 23 owned concepts plus two convenience terms.
|
||||
All 34 protected seed/finished-plan hashes unchanged; links and whitespace pass.
|
||||
The exact five-edge model-import component has a documented validation exception
|
||||
with regressions for unexpected edges, members, cycles and missing rationale.
|
||||
See [project evidence](../../prj-canon-federation/docs/evidence/2026-09-05-identity-model.md).
|
||||
|
|
@ -16,6 +16,14 @@ implementation_decisions:
|
|||
consumer_workplans_live_in_consumer_repos: true
|
||||
|
||||
workplans:
|
||||
- id: INFO-WP-0021
|
||||
title: Identity model and upstream ownership reconciliation
|
||||
status: finished
|
||||
priority: high
|
||||
path: workplans/INFO-WP-0021-identity-model.md
|
||||
depends_on: [INFO-WP-0020]
|
||||
produces: [itc-ident, upstream identity imports]
|
||||
|
||||
- id: INFO-WP-0020
|
||||
title: Shared evidence model and governance import boundary
|
||||
status: finished
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue