generated from coulomb/repo-seed
Add user-engine evaluation readiness pack
This commit is contained in:
@@ -82,3 +82,10 @@ The PURPOSES candidate model is registered as a governance extension at
|
||||
consumer purposes, demand signals, purpose fit, scope pressure, and evolution
|
||||
requests so consumer demand can inform repo governance without silently changing
|
||||
producer scope.
|
||||
|
||||
## Evaluations
|
||||
|
||||
Canon-side evaluation packs live under `infospace/evaluations/`. The first pack
|
||||
is `user-engine`, which prepares pre-integration assessment of a user-management
|
||||
capability against Organization, Access Control, Governance, Data, Security,
|
||||
Task, PURPOSES, CARING, and the `small-saas` profile.
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
id: agent-brief/evaluation-user-engine-consumer-workplan-brief
|
||||
artifact_id: evaluation/user-engine/consumer-workplan-brief
|
||||
source_path: evaluations/user-engine/consumer-workplan-brief.md
|
||||
source_kind: consumer-workplan-brief
|
||||
generated: true
|
||||
---
|
||||
|
||||
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||
|
||||
# Agent Brief: User Engine Consumer Workplan Brief
|
||||
|
||||
- Artifact ID: `evaluation/user-engine/consumer-workplan-brief`
|
||||
- Kind: `consumer-workplan-brief`
|
||||
- Canonical path: `evaluations/user-engine/consumer-workplan-brief.md`
|
||||
- Full source: `evaluations/user-engine/consumer-workplan-brief.md`
|
||||
- Summary: Consumer repo workplan seed brief: User Engine Consumer Workplan Brief.
|
||||
|
||||
## Retrieval Hints
|
||||
|
||||
Imports and anchors:
|
||||
- `model/purpose-demand-extension`
|
||||
|
||||
## Owned Concepts
|
||||
|
||||
- `User Engine Consumer Workplan Brief`
|
||||
|
||||
## Related Distinctions
|
||||
|
||||
No common distinction is anchored directly on this artifact.
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
id: agent-brief/evaluation-user-engine-interface-card-expectations
|
||||
artifact_id: evaluation/user-engine/interface-card-expectations
|
||||
source_path: evaluations/user-engine/interface-card-expectations.yaml
|
||||
source_kind: interface-card-expectation
|
||||
generated: true
|
||||
---
|
||||
|
||||
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||
|
||||
# Agent Brief: User Engine Canon Interface Card Expectations
|
||||
|
||||
- Artifact ID: `evaluation/user-engine/interface-card-expectations`
|
||||
- Kind: `interface-card-expectation`
|
||||
- Canonical path: `evaluations/user-engine/interface-card-expectations.yaml`
|
||||
- Full source: `evaluations/user-engine/interface-card-expectations.yaml`
|
||||
- Summary: Expected Canon Interface Card fields and mappings: User Engine Canon Interface Card Expectations.
|
||||
|
||||
## Retrieval Hints
|
||||
|
||||
Imports and anchors:
|
||||
- `model/purpose-demand-extension`
|
||||
- `standard/caring`
|
||||
|
||||
## Owned Concepts
|
||||
|
||||
- `User Engine Canon Interface Card Expectations`
|
||||
|
||||
## Related Distinctions
|
||||
|
||||
No common distinction is anchored directly on this artifact.
|
||||
36
infospace/agent/briefs/evaluation-user-engine-questions.md
Normal file
36
infospace/agent/briefs/evaluation-user-engine-questions.md
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
id: agent-brief/evaluation-user-engine-questions
|
||||
artifact_id: evaluation/user-engine/questions
|
||||
source_path: evaluations/user-engine/questions.yaml
|
||||
source_kind: evaluation-question-set
|
||||
generated: true
|
||||
---
|
||||
|
||||
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||
|
||||
# Agent Brief: User Engine Canon Evaluation Questions
|
||||
|
||||
- Artifact ID: `evaluation/user-engine/questions`
|
||||
- Kind: `evaluation-question-set`
|
||||
- Canonical path: `evaluations/user-engine/questions.yaml`
|
||||
- Full source: `evaluations/user-engine/questions.yaml`
|
||||
- Summary: Structured canon evaluation question set: User Engine Canon Evaluation Questions.
|
||||
|
||||
## Retrieval Hints
|
||||
|
||||
Imports and anchors:
|
||||
- `model/access-control`
|
||||
- `model/data`
|
||||
- `model/governance`
|
||||
- `model/organization`
|
||||
- `model/purpose-demand-extension`
|
||||
- `model/security`
|
||||
- `model/task`
|
||||
|
||||
## Owned Concepts
|
||||
|
||||
- `User Engine Canon Evaluation Questions`
|
||||
|
||||
## Related Distinctions
|
||||
|
||||
No common distinction is anchored directly on this artifact.
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: agent-brief/evaluation-user-engine-small-saas-alignment
|
||||
artifact_id: evaluation/user-engine/small-saas-alignment
|
||||
source_path: evaluations/user-engine/small-saas-alignment.yaml
|
||||
source_kind: profile-alignment
|
||||
generated: true
|
||||
---
|
||||
|
||||
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||
|
||||
# Agent Brief: User Engine Small SaaS Alignment Lens
|
||||
|
||||
- Artifact ID: `evaluation/user-engine/small-saas-alignment`
|
||||
- Kind: `profile-alignment`
|
||||
- Canonical path: `evaluations/user-engine/small-saas-alignment.yaml`
|
||||
- Full source: `evaluations/user-engine/small-saas-alignment.yaml`
|
||||
- Summary: Profile-specific evaluation alignment artifact: User Engine Small SaaS Alignment Lens.
|
||||
|
||||
## Retrieval Hints
|
||||
|
||||
Imports and anchors:
|
||||
- `model/access-control`
|
||||
- `model/governance`
|
||||
- `model/organization`
|
||||
|
||||
## Owned Concepts
|
||||
|
||||
- `User Engine Small SaaS Alignment Lens`
|
||||
|
||||
## Related Distinctions
|
||||
|
||||
No common distinction is anchored directly on this artifact.
|
||||
37
infospace/agent/briefs/evaluation-user-engine.md
Normal file
37
infospace/agent/briefs/evaluation-user-engine.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: agent-brief/evaluation-user-engine
|
||||
artifact_id: evaluation/user-engine
|
||||
source_path: evaluations/user-engine/evaluation-pack.yaml
|
||||
source_kind: evaluation-pack
|
||||
generated: true
|
||||
---
|
||||
|
||||
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
|
||||
|
||||
# Agent Brief: User Engine Canon Evaluation Pack
|
||||
|
||||
- Artifact ID: `evaluation/user-engine`
|
||||
- Kind: `evaluation-pack`
|
||||
- Canonical path: `evaluations/user-engine/evaluation-pack.yaml`
|
||||
- Full source: `evaluations/user-engine/evaluation-pack.yaml`
|
||||
- Summary: Machine-readable canon-side evaluation pack: User Engine Canon Evaluation Pack.
|
||||
|
||||
## Retrieval Hints
|
||||
|
||||
Imports and anchors:
|
||||
- `model/access-control`
|
||||
- `model/data`
|
||||
- `model/governance`
|
||||
- `model/organization`
|
||||
- `model/purpose-demand-extension`
|
||||
- `model/security`
|
||||
- `model/task`
|
||||
- `standard/caring`
|
||||
|
||||
## Owned Concepts
|
||||
|
||||
- `User Engine Canon Evaluation Pack`
|
||||
|
||||
## Related Distinctions
|
||||
|
||||
No common distinction is anchored directly on this artifact.
|
||||
@@ -18,6 +18,7 @@ Use the canon to make captured entities and edges cleaner for conformance and vi
|
||||
- `agent/templates/canon-interface-card.template.yaml`
|
||||
- `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||
- `patterns/intent-scope-purposes.md`
|
||||
- `evaluations/user-engine/evaluation-pack.yaml`
|
||||
- `examples/consumer-purpose-portfolio.yaml`
|
||||
- `profiles/small-saas/profile.yaml`
|
||||
- `views/by-concept.md`
|
||||
|
||||
@@ -18,6 +18,7 @@ Compare repo-scoping concepts with canon INTENT, SCOPE, PURPOSES, and interface-
|
||||
- `agent/templates/canon-interface-card.template.yaml`
|
||||
- `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||
- `patterns/intent-scope-purposes.md`
|
||||
- `evaluations/user-engine/evaluation-pack.yaml`
|
||||
- `examples/consumer-purpose-portfolio.yaml`
|
||||
- `profiles/small-saas/profile.yaml`
|
||||
- `views/by-concept.md`
|
||||
|
||||
@@ -18,6 +18,7 @@ Evaluate user-management concepts, roles, access traces, profile claims, and gov
|
||||
- `agent/templates/canon-interface-card.template.yaml`
|
||||
- `models/governance/InfoTechCanonPurposeDemandExtension.md`
|
||||
- `patterns/intent-scope-purposes.md`
|
||||
- `evaluations/user-engine/evaluation-pack.yaml`
|
||||
- `examples/consumer-purpose-portfolio.yaml`
|
||||
- `profiles/small-saas/profile.yaml`
|
||||
- `views/by-concept.md`
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
This brief summarizes the current canon service surface for agents.
|
||||
|
||||
- Infospace slug: `canon`
|
||||
- Artifact count: 34
|
||||
- Retrieval index items: 34
|
||||
- Artifact count: 39
|
||||
- Retrieval index items: 39
|
||||
- Primary confidence command: `make validate`
|
||||
- Refresh generated indexes and views with: `make index`
|
||||
- Refresh agent briefs and interface templates with: `make agent-briefs`
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
}
|
||||
],
|
||||
"infospace": "canon",
|
||||
"item_count": 34,
|
||||
"item_count": 39,
|
||||
"items": [
|
||||
{
|
||||
"canonical_path": "concepts/purpose-demand.yaml",
|
||||
@@ -71,6 +71,215 @@
|
||||
"title": "Purpose And Consumer Demand Concept Catalog",
|
||||
"warnings": []
|
||||
},
|
||||
{
|
||||
"canonical_path": "evaluations/user-engine/evaluation-pack.yaml",
|
||||
"id": "evaluation/user-engine",
|
||||
"imports": [
|
||||
"model/access-control",
|
||||
"model/data",
|
||||
"model/governance",
|
||||
"model/organization",
|
||||
"model/purpose-demand-extension",
|
||||
"model/security",
|
||||
"model/task",
|
||||
"standard/caring"
|
||||
],
|
||||
"kind": "evaluation-pack",
|
||||
"owned_concepts": [
|
||||
"User Engine Canon Evaluation Pack"
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"target": "profile/small-saas",
|
||||
"type": "evaluates"
|
||||
},
|
||||
{
|
||||
"target": "model/organization",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/access-control",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/governance",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/data",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/security",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/task",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/purpose-demand-extension",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "standard/caring",
|
||||
"type": "uses"
|
||||
}
|
||||
],
|
||||
"source_path": "infospace/evaluations/user-engine/evaluation-pack.yaml",
|
||||
"summary": "Machine-readable canon-side evaluation pack: User Engine Canon Evaluation Pack.",
|
||||
"title": "User Engine Canon Evaluation Pack",
|
||||
"warnings": []
|
||||
},
|
||||
{
|
||||
"canonical_path": "evaluations/user-engine/consumer-workplan-brief.md",
|
||||
"id": "evaluation/user-engine/consumer-workplan-brief",
|
||||
"imports": [
|
||||
"model/purpose-demand-extension"
|
||||
],
|
||||
"kind": "consumer-workplan-brief",
|
||||
"owned_concepts": [
|
||||
"User Engine Consumer Workplan Brief"
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"target": "evaluation/user-engine",
|
||||
"type": "part_of"
|
||||
},
|
||||
{
|
||||
"target": "model/purpose-demand-extension",
|
||||
"type": "uses"
|
||||
}
|
||||
],
|
||||
"source_path": "infospace/evaluations/user-engine/consumer-workplan-brief.md",
|
||||
"summary": "Consumer repo workplan seed brief: User Engine Consumer Workplan Brief.",
|
||||
"title": "User Engine Consumer Workplan Brief",
|
||||
"warnings": []
|
||||
},
|
||||
{
|
||||
"canonical_path": "evaluations/user-engine/interface-card-expectations.yaml",
|
||||
"id": "evaluation/user-engine/interface-card-expectations",
|
||||
"imports": [
|
||||
"model/purpose-demand-extension",
|
||||
"standard/caring"
|
||||
],
|
||||
"kind": "interface-card-expectation",
|
||||
"owned_concepts": [
|
||||
"User Engine Canon Interface Card Expectations"
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"target": "evaluation/user-engine",
|
||||
"type": "part_of"
|
||||
},
|
||||
{
|
||||
"target": "model/purpose-demand-extension",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "standard/caring",
|
||||
"type": "uses"
|
||||
}
|
||||
],
|
||||
"source_path": "infospace/evaluations/user-engine/interface-card-expectations.yaml",
|
||||
"summary": "Expected Canon Interface Card fields and mappings: User Engine Canon Interface Card Expectations.",
|
||||
"title": "User Engine Canon Interface Card Expectations",
|
||||
"warnings": []
|
||||
},
|
||||
{
|
||||
"canonical_path": "evaluations/user-engine/questions.yaml",
|
||||
"id": "evaluation/user-engine/questions",
|
||||
"imports": [
|
||||
"model/access-control",
|
||||
"model/data",
|
||||
"model/governance",
|
||||
"model/organization",
|
||||
"model/purpose-demand-extension",
|
||||
"model/security",
|
||||
"model/task"
|
||||
],
|
||||
"kind": "evaluation-question-set",
|
||||
"owned_concepts": [
|
||||
"User Engine Canon Evaluation Questions"
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"target": "evaluation/user-engine",
|
||||
"type": "part_of"
|
||||
},
|
||||
{
|
||||
"target": "model/organization",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/access-control",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/governance",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/data",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/security",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/task",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/purpose-demand-extension",
|
||||
"type": "uses"
|
||||
}
|
||||
],
|
||||
"source_path": "infospace/evaluations/user-engine/questions.yaml",
|
||||
"summary": "Structured canon evaluation question set: User Engine Canon Evaluation Questions.",
|
||||
"title": "User Engine Canon Evaluation Questions",
|
||||
"warnings": []
|
||||
},
|
||||
{
|
||||
"canonical_path": "evaluations/user-engine/small-saas-alignment.yaml",
|
||||
"id": "evaluation/user-engine/small-saas-alignment",
|
||||
"imports": [
|
||||
"model/access-control",
|
||||
"model/governance",
|
||||
"model/organization"
|
||||
],
|
||||
"kind": "profile-alignment",
|
||||
"owned_concepts": [
|
||||
"User Engine Small SaaS Alignment Lens"
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"target": "evaluation/user-engine",
|
||||
"type": "part_of"
|
||||
},
|
||||
{
|
||||
"target": "profile/small-saas",
|
||||
"type": "evaluates"
|
||||
},
|
||||
{
|
||||
"target": "model/organization",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/access-control",
|
||||
"type": "uses"
|
||||
},
|
||||
{
|
||||
"target": "model/governance",
|
||||
"type": "uses"
|
||||
}
|
||||
],
|
||||
"source_path": "infospace/evaluations/user-engine/small-saas-alignment.yaml",
|
||||
"summary": "Profile-specific evaluation alignment artifact: User Engine Small SaaS Alignment Lens.",
|
||||
"title": "User Engine Small SaaS Alignment Lens",
|
||||
"warnings": []
|
||||
},
|
||||
{
|
||||
"canonical_path": "examples/consumer-purpose-portfolio.yaml",
|
||||
"id": "example/consumer-purpose-portfolio",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
Schema: `info-tech-canon.retrieval-index.v1`
|
||||
Infospace: `canon`
|
||||
Items: **34**
|
||||
Items: **39**
|
||||
|
||||
## Common Distinctions
|
||||
|
||||
@@ -25,6 +25,56 @@ Items: **34**
|
||||
- Imports and anchors: `kernel/itc-core`, `model/governance`
|
||||
- Owned concepts: `Purpose And Consumer Demand Concept Catalog`
|
||||
|
||||
### User Engine Canon Evaluation Pack
|
||||
|
||||
- ID: `evaluation/user-engine`
|
||||
- Kind: `evaluation-pack`
|
||||
- Canonical path: `evaluations/user-engine/evaluation-pack.yaml`
|
||||
- Source path: `infospace/evaluations/user-engine/evaluation-pack.yaml`
|
||||
- Summary: Machine-readable canon-side evaluation pack: User Engine Canon Evaluation Pack.
|
||||
- Imports and anchors: `model/access-control`, `model/data`, `model/governance`, `model/organization`, `model/purpose-demand-extension`, `model/security`, `model/task`, `standard/caring`
|
||||
- Owned concepts: `User Engine Canon Evaluation Pack`
|
||||
|
||||
### User Engine Consumer Workplan Brief
|
||||
|
||||
- ID: `evaluation/user-engine/consumer-workplan-brief`
|
||||
- Kind: `consumer-workplan-brief`
|
||||
- Canonical path: `evaluations/user-engine/consumer-workplan-brief.md`
|
||||
- Source path: `infospace/evaluations/user-engine/consumer-workplan-brief.md`
|
||||
- Summary: Consumer repo workplan seed brief: User Engine Consumer Workplan Brief.
|
||||
- Imports and anchors: `model/purpose-demand-extension`
|
||||
- Owned concepts: `User Engine Consumer Workplan Brief`
|
||||
|
||||
### User Engine Canon Interface Card Expectations
|
||||
|
||||
- ID: `evaluation/user-engine/interface-card-expectations`
|
||||
- Kind: `interface-card-expectation`
|
||||
- Canonical path: `evaluations/user-engine/interface-card-expectations.yaml`
|
||||
- Source path: `infospace/evaluations/user-engine/interface-card-expectations.yaml`
|
||||
- Summary: Expected Canon Interface Card fields and mappings: User Engine Canon Interface Card Expectations.
|
||||
- Imports and anchors: `model/purpose-demand-extension`, `standard/caring`
|
||||
- Owned concepts: `User Engine Canon Interface Card Expectations`
|
||||
|
||||
### User Engine Canon Evaluation Questions
|
||||
|
||||
- ID: `evaluation/user-engine/questions`
|
||||
- Kind: `evaluation-question-set`
|
||||
- Canonical path: `evaluations/user-engine/questions.yaml`
|
||||
- Source path: `infospace/evaluations/user-engine/questions.yaml`
|
||||
- Summary: Structured canon evaluation question set: User Engine Canon Evaluation Questions.
|
||||
- Imports and anchors: `model/access-control`, `model/data`, `model/governance`, `model/organization`, `model/purpose-demand-extension`, `model/security`, `model/task`
|
||||
- Owned concepts: `User Engine Canon Evaluation Questions`
|
||||
|
||||
### User Engine Small SaaS Alignment Lens
|
||||
|
||||
- ID: `evaluation/user-engine/small-saas-alignment`
|
||||
- Kind: `profile-alignment`
|
||||
- Canonical path: `evaluations/user-engine/small-saas-alignment.yaml`
|
||||
- Source path: `infospace/evaluations/user-engine/small-saas-alignment.yaml`
|
||||
- Summary: Profile-specific evaluation alignment artifact: User Engine Small SaaS Alignment Lens.
|
||||
- Imports and anchors: `model/access-control`, `model/governance`, `model/organization`
|
||||
- Owned concepts: `User Engine Small SaaS Alignment Lens`
|
||||
|
||||
### Canon-Side Consumer Purpose Portfolio
|
||||
|
||||
- ID: `example/consumer-purpose-portfolio`
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
schema: info-tech-canon.retrieval-index.v1
|
||||
infospace: canon
|
||||
item_count: 34
|
||||
item_count: 39
|
||||
items:
|
||||
- id: concept-catalog/purpose-demand
|
||||
kind: concept-catalog
|
||||
@@ -20,6 +20,140 @@ items:
|
||||
- type: uses
|
||||
target: model/governance
|
||||
warnings: []
|
||||
- id: evaluation/user-engine
|
||||
kind: evaluation-pack
|
||||
title: User Engine Canon Evaluation Pack
|
||||
canonical_path: evaluations/user-engine/evaluation-pack.yaml
|
||||
source_path: infospace/evaluations/user-engine/evaluation-pack.yaml
|
||||
summary: 'Machine-readable canon-side evaluation pack: User Engine Canon Evaluation
|
||||
Pack.'
|
||||
owned_concepts:
|
||||
- User Engine Canon Evaluation Pack
|
||||
imports:
|
||||
- model/access-control
|
||||
- model/data
|
||||
- model/governance
|
||||
- model/organization
|
||||
- model/purpose-demand-extension
|
||||
- model/security
|
||||
- model/task
|
||||
- standard/caring
|
||||
relationships:
|
||||
- type: evaluates
|
||||
target: profile/small-saas
|
||||
- type: uses
|
||||
target: model/organization
|
||||
- type: uses
|
||||
target: model/access-control
|
||||
- type: uses
|
||||
target: model/governance
|
||||
- type: uses
|
||||
target: model/data
|
||||
- type: uses
|
||||
target: model/security
|
||||
- type: uses
|
||||
target: model/task
|
||||
- type: uses
|
||||
target: model/purpose-demand-extension
|
||||
- type: uses
|
||||
target: standard/caring
|
||||
warnings: []
|
||||
- id: evaluation/user-engine/consumer-workplan-brief
|
||||
kind: consumer-workplan-brief
|
||||
title: User Engine Consumer Workplan Brief
|
||||
canonical_path: evaluations/user-engine/consumer-workplan-brief.md
|
||||
source_path: infospace/evaluations/user-engine/consumer-workplan-brief.md
|
||||
summary: 'Consumer repo workplan seed brief: User Engine Consumer Workplan Brief.'
|
||||
owned_concepts:
|
||||
- User Engine Consumer Workplan Brief
|
||||
imports:
|
||||
- model/purpose-demand-extension
|
||||
relationships:
|
||||
- type: part_of
|
||||
target: evaluation/user-engine
|
||||
- type: uses
|
||||
target: model/purpose-demand-extension
|
||||
warnings: []
|
||||
- id: evaluation/user-engine/interface-card-expectations
|
||||
kind: interface-card-expectation
|
||||
title: User Engine Canon Interface Card Expectations
|
||||
canonical_path: evaluations/user-engine/interface-card-expectations.yaml
|
||||
source_path: infospace/evaluations/user-engine/interface-card-expectations.yaml
|
||||
summary: 'Expected Canon Interface Card fields and mappings: User Engine Canon Interface
|
||||
Card Expectations.'
|
||||
owned_concepts:
|
||||
- User Engine Canon Interface Card Expectations
|
||||
imports:
|
||||
- model/purpose-demand-extension
|
||||
- standard/caring
|
||||
relationships:
|
||||
- type: part_of
|
||||
target: evaluation/user-engine
|
||||
- type: uses
|
||||
target: model/purpose-demand-extension
|
||||
- type: uses
|
||||
target: standard/caring
|
||||
warnings: []
|
||||
- id: evaluation/user-engine/questions
|
||||
kind: evaluation-question-set
|
||||
title: User Engine Canon Evaluation Questions
|
||||
canonical_path: evaluations/user-engine/questions.yaml
|
||||
source_path: infospace/evaluations/user-engine/questions.yaml
|
||||
summary: 'Structured canon evaluation question set: User Engine Canon Evaluation
|
||||
Questions.'
|
||||
owned_concepts:
|
||||
- User Engine Canon Evaluation Questions
|
||||
imports:
|
||||
- model/access-control
|
||||
- model/data
|
||||
- model/governance
|
||||
- model/organization
|
||||
- model/purpose-demand-extension
|
||||
- model/security
|
||||
- model/task
|
||||
relationships:
|
||||
- type: part_of
|
||||
target: evaluation/user-engine
|
||||
- type: uses
|
||||
target: model/organization
|
||||
- type: uses
|
||||
target: model/access-control
|
||||
- type: uses
|
||||
target: model/governance
|
||||
- type: uses
|
||||
target: model/data
|
||||
- type: uses
|
||||
target: model/security
|
||||
- type: uses
|
||||
target: model/task
|
||||
- type: uses
|
||||
target: model/purpose-demand-extension
|
||||
warnings: []
|
||||
- id: evaluation/user-engine/small-saas-alignment
|
||||
kind: profile-alignment
|
||||
title: User Engine Small SaaS Alignment Lens
|
||||
canonical_path: evaluations/user-engine/small-saas-alignment.yaml
|
||||
source_path: infospace/evaluations/user-engine/small-saas-alignment.yaml
|
||||
summary: 'Profile-specific evaluation alignment artifact: User Engine Small SaaS
|
||||
Alignment Lens.'
|
||||
owned_concepts:
|
||||
- User Engine Small SaaS Alignment Lens
|
||||
imports:
|
||||
- model/access-control
|
||||
- model/governance
|
||||
- model/organization
|
||||
relationships:
|
||||
- type: part_of
|
||||
target: evaluation/user-engine
|
||||
- type: evaluates
|
||||
target: profile/small-saas
|
||||
- type: uses
|
||||
target: model/organization
|
||||
- type: uses
|
||||
target: model/access-control
|
||||
- type: uses
|
||||
target: model/governance
|
||||
warnings: []
|
||||
- id: example/consumer-purpose-portfolio
|
||||
kind: example
|
||||
title: Canon-Side Consumer Purpose Portfolio
|
||||
|
||||
@@ -331,6 +331,100 @@ artifacts:
|
||||
target: pattern/intent-scope-purposes
|
||||
- type: uses
|
||||
target: profile/small-saas
|
||||
- id: evaluation/user-engine
|
||||
path: evaluations/user-engine/evaluation-pack.yaml
|
||||
kind: evaluation-pack
|
||||
title: User Engine Canon Evaluation Pack
|
||||
provenance:
|
||||
source_path: infospace/evaluations/user-engine/evaluation-pack.yaml
|
||||
placement_workplan: ITC-WP-0007
|
||||
relationships:
|
||||
- type: evaluates
|
||||
target: profile/small-saas
|
||||
- type: uses
|
||||
target: model/organization
|
||||
- type: uses
|
||||
target: model/access-control
|
||||
- type: uses
|
||||
target: model/governance
|
||||
- type: uses
|
||||
target: model/data
|
||||
- type: uses
|
||||
target: model/security
|
||||
- type: uses
|
||||
target: model/task
|
||||
- type: uses
|
||||
target: model/purpose-demand-extension
|
||||
- type: uses
|
||||
target: standard/caring
|
||||
- id: evaluation/user-engine/questions
|
||||
path: evaluations/user-engine/questions.yaml
|
||||
kind: evaluation-question-set
|
||||
title: User Engine Canon Evaluation Questions
|
||||
provenance:
|
||||
source_path: infospace/evaluations/user-engine/questions.yaml
|
||||
placement_workplan: ITC-WP-0007
|
||||
relationships:
|
||||
- type: part_of
|
||||
target: evaluation/user-engine
|
||||
- type: uses
|
||||
target: model/organization
|
||||
- type: uses
|
||||
target: model/access-control
|
||||
- type: uses
|
||||
target: model/governance
|
||||
- type: uses
|
||||
target: model/data
|
||||
- type: uses
|
||||
target: model/security
|
||||
- type: uses
|
||||
target: model/task
|
||||
- type: uses
|
||||
target: model/purpose-demand-extension
|
||||
- id: evaluation/user-engine/interface-card-expectations
|
||||
path: evaluations/user-engine/interface-card-expectations.yaml
|
||||
kind: interface-card-expectation
|
||||
title: User Engine Canon Interface Card Expectations
|
||||
provenance:
|
||||
source_path: infospace/evaluations/user-engine/interface-card-expectations.yaml
|
||||
placement_workplan: ITC-WP-0007
|
||||
relationships:
|
||||
- type: part_of
|
||||
target: evaluation/user-engine
|
||||
- type: uses
|
||||
target: model/purpose-demand-extension
|
||||
- type: uses
|
||||
target: standard/caring
|
||||
- id: evaluation/user-engine/small-saas-alignment
|
||||
path: evaluations/user-engine/small-saas-alignment.yaml
|
||||
kind: profile-alignment
|
||||
title: User Engine Small SaaS Alignment Lens
|
||||
provenance:
|
||||
source_path: infospace/evaluations/user-engine/small-saas-alignment.yaml
|
||||
placement_workplan: ITC-WP-0007
|
||||
relationships:
|
||||
- type: part_of
|
||||
target: evaluation/user-engine
|
||||
- type: evaluates
|
||||
target: profile/small-saas
|
||||
- type: uses
|
||||
target: model/organization
|
||||
- type: uses
|
||||
target: model/access-control
|
||||
- type: uses
|
||||
target: model/governance
|
||||
- id: evaluation/user-engine/consumer-workplan-brief
|
||||
path: evaluations/user-engine/consumer-workplan-brief.md
|
||||
kind: consumer-workplan-brief
|
||||
title: User Engine Consumer Workplan Brief
|
||||
provenance:
|
||||
source_path: infospace/evaluations/user-engine/consumer-workplan-brief.md
|
||||
placement_workplan: ITC-WP-0007
|
||||
relationships:
|
||||
- type: part_of
|
||||
target: evaluation/user-engine
|
||||
- type: uses
|
||||
target: model/purpose-demand-extension
|
||||
- id: small-saas/service/billing-portal
|
||||
path: profiles/small-saas/artifacts/service.billing-portal.yaml
|
||||
kind: profile-artifact
|
||||
|
||||
61
infospace/evaluations/user-engine/consumer-workplan-brief.md
Normal file
61
infospace/evaluations/user-engine/consumer-workplan-brief.md
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
id: evaluation/user-engine/consumer-workplan-brief
|
||||
title: User Engine Consumer Workplan Brief
|
||||
status: candidate
|
||||
consumer: user-engine
|
||||
evaluation_pack: evaluation/user-engine
|
||||
---
|
||||
|
||||
# User Engine Consumer Workplan Brief
|
||||
|
||||
## Purpose
|
||||
|
||||
Use this brief as the seed for a user-engine repo workplan. The adoption and
|
||||
implementation workplan belongs in the user-engine repository, not in
|
||||
InfoTechCanon.
|
||||
|
||||
## Goal
|
||||
|
||||
Evaluate user-engine against InfoTechCanon before integration as the
|
||||
user-management capability.
|
||||
|
||||
## Canon Inputs
|
||||
|
||||
- `infospace/evaluations/user-engine/evaluation-pack.yaml`
|
||||
- `infospace/evaluations/user-engine/questions.yaml`
|
||||
- `infospace/evaluations/user-engine/interface-card-expectations.yaml`
|
||||
- `infospace/evaluations/user-engine/small-saas-alignment.yaml`
|
||||
- `infospace/agent/templates/canon-interface-card.template.yaml`
|
||||
- `infospace/examples/consumer-purpose-portfolio.yaml`
|
||||
|
||||
## Workplan Tasks For User Engine
|
||||
|
||||
1. Complete a Canon Interface Card for user-engine.
|
||||
2. Export or describe entity mappings for user, account, actor, subject,
|
||||
principal, tenant, team, role, access role, policy, control, evidence, and
|
||||
lifecycle work.
|
||||
3. Export or describe edge mappings for membership, tenant scope,
|
||||
authentication, subject evaluation, role assignment, policy governance,
|
||||
control implementation, evidence, and task creation.
|
||||
4. Answer the canon evaluation question set by domain.
|
||||
5. Evaluate small-saas alignment using Ada Admin, Acme, Globex, tenant
|
||||
isolation policy, namespace-per-tenant control, and access review evidence.
|
||||
6. Record purpose fit, gaps, scope pressure, and requested evolution.
|
||||
|
||||
## Expected Outputs
|
||||
|
||||
- completed interface card,
|
||||
- answered question set,
|
||||
- entity and edge mapping export,
|
||||
- evidence bundle or explicit evidence gaps,
|
||||
- small-saas alignment notes,
|
||||
- list of user-engine changes,
|
||||
- list of canon evolution requests.
|
||||
|
||||
## Non-Goals
|
||||
|
||||
- Do not change InfoTechCanon from the user-engine workplan without a canon-side
|
||||
evolution request.
|
||||
- Do not treat this evaluation as integration approval.
|
||||
- Do not collapse implementation-specific names into canon concepts without a
|
||||
mapping and rationale.
|
||||
65
infospace/evaluations/user-engine/evaluation-pack.yaml
Normal file
65
infospace/evaluations/user-engine/evaluation-pack.yaml
Normal file
@@ -0,0 +1,65 @@
|
||||
id: evaluation/user-engine
|
||||
title: User Engine Canon Evaluation Pack
|
||||
status: candidate
|
||||
consumer: user-engine
|
||||
purpose: Evaluate user-engine against InfoTechCanon before integration as the user-management capability.
|
||||
created_by_workplan: ITC-WP-0007
|
||||
evaluation_mode: pre-integration
|
||||
canon_anchors:
|
||||
- model/organization
|
||||
- model/access-control
|
||||
- model/governance
|
||||
- model/data
|
||||
- model/security
|
||||
- model/task
|
||||
- model/purpose-demand-extension
|
||||
- profile/small-saas
|
||||
- standard/caring
|
||||
pack_components:
|
||||
questions: evaluations/user-engine/questions.yaml
|
||||
interface_card_expectations: evaluations/user-engine/interface-card-expectations.yaml
|
||||
small_saas_alignment: evaluations/user-engine/small-saas-alignment.yaml
|
||||
consumer_workplan_brief: evaluations/user-engine/consumer-workplan-brief.md
|
||||
evaluation_surfaces:
|
||||
- user identity and account lifecycle
|
||||
- actor, subject, and principal distinctions
|
||||
- organization roles and access roles
|
||||
- tenant, team, and membership boundaries
|
||||
- permission and entitlement traces
|
||||
- policy, control, evidence, and access review traces
|
||||
- data handled by user management
|
||||
- security controls around credentials, sessions, and privileged access
|
||||
- tasks created by onboarding, review, remediation, and deprovisioning
|
||||
- consumer purpose, demand signal, purpose fit, and scope pressure
|
||||
readiness_gates:
|
||||
- id: gate/user-management-core
|
||||
title: Core user-management concepts are mapped.
|
||||
required: true
|
||||
expects:
|
||||
- User, Account, Actor, Subject, Principal, Team, Tenant, Role, AccessRole, Policy, Control, Evidence.
|
||||
- id: gate/access-trace
|
||||
title: Access grants are traceable to scope, policy, control, and evidence.
|
||||
required: true
|
||||
expects:
|
||||
- Each privileged grant identifies role, subject or principal, resource scope, tenant boundary, governing policy, and evidence.
|
||||
- id: gate/governance-evidence
|
||||
title: Governance evidence exists before integration.
|
||||
required: true
|
||||
expects:
|
||||
- Access review, exception, approval, and remediation records are available or explicitly marked as gaps.
|
||||
- id: gate/purpose-fit
|
||||
title: Consumer purpose and producer fit are explicit.
|
||||
required: true
|
||||
expects:
|
||||
- user-engine declares intent, scope, purposes, demand signals, current fit, and requested evolution.
|
||||
output_expectations:
|
||||
- completed Canon Interface Card for user-engine
|
||||
- answered evaluation question set
|
||||
- entity and edge mapping export
|
||||
- small-saas alignment notes
|
||||
- evidence bundle or explicit evidence gaps
|
||||
- consumer-side workplan created in the user-engine repo
|
||||
non_goals:
|
||||
- Refactor user-engine in this repo.
|
||||
- Decide user-engine implementation details in this repo.
|
||||
- Treat evaluation success as automatic integration approval.
|
||||
@@ -0,0 +1,148 @@
|
||||
id: evaluation/user-engine/interface-card-expectations
|
||||
title: User Engine Canon Interface Card Expectations
|
||||
status: candidate
|
||||
consumer: user-engine
|
||||
evaluation_pack: evaluation/user-engine
|
||||
expected_consumer_fields:
|
||||
repo: user-engine
|
||||
domain: user-management
|
||||
intent: Evaluate and later integrate user-management capability against InfoTechCanon.
|
||||
scope:
|
||||
- user identity
|
||||
- accounts
|
||||
- tenants
|
||||
- teams
|
||||
- memberships
|
||||
- roles
|
||||
- access decisions
|
||||
- access reviews
|
||||
- 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 distinction among identities, actors, principals, subjects, roles, grants, policies, controls, evidence, and lifecycle work.
|
||||
demand_signals:
|
||||
- user-engine will be assessed before integration.
|
||||
- user-engine needs a canon-side conformance question set.
|
||||
expected_canon_surfaces:
|
||||
implemented_profiles:
|
||||
- profile/small-saas
|
||||
consumed_artifacts:
|
||||
- model/organization
|
||||
- model/access-control
|
||||
- model/governance
|
||||
- model/data
|
||||
- model/security
|
||||
- model/task
|
||||
- model/purpose-demand-extension
|
||||
- standard/caring
|
||||
consumed_concepts:
|
||||
- Actor
|
||||
- Subject
|
||||
- Principal
|
||||
- User
|
||||
- Team
|
||||
- Tenant
|
||||
- Organization Role
|
||||
- AccessRole
|
||||
- Permission
|
||||
- Entitlement
|
||||
- ResourceScope
|
||||
- Policy
|
||||
- Control
|
||||
- Evidence
|
||||
- AccessReview
|
||||
- ConsumerPurpose
|
||||
- PurposeFit
|
||||
- EvolutionRequest
|
||||
expected_entities:
|
||||
- id: user
|
||||
canon_anchor: model/organization
|
||||
expectation: Represents a human or service user without collapsing into authenticated principal.
|
||||
- id: account
|
||||
canon_anchor: model/access-control
|
||||
expectation: Represents login or system account bound to a user, actor, or principal.
|
||||
- id: principal
|
||||
canon_anchor: model/access-control
|
||||
expectation: Represents authenticated identity used in an authorization decision.
|
||||
- id: subject
|
||||
canon_anchor: model/access-control
|
||||
expectation: Represents entity evaluated by policy, possibly a user, principal, group, or service account.
|
||||
- id: tenant
|
||||
canon_anchor: model/organization
|
||||
expectation: Represents customer or organization boundary used for membership, data, and access scope.
|
||||
- id: team
|
||||
canon_anchor: model/organization
|
||||
expectation: Represents operational group, not an access role.
|
||||
- id: organization-role
|
||||
canon_anchor: model/organization
|
||||
expectation: Represents responsibility or position.
|
||||
- id: access-role
|
||||
canon_anchor: model/access-control
|
||||
expectation: Represents permission bundle or access capability.
|
||||
- id: policy
|
||||
canon_anchor: model/governance
|
||||
expectation: Governs access or lifecycle behavior.
|
||||
- id: control
|
||||
canon_anchor: model/security
|
||||
expectation: Implements or enforces a policy or objective.
|
||||
- id: evidence
|
||||
canon_anchor: model/observability
|
||||
expectation: Supports review, control, access, or integration claims.
|
||||
expected_edges:
|
||||
- type: member_of
|
||||
source: user
|
||||
target: team
|
||||
expectation: User or actor belongs to team.
|
||||
- type: belongs_to_tenant
|
||||
source: user
|
||||
target: tenant
|
||||
expectation: User or account is scoped to a tenant when applicable.
|
||||
- type: authenticates_as
|
||||
source: account
|
||||
target: principal
|
||||
expectation: Account produces or binds authenticated principal.
|
||||
- type: evaluated_as
|
||||
source: principal
|
||||
target: subject
|
||||
expectation: Principal is evaluated as policy subject.
|
||||
- type: assigned_role
|
||||
source: subject
|
||||
target: access-role
|
||||
expectation: Subject receives access role within explicit scope.
|
||||
- type: scoped_to
|
||||
source: access-role
|
||||
target: tenant
|
||||
expectation: Access role or grant declares resource or tenant scope.
|
||||
- type: governed_by
|
||||
source: access-grant
|
||||
target: policy
|
||||
expectation: Grant traces to policy or rule.
|
||||
- type: implemented_by
|
||||
source: policy
|
||||
target: control
|
||||
expectation: Policy is enforced by a control.
|
||||
- type: evidenced_by
|
||||
source: access-grant
|
||||
target: evidence
|
||||
expectation: Grant, review, or control has evidence.
|
||||
- type: creates_task
|
||||
source: evaluation-gap
|
||||
target: task
|
||||
expectation: Gap creates work only after triage and commitment.
|
||||
evidence_required:
|
||||
- completed Canon Interface Card
|
||||
- entity and edge mapping export
|
||||
- access grant trace
|
||||
- tenant-scoped role or permission example
|
||||
- access review example
|
||||
- policy/control/evidence trace
|
||||
- data object inventory for user-management data
|
||||
- user lifecycle task or request examples
|
||||
- explicit integration gaps and requested evolution
|
||||
validation_expectations:
|
||||
commands:
|
||||
- PYTHONPATH=src python3 -m info_tech_canon validate
|
||||
- PYTHONPATH=src python3 -m info_tech_canon profile validate small-saas
|
||||
known_gaps_allowed: true
|
||||
gap_rule: A gap is acceptable only when recorded with purpose fit state, owner, and proposed disposition.
|
||||
135
infospace/evaluations/user-engine/questions.yaml
Normal file
135
infospace/evaluations/user-engine/questions.yaml
Normal file
@@ -0,0 +1,135 @@
|
||||
id: evaluation/user-engine/questions
|
||||
title: User Engine Canon Evaluation Questions
|
||||
status: candidate
|
||||
consumer: user-engine
|
||||
evaluation_pack: evaluation/user-engine
|
||||
question_domains:
|
||||
- id: organization
|
||||
title: Organization
|
||||
canon_anchors:
|
||||
- model/organization
|
||||
- profile/small-saas
|
||||
questions:
|
||||
- id: org-001
|
||||
question: Which user-engine records map to Person, User, Actor, Agent, Team, Tenant, Role, Membership, Assignment, Responsibility, Authority, and Accountability?
|
||||
expected_evidence:
|
||||
- entity mapping table
|
||||
- examples for human users and service users
|
||||
- id: org-002
|
||||
question: How does user-engine distinguish Actor, Subject, and Principal in authentication and authorization contexts?
|
||||
expected_evidence:
|
||||
- concept mapping
|
||||
- access-decision trace
|
||||
- id: org-003
|
||||
question: How are tenant membership, team membership, ownership, and delegated administration represented?
|
||||
expected_evidence:
|
||||
- tenant/team membership export
|
||||
- owner or administrator assignment records
|
||||
- id: access-control
|
||||
title: Access Control
|
||||
canon_anchors:
|
||||
- model/access-control
|
||||
- standard/caring
|
||||
- profile/small-saas
|
||||
questions:
|
||||
- id: ac-001
|
||||
question: Which user-engine concepts map to AccessRole, Permission, Entitlement, ResourceScope, RoleBinding, AuthorizationDecision, and AccessPolicy?
|
||||
expected_evidence:
|
||||
- entity mapping table
|
||||
- role and permission examples
|
||||
- id: ac-002
|
||||
question: Can every privileged access grant identify subject or principal, access role, resource scope, tenant boundary, governing policy, and evidence?
|
||||
expected_evidence:
|
||||
- grant trace
|
||||
- tenant-scoped role binding example
|
||||
- id: ac-003
|
||||
question: How are Organization Role, AccessRole, and CARING canonical role kept distinct?
|
||||
expected_evidence:
|
||||
- distinction notes
|
||||
- CARING role classification examples
|
||||
- id: governance
|
||||
title: Governance
|
||||
canon_anchors:
|
||||
- model/governance
|
||||
- standard/caring
|
||||
questions:
|
||||
- id: gov-001
|
||||
question: Which user-engine records carry policy, control, review, approval, exception, waiver, evidence, and decision semantics?
|
||||
expected_evidence:
|
||||
- governance mapping table
|
||||
- review and approval examples
|
||||
- id: gov-002
|
||||
question: What evidence shows that access grants are reviewed, approved, remediated, or expired?
|
||||
expected_evidence:
|
||||
- access review records
|
||||
- remediation or exception records
|
||||
- id: gov-003
|
||||
question: Who has decision rights for accepting, rejecting, or deferring integration gaps?
|
||||
expected_evidence:
|
||||
- decision authority statement
|
||||
- accountable owner
|
||||
- id: data
|
||||
title: Data
|
||||
canon_anchors:
|
||||
- model/data
|
||||
- profile/small-saas
|
||||
questions:
|
||||
- id: data-001
|
||||
question: Which user-engine data objects contain identity, account, tenant, membership, role, permission, credential, or audit data?
|
||||
expected_evidence:
|
||||
- data object inventory
|
||||
- processing purpose notes
|
||||
- id: data-002
|
||||
question: How are tenant partitioning, retention, residency, lineage, and processing purpose represented for user-management data?
|
||||
expected_evidence:
|
||||
- data boundary description
|
||||
- tenant partition example
|
||||
- id: security
|
||||
title: Security
|
||||
canon_anchors:
|
||||
- model/security
|
||||
- model/access-control
|
||||
- profile/small-saas
|
||||
questions:
|
||||
- id: sec-001
|
||||
question: How does user-engine represent credentials, sessions, privileged access, MFA or equivalent assurance, and secret handling boundaries?
|
||||
expected_evidence:
|
||||
- security concept mapping
|
||||
- privileged access scenario
|
||||
- id: sec-002
|
||||
question: Which incidents, findings, or alerts can be linked to users, principals, tenants, controls, and evidence?
|
||||
expected_evidence:
|
||||
- incident linkage example
|
||||
- finding or alert export
|
||||
- id: task
|
||||
title: Task
|
||||
canon_anchors:
|
||||
- model/task
|
||||
- profile/small-saas
|
||||
questions:
|
||||
- id: task-001
|
||||
question: Which onboarding, access request, review, remediation, deprovisioning, and integration-gap items map to WorkItem, Task, Request, ReviewTask, ApprovalTask, RemediationTask, or ChangeTask?
|
||||
expected_evidence:
|
||||
- lifecycle task examples
|
||||
- task state mapping
|
||||
- id: task-002
|
||||
question: How does user-engine distinguish captured requests from committed implementation or remediation tasks?
|
||||
expected_evidence:
|
||||
- task commitment mapping
|
||||
- backlog or issue examples
|
||||
- id: purposes
|
||||
title: PURPOSES
|
||||
canon_anchors:
|
||||
- model/purpose-demand-extension
|
||||
- pattern/intent-scope-purposes
|
||||
questions:
|
||||
- id: pur-001
|
||||
question: What consumer intent, scope, purposes, use cases, demand signals, and consumer needs does user-engine declare for canon integration?
|
||||
expected_evidence:
|
||||
- completed Canon Interface Card
|
||||
- consumer purpose statement
|
||||
- id: pur-002
|
||||
question: Which purpose fit state applies to user-engine now, and which gaps create scope pressure or evolution requests for InfoTechCanon?
|
||||
expected_evidence:
|
||||
- purpose fit review
|
||||
- requested evolution list
|
||||
58
infospace/evaluations/user-engine/small-saas-alignment.yaml
Normal file
58
infospace/evaluations/user-engine/small-saas-alignment.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
id: evaluation/user-engine/small-saas-alignment
|
||||
title: User Engine Small SaaS Alignment Lens
|
||||
status: candidate
|
||||
consumer: user-engine
|
||||
evaluation_pack: evaluation/user-engine
|
||||
profile: profile/small-saas
|
||||
alignment_goal: Use small-saas as the concrete tenant-aware SaaS lens for user-management evaluation.
|
||||
profile_requirements:
|
||||
- required_concept: tenant
|
||||
small_saas_artifacts:
|
||||
- small-saas/tenant/acme
|
||||
- small-saas/tenant/globex
|
||||
user_engine_expectation: User-engine can represent tenant boundaries and bind users, accounts, roles, and evidence to them.
|
||||
- required_concept: user
|
||||
small_saas_artifacts:
|
||||
- small-saas/user/ada-admin
|
||||
user_engine_expectation: User-engine can map users separately from accounts, principals, subjects, and access grants.
|
||||
- required_concept: team
|
||||
small_saas_artifacts:
|
||||
- small-saas/team/platform
|
||||
user_engine_expectation: User-engine can represent team membership without treating teams as permission bundles.
|
||||
- required_concept: policy
|
||||
small_saas_artifacts:
|
||||
- small-saas/policy/tenant-isolation
|
||||
user_engine_expectation: User-engine access behavior can trace to governing policy.
|
||||
- required_concept: control
|
||||
small_saas_artifacts:
|
||||
- small-saas/control/namespace-per-tenant
|
||||
user_engine_expectation: User-engine can show which controls enforce tenant isolation or access boundaries.
|
||||
- required_concept: evidence
|
||||
small_saas_artifacts:
|
||||
- small-saas/evidence/access-review-2026-05
|
||||
user_engine_expectation: User-engine can provide or link evidence for access reviews and privileged grants.
|
||||
- required_concept: task
|
||||
small_saas_artifacts:
|
||||
- small-saas/task/onboard-tenant
|
||||
user_engine_expectation: User-engine can identify onboarding, access request, review, remediation, and deprovisioning work.
|
||||
- required_concept: incident
|
||||
small_saas_artifacts:
|
||||
- small-saas/incident/cross-tenant-access-attempt
|
||||
user_engine_expectation: User-engine can link access incidents or findings to users, principals, tenants, controls, and evidence.
|
||||
conformance_questions:
|
||||
- Can Ada Admin's tenant-admin grant for Acme be represented with user, subject, principal, role, tenant scope, policy, and evidence?
|
||||
- Can Globex remain isolated from Ada Admin unless an explicit grant, scope, and evidence record exists?
|
||||
- Can tenant isolation policy connect to control evidence and review records?
|
||||
- Can onboarding a tenant create trackable work without implying that every request is already committed?
|
||||
- Can any integration gap become an EvolutionRequest instead of an undocumented scope change?
|
||||
pass_conditions:
|
||||
- All required small-saas user-management artifacts have matching user-engine entities or explicit gaps.
|
||||
- Access grants carry tenant scope, role, governing policy, and evidence.
|
||||
- User, team, tenant, organization role, access role, subject, and principal are not collapsed into one concept.
|
||||
- Evidence gaps are explicit and produce review or remediation work.
|
||||
- PURPOSES fields identify current purpose fit and requested evolution.
|
||||
failure_conditions:
|
||||
- User-engine cannot distinguish organization roles from access roles.
|
||||
- User-engine cannot trace privileged access to tenant scope and evidence.
|
||||
- User-engine treats consumer demand as automatic producer scope.
|
||||
- User-engine cannot produce a mapping export or completed interface card.
|
||||
@@ -1,5 +1,5 @@
|
||||
root: infospace
|
||||
file_count: 101
|
||||
file_count: 111
|
||||
files:
|
||||
- path: README.md
|
||||
directory: .
|
||||
@@ -10,6 +10,21 @@ files:
|
||||
- path: agent/briefs/concept-catalog-purpose-demand.md
|
||||
directory: agent/briefs
|
||||
name: concept-catalog-purpose-demand.md
|
||||
- path: agent/briefs/evaluation-user-engine-consumer-workplan-brief.md
|
||||
directory: agent/briefs
|
||||
name: evaluation-user-engine-consumer-workplan-brief.md
|
||||
- path: agent/briefs/evaluation-user-engine-interface-card-expectations.md
|
||||
directory: agent/briefs
|
||||
name: evaluation-user-engine-interface-card-expectations.md
|
||||
- path: agent/briefs/evaluation-user-engine-questions.md
|
||||
directory: agent/briefs
|
||||
name: evaluation-user-engine-questions.md
|
||||
- path: agent/briefs/evaluation-user-engine-small-saas-alignment.md
|
||||
directory: agent/briefs
|
||||
name: evaluation-user-engine-small-saas-alignment.md
|
||||
- path: agent/briefs/evaluation-user-engine.md
|
||||
directory: agent/briefs
|
||||
name: evaluation-user-engine.md
|
||||
- path: agent/briefs/example-consumer-purpose-portfolio.md
|
||||
directory: agent/briefs
|
||||
name: example-consumer-purpose-portfolio.md
|
||||
@@ -106,6 +121,21 @@ files:
|
||||
- path: concepts/purpose-demand.yaml
|
||||
directory: concepts
|
||||
name: purpose-demand.yaml
|
||||
- path: evaluations/user-engine/consumer-workplan-brief.md
|
||||
directory: evaluations/user-engine
|
||||
name: consumer-workplan-brief.md
|
||||
- path: evaluations/user-engine/evaluation-pack.yaml
|
||||
directory: evaluations/user-engine
|
||||
name: evaluation-pack.yaml
|
||||
- path: evaluations/user-engine/interface-card-expectations.yaml
|
||||
directory: evaluations/user-engine
|
||||
name: interface-card-expectations.yaml
|
||||
- path: evaluations/user-engine/questions.yaml
|
||||
directory: evaluations/user-engine
|
||||
name: questions.yaml
|
||||
- path: evaluations/user-engine/small-saas-alignment.yaml
|
||||
directory: evaluations/user-engine
|
||||
name: small-saas-alignment.yaml
|
||||
- path: examples/README.md
|
||||
directory: examples
|
||||
name: README.md
|
||||
|
||||
@@ -1,9 +1,29 @@
|
||||
concept_count: 59
|
||||
concept_count: 64
|
||||
concepts:
|
||||
- concept: Purpose And Consumer Demand Concept Catalog
|
||||
owner: concept-catalog/purpose-demand
|
||||
path: concepts/purpose-demand.yaml
|
||||
source: artifact_title
|
||||
- concept: User Engine Canon Evaluation Pack
|
||||
owner: evaluation/user-engine
|
||||
path: evaluations/user-engine/evaluation-pack.yaml
|
||||
source: artifact_title
|
||||
- concept: User Engine Consumer Workplan Brief
|
||||
owner: evaluation/user-engine/consumer-workplan-brief
|
||||
path: evaluations/user-engine/consumer-workplan-brief.md
|
||||
source: artifact_title
|
||||
- concept: User Engine Canon Interface Card Expectations
|
||||
owner: evaluation/user-engine/interface-card-expectations
|
||||
path: evaluations/user-engine/interface-card-expectations.yaml
|
||||
source: artifact_title
|
||||
- concept: User Engine Canon Evaluation Questions
|
||||
owner: evaluation/user-engine/questions
|
||||
path: evaluations/user-engine/questions.yaml
|
||||
source: artifact_title
|
||||
- concept: User Engine Small SaaS Alignment Lens
|
||||
owner: evaluation/user-engine/small-saas-alignment
|
||||
path: evaluations/user-engine/small-saas-alignment.yaml
|
||||
source: artifact_title
|
||||
- concept: Canon-Side Consumer Purpose Portfolio
|
||||
owner: example/consumer-purpose-portfolio
|
||||
path: examples/consumer-purpose-portfolio.yaml
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
artifacts:
|
||||
- concept-catalog/purpose-demand
|
||||
- evaluation/user-engine
|
||||
- evaluation/user-engine/consumer-workplan-brief
|
||||
- evaluation/user-engine/interface-card-expectations
|
||||
- evaluation/user-engine/questions
|
||||
- evaluation/user-engine/small-saas-alignment
|
||||
- example/consumer-purpose-portfolio
|
||||
- kernel/itc-core
|
||||
- kernel/itc-kernel-map
|
||||
@@ -40,6 +45,70 @@ rows:
|
||||
- conforms_to
|
||||
model/governance:
|
||||
- uses
|
||||
- artifact: evaluation/user-engine
|
||||
targets:
|
||||
model/access-control:
|
||||
- uses
|
||||
model/data:
|
||||
- uses
|
||||
model/governance:
|
||||
- uses
|
||||
model/organization:
|
||||
- uses
|
||||
model/purpose-demand-extension:
|
||||
- uses
|
||||
model/security:
|
||||
- uses
|
||||
model/task:
|
||||
- uses
|
||||
profile/small-saas:
|
||||
- evaluates
|
||||
standard/caring:
|
||||
- uses
|
||||
- artifact: evaluation/user-engine/consumer-workplan-brief
|
||||
targets:
|
||||
evaluation/user-engine:
|
||||
- part_of
|
||||
model/purpose-demand-extension:
|
||||
- uses
|
||||
- artifact: evaluation/user-engine/interface-card-expectations
|
||||
targets:
|
||||
evaluation/user-engine:
|
||||
- part_of
|
||||
model/purpose-demand-extension:
|
||||
- uses
|
||||
standard/caring:
|
||||
- uses
|
||||
- artifact: evaluation/user-engine/questions
|
||||
targets:
|
||||
evaluation/user-engine:
|
||||
- part_of
|
||||
model/access-control:
|
||||
- uses
|
||||
model/data:
|
||||
- uses
|
||||
model/governance:
|
||||
- uses
|
||||
model/organization:
|
||||
- uses
|
||||
model/purpose-demand-extension:
|
||||
- uses
|
||||
model/security:
|
||||
- uses
|
||||
model/task:
|
||||
- uses
|
||||
- artifact: evaluation/user-engine/small-saas-alignment
|
||||
targets:
|
||||
evaluation/user-engine:
|
||||
- part_of
|
||||
model/access-control:
|
||||
- uses
|
||||
model/governance:
|
||||
- uses
|
||||
model/organization:
|
||||
- uses
|
||||
profile/small-saas:
|
||||
- evaluates
|
||||
- artifact: example/consumer-purpose-portfolio
|
||||
targets:
|
||||
model/purpose-demand-extension:
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"details": {
|
||||
"artifact_count": 34,
|
||||
"relationship_count": 129
|
||||
"artifact_count": 39,
|
||||
"relationship_count": 156
|
||||
},
|
||||
"errors": [],
|
||||
"metrics": {
|
||||
"coherence_components": 1.0,
|
||||
"consistency_cycles": 0.0,
|
||||
"coverage_ratio": 1.0,
|
||||
"granularity_entropy": 2.4357138959313844,
|
||||
"granularity_entropy": 2.9736210870457236,
|
||||
"redundancy_ratio": 0.0
|
||||
},
|
||||
"ok": true,
|
||||
|
||||
@@ -2,11 +2,16 @@
|
||||
|
||||
# By Concept
|
||||
|
||||
Concept count: **59**
|
||||
Concept count: **64**
|
||||
|
||||
| Concept | Owner | Source |
|
||||
| --- | --- | --- |
|
||||
| Purpose And Consumer Demand Concept Catalog | `concept-catalog/purpose-demand` | `artifact_title` |
|
||||
| User Engine Canon Evaluation Pack | `evaluation/user-engine` | `artifact_title` |
|
||||
| User Engine Consumer Workplan Brief | `evaluation/user-engine/consumer-workplan-brief` | `artifact_title` |
|
||||
| User Engine Canon Interface Card Expectations | `evaluation/user-engine/interface-card-expectations` | `artifact_title` |
|
||||
| User Engine Canon Evaluation Questions | `evaluation/user-engine/questions` | `artifact_title` |
|
||||
| User Engine Small SaaS Alignment Lens | `evaluation/user-engine/small-saas-alignment` | `artifact_title` |
|
||||
| Canon-Side Consumer Purpose Portfolio | `example/consumer-purpose-portfolio` | `artifact_title` |
|
||||
| InfoTechCanon Core | `kernel/itc-core` | `artifact_title` |
|
||||
| InfoTechCanon Kernel Map | `kernel/itc-kernel-map` | `artifact_title` |
|
||||
|
||||
@@ -6,6 +6,13 @@
|
||||
|
||||
- `model/purpose-demand-extension` via `introduces`
|
||||
|
||||
## `evaluation/user-engine`
|
||||
|
||||
- `evaluation/user-engine/consumer-workplan-brief` via `part_of`
|
||||
- `evaluation/user-engine/interface-card-expectations` via `part_of`
|
||||
- `evaluation/user-engine/questions` via `part_of`
|
||||
- `evaluation/user-engine/small-saas-alignment` via `part_of`
|
||||
|
||||
## `kernel/itc-core`
|
||||
|
||||
- `concept-catalog/purpose-demand` via `conforms_to`
|
||||
@@ -28,6 +35,9 @@
|
||||
|
||||
## `model/access-control`
|
||||
|
||||
- `evaluation/user-engine` via `uses`
|
||||
- `evaluation/user-engine/questions` via `uses`
|
||||
- `evaluation/user-engine/small-saas-alignment` via `uses`
|
||||
- `kernel/itc-kernel-map` via `maps`
|
||||
- `model/security` via `uses`
|
||||
- `profile/small-saas` via `requires`
|
||||
@@ -36,6 +46,8 @@
|
||||
|
||||
## `model/data`
|
||||
|
||||
- `evaluation/user-engine` via `uses`
|
||||
- `evaluation/user-engine/questions` via `uses`
|
||||
- `kernel/itc-kernel-map` via `maps`
|
||||
- `profile/small-saas` via `requires`
|
||||
- `small-saas/dataset/subscription-ledger` via `uses`
|
||||
@@ -51,6 +63,9 @@
|
||||
## `model/governance`
|
||||
|
||||
- `concept-catalog/purpose-demand` via `uses`
|
||||
- `evaluation/user-engine` via `uses`
|
||||
- `evaluation/user-engine/questions` via `uses`
|
||||
- `evaluation/user-engine/small-saas-alignment` via `uses`
|
||||
- `kernel/itc-kernel-map` via `maps`
|
||||
- `mapping/purpose-demand-governance-candidates` via `maps`
|
||||
- `model/access-control` via `uses`
|
||||
@@ -89,6 +104,9 @@
|
||||
|
||||
## `model/organization`
|
||||
|
||||
- `evaluation/user-engine` via `uses`
|
||||
- `evaluation/user-engine/questions` via `uses`
|
||||
- `evaluation/user-engine/small-saas-alignment` via `uses`
|
||||
- `kernel/itc-kernel-map` via `maps`
|
||||
- `model/access-control` via `uses`
|
||||
- `profile/small-saas` via `requires`
|
||||
@@ -100,12 +118,18 @@
|
||||
|
||||
## `model/purpose-demand-extension`
|
||||
|
||||
- `evaluation/user-engine` via `uses`
|
||||
- `evaluation/user-engine/consumer-workplan-brief` via `uses`
|
||||
- `evaluation/user-engine/interface-card-expectations` via `uses`
|
||||
- `evaluation/user-engine/questions` via `uses`
|
||||
- `example/consumer-purpose-portfolio` via `illustrates`
|
||||
- `mapping/purpose-demand-governance-candidates` via `maps`
|
||||
- `pattern/intent-scope-purposes` via `implements`
|
||||
|
||||
## `model/security`
|
||||
|
||||
- `evaluation/user-engine` via `uses`
|
||||
- `evaluation/user-engine/questions` via `uses`
|
||||
- `kernel/itc-kernel-map` via `maps`
|
||||
- `model/devsecops` via `uses`
|
||||
- `model/network` via `uses`
|
||||
@@ -116,6 +140,8 @@
|
||||
|
||||
## `model/task`
|
||||
|
||||
- `evaluation/user-engine` via `uses`
|
||||
- `evaluation/user-engine/questions` via `uses`
|
||||
- `kernel/itc-kernel-map` via `maps`
|
||||
- `mapping/purpose-demand-governance-candidates` via `uses`
|
||||
- `model/observability` via `uses`
|
||||
@@ -132,6 +158,8 @@
|
||||
|
||||
## `profile/small-saas`
|
||||
|
||||
- `evaluation/user-engine` via `evaluates`
|
||||
- `evaluation/user-engine/small-saas-alignment` via `evaluates`
|
||||
- `example/consumer-purpose-portfolio` via `uses`
|
||||
- `small-saas/control/namespace-per-tenant` via `instantiates`
|
||||
- `small-saas/dataset/subscription-ledger` via `instantiates`
|
||||
@@ -202,6 +230,8 @@
|
||||
|
||||
## `standard/caring`
|
||||
|
||||
- `evaluation/user-engine` via `uses`
|
||||
- `evaluation/user-engine/interface-card-expectations` via `uses`
|
||||
- `kernel/itc-kernel-map` via `maps`
|
||||
- `profile/small-saas` via `requires`
|
||||
- `small-saas/control/namespace-per-tenant` via `uses`
|
||||
|
||||
@@ -2,39 +2,44 @@
|
||||
|
||||
# Import Matrix
|
||||
|
||||
| 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` |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| `concept-catalog/purpose-demand` | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `example/consumer-purpose-portfolio` | | | | | | | | | | | | | | | `illustrates` | | | `illustrates` | `uses` | | | | | | | | | | | | | | | |
|
||||
| `kernel/itc-core` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `kernel/itc-kernel-map` | | | `maps` | | | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | `maps` | `maps` |
|
||||
| `mapping/purpose-demand-governance-candidates` | | | | | | | | | `maps` | | | | | | `maps` | | `uses` | | | | | | | | | | | | | | | | | |
|
||||
| `model/access-control` | | | `conforms_to` | | | | | | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/data` | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/devsecops` | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | |
|
||||
| `model/governance` | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/information-space` | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/landscape` | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/network` | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | |
|
||||
| `model/observability` | | | `conforms_to` | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | |
|
||||
| `model/organization` | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/purpose-demand-extension` | `introduces` | | `conforms_to` | | | | | | `extends` | `uses` | | | | | | | `uses` | | | | | | | | | | | | | | | | | |
|
||||
| `model/security` | | | `conforms_to` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/task` | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `pattern/intent-scope-purposes` | | | | | | | | | `uses` | | | | | | `implements` | | `uses` | | | | | | | | | | | | | | | | | |
|
||||
| `profile/small-saas` | | | `conforms_to` | | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | | | | | | | | | | | | | | | | `requires` | `requires` |
|
||||
| `small-saas/control/namespace-per-tenant` | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | | | | `evidenced_by` | | | | | | | | | | `uses` | |
|
||||
| `small-saas/dataset/subscription-ledger` | | | | | | | `uses` | | | | | | | | | | | | `instantiates` | | | | | | `governed_by` | `owned_by` | | | | `partitioned_for` | `partitioned_for` | | | |
|
||||
| `small-saas/deployment/production` | | | | | | | | `uses` | | | | `uses` | | | | | | | `instantiates` | `implements` | | | | | | `deploys` | | | | `separates` | `separates` | | | |
|
||||
| `small-saas/evidence/access-review-2026-05` | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | | | | | | | |
|
||||
| `small-saas/incident/cross-tenant-access-attempt` | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | `constrained_by` | | | `evidenced_by` | | | | | | | | | | | |
|
||||
| `small-saas/policy/tenant-isolation` | | | | | | | | | `uses` | | | | | | | | | | `instantiates` | `requires` | | | `evidenced_by` | | | | | | | | | | | |
|
||||
| `small-saas/service/billing-portal` | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | `part_of` | | `owned_by` | | | | | |
|
||||
| `small-saas/system/billing-system` | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | `serves` | `serves` | | | |
|
||||
| `small-saas/task/onboard-tenant` | | | | | | | | | | | | | | | | | `uses` | | `instantiates` | | | | | | `governed_by` | | | | `owned_by` | `changes` | | | | |
|
||||
| `small-saas/team/platform` | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | | | | | | | | | | | | | | | |
|
||||
| `small-saas/tenant/acme` | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | `isolated_by` | | | | | | | | | | | | `represented_by` | | |
|
||||
| `small-saas/tenant/globex` | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | `isolated_by` | | | | | | | | | | | | | | |
|
||||
| `small-saas/user/ada-admin` | | | | | | `uses` | | | | | | | | `uses` | | | | | `instantiates` | | | | `access_evidenced_by` | | `has_access_under` | | | | `member_of` | | | | | |
|
||||
| `standard/caring` | | | `conforms_to` | | | `imports` | `imports` | `imports` | `imports` | | | `imports` | `imports` | `imports` | | `imports` | `imports` | | | | | | | | | | | | | | | | | `imports` |
|
||||
| `standard/tagging` | | | `conforms_to` | | | | | | | | | | | | | | `imports` | | | | | | | | | | | | | | | | | |
|
||||
| Artifact | `concept-catalog/purpose-demand` | `evaluation/user-engine` | `evaluation/user-engine/consumer-workplan-brief` | `evaluation/user-engine/interface-card-expectations` | `evaluation/user-engine/questions` | `evaluation/user-engine/small-saas-alignment` | `example/consumer-purpose-portfolio` | `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` |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| `concept-catalog/purpose-demand` | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `evaluation/user-engine` | | | | | | | | | | | `uses` | `uses` | | `uses` | | | | | `uses` | `uses` | `uses` | `uses` | | `evaluates` | | | | | | | | | | | | | | `uses` | |
|
||||
| `evaluation/user-engine/consumer-workplan-brief` | | `part_of` | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | |
|
||||
| `evaluation/user-engine/interface-card-expectations` | | `part_of` | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | `uses` | |
|
||||
| `evaluation/user-engine/questions` | | `part_of` | | | | | | | | | `uses` | `uses` | | `uses` | | | | | `uses` | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | |
|
||||
| `evaluation/user-engine/small-saas-alignment` | | `part_of` | | | | | | | | | `uses` | | | `uses` | | | | | `uses` | | | | | `evaluates` | | | | | | | | | | | | | | | |
|
||||
| `example/consumer-purpose-portfolio` | | | | | | | | | | | | | | | | | | | | `illustrates` | | | `illustrates` | `uses` | | | | | | | | | | | | | | | |
|
||||
| `kernel/itc-core` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `kernel/itc-kernel-map` | | | | | | | | `maps` | | | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | `maps` | `maps` |
|
||||
| `mapping/purpose-demand-governance-candidates` | | | | | | | | | | | | | | `maps` | | | | | | `maps` | | `uses` | | | | | | | | | | | | | | | | | |
|
||||
| `model/access-control` | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/data` | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/devsecops` | | | | | | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | |
|
||||
| `model/governance` | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/information-space` | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/landscape` | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/network` | | | | | | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | |
|
||||
| `model/observability` | | | | | | | | `conforms_to` | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | |
|
||||
| `model/organization` | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/purpose-demand-extension` | `introduces` | | | | | | | `conforms_to` | | | | | | `extends` | `uses` | | | | | | | `uses` | | | | | | | | | | | | | | | | | |
|
||||
| `model/security` | | | | | | | | `conforms_to` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `model/task` | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| `pattern/intent-scope-purposes` | | | | | | | | | | | | | | `uses` | | | | | | `implements` | | `uses` | | | | | | | | | | | | | | | | | |
|
||||
| `profile/small-saas` | | | | | | | | `conforms_to` | | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | | | | | | | | | | | | | | | | `requires` | `requires` |
|
||||
| `small-saas/control/namespace-per-tenant` | | | | | | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | | | | `evidenced_by` | | | | | | | | | | `uses` | |
|
||||
| `small-saas/dataset/subscription-ledger` | | | | | | | | | | | | `uses` | | | | | | | | | | | | `instantiates` | | | | | | `governed_by` | `owned_by` | | | | `partitioned_for` | `partitioned_for` | | | |
|
||||
| `small-saas/deployment/production` | | | | | | | | | | | | | `uses` | | | | `uses` | | | | | | | `instantiates` | `implements` | | | | | | `deploys` | | | | `separates` | `separates` | | | |
|
||||
| `small-saas/evidence/access-review-2026-05` | | | | | | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | | | | | | | |
|
||||
| `small-saas/incident/cross-tenant-access-attempt` | | | | | | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | `constrained_by` | | | `evidenced_by` | | | | | | | | | | | |
|
||||
| `small-saas/policy/tenant-isolation` | | | | | | | | | | | | | | `uses` | | | | | | | | | | `instantiates` | `requires` | | | `evidenced_by` | | | | | | | | | | | |
|
||||
| `small-saas/service/billing-portal` | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | `part_of` | | `owned_by` | | | | | |
|
||||
| `small-saas/system/billing-system` | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | `serves` | `serves` | | | |
|
||||
| `small-saas/task/onboard-tenant` | | | | | | | | | | | | | | | | | | | | | | `uses` | | `instantiates` | | | | | | `governed_by` | | | | `owned_by` | `changes` | | | | |
|
||||
| `small-saas/team/platform` | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | | | | | | | | | | | | | | | |
|
||||
| `small-saas/tenant/acme` | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | `isolated_by` | | | | | | | | | | | | `represented_by` | | |
|
||||
| `small-saas/tenant/globex` | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | `isolated_by` | | | | | | | | | | | | | | |
|
||||
| `small-saas/user/ada-admin` | | | | | | | | | | | `uses` | | | | | | | | `uses` | | | | | `instantiates` | | | | `access_evidenced_by` | | `has_access_under` | | | | `member_of` | | | | | |
|
||||
| `standard/caring` | | | | | | | | `conforms_to` | | | `imports` | `imports` | `imports` | `imports` | | | `imports` | `imports` | `imports` | | `imports` | `imports` | | | | | | | | | | | | | | | | | `imports` |
|
||||
| `standard/tagging` | | | | | | | | `conforms_to` | | | | | | | | | | | | | | `imports` | | | | | | | | | | | | | | | | | |
|
||||
|
||||
@@ -3,18 +3,23 @@
|
||||
# Kernel Overview
|
||||
|
||||
- Infospace: `canon`
|
||||
- Artifacts: 34
|
||||
- Artifacts: 39
|
||||
|
||||
## Artifact Kinds
|
||||
|
||||
- `concept-catalog`: 1
|
||||
- `consumer-workplan-brief`: 1
|
||||
- `evaluation-pack`: 1
|
||||
- `evaluation-question-set`: 1
|
||||
- `example`: 1
|
||||
- `interface-card-expectation`: 1
|
||||
- `kernel`: 2
|
||||
- `mapping`: 1
|
||||
- `model`: 11
|
||||
- `model-extension`: 1
|
||||
- `pattern`: 1
|
||||
- `profile`: 1
|
||||
- `profile-alignment`: 1
|
||||
- `profile-artifact`: 13
|
||||
- `standard`: 2
|
||||
|
||||
@@ -25,6 +30,7 @@
|
||||
- `conforms_to`: 16
|
||||
- `constrained_by`: 1
|
||||
- `deploys`: 1
|
||||
- `evaluates`: 2
|
||||
- `evidenced_by`: 3
|
||||
- `extends`: 1
|
||||
- `governed_by`: 2
|
||||
@@ -38,10 +44,10 @@
|
||||
- `maps`: 16
|
||||
- `member_of`: 1
|
||||
- `owned_by`: 3
|
||||
- `part_of`: 1
|
||||
- `part_of`: 5
|
||||
- `partitioned_for`: 2
|
||||
- `represented_by`: 1
|
||||
- `requires`: 13
|
||||
- `separates`: 2
|
||||
- `serves`: 2
|
||||
- `uses`: 30
|
||||
- `uses`: 51
|
||||
|
||||
@@ -2,11 +2,16 @@
|
||||
|
||||
# Repository Tree
|
||||
|
||||
File count: **101**
|
||||
File count: **111**
|
||||
|
||||
- `README.md`
|
||||
- `agent/README.md`
|
||||
- `agent/briefs/concept-catalog-purpose-demand.md`
|
||||
- `agent/briefs/evaluation-user-engine-consumer-workplan-brief.md`
|
||||
- `agent/briefs/evaluation-user-engine-interface-card-expectations.md`
|
||||
- `agent/briefs/evaluation-user-engine-questions.md`
|
||||
- `agent/briefs/evaluation-user-engine-small-saas-alignment.md`
|
||||
- `agent/briefs/evaluation-user-engine.md`
|
||||
- `agent/briefs/example-consumer-purpose-portfolio.md`
|
||||
- `agent/briefs/kernel-itc-core.md`
|
||||
- `agent/briefs/kernel-itc-kernel-map.md`
|
||||
@@ -39,6 +44,11 @@ File count: **101**
|
||||
- `artifacts/index.yaml`
|
||||
- `assimilation/README.md`
|
||||
- `concepts/purpose-demand.yaml`
|
||||
- `evaluations/user-engine/consumer-workplan-brief.md`
|
||||
- `evaluations/user-engine/evaluation-pack.yaml`
|
||||
- `evaluations/user-engine/interface-card-expectations.yaml`
|
||||
- `evaluations/user-engine/questions.yaml`
|
||||
- `evaluations/user-engine/small-saas-alignment.yaml`
|
||||
- `examples/README.md`
|
||||
- `examples/consumer-purpose-portfolio.yaml`
|
||||
- `examples/small-saas/README.md`
|
||||
|
||||
@@ -11,12 +11,17 @@ import yaml
|
||||
GENERATED_NOTICE = "<!-- GENERATED by info_tech_canon; do not edit by hand. -->"
|
||||
RETRIEVAL_ARTIFACT_KINDS = {
|
||||
"concept-catalog",
|
||||
"consumer-workplan-brief",
|
||||
"evaluation-pack",
|
||||
"evaluation-question-set",
|
||||
"example",
|
||||
"interface-card-expectation",
|
||||
"kernel",
|
||||
"mapping",
|
||||
"model",
|
||||
"model-extension",
|
||||
"pattern",
|
||||
"profile-alignment",
|
||||
"profile",
|
||||
"standard",
|
||||
}
|
||||
@@ -756,6 +761,7 @@ def _render_consumer_brief(consumer_id: str) -> str:
|
||||
"- `agent/templates/canon-interface-card.template.yaml`",
|
||||
"- `models/governance/InfoTechCanonPurposeDemandExtension.md`",
|
||||
"- `patterns/intent-scope-purposes.md`",
|
||||
"- `evaluations/user-engine/evaluation-pack.yaml`",
|
||||
"- `examples/consumer-purpose-portfolio.yaml`",
|
||||
"- `profiles/small-saas/profile.yaml`",
|
||||
"- `views/by-concept.md`",
|
||||
@@ -826,14 +832,24 @@ def _summary_for_artifact(artifact: Any) -> str:
|
||||
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 == "consumer-workplan-brief":
|
||||
return f"Consumer repo workplan seed brief: {artifact.title}."
|
||||
if artifact.kind == "evaluation-pack":
|
||||
return f"Machine-readable canon-side evaluation pack: {artifact.title}."
|
||||
if artifact.kind == "evaluation-question-set":
|
||||
return f"Structured canon evaluation question set: {artifact.title}."
|
||||
if artifact.kind == "example":
|
||||
return f"Canon-side example artifact: {artifact.title}."
|
||||
if artifact.kind == "interface-card-expectation":
|
||||
return f"Expected Canon Interface Card fields and mappings: {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-alignment":
|
||||
return f"Profile-specific evaluation alignment artifact: {artifact.title}."
|
||||
if artifact.kind == "profile":
|
||||
return f"Profile that constrains canon artifacts for a practical implementation slice: {artifact.title}."
|
||||
if artifact.kind == "kernel":
|
||||
|
||||
@@ -54,12 +54,17 @@ REQUIRED_SCHEMAS = (
|
||||
|
||||
RETRIEVAL_BRIEF_KINDS = {
|
||||
"concept-catalog",
|
||||
"consumer-workplan-brief",
|
||||
"evaluation-pack",
|
||||
"evaluation-question-set",
|
||||
"example",
|
||||
"interface-card-expectation",
|
||||
"kernel",
|
||||
"mapping",
|
||||
"model",
|
||||
"model-extension",
|
||||
"pattern",
|
||||
"profile-alignment",
|
||||
"profile",
|
||||
"standard",
|
||||
}
|
||||
@@ -90,6 +95,50 @@ PURPOSE_REQUIRED_CONSUMERS = {
|
||||
"repo-scoping",
|
||||
}
|
||||
|
||||
USER_ENGINE_EVALUATION_ARTIFACT_IDS = {
|
||||
"evaluation/user-engine",
|
||||
"evaluation/user-engine/consumer-workplan-brief",
|
||||
"evaluation/user-engine/interface-card-expectations",
|
||||
"evaluation/user-engine/questions",
|
||||
"evaluation/user-engine/small-saas-alignment",
|
||||
}
|
||||
|
||||
USER_ENGINE_QUESTION_DOMAINS = {
|
||||
"access-control",
|
||||
"data",
|
||||
"governance",
|
||||
"organization",
|
||||
"purposes",
|
||||
"security",
|
||||
"task",
|
||||
}
|
||||
|
||||
USER_ENGINE_REQUIRED_ENTITY_IDS = {
|
||||
"access-role",
|
||||
"account",
|
||||
"control",
|
||||
"evidence",
|
||||
"organization-role",
|
||||
"policy",
|
||||
"principal",
|
||||
"subject",
|
||||
"team",
|
||||
"tenant",
|
||||
"user",
|
||||
}
|
||||
|
||||
USER_ENGINE_REQUIRED_EDGE_TYPES = {
|
||||
"assigned_role",
|
||||
"authenticates_as",
|
||||
"belongs_to_tenant",
|
||||
"evidenced_by",
|
||||
"evaluated_as",
|
||||
"governed_by",
|
||||
"implemented_by",
|
||||
"member_of",
|
||||
"scoped_to",
|
||||
}
|
||||
|
||||
|
||||
def structural_checks(context: Any) -> dict[str, list[dict[str, Any]]]:
|
||||
errors: list[dict[str, Any]] = []
|
||||
@@ -102,6 +151,11 @@ def structural_checks(context: Any) -> dict[str, list[dict[str, Any]]]:
|
||||
_check_artifact_index(context.repo_root, context.infospace_root, errors)
|
||||
_check_agent_assets(context.infospace_root, context.infospace.artifacts, errors)
|
||||
_check_purpose_demand_assets(context.infospace_root, context.infospace.artifacts, errors)
|
||||
_check_user_engine_evaluation_assets(
|
||||
context.infospace_root,
|
||||
context.infospace.artifacts,
|
||||
errors,
|
||||
)
|
||||
_check_optional_assets(context.infospace_root, warnings)
|
||||
|
||||
return {"errors": errors, "warnings": warnings}
|
||||
@@ -522,6 +576,149 @@ def _check_purpose_demand_assets(
|
||||
)
|
||||
|
||||
|
||||
def _check_user_engine_evaluation_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(USER_ENGINE_EVALUATION_ARTIFACT_IDS - artifact_ids):
|
||||
errors.append(
|
||||
{
|
||||
"code": "missing_user_engine_evaluation_artifact",
|
||||
"artifact_id": artifact_id,
|
||||
}
|
||||
)
|
||||
|
||||
pack = _read_yaml(
|
||||
infospace_root / "evaluations" / "user-engine" / "evaluation-pack.yaml",
|
||||
errors,
|
||||
)
|
||||
if isinstance(pack, dict):
|
||||
components = pack.get("pack_components") or {}
|
||||
if not isinstance(components, dict):
|
||||
errors.append(
|
||||
{
|
||||
"code": "invalid_user_engine_pack_components",
|
||||
"path": "infospace/evaluations/user-engine/evaluation-pack.yaml",
|
||||
}
|
||||
)
|
||||
else:
|
||||
for component in (
|
||||
"questions",
|
||||
"interface_card_expectations",
|
||||
"small_saas_alignment",
|
||||
"consumer_workplan_brief",
|
||||
):
|
||||
if not components.get(component):
|
||||
errors.append(
|
||||
{
|
||||
"code": "missing_user_engine_pack_component",
|
||||
"component": component,
|
||||
}
|
||||
)
|
||||
|
||||
questions = _read_yaml(
|
||||
infospace_root / "evaluations" / "user-engine" / "questions.yaml",
|
||||
errors,
|
||||
)
|
||||
if isinstance(questions, dict):
|
||||
domains = questions.get("question_domains") or []
|
||||
domain_ids = {
|
||||
str(domain.get("id"))
|
||||
for domain in domains
|
||||
if isinstance(domain, dict) and domain.get("id")
|
||||
}
|
||||
for domain_id in sorted(USER_ENGINE_QUESTION_DOMAINS - domain_ids):
|
||||
errors.append(
|
||||
{
|
||||
"code": "missing_user_engine_question_domain",
|
||||
"domain": domain_id,
|
||||
}
|
||||
)
|
||||
for domain in domains:
|
||||
if isinstance(domain, dict) and not domain.get("questions"):
|
||||
errors.append(
|
||||
{
|
||||
"code": "empty_user_engine_question_domain",
|
||||
"domain": domain.get("id"),
|
||||
}
|
||||
)
|
||||
|
||||
expectations = _read_yaml(
|
||||
infospace_root
|
||||
/ "evaluations"
|
||||
/ "user-engine"
|
||||
/ "interface-card-expectations.yaml",
|
||||
errors,
|
||||
)
|
||||
if isinstance(expectations, dict):
|
||||
entity_ids = {
|
||||
str(entity.get("id"))
|
||||
for entity in expectations.get("expected_entities") or []
|
||||
if isinstance(entity, dict) and entity.get("id")
|
||||
}
|
||||
for entity_id in sorted(USER_ENGINE_REQUIRED_ENTITY_IDS - entity_ids):
|
||||
errors.append(
|
||||
{
|
||||
"code": "missing_user_engine_expected_entity",
|
||||
"entity": entity_id,
|
||||
}
|
||||
)
|
||||
edge_types = {
|
||||
str(edge.get("type"))
|
||||
for edge in expectations.get("expected_edges") or []
|
||||
if isinstance(edge, dict) and edge.get("type")
|
||||
}
|
||||
for edge_type in sorted(USER_ENGINE_REQUIRED_EDGE_TYPES - edge_types):
|
||||
errors.append(
|
||||
{
|
||||
"code": "missing_user_engine_expected_edge",
|
||||
"edge": edge_type,
|
||||
}
|
||||
)
|
||||
evidence = expectations.get("evidence_required") or []
|
||||
if not isinstance(evidence, list) or not evidence:
|
||||
errors.append(
|
||||
{
|
||||
"code": "missing_user_engine_evidence_expectations",
|
||||
"path": "infospace/evaluations/user-engine/interface-card-expectations.yaml",
|
||||
}
|
||||
)
|
||||
|
||||
alignment = _read_yaml(
|
||||
infospace_root
|
||||
/ "evaluations"
|
||||
/ "user-engine"
|
||||
/ "small-saas-alignment.yaml",
|
||||
errors,
|
||||
)
|
||||
if isinstance(alignment, dict):
|
||||
if alignment.get("profile") != "profile/small-saas":
|
||||
errors.append(
|
||||
{
|
||||
"code": "invalid_user_engine_alignment_profile",
|
||||
"value": alignment.get("profile"),
|
||||
}
|
||||
)
|
||||
if not alignment.get("profile_requirements"):
|
||||
errors.append(
|
||||
{
|
||||
"code": "missing_user_engine_profile_requirements",
|
||||
"path": "infospace/evaluations/user-engine/small-saas-alignment.yaml",
|
||||
}
|
||||
)
|
||||
|
||||
brief_path = infospace_root / "evaluations" / "user-engine" / "consumer-workplan-brief.md"
|
||||
if not brief_path.is_file():
|
||||
errors.append(
|
||||
{
|
||||
"code": "missing_user_engine_consumer_workplan_brief",
|
||||
"path": "infospace/evaluations/user-engine/consumer-workplan-brief.md",
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def _artifact_paths_by_path(
|
||||
infospace_root: Path,
|
||||
errors: list[dict[str, Any]],
|
||||
|
||||
@@ -11,7 +11,7 @@ def test_cli_inspect_emits_json(capsys) -> None:
|
||||
assert exit_code == 0
|
||||
payload = json.loads(capsys.readouterr().out)
|
||||
assert payload["ok"] is True
|
||||
assert payload["infospace"]["artifact_count"] == 34
|
||||
assert payload["infospace"]["artifact_count"] == 39
|
||||
|
||||
|
||||
def test_cli_missing_profile_uses_structured_error(capsys) -> None:
|
||||
|
||||
@@ -19,15 +19,20 @@ def test_inspect_canon_counts_artifact_kinds() -> None:
|
||||
|
||||
assert payload["ok"] is True
|
||||
assert payload["infospace"]["slug"] == "canon"
|
||||
assert payload["infospace"]["artifact_count"] == 34
|
||||
assert payload["infospace"]["artifact_count"] == 39
|
||||
assert payload["infospace"]["kinds"] == {
|
||||
"concept-catalog": 1,
|
||||
"consumer-workplan-brief": 1,
|
||||
"evaluation-pack": 1,
|
||||
"evaluation-question-set": 1,
|
||||
"example": 1,
|
||||
"interface-card-expectation": 1,
|
||||
"kernel": 2,
|
||||
"mapping": 1,
|
||||
"model": 11,
|
||||
"model-extension": 1,
|
||||
"pattern": 1,
|
||||
"profile-alignment": 1,
|
||||
"profile": 1,
|
||||
"profile-artifact": 13,
|
||||
"standard": 2,
|
||||
@@ -45,14 +50,14 @@ def test_validate_canon_passes_scaffold() -> None:
|
||||
assert payload["ok"] is True
|
||||
assert payload["errors"] == []
|
||||
assert "warnings" in payload
|
||||
assert payload["details"]["artifact_count"] == 34
|
||||
assert payload["details"]["artifact_count"] == 39
|
||||
|
||||
|
||||
def test_graph_exports_relationship_summary() -> None:
|
||||
payload = artifact_graph()
|
||||
|
||||
assert payload["ok"] is True
|
||||
assert payload["graph"]["node_count"] == 34
|
||||
assert payload["graph"]["node_count"] == 39
|
||||
assert payload["graph"]["edge_count"] > 15
|
||||
|
||||
|
||||
@@ -95,6 +100,7 @@ def test_generators_write_expected_assets(tmp_path) -> None:
|
||||
assert (
|
||||
root / "agent" / "briefs" / "model-purpose-demand-extension.md"
|
||||
).is_file()
|
||||
assert (root / "agent" / "briefs" / "evaluation-user-engine.md").is_file()
|
||||
assert (root / "agent" / "briefs" / "pattern-intent-scope-purposes.md").is_file()
|
||||
assert (
|
||||
root / "agent" / "templates" / "canon-interface-card.template.yaml"
|
||||
|
||||
@@ -4,7 +4,7 @@ type: workplan
|
||||
title: "User Engine Evaluation Readiness"
|
||||
domain: canon
|
||||
repo: info-tech-canon
|
||||
status: proposed
|
||||
status: finished
|
||||
priority: high
|
||||
created: "2026-05-23"
|
||||
updated: "2026-05-23"
|
||||
@@ -35,7 +35,7 @@ governance expectations, and integration boundaries.
|
||||
|
||||
```task
|
||||
id: ITC-WP-0007-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "17d5792f-7452-4179-b346-f8c976fbe2eb"
|
||||
```
|
||||
@@ -48,7 +48,7 @@ state_hub_task_id: "17d5792f-7452-4179-b346-f8c976fbe2eb"
|
||||
|
||||
```task
|
||||
id: ITC-WP-0007-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "d44c6608-14d8-44cc-80a8-9959296da286"
|
||||
```
|
||||
@@ -61,7 +61,7 @@ state_hub_task_id: "d44c6608-14d8-44cc-80a8-9959296da286"
|
||||
|
||||
```task
|
||||
id: ITC-WP-0007-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "fa1e3da2-1990-4945-8d53-140ad4bedcbf"
|
||||
```
|
||||
@@ -73,7 +73,7 @@ state_hub_task_id: "fa1e3da2-1990-4945-8d53-140ad4bedcbf"
|
||||
|
||||
```task
|
||||
id: ITC-WP-0007-T04
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "ffcd728f-b5eb-4449-945b-1a3f8a9640de"
|
||||
```
|
||||
@@ -91,3 +91,15 @@ state_hub_task_id: "ffcd728f-b5eb-4449-945b-1a3f8a9640de"
|
||||
- InfoTechCanon can evaluate user-engine before integration work begins.
|
||||
- The evaluation pack is machine-readable enough for CLI/API use.
|
||||
- A consumer workplan brief exists for user-engine.
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- Added a machine-readable user-engine evaluation pack under
|
||||
`infospace/evaluations/user-engine/`.
|
||||
- Added domain question coverage for Organization, Access Control, Governance,
|
||||
Data, Security, Task, and PURPOSES.
|
||||
- Added Canon Interface Card expectations, required entity and edge mappings,
|
||||
evidence expectations, and small-saas alignment checks.
|
||||
- Added a consumer workplan brief for the user-engine repo.
|
||||
- Extended validation and retrieval generation so user-engine evaluation assets
|
||||
are indexed, briefed, and checked.
|
||||
|
||||
@@ -95,7 +95,7 @@ workplans:
|
||||
|
||||
- id: ITC-WP-0007
|
||||
title: User Engine Evaluation Readiness
|
||||
status: proposed
|
||||
status: finished
|
||||
priority: high
|
||||
path: workplans/ITC-WP-0007-user-engine-evaluation-readiness.md
|
||||
depends_on:
|
||||
|
||||
Reference in New Issue
Block a user