generated from coulomb/repo-seed
Add purpose and demand model extension
This commit is contained in:
@@ -74,3 +74,11 @@ Agent-facing retrieval assets live under `infospace/agent/`:
|
|||||||
- per-artifact briefs in `agent/briefs/`
|
- per-artifact briefs in `agent/briefs/`
|
||||||
- consumer brief templates in `agent/consumer-briefs/`
|
- consumer brief templates in `agent/consumer-briefs/`
|
||||||
- Canon Interface Card template in `agent/templates/`
|
- Canon Interface Card template in `agent/templates/`
|
||||||
|
|
||||||
|
## Purpose And Demand
|
||||||
|
|
||||||
|
The PURPOSES candidate model is registered as a governance extension at
|
||||||
|
`infospace/models/governance/InfoTechCanonPurposeDemandExtension.md`. It defines
|
||||||
|
consumer purposes, demand signals, purpose fit, scope pressure, and evolution
|
||||||
|
requests so consumer demand can inform repo governance without silently changing
|
||||||
|
producer scope.
|
||||||
|
|||||||
31
infospace/agent/briefs/concept-catalog-purpose-demand.md
Normal file
31
infospace/agent/briefs/concept-catalog-purpose-demand.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
---
|
||||||
|
id: agent-brief/concept-catalog-purpose-demand
|
||||||
|
artifact_id: concept-catalog/purpose-demand
|
||||||
|
source_path: concepts/purpose-demand.yaml
|
||||||
|
source_kind: concept-catalog
|
||||||
|
generated: true
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||||
|
|
||||||
|
# Agent Brief: Purpose And Consumer Demand Concept Catalog
|
||||||
|
|
||||||
|
- Artifact ID: `concept-catalog/purpose-demand`
|
||||||
|
- Kind: `concept-catalog`
|
||||||
|
- Canonical path: `concepts/purpose-demand.yaml`
|
||||||
|
- Full source: `concepts/purpose-demand.yaml`
|
||||||
|
- Summary: Structured candidate concept catalog: Purpose And Consumer Demand Concept Catalog.
|
||||||
|
|
||||||
|
## Retrieval Hints
|
||||||
|
|
||||||
|
Imports and anchors:
|
||||||
|
- `kernel/itc-core`
|
||||||
|
- `model/governance`
|
||||||
|
|
||||||
|
## Owned Concepts
|
||||||
|
|
||||||
|
- `Purpose And Consumer Demand Concept Catalog`
|
||||||
|
|
||||||
|
## Related Distinctions
|
||||||
|
|
||||||
|
No common distinction is anchored directly on this artifact.
|
||||||
30
infospace/agent/briefs/example-consumer-purpose-portfolio.md
Normal file
30
infospace/agent/briefs/example-consumer-purpose-portfolio.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
id: agent-brief/example-consumer-purpose-portfolio
|
||||||
|
artifact_id: example/consumer-purpose-portfolio
|
||||||
|
source_path: examples/consumer-purpose-portfolio.yaml
|
||||||
|
source_kind: example
|
||||||
|
generated: true
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||||
|
|
||||||
|
# Agent Brief: Canon-Side Consumer Purpose Portfolio
|
||||||
|
|
||||||
|
- Artifact ID: `example/consumer-purpose-portfolio`
|
||||||
|
- Kind: `example`
|
||||||
|
- Canonical path: `examples/consumer-purpose-portfolio.yaml`
|
||||||
|
- Full source: `examples/consumer-purpose-portfolio.yaml`
|
||||||
|
- Summary: Canon-side example artifact: Canon-Side Consumer Purpose Portfolio.
|
||||||
|
|
||||||
|
## Retrieval Hints
|
||||||
|
|
||||||
|
Imports and anchors:
|
||||||
|
- `profile/small-saas`
|
||||||
|
|
||||||
|
## Owned Concepts
|
||||||
|
|
||||||
|
- `Canon-Side Consumer Purpose Portfolio`
|
||||||
|
|
||||||
|
## Related Distinctions
|
||||||
|
|
||||||
|
No common distinction is anchored directly on this artifact.
|
||||||
@@ -26,4 +26,4 @@ No imports or anchors recorded.
|
|||||||
|
|
||||||
## Related Distinctions
|
## Related Distinctions
|
||||||
|
|
||||||
- **Intent vs Scope vs Purpose**: Intent captures why an actor wants something, scope bounds what is included, and purpose captures consumer demand or use case pressure on the repo.
|
- **Intent vs Scope vs Purpose**: Intent captures why a producer or consumer exists, scope bounds producer ownership and promises, and purpose captures consumer demand anchored in consumer intent.
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
id: agent-brief/mapping-purpose-demand-governance-candidates
|
||||||
|
artifact_id: mapping/purpose-demand-governance-candidates
|
||||||
|
source_path: mappings/purpose-demand-governance-candidates.yaml
|
||||||
|
source_kind: mapping
|
||||||
|
generated: true
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||||
|
|
||||||
|
# Agent Brief: Purpose Demand Governance Extension Candidates
|
||||||
|
|
||||||
|
- Artifact ID: `mapping/purpose-demand-governance-candidates`
|
||||||
|
- Kind: `mapping`
|
||||||
|
- Canonical path: `mappings/purpose-demand-governance-candidates.yaml`
|
||||||
|
- Full source: `mappings/purpose-demand-governance-candidates.yaml`
|
||||||
|
- Summary: Mapping artifact connecting canon surfaces: Purpose Demand Governance Extension Candidates.
|
||||||
|
|
||||||
|
## Retrieval Hints
|
||||||
|
|
||||||
|
Imports and anchors:
|
||||||
|
- `model/task`
|
||||||
|
|
||||||
|
## Owned Concepts
|
||||||
|
|
||||||
|
- `Purpose Demand Governance Extension Candidates`
|
||||||
|
|
||||||
|
## Related Distinctions
|
||||||
|
|
||||||
|
No common distinction is anchored directly on this artifact.
|
||||||
@@ -28,4 +28,3 @@ Imports and anchors:
|
|||||||
## Related Distinctions
|
## Related Distinctions
|
||||||
|
|
||||||
- **Policy vs Control vs Evidence**: Policy states intent or rule, control implements or enforces that rule, and evidence records why the claim should be trusted.
|
- **Policy vs Control vs Evidence**: Policy states intent or rule, control implements or enforces that rule, and evidence records why the claim should be trusted.
|
||||||
- **Intent vs Scope vs Purpose**: Intent captures why an actor wants something, scope bounds what is included, and purpose captures consumer demand or use case pressure on the repo.
|
|
||||||
|
|||||||
41
infospace/agent/briefs/model-purpose-demand-extension.md
Normal file
41
infospace/agent/briefs/model-purpose-demand-extension.md
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
id: agent-brief/model-purpose-demand-extension
|
||||||
|
artifact_id: model/purpose-demand-extension
|
||||||
|
source_path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source_kind: model-extension
|
||||||
|
generated: true
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||||
|
|
||||||
|
# Agent Brief: InfoTechCanon Purpose And Demand Model Extension
|
||||||
|
|
||||||
|
- Artifact ID: `model/purpose-demand-extension`
|
||||||
|
- Kind: `model-extension`
|
||||||
|
- Canonical path: `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||||
|
- Full source: `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||||
|
- Summary: Candidate extension to an existing canon model: InfoTechCanon Purpose And Demand Model Extension.
|
||||||
|
|
||||||
|
## Retrieval Hints
|
||||||
|
|
||||||
|
Imports and anchors:
|
||||||
|
- `kernel/itc-core`
|
||||||
|
- `model/information-space`
|
||||||
|
- `model/task`
|
||||||
|
|
||||||
|
## Owned Concepts
|
||||||
|
|
||||||
|
- `ConsumerNeed`
|
||||||
|
- `ConsumerPurpose`
|
||||||
|
- `DemandSignal`
|
||||||
|
- `EvolutionRequest`
|
||||||
|
- `InfoTechCanon Purpose And Demand Model Extension`
|
||||||
|
- `ProducerCapability`
|
||||||
|
- `Purpose`
|
||||||
|
- `PurposeFit`
|
||||||
|
- `ScopePressure`
|
||||||
|
- `UseCase`
|
||||||
|
|
||||||
|
## Related Distinctions
|
||||||
|
|
||||||
|
- **Intent vs Scope vs Purpose**: Intent captures why a producer or consumer exists, scope bounds producer ownership and promises, and purpose captures consumer demand anchored in consumer intent.
|
||||||
32
infospace/agent/briefs/pattern-intent-scope-purposes.md
Normal file
32
infospace/agent/briefs/pattern-intent-scope-purposes.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
id: agent-brief/pattern-intent-scope-purposes
|
||||||
|
artifact_id: pattern/intent-scope-purposes
|
||||||
|
source_path: patterns/intent-scope-purposes.md
|
||||||
|
source_kind: pattern
|
||||||
|
generated: true
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||||
|
|
||||||
|
# Agent Brief: Intent Scope Purposes Pattern
|
||||||
|
|
||||||
|
- Artifact ID: `pattern/intent-scope-purposes`
|
||||||
|
- Kind: `pattern`
|
||||||
|
- Canonical path: `patterns/intent-scope-purposes.md`
|
||||||
|
- Full source: `patterns/intent-scope-purposes.md`
|
||||||
|
- Summary: Reusable canon pattern: Intent Scope Purposes Pattern.
|
||||||
|
|
||||||
|
## Retrieval Hints
|
||||||
|
|
||||||
|
Imports and anchors:
|
||||||
|
- `model/governance`
|
||||||
|
- `model/task`
|
||||||
|
|
||||||
|
## Owned Concepts
|
||||||
|
|
||||||
|
- `Intent Scope Purposes Pattern`
|
||||||
|
- `IntentScopePurposePattern`
|
||||||
|
|
||||||
|
## Related Distinctions
|
||||||
|
|
||||||
|
- **Intent vs Scope vs Purpose**: Intent captures why a producer or consumer exists, scope bounds producer ownership and promises, and purpose captures consumer demand anchored in consumer intent.
|
||||||
@@ -39,4 +39,4 @@ Imports and anchors:
|
|||||||
|
|
||||||
## Related Distinctions
|
## Related Distinctions
|
||||||
|
|
||||||
- **Intent vs Scope vs Purpose**: Intent captures why an actor wants something, scope bounds what is included, and purpose captures consumer demand or use case pressure on the repo.
|
- **Intent vs Scope vs Purpose**: Intent captures why a producer or consumer exists, scope bounds producer ownership and promises, and purpose captures consumer demand anchored in consumer intent.
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ Use the canon to make captured entities and edges cleaner for conformance and vi
|
|||||||
|
|
||||||
- `agent/retrieval-index.md`
|
- `agent/retrieval-index.md`
|
||||||
- `agent/templates/canon-interface-card.template.yaml`
|
- `agent/templates/canon-interface-card.template.yaml`
|
||||||
|
- `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||||
|
- `patterns/intent-scope-purposes.md`
|
||||||
|
- `examples/consumer-purpose-portfolio.yaml`
|
||||||
- `profiles/small-saas/profile.yaml`
|
- `profiles/small-saas/profile.yaml`
|
||||||
- `views/by-concept.md`
|
- `views/by-concept.md`
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ Compare repo-scoping concepts with canon INTENT, SCOPE, PURPOSES, and interface-
|
|||||||
|
|
||||||
- `agent/retrieval-index.md`
|
- `agent/retrieval-index.md`
|
||||||
- `agent/templates/canon-interface-card.template.yaml`
|
- `agent/templates/canon-interface-card.template.yaml`
|
||||||
|
- `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||||
|
- `patterns/intent-scope-purposes.md`
|
||||||
|
- `examples/consumer-purpose-portfolio.yaml`
|
||||||
- `profiles/small-saas/profile.yaml`
|
- `profiles/small-saas/profile.yaml`
|
||||||
- `views/by-concept.md`
|
- `views/by-concept.md`
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ Evaluate user-management concepts, roles, access traces, profile claims, and gov
|
|||||||
|
|
||||||
- `agent/retrieval-index.md`
|
- `agent/retrieval-index.md`
|
||||||
- `agent/templates/canon-interface-card.template.yaml`
|
- `agent/templates/canon-interface-card.template.yaml`
|
||||||
|
- `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||||
|
- `patterns/intent-scope-purposes.md`
|
||||||
|
- `examples/consumer-purpose-portfolio.yaml`
|
||||||
- `profiles/small-saas/profile.yaml`
|
- `profiles/small-saas/profile.yaml`
|
||||||
- `views/by-concept.md`
|
- `views/by-concept.md`
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
This brief summarizes the current canon service surface for agents.
|
This brief summarizes the current canon service surface for agents.
|
||||||
|
|
||||||
- Infospace slug: `canon`
|
- Infospace slug: `canon`
|
||||||
- Artifact count: 29
|
- Artifact count: 34
|
||||||
- Retrieval index items: 29
|
- Retrieval index items: 34
|
||||||
- Primary confidence command: `make validate`
|
- Primary confidence command: `make validate`
|
||||||
- Refresh generated indexes and views with: `make index`
|
- Refresh generated indexes and views with: `make index`
|
||||||
- Refresh agent briefs and interface templates with: `make agent-briefs`
|
- Refresh agent briefs and interface templates with: `make agent-briefs`
|
||||||
@@ -32,7 +32,7 @@ This brief summarizes the current canon service surface for agents.
|
|||||||
- **Actor vs Subject vs Principal**: Use actor for the acting entity in a context, subject for the entity a policy evaluates, and principal for the authenticated identity bound to access decisions.
|
- **Actor vs Subject vs Principal**: Use actor for the acting entity in a context, subject for the entity a policy evaluates, and principal for the authenticated identity bound to access decisions.
|
||||||
- **Organization Role vs AccessRole vs CARING role**: Organization roles describe responsibility or position; access roles describe permissions; CARING roles classify access-governance needs and analysis.
|
- **Organization Role vs AccessRole vs CARING role**: Organization roles describe responsibility or position; access roles describe permissions; CARING roles classify access-governance needs and analysis.
|
||||||
- **Policy vs Control vs Evidence**: Policy states intent or rule, control implements or enforces that rule, and evidence records why the claim should be trusted.
|
- **Policy vs Control vs Evidence**: Policy states intent or rule, control implements or enforces that rule, and evidence records why the claim should be trusted.
|
||||||
- **Intent vs Scope vs Purpose**: Intent captures why an actor wants something, scope bounds what is included, and purpose captures consumer demand or use case pressure on the repo.
|
- **Intent vs Scope vs Purpose**: Intent captures why a producer or consumer exists, scope bounds producer ownership and promises, and purpose captures consumer demand anchored in consumer intent.
|
||||||
|
|
||||||
## Consumption Notes
|
## Consumption Notes
|
||||||
|
|
||||||
|
|||||||
@@ -34,16 +34,72 @@
|
|||||||
"id": "intent-scope-purpose",
|
"id": "intent-scope-purpose",
|
||||||
"source_artifacts": [
|
"source_artifacts": [
|
||||||
"kernel/itc-core",
|
"kernel/itc-core",
|
||||||
"model/governance",
|
"model/purpose-demand-extension",
|
||||||
|
"pattern/intent-scope-purposes",
|
||||||
"profile/small-saas"
|
"profile/small-saas"
|
||||||
],
|
],
|
||||||
"summary": "Intent captures why an actor wants something, scope bounds what is included, and purpose captures consumer demand or use case pressure on the repo.",
|
"summary": "Intent captures why a producer or consumer exists, scope bounds producer ownership and promises, and purpose captures consumer demand anchored in consumer intent.",
|
||||||
"title": "Intent vs Scope vs Purpose"
|
"title": "Intent vs Scope vs Purpose"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"infospace": "canon",
|
"infospace": "canon",
|
||||||
"item_count": 29,
|
"item_count": 34,
|
||||||
"items": [
|
"items": [
|
||||||
|
{
|
||||||
|
"canonical_path": "concepts/purpose-demand.yaml",
|
||||||
|
"id": "concept-catalog/purpose-demand",
|
||||||
|
"imports": [
|
||||||
|
"kernel/itc-core",
|
||||||
|
"model/governance"
|
||||||
|
],
|
||||||
|
"kind": "concept-catalog",
|
||||||
|
"owned_concepts": [
|
||||||
|
"Purpose And Consumer Demand Concept Catalog"
|
||||||
|
],
|
||||||
|
"relationships": [
|
||||||
|
{
|
||||||
|
"target": "kernel/itc-core",
|
||||||
|
"type": "conforms_to"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "model/governance",
|
||||||
|
"type": "uses"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source_path": "infospace/concepts/purpose-demand.yaml",
|
||||||
|
"summary": "Structured candidate concept catalog: Purpose And Consumer Demand Concept Catalog.",
|
||||||
|
"title": "Purpose And Consumer Demand Concept Catalog",
|
||||||
|
"warnings": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"canonical_path": "examples/consumer-purpose-portfolio.yaml",
|
||||||
|
"id": "example/consumer-purpose-portfolio",
|
||||||
|
"imports": [
|
||||||
|
"profile/small-saas"
|
||||||
|
],
|
||||||
|
"kind": "example",
|
||||||
|
"owned_concepts": [
|
||||||
|
"Canon-Side Consumer Purpose Portfolio"
|
||||||
|
],
|
||||||
|
"relationships": [
|
||||||
|
{
|
||||||
|
"target": "model/purpose-demand-extension",
|
||||||
|
"type": "illustrates"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "pattern/intent-scope-purposes",
|
||||||
|
"type": "illustrates"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "profile/small-saas",
|
||||||
|
"type": "uses"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source_path": "infospace/examples/consumer-purpose-portfolio.yaml",
|
||||||
|
"summary": "Canon-side example artifact: Canon-Side Consumer Purpose Portfolio.",
|
||||||
|
"title": "Canon-Side Consumer Purpose Portfolio",
|
||||||
|
"warnings": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"canonical_path": "kernel/InfoTechCanonCore.md",
|
"canonical_path": "kernel/InfoTechCanonCore.md",
|
||||||
"id": "kernel/itc-core",
|
"id": "kernel/itc-core",
|
||||||
@@ -129,6 +185,35 @@
|
|||||||
"title": "InfoTechCanon Kernel Map",
|
"title": "InfoTechCanon Kernel Map",
|
||||||
"warnings": []
|
"warnings": []
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"canonical_path": "mappings/purpose-demand-governance-candidates.yaml",
|
||||||
|
"id": "mapping/purpose-demand-governance-candidates",
|
||||||
|
"imports": [
|
||||||
|
"model/task"
|
||||||
|
],
|
||||||
|
"kind": "mapping",
|
||||||
|
"owned_concepts": [
|
||||||
|
"Purpose Demand Governance Extension Candidates"
|
||||||
|
],
|
||||||
|
"relationships": [
|
||||||
|
{
|
||||||
|
"target": "model/purpose-demand-extension",
|
||||||
|
"type": "maps"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "model/governance",
|
||||||
|
"type": "maps"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "model/task",
|
||||||
|
"type": "uses"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source_path": "infospace/mappings/purpose-demand-governance-candidates.yaml",
|
||||||
|
"summary": "Mapping artifact connecting canon surfaces: Purpose Demand Governance Extension Candidates.",
|
||||||
|
"title": "Purpose Demand Governance Extension Candidates",
|
||||||
|
"warnings": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"canonical_path": "models/access-control/InfoTechCanonAccessControlModel.md",
|
"canonical_path": "models/access-control/InfoTechCanonAccessControlModel.md",
|
||||||
"id": "model/access-control",
|
"id": "model/access-control",
|
||||||
@@ -348,6 +433,54 @@
|
|||||||
"title": "InfoTechCanon Organization Model",
|
"title": "InfoTechCanon Organization Model",
|
||||||
"warnings": []
|
"warnings": []
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"canonical_path": "models/governance/InfoTechCanonPurposeDemandExtension.md",
|
||||||
|
"id": "model/purpose-demand-extension",
|
||||||
|
"imports": [
|
||||||
|
"kernel/itc-core",
|
||||||
|
"model/information-space",
|
||||||
|
"model/task"
|
||||||
|
],
|
||||||
|
"kind": "model-extension",
|
||||||
|
"owned_concepts": [
|
||||||
|
"ConsumerNeed",
|
||||||
|
"ConsumerPurpose",
|
||||||
|
"DemandSignal",
|
||||||
|
"EvolutionRequest",
|
||||||
|
"InfoTechCanon Purpose And Demand Model Extension",
|
||||||
|
"ProducerCapability",
|
||||||
|
"Purpose",
|
||||||
|
"PurposeFit",
|
||||||
|
"ScopePressure",
|
||||||
|
"UseCase"
|
||||||
|
],
|
||||||
|
"relationships": [
|
||||||
|
{
|
||||||
|
"target": "kernel/itc-core",
|
||||||
|
"type": "conforms_to"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "model/governance",
|
||||||
|
"type": "extends"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "model/information-space",
|
||||||
|
"type": "uses"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "model/task",
|
||||||
|
"type": "uses"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "concept-catalog/purpose-demand",
|
||||||
|
"type": "introduces"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source_path": "infospace/models/governance/InfoTechCanonPurposeDemandExtension.md",
|
||||||
|
"summary": "Candidate extension to an existing canon model: InfoTechCanon Purpose And Demand Model Extension.",
|
||||||
|
"title": "InfoTechCanon Purpose And Demand Model Extension",
|
||||||
|
"warnings": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"canonical_path": "models/security/InfoTechCanonSecurityModel.md",
|
"canonical_path": "models/security/InfoTechCanonSecurityModel.md",
|
||||||
"id": "model/security",
|
"id": "model/security",
|
||||||
@@ -395,6 +528,37 @@
|
|||||||
"title": "InfoTechCanon Task Model",
|
"title": "InfoTechCanon Task Model",
|
||||||
"warnings": []
|
"warnings": []
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"canonical_path": "patterns/intent-scope-purposes.md",
|
||||||
|
"id": "pattern/intent-scope-purposes",
|
||||||
|
"imports": [
|
||||||
|
"model/governance",
|
||||||
|
"model/task"
|
||||||
|
],
|
||||||
|
"kind": "pattern",
|
||||||
|
"owned_concepts": [
|
||||||
|
"Intent Scope Purposes Pattern",
|
||||||
|
"IntentScopePurposePattern"
|
||||||
|
],
|
||||||
|
"relationships": [
|
||||||
|
{
|
||||||
|
"target": "model/purpose-demand-extension",
|
||||||
|
"type": "implements"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "model/governance",
|
||||||
|
"type": "uses"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target": "model/task",
|
||||||
|
"type": "uses"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source_path": "infospace/patterns/intent-scope-purposes.md",
|
||||||
|
"summary": "Reusable canon pattern: Intent Scope Purposes Pattern.",
|
||||||
|
"title": "Intent Scope Purposes Pattern",
|
||||||
|
"warnings": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"canonical_path": "profiles/small-saas/profile.yaml",
|
"canonical_path": "profiles/small-saas/profile.yaml",
|
||||||
"id": "profile/small-saas",
|
"id": "profile/small-saas",
|
||||||
|
|||||||
@@ -4,17 +4,37 @@
|
|||||||
|
|
||||||
Schema: `info-tech-canon.retrieval-index.v1`
|
Schema: `info-tech-canon.retrieval-index.v1`
|
||||||
Infospace: `canon`
|
Infospace: `canon`
|
||||||
Items: **29**
|
Items: **34**
|
||||||
|
|
||||||
## Common Distinctions
|
## Common Distinctions
|
||||||
|
|
||||||
- **Actor vs Subject vs Principal**: Use actor for the acting entity in a context, subject for the entity a policy evaluates, and principal for the authenticated identity bound to access decisions. Sources: `model/organization`, `model/access-control`, `standard/caring`
|
- **Actor vs Subject vs Principal**: Use actor for the acting entity in a context, subject for the entity a policy evaluates, and principal for the authenticated identity bound to access decisions. Sources: `model/organization`, `model/access-control`, `standard/caring`
|
||||||
- **Organization Role vs AccessRole vs CARING role**: Organization roles describe responsibility or position; access roles describe permissions; CARING roles classify access-governance needs and analysis. Sources: `model/organization`, `model/access-control`, `standard/caring`
|
- **Organization Role vs AccessRole vs CARING role**: Organization roles describe responsibility or position; access roles describe permissions; CARING roles classify access-governance needs and analysis. Sources: `model/organization`, `model/access-control`, `standard/caring`
|
||||||
- **Policy vs Control vs Evidence**: Policy states intent or rule, control implements or enforces that rule, and evidence records why the claim should be trusted. Sources: `model/governance`, `model/security`, `model/observability`
|
- **Policy vs Control vs Evidence**: Policy states intent or rule, control implements or enforces that rule, and evidence records why the claim should be trusted. Sources: `model/governance`, `model/security`, `model/observability`
|
||||||
- **Intent vs Scope vs Purpose**: Intent captures why an actor wants something, scope bounds what is included, and purpose captures consumer demand or use case pressure on the repo. Sources: `kernel/itc-core`, `model/governance`, `profile/small-saas`
|
- **Intent vs Scope vs Purpose**: Intent captures why a producer or consumer exists, scope bounds producer ownership and promises, and purpose captures consumer demand anchored in consumer intent. Sources: `kernel/itc-core`, `model/purpose-demand-extension`, `pattern/intent-scope-purposes`, `profile/small-saas`
|
||||||
|
|
||||||
## Items
|
## Items
|
||||||
|
|
||||||
|
### Purpose And Consumer Demand Concept Catalog
|
||||||
|
|
||||||
|
- ID: `concept-catalog/purpose-demand`
|
||||||
|
- Kind: `concept-catalog`
|
||||||
|
- Canonical path: `concepts/purpose-demand.yaml`
|
||||||
|
- Source path: `infospace/concepts/purpose-demand.yaml`
|
||||||
|
- Summary: Structured candidate concept catalog: Purpose And Consumer Demand Concept Catalog.
|
||||||
|
- Imports and anchors: `kernel/itc-core`, `model/governance`
|
||||||
|
- Owned concepts: `Purpose And Consumer Demand Concept Catalog`
|
||||||
|
|
||||||
|
### Canon-Side Consumer Purpose Portfolio
|
||||||
|
|
||||||
|
- ID: `example/consumer-purpose-portfolio`
|
||||||
|
- Kind: `example`
|
||||||
|
- Canonical path: `examples/consumer-purpose-portfolio.yaml`
|
||||||
|
- Source path: `infospace/examples/consumer-purpose-portfolio.yaml`
|
||||||
|
- Summary: Canon-side example artifact: Canon-Side Consumer Purpose Portfolio.
|
||||||
|
- Imports and anchors: `profile/small-saas`
|
||||||
|
- Owned concepts: `Canon-Side Consumer Purpose Portfolio`
|
||||||
|
|
||||||
### InfoTechCanon Core
|
### InfoTechCanon Core
|
||||||
|
|
||||||
- ID: `kernel/itc-core`
|
- ID: `kernel/itc-core`
|
||||||
@@ -35,6 +55,16 @@ Items: **29**
|
|||||||
- Imports and anchors: none
|
- Imports and anchors: none
|
||||||
- Owned concepts: `InfoTechCanon Kernel Map`
|
- Owned concepts: `InfoTechCanon Kernel Map`
|
||||||
|
|
||||||
|
### Purpose Demand Governance Extension Candidates
|
||||||
|
|
||||||
|
- ID: `mapping/purpose-demand-governance-candidates`
|
||||||
|
- Kind: `mapping`
|
||||||
|
- Canonical path: `mappings/purpose-demand-governance-candidates.yaml`
|
||||||
|
- Source path: `infospace/mappings/purpose-demand-governance-candidates.yaml`
|
||||||
|
- Summary: Mapping artifact connecting canon surfaces: Purpose Demand Governance Extension Candidates.
|
||||||
|
- Imports and anchors: `model/task`
|
||||||
|
- Owned concepts: `Purpose Demand Governance Extension Candidates`
|
||||||
|
|
||||||
### InfoTechCanon Access Control Model
|
### InfoTechCanon Access Control Model
|
||||||
|
|
||||||
- ID: `model/access-control`
|
- ID: `model/access-control`
|
||||||
@@ -125,6 +155,16 @@ Items: **29**
|
|||||||
- Imports and anchors: `kernel/itc-core`
|
- Imports and anchors: `kernel/itc-core`
|
||||||
- Owned concepts: `InfoTechCanon Organization Model`
|
- Owned concepts: `InfoTechCanon Organization Model`
|
||||||
|
|
||||||
|
### InfoTechCanon Purpose And Demand Model Extension
|
||||||
|
|
||||||
|
- ID: `model/purpose-demand-extension`
|
||||||
|
- Kind: `model-extension`
|
||||||
|
- Canonical path: `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||||
|
- Source path: `infospace/models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||||
|
- Summary: Candidate extension to an existing canon model: InfoTechCanon Purpose And Demand Model Extension.
|
||||||
|
- Imports and anchors: `kernel/itc-core`, `model/information-space`, `model/task`
|
||||||
|
- Owned concepts: `ConsumerNeed`, `ConsumerPurpose`, `DemandSignal`, `EvolutionRequest`, `InfoTechCanon Purpose And Demand Model Extension`, `ProducerCapability`, `Purpose`, `PurposeFit`, `ScopePressure`, `UseCase`
|
||||||
|
|
||||||
### InfoTechCanon Security Model
|
### InfoTechCanon Security Model
|
||||||
|
|
||||||
- ID: `model/security`
|
- ID: `model/security`
|
||||||
@@ -145,6 +185,16 @@ Items: **29**
|
|||||||
- Imports and anchors: `kernel/itc-core`
|
- Imports and anchors: `kernel/itc-core`
|
||||||
- Owned concepts: `InfoTechCanon Task Model`
|
- Owned concepts: `InfoTechCanon Task Model`
|
||||||
|
|
||||||
|
### Intent Scope Purposes Pattern
|
||||||
|
|
||||||
|
- ID: `pattern/intent-scope-purposes`
|
||||||
|
- Kind: `pattern`
|
||||||
|
- Canonical path: `patterns/intent-scope-purposes.md`
|
||||||
|
- Source path: `infospace/patterns/intent-scope-purposes.md`
|
||||||
|
- Summary: Reusable canon pattern: Intent Scope Purposes Pattern.
|
||||||
|
- Imports and anchors: `model/governance`, `model/task`
|
||||||
|
- Owned concepts: `Intent Scope Purposes Pattern`, `IntentScopePurposePattern`
|
||||||
|
|
||||||
### Small SaaS System Profile
|
### Small SaaS System Profile
|
||||||
|
|
||||||
- ID: `profile/small-saas`
|
- ID: `profile/small-saas`
|
||||||
|
|||||||
@@ -1,7 +1,43 @@
|
|||||||
schema: info-tech-canon.retrieval-index.v1
|
schema: info-tech-canon.retrieval-index.v1
|
||||||
infospace: canon
|
infospace: canon
|
||||||
item_count: 29
|
item_count: 34
|
||||||
items:
|
items:
|
||||||
|
- id: concept-catalog/purpose-demand
|
||||||
|
kind: concept-catalog
|
||||||
|
title: Purpose And Consumer Demand Concept Catalog
|
||||||
|
canonical_path: concepts/purpose-demand.yaml
|
||||||
|
source_path: infospace/concepts/purpose-demand.yaml
|
||||||
|
summary: 'Structured candidate concept catalog: Purpose And Consumer Demand Concept
|
||||||
|
Catalog.'
|
||||||
|
owned_concepts:
|
||||||
|
- Purpose And Consumer Demand Concept Catalog
|
||||||
|
imports:
|
||||||
|
- kernel/itc-core
|
||||||
|
- model/governance
|
||||||
|
relationships:
|
||||||
|
- type: conforms_to
|
||||||
|
target: kernel/itc-core
|
||||||
|
- type: uses
|
||||||
|
target: model/governance
|
||||||
|
warnings: []
|
||||||
|
- id: example/consumer-purpose-portfolio
|
||||||
|
kind: example
|
||||||
|
title: Canon-Side Consumer Purpose Portfolio
|
||||||
|
canonical_path: examples/consumer-purpose-portfolio.yaml
|
||||||
|
source_path: infospace/examples/consumer-purpose-portfolio.yaml
|
||||||
|
summary: 'Canon-side example artifact: Canon-Side Consumer Purpose Portfolio.'
|
||||||
|
owned_concepts:
|
||||||
|
- Canon-Side Consumer Purpose Portfolio
|
||||||
|
imports:
|
||||||
|
- profile/small-saas
|
||||||
|
relationships:
|
||||||
|
- type: illustrates
|
||||||
|
target: model/purpose-demand-extension
|
||||||
|
- type: illustrates
|
||||||
|
target: pattern/intent-scope-purposes
|
||||||
|
- type: uses
|
||||||
|
target: profile/small-saas
|
||||||
|
warnings: []
|
||||||
- id: kernel/itc-core
|
- id: kernel/itc-core
|
||||||
kind: kernel
|
kind: kernel
|
||||||
title: InfoTechCanon Core
|
title: InfoTechCanon Core
|
||||||
@@ -54,6 +90,25 @@ items:
|
|||||||
- type: maps
|
- type: maps
|
||||||
target: standard/caring
|
target: standard/caring
|
||||||
warnings: []
|
warnings: []
|
||||||
|
- id: mapping/purpose-demand-governance-candidates
|
||||||
|
kind: mapping
|
||||||
|
title: Purpose Demand Governance Extension Candidates
|
||||||
|
canonical_path: mappings/purpose-demand-governance-candidates.yaml
|
||||||
|
source_path: infospace/mappings/purpose-demand-governance-candidates.yaml
|
||||||
|
summary: 'Mapping artifact connecting canon surfaces: Purpose Demand Governance
|
||||||
|
Extension Candidates.'
|
||||||
|
owned_concepts:
|
||||||
|
- Purpose Demand Governance Extension Candidates
|
||||||
|
imports:
|
||||||
|
- model/task
|
||||||
|
relationships:
|
||||||
|
- type: maps
|
||||||
|
target: model/purpose-demand-extension
|
||||||
|
- type: maps
|
||||||
|
target: model/governance
|
||||||
|
- type: uses
|
||||||
|
target: model/task
|
||||||
|
warnings: []
|
||||||
- id: model/access-control
|
- id: model/access-control
|
||||||
kind: model
|
kind: model
|
||||||
title: InfoTechCanon Access Control Model
|
title: InfoTechCanon Access Control Model
|
||||||
@@ -207,6 +262,40 @@ items:
|
|||||||
- type: conforms_to
|
- type: conforms_to
|
||||||
target: kernel/itc-core
|
target: kernel/itc-core
|
||||||
warnings: []
|
warnings: []
|
||||||
|
- id: model/purpose-demand-extension
|
||||||
|
kind: model-extension
|
||||||
|
title: InfoTechCanon Purpose And Demand Model Extension
|
||||||
|
canonical_path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source_path: infospace/models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
summary: 'Candidate extension to an existing canon model: InfoTechCanon Purpose
|
||||||
|
And Demand Model Extension.'
|
||||||
|
owned_concepts:
|
||||||
|
- ConsumerNeed
|
||||||
|
- ConsumerPurpose
|
||||||
|
- DemandSignal
|
||||||
|
- EvolutionRequest
|
||||||
|
- InfoTechCanon Purpose And Demand Model Extension
|
||||||
|
- ProducerCapability
|
||||||
|
- Purpose
|
||||||
|
- PurposeFit
|
||||||
|
- ScopePressure
|
||||||
|
- UseCase
|
||||||
|
imports:
|
||||||
|
- kernel/itc-core
|
||||||
|
- model/information-space
|
||||||
|
- model/task
|
||||||
|
relationships:
|
||||||
|
- type: conforms_to
|
||||||
|
target: kernel/itc-core
|
||||||
|
- type: extends
|
||||||
|
target: model/governance
|
||||||
|
- type: uses
|
||||||
|
target: model/information-space
|
||||||
|
- type: uses
|
||||||
|
target: model/task
|
||||||
|
- type: introduces
|
||||||
|
target: concept-catalog/purpose-demand
|
||||||
|
warnings: []
|
||||||
- id: model/security
|
- id: model/security
|
||||||
kind: model
|
kind: model
|
||||||
title: InfoTechCanon Security Model
|
title: InfoTechCanon Security Model
|
||||||
@@ -240,6 +329,26 @@ items:
|
|||||||
- type: conforms_to
|
- type: conforms_to
|
||||||
target: kernel/itc-core
|
target: kernel/itc-core
|
||||||
warnings: []
|
warnings: []
|
||||||
|
- id: pattern/intent-scope-purposes
|
||||||
|
kind: pattern
|
||||||
|
title: Intent Scope Purposes Pattern
|
||||||
|
canonical_path: patterns/intent-scope-purposes.md
|
||||||
|
source_path: infospace/patterns/intent-scope-purposes.md
|
||||||
|
summary: 'Reusable canon pattern: Intent Scope Purposes Pattern.'
|
||||||
|
owned_concepts:
|
||||||
|
- Intent Scope Purposes Pattern
|
||||||
|
- IntentScopePurposePattern
|
||||||
|
imports:
|
||||||
|
- model/governance
|
||||||
|
- model/task
|
||||||
|
relationships:
|
||||||
|
- type: implements
|
||||||
|
target: model/purpose-demand-extension
|
||||||
|
- type: uses
|
||||||
|
target: model/governance
|
||||||
|
- type: uses
|
||||||
|
target: model/task
|
||||||
|
warnings: []
|
||||||
- id: profile/small-saas
|
- id: profile/small-saas
|
||||||
kind: profile
|
kind: profile
|
||||||
title: Small SaaS System Profile
|
title: Small SaaS System Profile
|
||||||
@@ -665,9 +774,11 @@ common_distinctions:
|
|||||||
- model/observability
|
- model/observability
|
||||||
- id: intent-scope-purpose
|
- id: intent-scope-purpose
|
||||||
title: Intent vs Scope vs Purpose
|
title: Intent vs Scope vs Purpose
|
||||||
summary: Intent captures why an actor wants something, scope bounds what is included,
|
summary: Intent captures why a producer or consumer exists, scope bounds producer
|
||||||
and purpose captures consumer demand or use case pressure on the repo.
|
ownership and promises, and purpose captures consumer demand anchored in consumer
|
||||||
|
intent.
|
||||||
source_artifacts:
|
source_artifacts:
|
||||||
- kernel/itc-core
|
- kernel/itc-core
|
||||||
- model/governance
|
- model/purpose-demand-extension
|
||||||
|
- pattern/intent-scope-purposes
|
||||||
- profile/small-saas
|
- profile/small-saas
|
||||||
|
|||||||
@@ -7,7 +7,11 @@ consumer:
|
|||||||
owner: ''
|
owner: ''
|
||||||
intent: ''
|
intent: ''
|
||||||
scope: ''
|
scope: ''
|
||||||
purposes: []
|
purposes:
|
||||||
|
- id: ''
|
||||||
|
use_case: ''
|
||||||
|
consumer_need: ''
|
||||||
|
demand_signals: []
|
||||||
canon_surfaces:
|
canon_surfaces:
|
||||||
implemented_profiles: []
|
implemented_profiles: []
|
||||||
consumed_artifacts: []
|
consumed_artifacts: []
|
||||||
@@ -19,6 +23,11 @@ validation_expectations:
|
|||||||
commands: []
|
commands: []
|
||||||
evidence_required: []
|
evidence_required: []
|
||||||
known_gaps: []
|
known_gaps: []
|
||||||
|
purpose_fit:
|
||||||
|
state: ''
|
||||||
|
matched_capabilities: []
|
||||||
|
scope_pressure: ''
|
||||||
|
recommended_disposition: ''
|
||||||
consumer_needs:
|
consumer_needs:
|
||||||
current: []
|
current: []
|
||||||
requested_extensions: []
|
requested_extensions: []
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ generated: true
|
|||||||
- Intent:
|
- Intent:
|
||||||
- Scope:
|
- Scope:
|
||||||
- Purposes:
|
- Purposes:
|
||||||
|
- Use cases:
|
||||||
|
- Demand signals:
|
||||||
|
|
||||||
## Canon Surfaces
|
## Canon Surfaces
|
||||||
|
|
||||||
@@ -26,3 +28,10 @@ generated: true
|
|||||||
- Commands:
|
- Commands:
|
||||||
- Evidence:
|
- Evidence:
|
||||||
- Known gaps:
|
- Known gaps:
|
||||||
|
|
||||||
|
## Purpose Fit
|
||||||
|
|
||||||
|
- State:
|
||||||
|
- Matched producer capabilities:
|
||||||
|
- Scope pressure:
|
||||||
|
- Requested evolution:
|
||||||
|
|||||||
@@ -89,6 +89,24 @@ artifacts:
|
|||||||
relationships:
|
relationships:
|
||||||
- type: conforms_to
|
- type: conforms_to
|
||||||
target: kernel/itc-core
|
target: kernel/itc-core
|
||||||
|
- id: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
kind: model-extension
|
||||||
|
title: InfoTechCanon Purpose And Demand Model Extension
|
||||||
|
provenance:
|
||||||
|
source_path: infospace/models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
placement_workplan: ITC-WP-0006
|
||||||
|
relationships:
|
||||||
|
- type: conforms_to
|
||||||
|
target: kernel/itc-core
|
||||||
|
- type: extends
|
||||||
|
target: model/governance
|
||||||
|
- type: uses
|
||||||
|
target: model/information-space
|
||||||
|
- type: uses
|
||||||
|
target: model/task
|
||||||
|
- type: introduces
|
||||||
|
target: concept-catalog/purpose-demand
|
||||||
- id: model/task
|
- id: model/task
|
||||||
path: models/task/InfoTechCanonTaskModel.md
|
path: models/task/InfoTechCanonTaskModel.md
|
||||||
kind: model
|
kind: model
|
||||||
@@ -259,6 +277,60 @@ artifacts:
|
|||||||
target: standard/tagging
|
target: standard/tagging
|
||||||
- type: requires
|
- type: requires
|
||||||
target: standard/caring
|
target: standard/caring
|
||||||
|
- id: concept-catalog/purpose-demand
|
||||||
|
path: concepts/purpose-demand.yaml
|
||||||
|
kind: concept-catalog
|
||||||
|
title: Purpose And Consumer Demand Concept Catalog
|
||||||
|
provenance:
|
||||||
|
source_path: infospace/concepts/purpose-demand.yaml
|
||||||
|
placement_workplan: ITC-WP-0006
|
||||||
|
relationships:
|
||||||
|
- type: conforms_to
|
||||||
|
target: kernel/itc-core
|
||||||
|
- type: uses
|
||||||
|
target: model/governance
|
||||||
|
- id: pattern/intent-scope-purposes
|
||||||
|
path: patterns/intent-scope-purposes.md
|
||||||
|
kind: pattern
|
||||||
|
title: Intent Scope Purposes Pattern
|
||||||
|
provenance:
|
||||||
|
source_path: infospace/patterns/intent-scope-purposes.md
|
||||||
|
placement_workplan: ITC-WP-0006
|
||||||
|
relationships:
|
||||||
|
- type: implements
|
||||||
|
target: model/purpose-demand-extension
|
||||||
|
- type: uses
|
||||||
|
target: model/governance
|
||||||
|
- type: uses
|
||||||
|
target: model/task
|
||||||
|
- id: mapping/purpose-demand-governance-candidates
|
||||||
|
path: mappings/purpose-demand-governance-candidates.yaml
|
||||||
|
kind: mapping
|
||||||
|
title: Purpose Demand Governance Extension Candidates
|
||||||
|
provenance:
|
||||||
|
source_path: infospace/mappings/purpose-demand-governance-candidates.yaml
|
||||||
|
placement_workplan: ITC-WP-0006
|
||||||
|
relationships:
|
||||||
|
- type: maps
|
||||||
|
target: model/purpose-demand-extension
|
||||||
|
- type: maps
|
||||||
|
target: model/governance
|
||||||
|
- type: uses
|
||||||
|
target: model/task
|
||||||
|
- id: example/consumer-purpose-portfolio
|
||||||
|
path: examples/consumer-purpose-portfolio.yaml
|
||||||
|
kind: example
|
||||||
|
title: Canon-Side Consumer Purpose Portfolio
|
||||||
|
provenance:
|
||||||
|
source_path: infospace/examples/consumer-purpose-portfolio.yaml
|
||||||
|
placement_workplan: ITC-WP-0006
|
||||||
|
relationships:
|
||||||
|
- type: illustrates
|
||||||
|
target: model/purpose-demand-extension
|
||||||
|
- type: illustrates
|
||||||
|
target: pattern/intent-scope-purposes
|
||||||
|
- type: uses
|
||||||
|
target: profile/small-saas
|
||||||
- id: small-saas/service/billing-portal
|
- id: small-saas/service/billing-portal
|
||||||
path: profiles/small-saas/artifacts/service.billing-portal.yaml
|
path: profiles/small-saas/artifacts/service.billing-portal.yaml
|
||||||
kind: profile-artifact
|
kind: profile-artifact
|
||||||
|
|||||||
67
infospace/concepts/purpose-demand.yaml
Normal file
67
infospace/concepts/purpose-demand.yaml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
id: concept-catalog/purpose-demand
|
||||||
|
title: Purpose And Consumer Demand Concept Catalog
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
status: candidate
|
||||||
|
version: "0.1"
|
||||||
|
concepts:
|
||||||
|
- id: purpose
|
||||||
|
title: Purpose
|
||||||
|
proposed_owner: kernel/itc-core
|
||||||
|
definition: Generic reason or use-value orientation for an actor, artifact, capability, or repo in a context.
|
||||||
|
- id: consumer-purpose
|
||||||
|
title: ConsumerPurpose
|
||||||
|
proposed_owner: model/information-space
|
||||||
|
definition: Declared purpose from a consumer of a producer repo, artifact, profile, service, or canon surface.
|
||||||
|
- id: use-case
|
||||||
|
title: UseCase
|
||||||
|
proposed_owner: model/information-space
|
||||||
|
definition: Bounded scenario in which a consumer applies a producer capability to satisfy a purpose.
|
||||||
|
- id: demand-signal
|
||||||
|
title: DemandSignal
|
||||||
|
proposed_owner: model/information-space
|
||||||
|
definition: Traceable observation indicating consumer need, use, friction, request, value, or preference.
|
||||||
|
- id: consumer-need
|
||||||
|
title: ConsumerNeed
|
||||||
|
proposed_owner: model/information-space
|
||||||
|
definition: Need expressed or inferred from a consumer purpose and demand signals.
|
||||||
|
- id: producer-capability
|
||||||
|
title: ProducerCapability
|
||||||
|
proposed_owner: model/governance
|
||||||
|
definition: Capability, profile, interface, artifact, or service the producer can intentionally provide or promise.
|
||||||
|
- id: purpose-fit
|
||||||
|
title: PurposeFit
|
||||||
|
proposed_owner: model/governance
|
||||||
|
definition: Evaluation of how well producer scope and capabilities satisfy a consumer purpose.
|
||||||
|
- id: scope-pressure
|
||||||
|
title: ScopePressure
|
||||||
|
proposed_owner: model/governance
|
||||||
|
definition: Pressure on producer scope caused by unmet, repeated, high-value, or strategically aligned consumer purposes.
|
||||||
|
- id: evolution-request
|
||||||
|
title: EvolutionRequest
|
||||||
|
proposed_owner: model/task
|
||||||
|
definition: Proposed change to producer artifacts, interfaces, profiles, standards, or scope created in response to purpose pressure.
|
||||||
|
relationships:
|
||||||
|
- source: ConsumerPurpose
|
||||||
|
type: anchored_in
|
||||||
|
target: ConsumerIntent
|
||||||
|
- source: ConsumerPurpose
|
||||||
|
type: expresses
|
||||||
|
target: UseCase
|
||||||
|
- source: UseCase
|
||||||
|
type: creates
|
||||||
|
target: DemandSignal
|
||||||
|
- source: DemandSignal
|
||||||
|
type: indicates
|
||||||
|
target: ConsumerNeed
|
||||||
|
- source: ProducerCapability
|
||||||
|
type: satisfies
|
||||||
|
target: ConsumerNeed
|
||||||
|
- source: PurposeFit
|
||||||
|
type: evaluates
|
||||||
|
target: ConsumerPurpose
|
||||||
|
- source: ScopePressure
|
||||||
|
type: arises_from
|
||||||
|
target: PurposeFit
|
||||||
|
- source: EvolutionRequest
|
||||||
|
type: responds_to
|
||||||
|
target: ScopePressure
|
||||||
67
infospace/examples/consumer-purpose-portfolio.yaml
Normal file
67
infospace/examples/consumer-purpose-portfolio.yaml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
id: example/consumer-purpose-portfolio
|
||||||
|
title: Canon-Side Consumer Purpose Portfolio
|
||||||
|
status: candidate
|
||||||
|
model: model/purpose-demand-extension
|
||||||
|
pattern: pattern/intent-scope-purposes
|
||||||
|
consumers:
|
||||||
|
- id: user-engine
|
||||||
|
title: User Engine Evaluation
|
||||||
|
consumer_intent: Evaluate user-management capabilities against the canon before integrating user management as a producer capability.
|
||||||
|
consumer_scope: User identity, account lifecycle, roles, access decisions, tenancy boundaries, and governance evidence.
|
||||||
|
purposes:
|
||||||
|
- id: user-engine/user-management-evaluation
|
||||||
|
use_case: Compare user-engine entities and access behavior with InfoTechCanon models and small-saas profile expectations.
|
||||||
|
consumer_need: Clear distinctions among Actor, Subject, Principal, Organization Role, AccessRole, policy, control, and evidence.
|
||||||
|
demand_signals:
|
||||||
|
- Needs conformance questions before integration starts.
|
||||||
|
- Needs source-linked concepts for user, role, tenant, access, and evidence records.
|
||||||
|
producer_capabilities_used:
|
||||||
|
- profile/small-saas
|
||||||
|
- model/organization
|
||||||
|
- model/access-control
|
||||||
|
- model/governance
|
||||||
|
- standard/caring
|
||||||
|
purpose_fit: fits_with_profile
|
||||||
|
scope_pressure: Add evaluation pack and conformance questions after PURPOSES vocabulary is accepted.
|
||||||
|
evolution_requests:
|
||||||
|
- Create canon-side user-management evaluation pack.
|
||||||
|
- id: railiance-fabric
|
||||||
|
title: Railiance Fabric Refactoring Support
|
||||||
|
consumer_intent: Refactor captured entities and edges so the fabric conforms to and informs the canon.
|
||||||
|
consumer_scope: Entity capture, edge semantics, provenance, visualization utility, and governance of extracted relationships.
|
||||||
|
purposes:
|
||||||
|
- id: railiance-fabric/entity-edge-cleanliness
|
||||||
|
use_case: Use canon concepts to classify fabric nodes and edges for cleaner visualization and better practical meaning.
|
||||||
|
consumer_need: Stable concept ownership, relationship semantics, and examples for entity and edge capture.
|
||||||
|
demand_signals:
|
||||||
|
- Needs cleaner capture of entities and edges for visualization.
|
||||||
|
- Needs relationship types that can be traced to canon models.
|
||||||
|
producer_capabilities_used:
|
||||||
|
- model/information-space
|
||||||
|
- model/governance
|
||||||
|
- model/task
|
||||||
|
- standard/tagging
|
||||||
|
purpose_fit: partial_fit
|
||||||
|
scope_pressure: Add mapping examples and relationship expectations for visualization-oriented captures.
|
||||||
|
evolution_requests:
|
||||||
|
- Create fabric entity and edge capture criteria.
|
||||||
|
- id: repo-scoping
|
||||||
|
title: Repo Scoping Comparison
|
||||||
|
consumer_intent: Compare repo-scoping concepts with the canon and identify extensions that maximize scoping utility.
|
||||||
|
consumer_scope: Repository intent, scope, domain, consumer demand, governance, and interface-card semantics.
|
||||||
|
purposes:
|
||||||
|
- id: repo-scoping/intent-scope-purposes-alignment
|
||||||
|
use_case: Use INTENT, SCOPE, and PURPOSES to improve repo scoping and feed canon extension candidates back to InfoTechCanon.
|
||||||
|
consumer_need: Explicit fit between repo intent, current scope, consumer purposes, and governance decisions.
|
||||||
|
demand_signals:
|
||||||
|
- Needs canon vocabulary for PURPOSES as consumer demand.
|
||||||
|
- Needs interface card fields that repo-scoping can produce or consume.
|
||||||
|
producer_capabilities_used:
|
||||||
|
- kernel/itc-core
|
||||||
|
- model/purpose-demand-extension
|
||||||
|
- pattern/intent-scope-purposes
|
||||||
|
- agent/templates/canon-interface-card.template.yaml
|
||||||
|
purpose_fit: gap
|
||||||
|
scope_pressure: Extend interface cards and governance vocabulary around PURPOSES.
|
||||||
|
evolution_requests:
|
||||||
|
- Compare repo-scoping with canon purpose and demand model.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
root: infospace
|
root: infospace
|
||||||
file_count: 91
|
file_count: 101
|
||||||
files:
|
files:
|
||||||
- path: README.md
|
- path: README.md
|
||||||
directory: .
|
directory: .
|
||||||
@@ -7,12 +7,21 @@ files:
|
|||||||
- path: agent/README.md
|
- path: agent/README.md
|
||||||
directory: agent
|
directory: agent
|
||||||
name: README.md
|
name: README.md
|
||||||
|
- path: agent/briefs/concept-catalog-purpose-demand.md
|
||||||
|
directory: agent/briefs
|
||||||
|
name: concept-catalog-purpose-demand.md
|
||||||
|
- path: agent/briefs/example-consumer-purpose-portfolio.md
|
||||||
|
directory: agent/briefs
|
||||||
|
name: example-consumer-purpose-portfolio.md
|
||||||
- path: agent/briefs/kernel-itc-core.md
|
- path: agent/briefs/kernel-itc-core.md
|
||||||
directory: agent/briefs
|
directory: agent/briefs
|
||||||
name: kernel-itc-core.md
|
name: kernel-itc-core.md
|
||||||
- path: agent/briefs/kernel-itc-kernel-map.md
|
- path: agent/briefs/kernel-itc-kernel-map.md
|
||||||
directory: agent/briefs
|
directory: agent/briefs
|
||||||
name: kernel-itc-kernel-map.md
|
name: kernel-itc-kernel-map.md
|
||||||
|
- path: agent/briefs/mapping-purpose-demand-governance-candidates.md
|
||||||
|
directory: agent/briefs
|
||||||
|
name: mapping-purpose-demand-governance-candidates.md
|
||||||
- path: agent/briefs/model-access-control.md
|
- path: agent/briefs/model-access-control.md
|
||||||
directory: agent/briefs
|
directory: agent/briefs
|
||||||
name: model-access-control.md
|
name: model-access-control.md
|
||||||
@@ -40,12 +49,18 @@ files:
|
|||||||
- path: agent/briefs/model-organization.md
|
- path: agent/briefs/model-organization.md
|
||||||
directory: agent/briefs
|
directory: agent/briefs
|
||||||
name: model-organization.md
|
name: model-organization.md
|
||||||
|
- path: agent/briefs/model-purpose-demand-extension.md
|
||||||
|
directory: agent/briefs
|
||||||
|
name: model-purpose-demand-extension.md
|
||||||
- path: agent/briefs/model-security.md
|
- path: agent/briefs/model-security.md
|
||||||
directory: agent/briefs
|
directory: agent/briefs
|
||||||
name: model-security.md
|
name: model-security.md
|
||||||
- path: agent/briefs/model-task.md
|
- path: agent/briefs/model-task.md
|
||||||
directory: agent/briefs
|
directory: agent/briefs
|
||||||
name: model-task.md
|
name: model-task.md
|
||||||
|
- path: agent/briefs/pattern-intent-scope-purposes.md
|
||||||
|
directory: agent/briefs
|
||||||
|
name: pattern-intent-scope-purposes.md
|
||||||
- path: agent/briefs/profile-small-saas.md
|
- path: agent/briefs/profile-small-saas.md
|
||||||
directory: agent/briefs
|
directory: agent/briefs
|
||||||
name: profile-small-saas.md
|
name: profile-small-saas.md
|
||||||
@@ -88,9 +103,15 @@ files:
|
|||||||
- path: assimilation/README.md
|
- path: assimilation/README.md
|
||||||
directory: assimilation
|
directory: assimilation
|
||||||
name: README.md
|
name: README.md
|
||||||
|
- path: concepts/purpose-demand.yaml
|
||||||
|
directory: concepts
|
||||||
|
name: purpose-demand.yaml
|
||||||
- path: examples/README.md
|
- path: examples/README.md
|
||||||
directory: examples
|
directory: examples
|
||||||
name: README.md
|
name: README.md
|
||||||
|
- path: examples/consumer-purpose-portfolio.yaml
|
||||||
|
directory: examples
|
||||||
|
name: consumer-purpose-portfolio.yaml
|
||||||
- path: examples/small-saas/README.md
|
- path: examples/small-saas/README.md
|
||||||
directory: examples/small-saas
|
directory: examples/small-saas
|
||||||
name: README.md
|
name: README.md
|
||||||
@@ -121,6 +142,9 @@ files:
|
|||||||
- path: mappings/README.md
|
- path: mappings/README.md
|
||||||
directory: mappings
|
directory: mappings
|
||||||
name: README.md
|
name: README.md
|
||||||
|
- path: mappings/purpose-demand-governance-candidates.yaml
|
||||||
|
directory: mappings
|
||||||
|
name: purpose-demand-governance-candidates.yaml
|
||||||
- path: models/access-control/InfoTechCanonAccessControlModel.md
|
- path: models/access-control/InfoTechCanonAccessControlModel.md
|
||||||
directory: models/access-control
|
directory: models/access-control
|
||||||
name: InfoTechCanonAccessControlModel.md
|
name: InfoTechCanonAccessControlModel.md
|
||||||
@@ -133,6 +157,9 @@ files:
|
|||||||
- path: models/governance/InfoTechCanonGovernanceModel.md
|
- path: models/governance/InfoTechCanonGovernanceModel.md
|
||||||
directory: models/governance
|
directory: models/governance
|
||||||
name: InfoTechCanonGovernanceModel.md
|
name: InfoTechCanonGovernanceModel.md
|
||||||
|
- path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
directory: models/governance
|
||||||
|
name: InfoTechCanonPurposeDemandExtension.md
|
||||||
- path: models/information-space/InfoTechCanonInformationSpaceModel.md
|
- path: models/information-space/InfoTechCanonInformationSpaceModel.md
|
||||||
directory: models/information-space
|
directory: models/information-space
|
||||||
name: InfoTechCanonInformationSpaceModel.md
|
name: InfoTechCanonInformationSpaceModel.md
|
||||||
@@ -157,6 +184,9 @@ files:
|
|||||||
- path: patterns/README.md
|
- path: patterns/README.md
|
||||||
directory: patterns
|
directory: patterns
|
||||||
name: README.md
|
name: README.md
|
||||||
|
- path: patterns/intent-scope-purposes.md
|
||||||
|
directory: patterns
|
||||||
|
name: intent-scope-purposes.md
|
||||||
- path: profiles/README.md
|
- path: profiles/README.md
|
||||||
directory: profiles
|
directory: profiles
|
||||||
name: README.md
|
name: README.md
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
concept_count: 44
|
concept_count: 59
|
||||||
concepts:
|
concepts:
|
||||||
|
- concept: Purpose And Consumer Demand Concept Catalog
|
||||||
|
owner: concept-catalog/purpose-demand
|
||||||
|
path: concepts/purpose-demand.yaml
|
||||||
|
source: artifact_title
|
||||||
|
- concept: Canon-Side Consumer Purpose Portfolio
|
||||||
|
owner: example/consumer-purpose-portfolio
|
||||||
|
path: examples/consumer-purpose-portfolio.yaml
|
||||||
|
source: artifact_title
|
||||||
- concept: InfoTechCanon Core
|
- concept: InfoTechCanon Core
|
||||||
owner: kernel/itc-core
|
owner: kernel/itc-core
|
||||||
path: kernel/InfoTechCanonCore.md
|
path: kernel/InfoTechCanonCore.md
|
||||||
@@ -8,6 +16,10 @@ concepts:
|
|||||||
owner: kernel/itc-kernel-map
|
owner: kernel/itc-kernel-map
|
||||||
path: kernel/InfoTechCanonKernelMap.md
|
path: kernel/InfoTechCanonKernelMap.md
|
||||||
source: artifact_title
|
source: artifact_title
|
||||||
|
- concept: Purpose Demand Governance Extension Candidates
|
||||||
|
owner: mapping/purpose-demand-governance-candidates
|
||||||
|
path: mappings/purpose-demand-governance-candidates.yaml
|
||||||
|
source: artifact_title
|
||||||
- concept: InfoTechCanon Access Control Model
|
- concept: InfoTechCanon Access Control Model
|
||||||
owner: model/access-control
|
owner: model/access-control
|
||||||
path: models/access-control/InfoTechCanonAccessControlModel.md
|
path: models/access-control/InfoTechCanonAccessControlModel.md
|
||||||
@@ -44,6 +56,46 @@ concepts:
|
|||||||
owner: model/organization
|
owner: model/organization
|
||||||
path: models/organization/InfoTechCanonOrganizationModel.md
|
path: models/organization/InfoTechCanonOrganizationModel.md
|
||||||
source: artifact_title
|
source: artifact_title
|
||||||
|
- concept: InfoTechCanon Purpose And Demand Model Extension
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source: artifact_title
|
||||||
|
- concept: Purpose
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source: frontmatter.owned_concepts
|
||||||
|
- concept: ConsumerPurpose
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source: frontmatter.owned_concepts
|
||||||
|
- concept: UseCase
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source: frontmatter.owned_concepts
|
||||||
|
- concept: DemandSignal
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source: frontmatter.owned_concepts
|
||||||
|
- concept: ConsumerNeed
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source: frontmatter.owned_concepts
|
||||||
|
- concept: ProducerCapability
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source: frontmatter.owned_concepts
|
||||||
|
- concept: PurposeFit
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source: frontmatter.owned_concepts
|
||||||
|
- concept: ScopePressure
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source: frontmatter.owned_concepts
|
||||||
|
- concept: EvolutionRequest
|
||||||
|
owner: model/purpose-demand-extension
|
||||||
|
path: models/governance/InfoTechCanonPurposeDemandExtension.md
|
||||||
|
source: frontmatter.owned_concepts
|
||||||
- concept: InfoTechCanon Security Model
|
- concept: InfoTechCanon Security Model
|
||||||
owner: model/security
|
owner: model/security
|
||||||
path: models/security/InfoTechCanonSecurityModel.md
|
path: models/security/InfoTechCanonSecurityModel.md
|
||||||
@@ -52,6 +104,14 @@ concepts:
|
|||||||
owner: model/task
|
owner: model/task
|
||||||
path: models/task/InfoTechCanonTaskModel.md
|
path: models/task/InfoTechCanonTaskModel.md
|
||||||
source: artifact_title
|
source: artifact_title
|
||||||
|
- concept: Intent Scope Purposes Pattern
|
||||||
|
owner: pattern/intent-scope-purposes
|
||||||
|
path: patterns/intent-scope-purposes.md
|
||||||
|
source: artifact_title
|
||||||
|
- concept: IntentScopePurposePattern
|
||||||
|
owner: pattern/intent-scope-purposes
|
||||||
|
path: patterns/intent-scope-purposes.md
|
||||||
|
source: frontmatter.owned_concepts
|
||||||
- concept: Small SaaS System Profile
|
- concept: Small SaaS System Profile
|
||||||
owner: profile/small-saas
|
owner: profile/small-saas
|
||||||
path: profiles/small-saas/profile.yaml
|
path: profiles/small-saas/profile.yaml
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
artifacts:
|
artifacts:
|
||||||
|
- concept-catalog/purpose-demand
|
||||||
|
- example/consumer-purpose-portfolio
|
||||||
- kernel/itc-core
|
- kernel/itc-core
|
||||||
- kernel/itc-kernel-map
|
- kernel/itc-kernel-map
|
||||||
|
- mapping/purpose-demand-governance-candidates
|
||||||
- model/access-control
|
- model/access-control
|
||||||
- model/data
|
- model/data
|
||||||
- model/devsecops
|
- model/devsecops
|
||||||
@@ -10,8 +13,10 @@ artifacts:
|
|||||||
- model/network
|
- model/network
|
||||||
- model/observability
|
- model/observability
|
||||||
- model/organization
|
- model/organization
|
||||||
|
- model/purpose-demand-extension
|
||||||
- model/security
|
- model/security
|
||||||
- model/task
|
- model/task
|
||||||
|
- pattern/intent-scope-purposes
|
||||||
- profile/small-saas
|
- profile/small-saas
|
||||||
- small-saas/control/namespace-per-tenant
|
- small-saas/control/namespace-per-tenant
|
||||||
- small-saas/dataset/subscription-ledger
|
- small-saas/dataset/subscription-ledger
|
||||||
@@ -29,6 +34,20 @@ artifacts:
|
|||||||
- standard/caring
|
- standard/caring
|
||||||
- standard/tagging
|
- standard/tagging
|
||||||
rows:
|
rows:
|
||||||
|
- artifact: concept-catalog/purpose-demand
|
||||||
|
targets:
|
||||||
|
kernel/itc-core:
|
||||||
|
- conforms_to
|
||||||
|
model/governance:
|
||||||
|
- uses
|
||||||
|
- artifact: example/consumer-purpose-portfolio
|
||||||
|
targets:
|
||||||
|
model/purpose-demand-extension:
|
||||||
|
- illustrates
|
||||||
|
pattern/intent-scope-purposes:
|
||||||
|
- illustrates
|
||||||
|
profile/small-saas:
|
||||||
|
- uses
|
||||||
- artifact: kernel/itc-core
|
- artifact: kernel/itc-core
|
||||||
targets: {}
|
targets: {}
|
||||||
- artifact: kernel/itc-kernel-map
|
- artifact: kernel/itc-kernel-map
|
||||||
@@ -61,6 +80,14 @@ rows:
|
|||||||
- maps
|
- maps
|
||||||
standard/tagging:
|
standard/tagging:
|
||||||
- maps
|
- maps
|
||||||
|
- artifact: mapping/purpose-demand-governance-candidates
|
||||||
|
targets:
|
||||||
|
model/governance:
|
||||||
|
- maps
|
||||||
|
model/purpose-demand-extension:
|
||||||
|
- maps
|
||||||
|
model/task:
|
||||||
|
- uses
|
||||||
- artifact: model/access-control
|
- artifact: model/access-control
|
||||||
targets:
|
targets:
|
||||||
kernel/itc-core:
|
kernel/itc-core:
|
||||||
@@ -109,6 +136,18 @@ rows:
|
|||||||
targets:
|
targets:
|
||||||
kernel/itc-core:
|
kernel/itc-core:
|
||||||
- conforms_to
|
- conforms_to
|
||||||
|
- artifact: model/purpose-demand-extension
|
||||||
|
targets:
|
||||||
|
concept-catalog/purpose-demand:
|
||||||
|
- introduces
|
||||||
|
kernel/itc-core:
|
||||||
|
- conforms_to
|
||||||
|
model/governance:
|
||||||
|
- extends
|
||||||
|
model/information-space:
|
||||||
|
- uses
|
||||||
|
model/task:
|
||||||
|
- uses
|
||||||
- artifact: model/security
|
- artifact: model/security
|
||||||
targets:
|
targets:
|
||||||
kernel/itc-core:
|
kernel/itc-core:
|
||||||
@@ -119,6 +158,14 @@ rows:
|
|||||||
targets:
|
targets:
|
||||||
kernel/itc-core:
|
kernel/itc-core:
|
||||||
- conforms_to
|
- conforms_to
|
||||||
|
- artifact: pattern/intent-scope-purposes
|
||||||
|
targets:
|
||||||
|
model/governance:
|
||||||
|
- uses
|
||||||
|
model/purpose-demand-extension:
|
||||||
|
- implements
|
||||||
|
model/task:
|
||||||
|
- uses
|
||||||
- artifact: profile/small-saas
|
- artifact: profile/small-saas
|
||||||
targets:
|
targets:
|
||||||
kernel/itc-core:
|
kernel/itc-core:
|
||||||
|
|||||||
76
infospace/mappings/purpose-demand-governance-candidates.yaml
Normal file
76
infospace/mappings/purpose-demand-governance-candidates.yaml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
id: mapping/purpose-demand-governance-candidates
|
||||||
|
title: Purpose Demand Governance Extension Candidates
|
||||||
|
source: model/purpose-demand-extension
|
||||||
|
target: model/governance
|
||||||
|
mapping_type: model-extension-candidates
|
||||||
|
confidence: candidate
|
||||||
|
concept_mappings:
|
||||||
|
- concept: PurposeFit
|
||||||
|
governance_surface: Review
|
||||||
|
decision_need: Decide whether a consumer purpose fits current scope, needs mapping, creates a gap, conflicts, or is out of scope.
|
||||||
|
evidence_required:
|
||||||
|
- consumer purpose
|
||||||
|
- matched canon artifacts
|
||||||
|
- matched concepts
|
||||||
|
- gap or conflict statement
|
||||||
|
- concept: ScopePressure
|
||||||
|
governance_surface: Decision
|
||||||
|
decision_need: Decide whether demand pressure should extend scope, adapt a profile, create a mapping, add an interface field, defer, or reject.
|
||||||
|
evidence_required:
|
||||||
|
- purpose fit result
|
||||||
|
- demand signal strength
|
||||||
|
- producer intent alignment
|
||||||
|
- expected consumer value
|
||||||
|
- owner and review date
|
||||||
|
- concept: ProducerCapability
|
||||||
|
governance_surface: Policy
|
||||||
|
decision_need: Decide whether a capability is promised, experimental, deprecated, unsupported, or intentionally excluded.
|
||||||
|
evidence_required:
|
||||||
|
- scope statement
|
||||||
|
- capability owner
|
||||||
|
- supporting artifacts
|
||||||
|
- validation expectations
|
||||||
|
- concept: EvolutionRequest
|
||||||
|
governance_surface: ChangeControl
|
||||||
|
decision_need: Decide whether pressure becomes task work, profile change, interface change, mapping, standard candidate, or explicit rejection.
|
||||||
|
evidence_required:
|
||||||
|
- requested change
|
||||||
|
- affected artifacts
|
||||||
|
- intended consumer outcome
|
||||||
|
- decision authority
|
||||||
|
- acceptance criteria
|
||||||
|
decision_states:
|
||||||
|
purpose_triage:
|
||||||
|
- accepted_for_analysis
|
||||||
|
- needs_clarification
|
||||||
|
- out_of_scope
|
||||||
|
- duplicate
|
||||||
|
- parked
|
||||||
|
- rejected
|
||||||
|
purpose_fit:
|
||||||
|
- fits_current_scope
|
||||||
|
- fits_with_mapping
|
||||||
|
- fits_with_profile
|
||||||
|
- partial_fit
|
||||||
|
- gap
|
||||||
|
- conflict
|
||||||
|
- out_of_scope
|
||||||
|
- unknown
|
||||||
|
scope_pressure:
|
||||||
|
- extend_scope
|
||||||
|
- adapt_profile
|
||||||
|
- add_mapping
|
||||||
|
- add_interface_field
|
||||||
|
- add_standard_candidate
|
||||||
|
- create_task
|
||||||
|
- defer
|
||||||
|
- reject
|
||||||
|
task_bridge:
|
||||||
|
accepted_pressure_creates: EvolutionRequest
|
||||||
|
evolution_request_may_create:
|
||||||
|
- Task
|
||||||
|
- BacklogItem
|
||||||
|
- ReviewTask
|
||||||
|
- ChangeTask
|
||||||
|
- MappingTask
|
||||||
|
- ProfileChangeTask
|
||||||
@@ -0,0 +1,218 @@
|
|||||||
|
---
|
||||||
|
id: model/purpose-demand-extension
|
||||||
|
title: InfoTechCanon Purpose And Demand Model Extension
|
||||||
|
type: model-extension
|
||||||
|
status: candidate
|
||||||
|
version: "0.1"
|
||||||
|
extends:
|
||||||
|
- model/governance
|
||||||
|
uses:
|
||||||
|
- kernel/itc-core
|
||||||
|
- model/information-space
|
||||||
|
- model/task
|
||||||
|
owned_concepts:
|
||||||
|
- Purpose
|
||||||
|
- ConsumerPurpose
|
||||||
|
- UseCase
|
||||||
|
- DemandSignal
|
||||||
|
- ConsumerNeed
|
||||||
|
- ProducerCapability
|
||||||
|
- PurposeFit
|
||||||
|
- ScopePressure
|
||||||
|
- EvolutionRequest
|
||||||
|
---
|
||||||
|
|
||||||
|
# InfoTechCanon Purpose And Demand Model Extension
|
||||||
|
|
||||||
|
## 1. Purpose
|
||||||
|
|
||||||
|
This candidate extension defines the PURPOSES concept family for repos and
|
||||||
|
infospaces that need to learn what consumers use, need, want, and value from
|
||||||
|
the producer.
|
||||||
|
|
||||||
|
The extension keeps three ideas distinct:
|
||||||
|
|
||||||
|
```text
|
||||||
|
INTENT
|
||||||
|
Why a producer or consumer exists and what it is trying to become.
|
||||||
|
|
||||||
|
SCOPE
|
||||||
|
What the producer currently includes, excludes, owns, and promises.
|
||||||
|
|
||||||
|
PURPOSES
|
||||||
|
What consumers use, need, want, or value from the producer, anchored in the
|
||||||
|
consumers' own intent.
|
||||||
|
```
|
||||||
|
|
||||||
|
PURPOSES are not a replacement for producer intent or scope. They are a
|
||||||
|
consumer demand surface that can inform governance, profiles, interfaces, and
|
||||||
|
roadmap work.
|
||||||
|
|
||||||
|
## 2. Position in InfoTechCanon
|
||||||
|
|
||||||
|
Purpose and demand currently cross several existing model boundaries:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Core
|
||||||
|
Owns generic canon primitives such as Concept, Standard, Profile, Mapping,
|
||||||
|
Conformance, and canonical ownership.
|
||||||
|
|
||||||
|
Governance
|
||||||
|
Owns decisions, decision rights, evidence, acceptance, deferral, rejection,
|
||||||
|
change control, and the evaluation of scope pressure.
|
||||||
|
|
||||||
|
Information Space
|
||||||
|
Owns how consumer purposes, interface cards, briefs, mappings, evidence
|
||||||
|
references, and retrieval assets are captured and reused.
|
||||||
|
|
||||||
|
Task
|
||||||
|
Owns work items created from accepted evolution requests, including backlog,
|
||||||
|
readiness, commitment, progress, and completion evidence.
|
||||||
|
```
|
||||||
|
|
||||||
|
This extension is intentionally registered as a candidate model extension until
|
||||||
|
the concepts are exercised by the first consumer evaluations.
|
||||||
|
|
||||||
|
## 3. Concept Proposal
|
||||||
|
|
||||||
|
| Concept | Proposed permanent owner | Definition | Notes |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| Purpose | Core | A reason or use-value orientation that explains why an actor, artifact, capability, or repo matters in a context. | Generic enough to become a core concept, but introduced here as a candidate. |
|
||||||
|
| ConsumerPurpose | Information Space | A declared purpose from a consumer of a producer repo, artifact, profile, service, or canon surface. | Captured through interface cards, consumer briefs, mappings, and evidence references. |
|
||||||
|
| UseCase | Information Space | A bounded scenario in which a consumer applies a producer capability to satisfy a purpose. | Should remain distinct from Task; tasks implement changes, use cases describe demand. |
|
||||||
|
| DemandSignal | Information Space | A traceable observation that indicates consumer need, use, friction, request, value, or preference. | Examples include evaluation gaps, repeated questions, integration attempts, issues, and usage evidence. |
|
||||||
|
| ConsumerNeed | Information Space | A need expressed or inferred from a consumer purpose and one or more demand signals. | Needs may be current, anticipated, or exploratory. |
|
||||||
|
| ProducerCapability | Governance | A capability, profile, interface, artifact, or service the producer can intentionally provide or promise. | Governance decides whether it is promised, experimental, deprecated, or out of scope. |
|
||||||
|
| PurposeFit | Governance | An evaluation of how well producer scope and capabilities satisfy a consumer purpose. | Requires rationale and evidence because it can drive scope change. |
|
||||||
|
| ScopePressure | Governance | Pressure on producer scope caused by unmet, repeated, high-value, or strategically aligned consumer purposes. | Should not automatically expand scope; it triggers governance review. |
|
||||||
|
| EvolutionRequest | Task | A proposed change to producer artifacts, interfaces, profiles, standards, or scope created in response to purpose pressure. | Becomes Task work only after triage and commitment. |
|
||||||
|
|
||||||
|
## 4. Core Relationships
|
||||||
|
|
||||||
|
```text
|
||||||
|
ConsumerPurpose anchored_in ConsumerIntent
|
||||||
|
ConsumerPurpose expresses UseCase
|
||||||
|
UseCase creates DemandSignal
|
||||||
|
DemandSignal indicates ConsumerNeed
|
||||||
|
ProducerCapability satisfies ConsumerNeed
|
||||||
|
PurposeFit evaluates ConsumerPurpose against ProducerCapability and Scope
|
||||||
|
ScopePressure arises_from PurposeFit or DemandSignal
|
||||||
|
EvolutionRequest responds_to ScopePressure
|
||||||
|
Decision accepts / rejects / defers EvolutionRequest
|
||||||
|
Task implements accepted EvolutionRequest
|
||||||
|
Evidence supports PurposeFit and Decision
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. Governance Extension Candidates
|
||||||
|
|
||||||
|
Governance should gain three reviewable decision surfaces.
|
||||||
|
|
||||||
|
### 5.1 Consumer Purpose Triage
|
||||||
|
|
||||||
|
Purpose triage decides whether a declared consumer purpose is:
|
||||||
|
|
||||||
|
```text
|
||||||
|
accepted_for_analysis
|
||||||
|
needs_clarification
|
||||||
|
out_of_scope
|
||||||
|
duplicate
|
||||||
|
parked
|
||||||
|
rejected
|
||||||
|
```
|
||||||
|
|
||||||
|
Required evidence:
|
||||||
|
|
||||||
|
```text
|
||||||
|
consumer identity
|
||||||
|
consumer intent
|
||||||
|
declared purpose
|
||||||
|
use case
|
||||||
|
scope touched
|
||||||
|
source artifact or interface card
|
||||||
|
date captured
|
||||||
|
owner for follow-up
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5.2 Purpose Fit Review
|
||||||
|
|
||||||
|
Purpose fit review evaluates whether the canon currently satisfies the
|
||||||
|
consumer purpose.
|
||||||
|
|
||||||
|
Fit states:
|
||||||
|
|
||||||
|
```text
|
||||||
|
fits_current_scope
|
||||||
|
fits_with_mapping
|
||||||
|
fits_with_profile
|
||||||
|
partial_fit
|
||||||
|
gap
|
||||||
|
conflict
|
||||||
|
out_of_scope
|
||||||
|
unknown
|
||||||
|
```
|
||||||
|
|
||||||
|
Required evidence:
|
||||||
|
|
||||||
|
```text
|
||||||
|
matched canon artifacts
|
||||||
|
matched concepts
|
||||||
|
gaps or ambiguity
|
||||||
|
consumer impact
|
||||||
|
producer impact
|
||||||
|
recommended disposition
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5.3 Scope Pressure Decision
|
||||||
|
|
||||||
|
Scope pressure decision decides whether repeated or high-value purposes should
|
||||||
|
change the producer.
|
||||||
|
|
||||||
|
Outcomes:
|
||||||
|
|
||||||
|
```text
|
||||||
|
extend_scope
|
||||||
|
adapt_profile
|
||||||
|
add_mapping
|
||||||
|
add_interface_field
|
||||||
|
add_standard_candidate
|
||||||
|
create_task
|
||||||
|
defer
|
||||||
|
reject
|
||||||
|
```
|
||||||
|
|
||||||
|
Required evidence:
|
||||||
|
|
||||||
|
```text
|
||||||
|
purpose fit result
|
||||||
|
demand signal strength
|
||||||
|
alignment with producer intent
|
||||||
|
cost or complexity
|
||||||
|
affected owner
|
||||||
|
decision authority
|
||||||
|
review date
|
||||||
|
```
|
||||||
|
|
||||||
|
## 6. Boundaries
|
||||||
|
|
||||||
|
Purpose is not Policy. A purpose can inform policy, but policy remains a
|
||||||
|
governance directive.
|
||||||
|
|
||||||
|
Purpose is not Scope. Purpose can pressure scope, but scope remains the
|
||||||
|
producer's current boundary and promise.
|
||||||
|
|
||||||
|
Purpose is not Task. Purpose can create work, but task semantics begin when
|
||||||
|
work is captured, triaged, committed, assigned, and executed.
|
||||||
|
|
||||||
|
Purpose is not Capability. A consumer may need something the producer does not
|
||||||
|
yet provide, does not want to provide, or should explicitly reject.
|
||||||
|
|
||||||
|
## 7. First Consumer Evaluation Use
|
||||||
|
|
||||||
|
The first evaluations should use the purpose model to capture:
|
||||||
|
|
||||||
|
- what user-engine needs from the canon before user-management integration,
|
||||||
|
- what railiance-fabric needs for clean entity and edge capture,
|
||||||
|
- what repo-scoping needs from INTENT, SCOPE, PURPOSES, and interface cards.
|
||||||
|
|
||||||
|
Those evaluations should create consumer-side workplans in the consumer repos.
|
||||||
|
This repo owns the canon-side model, examples, and acceptance vocabulary.
|
||||||
118
infospace/patterns/intent-scope-purposes.md
Normal file
118
infospace/patterns/intent-scope-purposes.md
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
---
|
||||||
|
id: pattern/intent-scope-purposes
|
||||||
|
title: Intent Scope Purposes Pattern
|
||||||
|
type: pattern
|
||||||
|
status: candidate
|
||||||
|
version: "0.1"
|
||||||
|
uses:
|
||||||
|
- model/purpose-demand-extension
|
||||||
|
- model/governance
|
||||||
|
- model/task
|
||||||
|
owned_concepts:
|
||||||
|
- IntentScopePurposePattern
|
||||||
|
---
|
||||||
|
|
||||||
|
# Intent Scope Purposes Pattern
|
||||||
|
|
||||||
|
## Context
|
||||||
|
|
||||||
|
A producer repo or infospace has its own reason to exist and a current boundary
|
||||||
|
of ownership. Consumers arrive with their own intents and use cases. Without a
|
||||||
|
purpose layer, the producer either ignores consumer demand or silently expands
|
||||||
|
scope through accidental commitments.
|
||||||
|
|
||||||
|
## Problem
|
||||||
|
|
||||||
|
Intent, scope, and purpose are often collapsed:
|
||||||
|
|
||||||
|
```text
|
||||||
|
consumer asks for something
|
||||||
|
producer treats it as a requirement
|
||||||
|
scope expands without governance
|
||||||
|
tasks appear without a decision trail
|
||||||
|
```
|
||||||
|
|
||||||
|
This makes repos less clean over time and hides why interfaces or standards are
|
||||||
|
evolving.
|
||||||
|
|
||||||
|
## Solution
|
||||||
|
|
||||||
|
Keep the three planes explicit.
|
||||||
|
|
||||||
|
```text
|
||||||
|
ProducerIntent
|
||||||
|
explains why the producer exists.
|
||||||
|
|
||||||
|
ProducerScope
|
||||||
|
declares what the producer currently owns, excludes, and promises.
|
||||||
|
|
||||||
|
ConsumerPurpose
|
||||||
|
declares what a consumer wants to use, need, or value from the producer,
|
||||||
|
anchored in the consumer's own intent.
|
||||||
|
```
|
||||||
|
|
||||||
|
Then connect them through reviewable fit and change decisions.
|
||||||
|
|
||||||
|
```text
|
||||||
|
ConsumerIntent
|
||||||
|
-> ConsumerPurpose
|
||||||
|
-> UseCase
|
||||||
|
-> DemandSignal
|
||||||
|
-> PurposeFit
|
||||||
|
-> ScopePressure
|
||||||
|
-> EvolutionRequest
|
||||||
|
-> GovernanceDecision
|
||||||
|
-> Task / ProfileChange / InterfaceChange / Mapping
|
||||||
|
```
|
||||||
|
|
||||||
|
## Pattern Rules
|
||||||
|
|
||||||
|
1. A ConsumerPurpose MUST identify the consumer and the consumer intent it is
|
||||||
|
anchored in.
|
||||||
|
2. A ConsumerPurpose SHOULD identify one or more use cases and demand signals.
|
||||||
|
3. A PurposeFit MUST distinguish current fit, fit through mapping, partial fit,
|
||||||
|
gap, conflict, and out-of-scope demand.
|
||||||
|
4. ScopePressure MUST NOT change producer scope by itself.
|
||||||
|
5. An EvolutionRequest SHOULD identify whether it proposes a task, mapping,
|
||||||
|
profile change, interface change, standard candidate, or explicit rejection.
|
||||||
|
6. Governance decisions SHOULD carry rationale and evidence.
|
||||||
|
|
||||||
|
## Resulting Moves
|
||||||
|
|
||||||
|
The pattern supports four clean moves:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Learn
|
||||||
|
Capture consumer purpose and demand signals.
|
||||||
|
|
||||||
|
Evaluate
|
||||||
|
Compare purpose with producer scope and capabilities.
|
||||||
|
|
||||||
|
Govern
|
||||||
|
Accept, reject, defer, map, or convert pressure into an evolution request.
|
||||||
|
|
||||||
|
Implement
|
||||||
|
Create task work, profile changes, interface changes, mappings, or standards
|
||||||
|
only after the governance decision is explicit.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Practical Interface
|
||||||
|
|
||||||
|
Consumer-facing interface cards should carry:
|
||||||
|
|
||||||
|
```text
|
||||||
|
consumer intent
|
||||||
|
consumer scope
|
||||||
|
consumer purposes
|
||||||
|
use cases
|
||||||
|
demand signals
|
||||||
|
needed concepts
|
||||||
|
producer capabilities used
|
||||||
|
purpose fit result
|
||||||
|
scope pressure
|
||||||
|
requested extensions
|
||||||
|
evidence references
|
||||||
|
```
|
||||||
|
|
||||||
|
This gives the producer a memory of why consumers use it and what they ask it
|
||||||
|
to become.
|
||||||
@@ -1,30 +1,18 @@
|
|||||||
{
|
{
|
||||||
"details": {
|
"details": {
|
||||||
"artifact_count": 29,
|
"artifact_count": 34,
|
||||||
"relationship_count": 113
|
"relationship_count": 129
|
||||||
},
|
},
|
||||||
"errors": [],
|
"errors": [],
|
||||||
"metrics": {
|
"metrics": {
|
||||||
"coherence_components": 1.0,
|
"coherence_components": 1.0,
|
||||||
"consistency_cycles": 0.0,
|
"consistency_cycles": 0.0,
|
||||||
"coverage_ratio": 1.0,
|
"coverage_ratio": 1.0,
|
||||||
"granularity_entropy": 1.7490339557881076,
|
"granularity_entropy": 2.4357138959313844,
|
||||||
"redundancy_ratio": 0.0
|
"redundancy_ratio": 0.0
|
||||||
},
|
},
|
||||||
"ok": true,
|
"ok": true,
|
||||||
"warnings": [
|
"warnings": [
|
||||||
{
|
|
||||||
"code": "missing_optional_concepts_dir",
|
|
||||||
"path": "infospace/concepts"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"code": "empty_optional_collection",
|
|
||||||
"path": "infospace/patterns"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"code": "empty_optional_collection",
|
|
||||||
"path": "infospace/mappings"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"code": "empty_optional_collection",
|
"code": "empty_optional_collection",
|
||||||
"path": "infospace/assimilation"
|
"path": "infospace/assimilation"
|
||||||
|
|||||||
@@ -2,12 +2,15 @@
|
|||||||
|
|
||||||
# By Concept
|
# By Concept
|
||||||
|
|
||||||
Concept count: **44**
|
Concept count: **59**
|
||||||
|
|
||||||
| Concept | Owner | Source |
|
| Concept | Owner | Source |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|
| Purpose And Consumer Demand Concept Catalog | `concept-catalog/purpose-demand` | `artifact_title` |
|
||||||
|
| Canon-Side Consumer Purpose Portfolio | `example/consumer-purpose-portfolio` | `artifact_title` |
|
||||||
| InfoTechCanon Core | `kernel/itc-core` | `artifact_title` |
|
| InfoTechCanon Core | `kernel/itc-core` | `artifact_title` |
|
||||||
| InfoTechCanon Kernel Map | `kernel/itc-kernel-map` | `artifact_title` |
|
| InfoTechCanon Kernel Map | `kernel/itc-kernel-map` | `artifact_title` |
|
||||||
|
| Purpose Demand Governance Extension Candidates | `mapping/purpose-demand-governance-candidates` | `artifact_title` |
|
||||||
| InfoTechCanon Access Control Model | `model/access-control` | `artifact_title` |
|
| InfoTechCanon Access Control Model | `model/access-control` | `artifact_title` |
|
||||||
| InfoTechCanon Data Model | `model/data` | `artifact_title` |
|
| InfoTechCanon Data Model | `model/data` | `artifact_title` |
|
||||||
| InfoTechCanon DevSecOps Model | `model/devsecops` | `artifact_title` |
|
| InfoTechCanon DevSecOps Model | `model/devsecops` | `artifact_title` |
|
||||||
@@ -17,8 +20,20 @@ Concept count: **44**
|
|||||||
| InfoTechCanon Network Model | `model/network` | `artifact_title` |
|
| InfoTechCanon Network Model | `model/network` | `artifact_title` |
|
||||||
| InfoTechCanon Observability Model | `model/observability` | `artifact_title` |
|
| InfoTechCanon Observability Model | `model/observability` | `artifact_title` |
|
||||||
| InfoTechCanon Organization Model | `model/organization` | `artifact_title` |
|
| InfoTechCanon Organization Model | `model/organization` | `artifact_title` |
|
||||||
|
| InfoTechCanon Purpose And Demand Model Extension | `model/purpose-demand-extension` | `artifact_title` |
|
||||||
|
| Purpose | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |
|
||||||
|
| ConsumerPurpose | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |
|
||||||
|
| UseCase | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |
|
||||||
|
| DemandSignal | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |
|
||||||
|
| ConsumerNeed | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |
|
||||||
|
| ProducerCapability | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |
|
||||||
|
| PurposeFit | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |
|
||||||
|
| ScopePressure | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |
|
||||||
|
| EvolutionRequest | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |
|
||||||
| InfoTechCanon Security Model | `model/security` | `artifact_title` |
|
| InfoTechCanon Security Model | `model/security` | `artifact_title` |
|
||||||
| InfoTechCanon Task Model | `model/task` | `artifact_title` |
|
| InfoTechCanon Task Model | `model/task` | `artifact_title` |
|
||||||
|
| Intent Scope Purposes Pattern | `pattern/intent-scope-purposes` | `artifact_title` |
|
||||||
|
| IntentScopePurposePattern | `pattern/intent-scope-purposes` | `frontmatter.owned_concepts` |
|
||||||
| Small SaaS System Profile | `profile/small-saas` | `artifact_title` |
|
| Small SaaS System Profile | `profile/small-saas` | `artifact_title` |
|
||||||
| Namespace Per Tenant Control | `small-saas/control/namespace-per-tenant` | `artifact_title` |
|
| Namespace Per Tenant Control | `small-saas/control/namespace-per-tenant` | `artifact_title` |
|
||||||
| Subscription Ledger Dataset | `small-saas/dataset/subscription-ledger` | `artifact_title` |
|
| Subscription Ledger Dataset | `small-saas/dataset/subscription-ledger` | `artifact_title` |
|
||||||
|
|||||||
@@ -2,8 +2,13 @@
|
|||||||
|
|
||||||
# By Mapping Target
|
# By Mapping Target
|
||||||
|
|
||||||
|
## `concept-catalog/purpose-demand`
|
||||||
|
|
||||||
|
- `model/purpose-demand-extension` via `introduces`
|
||||||
|
|
||||||
## `kernel/itc-core`
|
## `kernel/itc-core`
|
||||||
|
|
||||||
|
- `concept-catalog/purpose-demand` via `conforms_to`
|
||||||
- `kernel/itc-kernel-map` via `maps`
|
- `kernel/itc-kernel-map` via `maps`
|
||||||
- `model/access-control` via `conforms_to`
|
- `model/access-control` via `conforms_to`
|
||||||
- `model/data` via `conforms_to`
|
- `model/data` via `conforms_to`
|
||||||
@@ -14,6 +19,7 @@
|
|||||||
- `model/network` via `conforms_to`
|
- `model/network` via `conforms_to`
|
||||||
- `model/observability` via `conforms_to`
|
- `model/observability` via `conforms_to`
|
||||||
- `model/organization` via `conforms_to`
|
- `model/organization` via `conforms_to`
|
||||||
|
- `model/purpose-demand-extension` via `conforms_to`
|
||||||
- `model/security` via `conforms_to`
|
- `model/security` via `conforms_to`
|
||||||
- `model/task` via `conforms_to`
|
- `model/task` via `conforms_to`
|
||||||
- `profile/small-saas` via `conforms_to`
|
- `profile/small-saas` via `conforms_to`
|
||||||
@@ -44,9 +50,13 @@
|
|||||||
|
|
||||||
## `model/governance`
|
## `model/governance`
|
||||||
|
|
||||||
|
- `concept-catalog/purpose-demand` via `uses`
|
||||||
- `kernel/itc-kernel-map` via `maps`
|
- `kernel/itc-kernel-map` via `maps`
|
||||||
|
- `mapping/purpose-demand-governance-candidates` via `maps`
|
||||||
- `model/access-control` via `uses`
|
- `model/access-control` via `uses`
|
||||||
- `model/data` via `uses`
|
- `model/data` via `uses`
|
||||||
|
- `model/purpose-demand-extension` via `extends`
|
||||||
|
- `pattern/intent-scope-purposes` via `uses`
|
||||||
- `profile/small-saas` via `requires`
|
- `profile/small-saas` via `requires`
|
||||||
- `small-saas/policy/tenant-isolation` via `uses`
|
- `small-saas/policy/tenant-isolation` via `uses`
|
||||||
- `standard/caring` via `imports`
|
- `standard/caring` via `imports`
|
||||||
@@ -54,6 +64,7 @@
|
|||||||
## `model/information-space`
|
## `model/information-space`
|
||||||
|
|
||||||
- `kernel/itc-kernel-map` via `maps`
|
- `kernel/itc-kernel-map` via `maps`
|
||||||
|
- `model/purpose-demand-extension` via `uses`
|
||||||
|
|
||||||
## `model/landscape`
|
## `model/landscape`
|
||||||
|
|
||||||
@@ -87,6 +98,12 @@
|
|||||||
- `small-saas/user/ada-admin` via `uses`
|
- `small-saas/user/ada-admin` via `uses`
|
||||||
- `standard/caring` via `imports`
|
- `standard/caring` via `imports`
|
||||||
|
|
||||||
|
## `model/purpose-demand-extension`
|
||||||
|
|
||||||
|
- `example/consumer-purpose-portfolio` via `illustrates`
|
||||||
|
- `mapping/purpose-demand-governance-candidates` via `maps`
|
||||||
|
- `pattern/intent-scope-purposes` via `implements`
|
||||||
|
|
||||||
## `model/security`
|
## `model/security`
|
||||||
|
|
||||||
- `kernel/itc-kernel-map` via `maps`
|
- `kernel/itc-kernel-map` via `maps`
|
||||||
@@ -100,14 +117,22 @@
|
|||||||
## `model/task`
|
## `model/task`
|
||||||
|
|
||||||
- `kernel/itc-kernel-map` via `maps`
|
- `kernel/itc-kernel-map` via `maps`
|
||||||
|
- `mapping/purpose-demand-governance-candidates` via `uses`
|
||||||
- `model/observability` via `uses`
|
- `model/observability` via `uses`
|
||||||
|
- `model/purpose-demand-extension` via `uses`
|
||||||
|
- `pattern/intent-scope-purposes` via `uses`
|
||||||
- `profile/small-saas` via `requires`
|
- `profile/small-saas` via `requires`
|
||||||
- `small-saas/task/onboard-tenant` via `uses`
|
- `small-saas/task/onboard-tenant` via `uses`
|
||||||
- `standard/caring` via `imports`
|
- `standard/caring` via `imports`
|
||||||
- `standard/tagging` via `imports`
|
- `standard/tagging` via `imports`
|
||||||
|
|
||||||
|
## `pattern/intent-scope-purposes`
|
||||||
|
|
||||||
|
- `example/consumer-purpose-portfolio` via `illustrates`
|
||||||
|
|
||||||
## `profile/small-saas`
|
## `profile/small-saas`
|
||||||
|
|
||||||
|
- `example/consumer-purpose-portfolio` via `uses`
|
||||||
- `small-saas/control/namespace-per-tenant` via `instantiates`
|
- `small-saas/control/namespace-per-tenant` via `instantiates`
|
||||||
- `small-saas/dataset/subscription-ledger` via `instantiates`
|
- `small-saas/dataset/subscription-ledger` via `instantiates`
|
||||||
- `small-saas/deployment/production` via `instantiates`
|
- `small-saas/deployment/production` via `instantiates`
|
||||||
|
|||||||
@@ -2,34 +2,39 @@
|
|||||||
|
|
||||||
# Import Matrix
|
# Import Matrix
|
||||||
|
|
||||||
| Artifact | `kernel/itc-core` | `kernel/itc-kernel-map` | `model/access-control` | `model/data` | `model/devsecops` | `model/governance` | `model/information-space` | `model/landscape` | `model/network` | `model/observability` | `model/organization` | `model/security` | `model/task` | `profile/small-saas` | `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/tagging` |
|
| Artifact | `concept-catalog/purpose-demand` | `example/consumer-purpose-portfolio` | `kernel/itc-core` | `kernel/itc-kernel-map` | `mapping/purpose-demand-governance-candidates` | `model/access-control` | `model/data` | `model/devsecops` | `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` | `profile/small-saas` | `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/tagging` |
|
||||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||||
| `kernel/itc-core` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| `concept-catalog/purpose-demand` | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
| `kernel/itc-kernel-map` | `maps` | | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | | | | | | | | | | | | | | | `maps` | `maps` |
|
| `example/consumer-purpose-portfolio` | | | | | | | | | | | | | | | `illustrates` | | | `illustrates` | `uses` | | | | | | | | | | | | | | | |
|
||||||
| `model/access-control` | `conforms_to` | | | | | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | | | |
|
| `kernel/itc-core` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
| `model/data` | `conforms_to` | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | |
|
| `kernel/itc-kernel-map` | | | `maps` | | | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | `maps` | `maps` |
|
||||||
| `model/devsecops` | `conforms_to` | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | |
|
| `mapping/purpose-demand-governance-candidates` | | | | | | | | | `maps` | | | | | | `maps` | | `uses` | | | | | | | | | | | | | | | | | |
|
||||||
| `model/governance` | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| `model/access-control` | | | `conforms_to` | | | | | | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | | | | | |
|
||||||
| `model/information-space` | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| `model/data` | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
| `model/landscape` | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| `model/devsecops` | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | |
|
||||||
| `model/network` | `conforms_to` | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | |
|
| `model/governance` | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
| `model/observability` | `conforms_to` | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | |
|
| `model/information-space` | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
| `model/organization` | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| `model/landscape` | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
| `model/security` | `conforms_to` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| `model/network` | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | |
|
||||||
| `model/task` | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| `model/observability` | | | `conforms_to` | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | |
|
||||||
| `profile/small-saas` | `conforms_to` | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | `requires` | `requires` | `requires` | `requires` | | | | | | | | | | | | | | | `requires` | `requires` |
|
| `model/organization` | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
| `small-saas/control/namespace-per-tenant` | | | | | | | | | | | | `uses` | | `instantiates` | | | | `evidenced_by` | | | | | | | | | | `uses` | |
|
| `model/purpose-demand-extension` | `introduces` | | `conforms_to` | | | | | | `extends` | `uses` | | | | | | | `uses` | | | | | | | | | | | | | | | | | |
|
||||||
| `small-saas/dataset/subscription-ledger` | | | | `uses` | | | | | | | | | | `instantiates` | | | | | | `governed_by` | `owned_by` | | | | `partitioned_for` | `partitioned_for` | | | |
|
| `model/security` | | | `conforms_to` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
| `small-saas/deployment/production` | | | | | `uses` | | | | `uses` | | | | | `instantiates` | `implements` | | | | | | `deploys` | | | | `separates` | `separates` | | | |
|
| `model/task` | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
| `small-saas/evidence/access-review-2026-05` | | | | | | | | | | `uses` | | | | `instantiates` | | | | | | | | | | | | | | | |
|
| `pattern/intent-scope-purposes` | | | | | | | | | `uses` | | | | | | `implements` | | `uses` | | | | | | | | | | | | | | | | | |
|
||||||
| `small-saas/incident/cross-tenant-access-attempt` | | | | | | | | | | | | `uses` | | `instantiates` | `constrained_by` | | | `evidenced_by` | | | | | | | | | | | |
|
| `profile/small-saas` | | | `conforms_to` | | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | | | | | | | | | | | | | | | | `requires` | `requires` |
|
||||||
| `small-saas/policy/tenant-isolation` | | | | | | `uses` | | | | | | | | `instantiates` | `requires` | | | `evidenced_by` | | | | | | | | | | | |
|
| `small-saas/control/namespace-per-tenant` | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | | | | `evidenced_by` | | | | | | | | | | `uses` | |
|
||||||
| `small-saas/service/billing-portal` | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | `part_of` | | `owned_by` | | | | | |
|
| `small-saas/dataset/subscription-ledger` | | | | | | | `uses` | | | | | | | | | | | | `instantiates` | | | | | | `governed_by` | `owned_by` | | | | `partitioned_for` | `partitioned_for` | | | |
|
||||||
| `small-saas/system/billing-system` | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | | | `serves` | `serves` | | | |
|
| `small-saas/deployment/production` | | | | | | | | `uses` | | | | `uses` | | | | | | | `instantiates` | `implements` | | | | | | `deploys` | | | | `separates` | `separates` | | | |
|
||||||
| `small-saas/task/onboard-tenant` | | | | | | | | | | | | | `uses` | `instantiates` | | | | | | `governed_by` | | | | `owned_by` | `changes` | | | | |
|
| `small-saas/evidence/access-review-2026-05` | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | | | | | | | |
|
||||||
| `small-saas/team/platform` | | | | | | | | | | | `uses` | | | `instantiates` | | | | | | | | | | | | | | | |
|
| `small-saas/incident/cross-tenant-access-attempt` | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | `constrained_by` | | | `evidenced_by` | | | | | | | | | | | |
|
||||||
| `small-saas/tenant/acme` | | | | | | | | | | | `uses` | | | `instantiates` | `isolated_by` | | | | | | | | | | | | `represented_by` | | |
|
| `small-saas/policy/tenant-isolation` | | | | | | | | | `uses` | | | | | | | | | | `instantiates` | `requires` | | | `evidenced_by` | | | | | | | | | | | |
|
||||||
| `small-saas/tenant/globex` | | | | | | | | | | | `uses` | | | `instantiates` | `isolated_by` | | | | | | | | | | | | | | |
|
| `small-saas/service/billing-portal` | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | `part_of` | | `owned_by` | | | | | |
|
||||||
| `small-saas/user/ada-admin` | | | `uses` | | | | | | | | `uses` | | | `instantiates` | | | | `access_evidenced_by` | | `has_access_under` | | | | `member_of` | | | | | |
|
| `small-saas/system/billing-system` | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | `serves` | `serves` | | | |
|
||||||
| `standard/caring` | `conforms_to` | | `imports` | `imports` | `imports` | `imports` | | | `imports` | `imports` | `imports` | `imports` | `imports` | | | | | | | | | | | | | | | | `imports` |
|
| `small-saas/task/onboard-tenant` | | | | | | | | | | | | | | | | | `uses` | | `instantiates` | | | | | | `governed_by` | | | | `owned_by` | `changes` | | | | |
|
||||||
| `standard/tagging` | `conforms_to` | | | | | | | | | | | | `imports` | | | | | | | | | | | | | | | | |
|
| `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` | `imports` | | | `imports` | `imports` | `imports` | | `imports` | `imports` | | | | | | | | | | | | | | | | | `imports` |
|
||||||
|
| `standard/tagging` | | | `conforms_to` | | | | | | | | | | | | | | `imports` | | | | | | | | | | | | | | | | | |
|
||||||
|
|||||||
@@ -3,12 +3,17 @@
|
|||||||
# Kernel Overview
|
# Kernel Overview
|
||||||
|
|
||||||
- Infospace: `canon`
|
- Infospace: `canon`
|
||||||
- Artifacts: 29
|
- Artifacts: 34
|
||||||
|
|
||||||
## Artifact Kinds
|
## Artifact Kinds
|
||||||
|
|
||||||
|
- `concept-catalog`: 1
|
||||||
|
- `example`: 1
|
||||||
- `kernel`: 2
|
- `kernel`: 2
|
||||||
|
- `mapping`: 1
|
||||||
- `model`: 11
|
- `model`: 11
|
||||||
|
- `model-extension`: 1
|
||||||
|
- `pattern`: 1
|
||||||
- `profile`: 1
|
- `profile`: 1
|
||||||
- `profile-artifact`: 13
|
- `profile-artifact`: 13
|
||||||
- `standard`: 2
|
- `standard`: 2
|
||||||
@@ -17,17 +22,20 @@
|
|||||||
|
|
||||||
- `access_evidenced_by`: 1
|
- `access_evidenced_by`: 1
|
||||||
- `changes`: 1
|
- `changes`: 1
|
||||||
- `conforms_to`: 14
|
- `conforms_to`: 16
|
||||||
- `constrained_by`: 1
|
- `constrained_by`: 1
|
||||||
- `deploys`: 1
|
- `deploys`: 1
|
||||||
- `evidenced_by`: 3
|
- `evidenced_by`: 3
|
||||||
|
- `extends`: 1
|
||||||
- `governed_by`: 2
|
- `governed_by`: 2
|
||||||
- `has_access_under`: 1
|
- `has_access_under`: 1
|
||||||
- `implements`: 1
|
- `illustrates`: 2
|
||||||
|
- `implements`: 2
|
||||||
- `imports`: 11
|
- `imports`: 11
|
||||||
- `instantiates`: 13
|
- `instantiates`: 13
|
||||||
|
- `introduces`: 1
|
||||||
- `isolated_by`: 2
|
- `isolated_by`: 2
|
||||||
- `maps`: 14
|
- `maps`: 16
|
||||||
- `member_of`: 1
|
- `member_of`: 1
|
||||||
- `owned_by`: 3
|
- `owned_by`: 3
|
||||||
- `part_of`: 1
|
- `part_of`: 1
|
||||||
@@ -36,4 +44,4 @@
|
|||||||
- `requires`: 13
|
- `requires`: 13
|
||||||
- `separates`: 2
|
- `separates`: 2
|
||||||
- `serves`: 2
|
- `serves`: 2
|
||||||
- `uses`: 23
|
- `uses`: 30
|
||||||
|
|||||||
@@ -2,12 +2,15 @@
|
|||||||
|
|
||||||
# Repository Tree
|
# Repository Tree
|
||||||
|
|
||||||
File count: **91**
|
File count: **101**
|
||||||
|
|
||||||
- `README.md`
|
- `README.md`
|
||||||
- `agent/README.md`
|
- `agent/README.md`
|
||||||
|
- `agent/briefs/concept-catalog-purpose-demand.md`
|
||||||
|
- `agent/briefs/example-consumer-purpose-portfolio.md`
|
||||||
- `agent/briefs/kernel-itc-core.md`
|
- `agent/briefs/kernel-itc-core.md`
|
||||||
- `agent/briefs/kernel-itc-kernel-map.md`
|
- `agent/briefs/kernel-itc-kernel-map.md`
|
||||||
|
- `agent/briefs/mapping-purpose-demand-governance-candidates.md`
|
||||||
- `agent/briefs/model-access-control.md`
|
- `agent/briefs/model-access-control.md`
|
||||||
- `agent/briefs/model-data.md`
|
- `agent/briefs/model-data.md`
|
||||||
- `agent/briefs/model-devsecops.md`
|
- `agent/briefs/model-devsecops.md`
|
||||||
@@ -17,8 +20,10 @@ File count: **91**
|
|||||||
- `agent/briefs/model-network.md`
|
- `agent/briefs/model-network.md`
|
||||||
- `agent/briefs/model-observability.md`
|
- `agent/briefs/model-observability.md`
|
||||||
- `agent/briefs/model-organization.md`
|
- `agent/briefs/model-organization.md`
|
||||||
|
- `agent/briefs/model-purpose-demand-extension.md`
|
||||||
- `agent/briefs/model-security.md`
|
- `agent/briefs/model-security.md`
|
||||||
- `agent/briefs/model-task.md`
|
- `agent/briefs/model-task.md`
|
||||||
|
- `agent/briefs/pattern-intent-scope-purposes.md`
|
||||||
- `agent/briefs/profile-small-saas.md`
|
- `agent/briefs/profile-small-saas.md`
|
||||||
- `agent/briefs/standard-caring.md`
|
- `agent/briefs/standard-caring.md`
|
||||||
- `agent/briefs/standard-tagging.md`
|
- `agent/briefs/standard-tagging.md`
|
||||||
@@ -33,7 +38,9 @@ File count: **91**
|
|||||||
- `agent/templates/consumer-brief.template.md`
|
- `agent/templates/consumer-brief.template.md`
|
||||||
- `artifacts/index.yaml`
|
- `artifacts/index.yaml`
|
||||||
- `assimilation/README.md`
|
- `assimilation/README.md`
|
||||||
|
- `concepts/purpose-demand.yaml`
|
||||||
- `examples/README.md`
|
- `examples/README.md`
|
||||||
|
- `examples/consumer-purpose-portfolio.yaml`
|
||||||
- `examples/small-saas/README.md`
|
- `examples/small-saas/README.md`
|
||||||
- `examples/small-saas/demo-commands.yaml`
|
- `examples/small-saas/demo-commands.yaml`
|
||||||
- `indexes/README.md`
|
- `indexes/README.md`
|
||||||
@@ -44,10 +51,12 @@ File count: **91**
|
|||||||
- `kernel/InfoTechCanonCore.md`
|
- `kernel/InfoTechCanonCore.md`
|
||||||
- `kernel/InfoTechCanonKernelMap.md`
|
- `kernel/InfoTechCanonKernelMap.md`
|
||||||
- `mappings/README.md`
|
- `mappings/README.md`
|
||||||
|
- `mappings/purpose-demand-governance-candidates.yaml`
|
||||||
- `models/access-control/InfoTechCanonAccessControlModel.md`
|
- `models/access-control/InfoTechCanonAccessControlModel.md`
|
||||||
- `models/data/InfoTechCanonDataModel.md`
|
- `models/data/InfoTechCanonDataModel.md`
|
||||||
- `models/devsecops/InfoTechCanonDevSecOpsModel.md`
|
- `models/devsecops/InfoTechCanonDevSecOpsModel.md`
|
||||||
- `models/governance/InfoTechCanonGovernanceModel.md`
|
- `models/governance/InfoTechCanonGovernanceModel.md`
|
||||||
|
- `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||||
- `models/information-space/InfoTechCanonInformationSpaceModel.md`
|
- `models/information-space/InfoTechCanonInformationSpaceModel.md`
|
||||||
- `models/landscape/InfoTechCanonLandscapeModel.md`
|
- `models/landscape/InfoTechCanonLandscapeModel.md`
|
||||||
- `models/network/InfoTechCanonNetworkModel.md`
|
- `models/network/InfoTechCanonNetworkModel.md`
|
||||||
@@ -56,6 +65,7 @@ File count: **91**
|
|||||||
- `models/security/InfoTechCanonSecurityModel.md`
|
- `models/security/InfoTechCanonSecurityModel.md`
|
||||||
- `models/task/InfoTechCanonTaskModel.md`
|
- `models/task/InfoTechCanonTaskModel.md`
|
||||||
- `patterns/README.md`
|
- `patterns/README.md`
|
||||||
|
- `patterns/intent-scope-purposes.md`
|
||||||
- `profiles/README.md`
|
- `profiles/README.md`
|
||||||
- `profiles/small-saas/artifacts/control.namespace-per-tenant.yaml`
|
- `profiles/small-saas/artifacts/control.namespace-per-tenant.yaml`
|
||||||
- `profiles/small-saas/artifacts/dataset.subscription-ledger.yaml`
|
- `profiles/small-saas/artifacts/dataset.subscription-ledger.yaml`
|
||||||
|
|||||||
@@ -9,7 +9,17 @@ import yaml
|
|||||||
|
|
||||||
|
|
||||||
GENERATED_NOTICE = "<!-- GENERATED by info_tech_canon; do not edit by hand. -->"
|
GENERATED_NOTICE = "<!-- GENERATED by info_tech_canon; do not edit by hand. -->"
|
||||||
RETRIEVAL_ARTIFACT_KINDS = {"kernel", "model", "standard", "profile"}
|
RETRIEVAL_ARTIFACT_KINDS = {
|
||||||
|
"concept-catalog",
|
||||||
|
"example",
|
||||||
|
"kernel",
|
||||||
|
"mapping",
|
||||||
|
"model",
|
||||||
|
"model-extension",
|
||||||
|
"pattern",
|
||||||
|
"profile",
|
||||||
|
"standard",
|
||||||
|
}
|
||||||
CONSUMER_BRIEF_IDS = ("user-engine", "railiance-fabric", "repo-scoping")
|
CONSUMER_BRIEF_IDS = ("user-engine", "railiance-fabric", "repo-scoping")
|
||||||
COMMON_DISTINCTIONS = [
|
COMMON_DISTINCTIONS = [
|
||||||
{
|
{
|
||||||
@@ -45,10 +55,11 @@ COMMON_DISTINCTIONS = [
|
|||||||
{
|
{
|
||||||
"id": "intent-scope-purpose",
|
"id": "intent-scope-purpose",
|
||||||
"title": "Intent vs Scope vs Purpose",
|
"title": "Intent vs Scope vs Purpose",
|
||||||
"summary": "Intent captures why an actor wants something, scope bounds what is included, and purpose captures consumer demand or use case pressure on the repo.",
|
"summary": "Intent captures why a producer or consumer exists, scope bounds producer ownership and promises, and purpose captures consumer demand anchored in consumer intent.",
|
||||||
"source_artifacts": [
|
"source_artifacts": [
|
||||||
"kernel/itc-core",
|
"kernel/itc-core",
|
||||||
"model/governance",
|
"model/purpose-demand-extension",
|
||||||
|
"pattern/intent-scope-purposes",
|
||||||
"profile/small-saas",
|
"profile/small-saas",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -634,7 +645,14 @@ def interface_card_template() -> dict[str, Any]:
|
|||||||
"owner": "",
|
"owner": "",
|
||||||
"intent": "",
|
"intent": "",
|
||||||
"scope": "",
|
"scope": "",
|
||||||
"purposes": [],
|
"purposes": [
|
||||||
|
{
|
||||||
|
"id": "",
|
||||||
|
"use_case": "",
|
||||||
|
"consumer_need": "",
|
||||||
|
"demand_signals": [],
|
||||||
|
}
|
||||||
|
],
|
||||||
},
|
},
|
||||||
"canon_surfaces": {
|
"canon_surfaces": {
|
||||||
"implemented_profiles": [],
|
"implemented_profiles": [],
|
||||||
@@ -649,6 +667,12 @@ def interface_card_template() -> dict[str, Any]:
|
|||||||
"evidence_required": [],
|
"evidence_required": [],
|
||||||
"known_gaps": [],
|
"known_gaps": [],
|
||||||
},
|
},
|
||||||
|
"purpose_fit": {
|
||||||
|
"state": "",
|
||||||
|
"matched_capabilities": [],
|
||||||
|
"scope_pressure": "",
|
||||||
|
"recommended_disposition": "",
|
||||||
|
},
|
||||||
"consumer_needs": {
|
"consumer_needs": {
|
||||||
"current": [],
|
"current": [],
|
||||||
"requested_extensions": [],
|
"requested_extensions": [],
|
||||||
@@ -674,6 +698,8 @@ def _render_consumer_brief_template() -> str:
|
|||||||
"- Intent:",
|
"- Intent:",
|
||||||
"- Scope:",
|
"- Scope:",
|
||||||
"- Purposes:",
|
"- Purposes:",
|
||||||
|
"- Use cases:",
|
||||||
|
"- Demand signals:",
|
||||||
"",
|
"",
|
||||||
"## Canon Surfaces",
|
"## Canon Surfaces",
|
||||||
"",
|
"",
|
||||||
@@ -687,6 +713,13 @@ def _render_consumer_brief_template() -> str:
|
|||||||
"- Commands:",
|
"- Commands:",
|
||||||
"- Evidence:",
|
"- Evidence:",
|
||||||
"- Known gaps:",
|
"- Known gaps:",
|
||||||
|
"",
|
||||||
|
"## Purpose Fit",
|
||||||
|
"",
|
||||||
|
"- State:",
|
||||||
|
"- Matched producer capabilities:",
|
||||||
|
"- Scope pressure:",
|
||||||
|
"- Requested evolution:",
|
||||||
]
|
]
|
||||||
return "\n".join(lines).rstrip() + "\n"
|
return "\n".join(lines).rstrip() + "\n"
|
||||||
|
|
||||||
@@ -721,6 +754,9 @@ def _render_consumer_brief(consumer_id: str) -> str:
|
|||||||
"",
|
"",
|
||||||
"- `agent/retrieval-index.md`",
|
"- `agent/retrieval-index.md`",
|
||||||
"- `agent/templates/canon-interface-card.template.yaml`",
|
"- `agent/templates/canon-interface-card.template.yaml`",
|
||||||
|
"- `models/governance/InfoTechCanonPurposeDemandExtension.md`",
|
||||||
|
"- `patterns/intent-scope-purposes.md`",
|
||||||
|
"- `examples/consumer-purpose-portfolio.yaml`",
|
||||||
"- `profiles/small-saas/profile.yaml`",
|
"- `profiles/small-saas/profile.yaml`",
|
||||||
"- `views/by-concept.md`",
|
"- `views/by-concept.md`",
|
||||||
"",
|
"",
|
||||||
@@ -788,6 +824,16 @@ def _safe_id(value: str) -> str:
|
|||||||
def _summary_for_artifact(artifact: Any) -> str:
|
def _summary_for_artifact(artifact: Any) -> str:
|
||||||
if artifact.kind == "profile-artifact":
|
if artifact.kind == "profile-artifact":
|
||||||
return f"Example artifact for the {artifact.provenance.get('profile', 'unknown')} profile: {artifact.title}."
|
return f"Example artifact for the {artifact.provenance.get('profile', 'unknown')} profile: {artifact.title}."
|
||||||
|
if artifact.kind == "concept-catalog":
|
||||||
|
return f"Structured candidate concept catalog: {artifact.title}."
|
||||||
|
if artifact.kind == "example":
|
||||||
|
return f"Canon-side example artifact: {artifact.title}."
|
||||||
|
if artifact.kind == "mapping":
|
||||||
|
return f"Mapping artifact connecting canon surfaces: {artifact.title}."
|
||||||
|
if artifact.kind == "model-extension":
|
||||||
|
return f"Candidate extension to an existing canon model: {artifact.title}."
|
||||||
|
if artifact.kind == "pattern":
|
||||||
|
return f"Reusable canon pattern: {artifact.title}."
|
||||||
if artifact.kind == "profile":
|
if artifact.kind == "profile":
|
||||||
return f"Profile that constrains canon artifacts for a practical implementation slice: {artifact.title}."
|
return f"Profile that constrains canon artifacts for a practical implementation slice: {artifact.title}."
|
||||||
if artifact.kind == "kernel":
|
if artifact.kind == "kernel":
|
||||||
|
|||||||
@@ -52,6 +52,44 @@ REQUIRED_SCHEMAS = (
|
|||||||
"workplan.schema.yaml",
|
"workplan.schema.yaml",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
RETRIEVAL_BRIEF_KINDS = {
|
||||||
|
"concept-catalog",
|
||||||
|
"example",
|
||||||
|
"kernel",
|
||||||
|
"mapping",
|
||||||
|
"model",
|
||||||
|
"model-extension",
|
||||||
|
"pattern",
|
||||||
|
"profile",
|
||||||
|
"standard",
|
||||||
|
}
|
||||||
|
|
||||||
|
PURPOSE_REQUIRED_ARTIFACT_IDS = {
|
||||||
|
"concept-catalog/purpose-demand",
|
||||||
|
"example/consumer-purpose-portfolio",
|
||||||
|
"mapping/purpose-demand-governance-candidates",
|
||||||
|
"model/purpose-demand-extension",
|
||||||
|
"pattern/intent-scope-purposes",
|
||||||
|
}
|
||||||
|
|
||||||
|
PURPOSE_REQUIRED_CONCEPTS = {
|
||||||
|
"Purpose",
|
||||||
|
"ConsumerPurpose",
|
||||||
|
"UseCase",
|
||||||
|
"DemandSignal",
|
||||||
|
"ConsumerNeed",
|
||||||
|
"ProducerCapability",
|
||||||
|
"PurposeFit",
|
||||||
|
"ScopePressure",
|
||||||
|
"EvolutionRequest",
|
||||||
|
}
|
||||||
|
|
||||||
|
PURPOSE_REQUIRED_CONSUMERS = {
|
||||||
|
"user-engine",
|
||||||
|
"railiance-fabric",
|
||||||
|
"repo-scoping",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def structural_checks(context: Any) -> dict[str, list[dict[str, Any]]]:
|
def structural_checks(context: Any) -> dict[str, list[dict[str, Any]]]:
|
||||||
errors: list[dict[str, Any]] = []
|
errors: list[dict[str, Any]] = []
|
||||||
@@ -63,6 +101,7 @@ def structural_checks(context: Any) -> dict[str, list[dict[str, Any]]]:
|
|||||||
_check_canon_paths(context.repo_root, context.infospace_root, errors)
|
_check_canon_paths(context.repo_root, context.infospace_root, errors)
|
||||||
_check_artifact_index(context.repo_root, context.infospace_root, errors)
|
_check_artifact_index(context.repo_root, context.infospace_root, errors)
|
||||||
_check_agent_assets(context.infospace_root, context.infospace.artifacts, errors)
|
_check_agent_assets(context.infospace_root, context.infospace.artifacts, errors)
|
||||||
|
_check_purpose_demand_assets(context.infospace_root, context.infospace.artifacts, errors)
|
||||||
_check_optional_assets(context.infospace_root, warnings)
|
_check_optional_assets(context.infospace_root, warnings)
|
||||||
|
|
||||||
return {"errors": errors, "warnings": warnings}
|
return {"errors": errors, "warnings": warnings}
|
||||||
@@ -370,7 +409,7 @@ def _check_agent_assets(
|
|||||||
required_brief_artifacts = [
|
required_brief_artifacts = [
|
||||||
artifact
|
artifact
|
||||||
for artifact in artifacts
|
for artifact in artifacts
|
||||||
if artifact.kind in {"kernel", "model", "standard", "profile"}
|
if artifact.kind in RETRIEVAL_BRIEF_KINDS
|
||||||
]
|
]
|
||||||
for artifact in required_brief_artifacts:
|
for artifact in required_brief_artifacts:
|
||||||
relative = Path("agent") / "briefs" / f"{_safe_id(artifact.id)}.md"
|
relative = Path("agent") / "briefs" / f"{_safe_id(artifact.id)}.md"
|
||||||
@@ -406,6 +445,83 @@ def _check_agent_assets(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _check_purpose_demand_assets(
|
||||||
|
infospace_root: Path,
|
||||||
|
artifacts: list[Any],
|
||||||
|
errors: list[dict[str, Any]],
|
||||||
|
) -> None:
|
||||||
|
artifact_ids = {artifact.id for artifact in artifacts}
|
||||||
|
for artifact_id in sorted(PURPOSE_REQUIRED_ARTIFACT_IDS - artifact_ids):
|
||||||
|
errors.append(
|
||||||
|
{
|
||||||
|
"code": "missing_purpose_demand_artifact",
|
||||||
|
"artifact_id": artifact_id,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
extension_path = (
|
||||||
|
infospace_root
|
||||||
|
/ "models"
|
||||||
|
/ "governance"
|
||||||
|
/ "InfoTechCanonPurposeDemandExtension.md"
|
||||||
|
)
|
||||||
|
frontmatter = _read_markdown_frontmatter(extension_path, errors)
|
||||||
|
owned_concepts = set(frontmatter.get("owned_concepts") or [])
|
||||||
|
for concept in sorted(PURPOSE_REQUIRED_CONCEPTS - owned_concepts):
|
||||||
|
errors.append(
|
||||||
|
{
|
||||||
|
"code": "missing_purpose_demand_owned_concept",
|
||||||
|
"concept": concept,
|
||||||
|
"path": str(extension_path),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
concept_catalog = _read_yaml(infospace_root / "concepts" / "purpose-demand.yaml", errors)
|
||||||
|
if isinstance(concept_catalog, dict):
|
||||||
|
concepts = concept_catalog.get("concepts") or []
|
||||||
|
catalog_titles = {
|
||||||
|
str(concept.get("title"))
|
||||||
|
for concept in concepts
|
||||||
|
if isinstance(concept, dict) and concept.get("title")
|
||||||
|
}
|
||||||
|
for concept in sorted(PURPOSE_REQUIRED_CONCEPTS - catalog_titles):
|
||||||
|
errors.append(
|
||||||
|
{
|
||||||
|
"code": "missing_purpose_demand_catalog_concept",
|
||||||
|
"concept": concept,
|
||||||
|
"path": "infospace/concepts/purpose-demand.yaml",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
examples = _read_yaml(infospace_root / "examples" / "consumer-purpose-portfolio.yaml", errors)
|
||||||
|
if isinstance(examples, dict):
|
||||||
|
consumers = examples.get("consumers") or []
|
||||||
|
consumer_ids = {
|
||||||
|
str(consumer.get("id"))
|
||||||
|
for consumer in consumers
|
||||||
|
if isinstance(consumer, dict) and consumer.get("id")
|
||||||
|
}
|
||||||
|
for consumer_id in sorted(PURPOSE_REQUIRED_CONSUMERS - consumer_ids):
|
||||||
|
errors.append(
|
||||||
|
{
|
||||||
|
"code": "missing_consumer_purpose_example",
|
||||||
|
"consumer": consumer_id,
|
||||||
|
"path": "infospace/examples/consumer-purpose-portfolio.yaml",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
for consumer in consumers:
|
||||||
|
if not isinstance(consumer, dict):
|
||||||
|
continue
|
||||||
|
if not consumer.get("purposes"):
|
||||||
|
errors.append(
|
||||||
|
{
|
||||||
|
"code": "consumer_purpose_example_without_purposes",
|
||||||
|
"consumer": consumer.get("id"),
|
||||||
|
"path": "infospace/examples/consumer-purpose-portfolio.yaml",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def _artifact_paths_by_path(
|
def _artifact_paths_by_path(
|
||||||
infospace_root: Path,
|
infospace_root: Path,
|
||||||
errors: list[dict[str, Any]],
|
errors: list[dict[str, Any]],
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ def test_cli_inspect_emits_json(capsys) -> None:
|
|||||||
assert exit_code == 0
|
assert exit_code == 0
|
||||||
payload = json.loads(capsys.readouterr().out)
|
payload = json.loads(capsys.readouterr().out)
|
||||||
assert payload["ok"] is True
|
assert payload["ok"] is True
|
||||||
assert payload["infospace"]["artifact_count"] == 29
|
assert payload["infospace"]["artifact_count"] == 34
|
||||||
|
|
||||||
|
|
||||||
def test_cli_missing_profile_uses_structured_error(capsys) -> None:
|
def test_cli_missing_profile_uses_structured_error(capsys) -> None:
|
||||||
|
|||||||
@@ -19,10 +19,15 @@ def test_inspect_canon_counts_artifact_kinds() -> None:
|
|||||||
|
|
||||||
assert payload["ok"] is True
|
assert payload["ok"] is True
|
||||||
assert payload["infospace"]["slug"] == "canon"
|
assert payload["infospace"]["slug"] == "canon"
|
||||||
assert payload["infospace"]["artifact_count"] == 29
|
assert payload["infospace"]["artifact_count"] == 34
|
||||||
assert payload["infospace"]["kinds"] == {
|
assert payload["infospace"]["kinds"] == {
|
||||||
|
"concept-catalog": 1,
|
||||||
|
"example": 1,
|
||||||
"kernel": 2,
|
"kernel": 2,
|
||||||
|
"mapping": 1,
|
||||||
"model": 11,
|
"model": 11,
|
||||||
|
"model-extension": 1,
|
||||||
|
"pattern": 1,
|
||||||
"profile": 1,
|
"profile": 1,
|
||||||
"profile-artifact": 13,
|
"profile-artifact": 13,
|
||||||
"standard": 2,
|
"standard": 2,
|
||||||
@@ -40,14 +45,14 @@ def test_validate_canon_passes_scaffold() -> None:
|
|||||||
assert payload["ok"] is True
|
assert payload["ok"] is True
|
||||||
assert payload["errors"] == []
|
assert payload["errors"] == []
|
||||||
assert "warnings" in payload
|
assert "warnings" in payload
|
||||||
assert payload["details"]["artifact_count"] == 29
|
assert payload["details"]["artifact_count"] == 34
|
||||||
|
|
||||||
|
|
||||||
def test_graph_exports_relationship_summary() -> None:
|
def test_graph_exports_relationship_summary() -> None:
|
||||||
payload = artifact_graph()
|
payload = artifact_graph()
|
||||||
|
|
||||||
assert payload["ok"] is True
|
assert payload["ok"] is True
|
||||||
assert payload["graph"]["node_count"] == 29
|
assert payload["graph"]["node_count"] == 34
|
||||||
assert payload["graph"]["edge_count"] > 15
|
assert payload["graph"]["edge_count"] > 15
|
||||||
|
|
||||||
|
|
||||||
@@ -87,6 +92,10 @@ def test_generators_write_expected_assets(tmp_path) -> None:
|
|||||||
assert (root / "agent" / "retrieval-index.yaml").is_file()
|
assert (root / "agent" / "retrieval-index.yaml").is_file()
|
||||||
assert (root / "agent" / "retrieval-index.json").is_file()
|
assert (root / "agent" / "retrieval-index.json").is_file()
|
||||||
assert (root / "agent" / "briefs" / "model-access-control.md").is_file()
|
assert (root / "agent" / "briefs" / "model-access-control.md").is_file()
|
||||||
|
assert (
|
||||||
|
root / "agent" / "briefs" / "model-purpose-demand-extension.md"
|
||||||
|
).is_file()
|
||||||
|
assert (root / "agent" / "briefs" / "pattern-intent-scope-purposes.md").is_file()
|
||||||
assert (
|
assert (
|
||||||
root / "agent" / "templates" / "canon-interface-card.template.yaml"
|
root / "agent" / "templates" / "canon-interface-card.template.yaml"
|
||||||
).is_file()
|
).is_file()
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ type: workplan
|
|||||||
title: "Purpose And Demand Model Extension"
|
title: "Purpose And Demand Model Extension"
|
||||||
domain: canon
|
domain: canon
|
||||||
repo: info-tech-canon
|
repo: info-tech-canon
|
||||||
status: proposed
|
status: finished
|
||||||
priority: high
|
priority: high
|
||||||
created: "2026-05-23"
|
created: "2026-05-23"
|
||||||
updated: "2026-05-23"
|
updated: "2026-05-23"
|
||||||
@@ -47,7 +47,7 @@ PURPOSES
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: ITC-WP-0006-T01
|
id: ITC-WP-0006-T01
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "654ce87f-2967-4998-8528-3ec6db31ff1c"
|
state_hub_task_id: "654ce87f-2967-4998-8528-3ec6db31ff1c"
|
||||||
```
|
```
|
||||||
@@ -68,7 +68,7 @@ state_hub_task_id: "654ce87f-2967-4998-8528-3ec6db31ff1c"
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: ITC-WP-0006-T02
|
id: ITC-WP-0006-T02
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "9fb752da-3daa-4f7b-96d4-3887673e68c2"
|
state_hub_task_id: "9fb752da-3daa-4f7b-96d4-3887673e68c2"
|
||||||
```
|
```
|
||||||
@@ -82,7 +82,7 @@ state_hub_task_id: "9fb752da-3daa-4f7b-96d4-3887673e68c2"
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: ITC-WP-0006-T03
|
id: ITC-WP-0006-T03
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "f2ec2951-fe90-48c6-acf2-35e0b7183513"
|
state_hub_task_id: "f2ec2951-fe90-48c6-acf2-35e0b7183513"
|
||||||
```
|
```
|
||||||
@@ -96,7 +96,7 @@ state_hub_task_id: "f2ec2951-fe90-48c6-acf2-35e0b7183513"
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: ITC-WP-0006-T04
|
id: ITC-WP-0006-T04
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "5cfd80ee-3b04-4389-862b-d7913e953076"
|
state_hub_task_id: "5cfd80ee-3b04-4389-862b-d7913e953076"
|
||||||
```
|
```
|
||||||
@@ -110,3 +110,14 @@ state_hub_task_id: "5cfd80ee-3b04-4389-862b-d7913e953076"
|
|||||||
- PURPOSES is defined enough to use in the first consumer evaluations.
|
- PURPOSES is defined enough to use in the first consumer evaluations.
|
||||||
- The relation between INTENT, SCOPE, and PURPOSES is explicit.
|
- The relation between INTENT, SCOPE, and PURPOSES is explicit.
|
||||||
- Governance model extension candidates are documented for review.
|
- Governance model extension candidates are documented for review.
|
||||||
|
|
||||||
|
## Implementation Notes
|
||||||
|
|
||||||
|
- Added a candidate Purpose and Demand model extension under Governance.
|
||||||
|
- Added a structured concept catalog for Purpose, ConsumerPurpose, UseCase,
|
||||||
|
DemandSignal, ConsumerNeed, ProducerCapability, PurposeFit, ScopePressure,
|
||||||
|
and EvolutionRequest.
|
||||||
|
- Added the INTENT/SCOPE/PURPOSES pattern and governance extension mapping.
|
||||||
|
- Added canon-side examples for user-engine, railiance-fabric, and repo-scoping.
|
||||||
|
- Extended validation and retrieval generation so the new PURPOSES assets are
|
||||||
|
indexed, briefed, and checked.
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ workplans:
|
|||||||
|
|
||||||
- id: ITC-WP-0006
|
- id: ITC-WP-0006
|
||||||
title: Purpose And Demand Model Extension
|
title: Purpose And Demand Model Extension
|
||||||
status: proposed
|
status: finished
|
||||||
priority: high
|
priority: high
|
||||||
path: workplans/ITC-WP-0006-purpose-and-demand-model.md
|
path: workplans/ITC-WP-0006-purpose-and-demand-model.md
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
Reference in New Issue
Block a user