Add consumer alignment review kit

This commit is contained in:
2026-05-23 07:23:48 +02:00
parent f562e2498d
commit 8e591132f8
38 changed files with 2244 additions and 83 deletions

View File

@@ -19,6 +19,8 @@ PYTHONPATH=src python3 -m info_tech_canon inspect
PYTHONPATH=src python3 -m info_tech_canon artifacts PYTHONPATH=src python3 -m info_tech_canon artifacts
PYTHONPATH=src python3 -m info_tech_canon models PYTHONPATH=src python3 -m info_tech_canon models
PYTHONPATH=src python3 -m info_tech_canon standards PYTHONPATH=src python3 -m info_tech_canon standards
PYTHONPATH=src python3 -m info_tech_canon review-kit
PYTHONPATH=src python3 -m info_tech_canon alignment-template
PYTHONPATH=src python3 -m info_tech_canon validate PYTHONPATH=src python3 -m info_tech_canon validate
PYTHONPATH=src python3 -m info_tech_canon graph PYTHONPATH=src python3 -m info_tech_canon graph
PYTHONPATH=src python3 -m info_tech_canon index PYTHONPATH=src python3 -m info_tech_canon index
@@ -40,6 +42,8 @@ After package installation, the same commands are available through the
- `GET /artifacts?kind=model` - `GET /artifacts?kind=model`
- `GET /models` - `GET /models`
- `GET /standards` - `GET /standards`
- `GET /review-kit`
- `GET /alignment-template`
- `GET /validate` - `GET /validate`
- `GET /graph` - `GET /graph`
- `GET /graph?format=mermaid` - `GET /graph?format=mermaid`
@@ -74,6 +78,16 @@ 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/`
- consumer alignment review kit in `agent/review-kit/`
- consumer alignment workplan template in `agent/templates/`
## Alignment Reviews
The consumer alignment review kit lives under `infospace/agent/review-kit/`.
It provides a repeatable workflow, model and standard selection guide,
scorecard, structured review schema, and repo-local workplan template so agents
can review consumer repositories against the canon without mixing consumer work
into this repo.
## Purpose And Demand ## Purpose And Demand

View File

@@ -0,0 +1,44 @@
---
id: agent-brief/review-kit-alignment-model-selection-guide
artifact_id: review-kit/alignment/model-selection-guide
source_path: agent/review-kit/model-selection-guide.yaml
source_kind: model-selection-guide
generated: true
---
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
# Agent Brief: Canon Model And Standard Selection Guide
- Artifact ID: `review-kit/alignment/model-selection-guide`
- Kind: `model-selection-guide`
- Canonical path: `agent/review-kit/model-selection-guide.yaml`
- Full source: `agent/review-kit/model-selection-guide.yaml`
- Summary: Guide for choosing canon models, standards, profiles, and benchmarks: Canon Model And Standard Selection Guide.
## Retrieval Hints
Imports and anchors:
- `benchmark/caring/kubernetes-rbac`
- `model/access-control`
- `model/data`
- `model/devsecops`
- `model/governance`
- `model/landscape`
- `model/network`
- `model/observability`
- `model/organization`
- `model/purpose-demand-extension`
- `model/security`
- `model/task`
- `profile/small-saas`
- `standard/caring`
- `standard/tagging`
## Owned Concepts
- `Canon Model And Standard Selection Guide`
## Related Distinctions
No common distinction is anchored directly on this artifact.

View File

@@ -0,0 +1,31 @@
---
id: agent-brief/review-kit-alignment-schema
artifact_id: review-kit/alignment/schema
source_path: schemas/alignment-review.schema.yaml
source_kind: alignment-review-schema
generated: true
---
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
# Agent Brief: Consumer Alignment Review Schema
- Artifact ID: `review-kit/alignment/schema`
- Kind: `alignment-review-schema`
- Canonical path: `schemas/alignment-review.schema.yaml`
- Full source: `schemas/alignment-review.schema.yaml`
- Summary: Schema for structured consumer repository alignment reviews: Consumer Alignment Review Schema.
## Retrieval Hints
Imports and anchors:
- `model/governance`
- `model/task`
## Owned Concepts
- `Consumer Alignment Review Schema`
## Related Distinctions
No common distinction is anchored directly on this artifact.

View File

@@ -0,0 +1,31 @@
---
id: agent-brief/review-kit-alignment-scorecard
artifact_id: review-kit/alignment/scorecard
source_path: agent/review-kit/scorecard.yaml
source_kind: alignment-scorecard
generated: true
---
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
# Agent Brief: Canon Consumer Alignment Scorecard
- Artifact ID: `review-kit/alignment/scorecard`
- Kind: `alignment-scorecard`
- Canonical path: `agent/review-kit/scorecard.yaml`
- Full source: `agent/review-kit/scorecard.yaml`
- Summary: Scorecard dimensions for canon alignment reviews: Canon Consumer Alignment Scorecard.
## Retrieval Hints
Imports and anchors:
- `model/governance`
- `model/task`
## Owned Concepts
- `Canon Consumer Alignment Scorecard`
## Related Distinctions
No common distinction is anchored directly on this artifact.

View File

@@ -0,0 +1,32 @@
---
id: agent-brief/review-kit-alignment-workflow
artifact_id: review-kit/alignment/workflow
source_path: agent/review-kit/review-workflow.yaml
source_kind: alignment-review-workflow
generated: true
---
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
# Agent Brief: Canon Consumer Alignment Review Workflow
- Artifact ID: `review-kit/alignment/workflow`
- Kind: `alignment-review-workflow`
- Canonical path: `agent/review-kit/review-workflow.yaml`
- Full source: `agent/review-kit/review-workflow.yaml`
- Summary: Repeatable workflow for canon alignment reviews: Canon Consumer Alignment Review Workflow.
## Retrieval Hints
Imports and anchors:
- `model/governance`
- `model/purpose-demand-extension`
- `model/task`
## Owned Concepts
- `Canon Consumer Alignment Review Workflow`
## Related Distinctions
No common distinction is anchored directly on this artifact.

View File

@@ -0,0 +1,31 @@
---
id: agent-brief/review-kit-alignment-workplan-template
artifact_id: review-kit/alignment/workplan-template
source_path: agent/templates/consumer-alignment-workplan.template.md
source_kind: consumer-workplan-template
generated: true
---
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
# Agent Brief: Consumer Alignment Workplan Template
- Artifact ID: `review-kit/alignment/workplan-template`
- Kind: `consumer-workplan-template`
- Canonical path: `agent/templates/consumer-alignment-workplan.template.md`
- Full source: `agent/templates/consumer-alignment-workplan.template.md`
- Summary: Template for consumer repository alignment workplans: Consumer Alignment Workplan Template.
## Retrieval Hints
Imports and anchors:
- `model/purpose-demand-extension`
- `model/task`
## Owned Concepts
- `Consumer Alignment Workplan Template`
## Related Distinctions
No common distinction is anchored directly on this artifact.

View File

@@ -0,0 +1,35 @@
---
id: agent-brief/review-kit-alignment
artifact_id: review-kit/alignment
source_path: agent/review-kit/review-kit.yaml
source_kind: alignment-review-kit
generated: true
---
<!-- GENERATED by info_tech_canon; do not edit by hand. -->
# Agent Brief: Canon Consumer Alignment Review Kit
- Artifact ID: `review-kit/alignment`
- Kind: `alignment-review-kit`
- Canonical path: `agent/review-kit/review-kit.yaml`
- Full source: `agent/review-kit/review-kit.yaml`
- Summary: Reusable kit for consumer repository alignment reviews: Canon Consumer Alignment Review Kit.
## Retrieval Hints
Imports and anchors:
- `benchmark/caring/kubernetes-rbac`
- `kernel/itc-core`
- `model/governance`
- `model/purpose-demand-extension`
- `model/task`
- `standard/caring`
## Owned Concepts
- `Canon Consumer Alignment Review Kit`
## Related Distinctions
No common distinction is anchored directly on this artifact.

View File

@@ -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: 54 - Artifact count: 60
- Retrieval index items: 54 - Retrieval index items: 60
- 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`

View File

@@ -43,7 +43,7 @@
} }
], ],
"infospace": "canon", "infospace": "canon",
"item_count": 54, "item_count": 60,
"items": [ "items": [
{ {
"canonical_path": "standards/caring/benchmarks/kubernetes-rbac/benchmark.yaml", "canonical_path": "standards/caring/benchmarks/kubernetes-rbac/benchmark.yaml",
@@ -1444,6 +1444,272 @@
"title": "Small SaaS System Profile", "title": "Small SaaS System Profile",
"warnings": [] "warnings": []
}, },
{
"canonical_path": "agent/review-kit/review-kit.yaml",
"id": "review-kit/alignment",
"imports": [
"benchmark/caring/kubernetes-rbac",
"kernel/itc-core",
"model/governance",
"model/purpose-demand-extension",
"model/task",
"standard/caring"
],
"kind": "alignment-review-kit",
"owned_concepts": [
"Canon Consumer Alignment Review Kit"
],
"relationships": [
{
"target": "kernel/itc-core",
"type": "conforms_to"
},
{
"target": "model/purpose-demand-extension",
"type": "uses"
},
{
"target": "model/governance",
"type": "uses"
},
{
"target": "model/task",
"type": "uses"
},
{
"target": "standard/caring",
"type": "uses"
},
{
"target": "benchmark/caring/kubernetes-rbac",
"type": "uses"
}
],
"source_path": "infospace/agent/review-kit/review-kit.yaml",
"summary": "Reusable kit for consumer repository alignment reviews: Canon Consumer Alignment Review Kit.",
"title": "Canon Consumer Alignment Review Kit",
"warnings": []
},
{
"canonical_path": "agent/review-kit/model-selection-guide.yaml",
"id": "review-kit/alignment/model-selection-guide",
"imports": [
"benchmark/caring/kubernetes-rbac",
"model/access-control",
"model/data",
"model/devsecops",
"model/governance",
"model/landscape",
"model/network",
"model/observability",
"model/organization",
"model/purpose-demand-extension",
"model/security",
"model/task",
"profile/small-saas",
"standard/caring",
"standard/tagging"
],
"kind": "model-selection-guide",
"owned_concepts": [
"Canon Model And Standard Selection Guide"
],
"relationships": [
{
"target": "review-kit/alignment",
"type": "part_of"
},
{
"target": "model/access-control",
"type": "uses"
},
{
"target": "model/organization",
"type": "uses"
},
{
"target": "model/governance",
"type": "uses"
},
{
"target": "model/security",
"type": "uses"
},
{
"target": "model/data",
"type": "uses"
},
{
"target": "model/landscape",
"type": "uses"
},
{
"target": "model/devsecops",
"type": "uses"
},
{
"target": "model/network",
"type": "uses"
},
{
"target": "model/observability",
"type": "uses"
},
{
"target": "model/task",
"type": "uses"
},
{
"target": "standard/tagging",
"type": "uses"
},
{
"target": "standard/caring",
"type": "uses"
},
{
"target": "model/purpose-demand-extension",
"type": "uses"
},
{
"target": "profile/small-saas",
"type": "uses"
},
{
"target": "benchmark/caring/kubernetes-rbac",
"type": "uses"
}
],
"source_path": "infospace/agent/review-kit/model-selection-guide.yaml",
"summary": "Guide for choosing canon models, standards, profiles, and benchmarks: Canon Model And Standard Selection Guide.",
"title": "Canon Model And Standard Selection Guide",
"warnings": []
},
{
"canonical_path": "schemas/alignment-review.schema.yaml",
"id": "review-kit/alignment/schema",
"imports": [
"model/governance",
"model/task"
],
"kind": "alignment-review-schema",
"owned_concepts": [
"Consumer Alignment Review Schema"
],
"relationships": [
{
"target": "review-kit/alignment",
"type": "part_of"
},
{
"target": "model/governance",
"type": "uses"
},
{
"target": "model/task",
"type": "uses"
}
],
"source_path": "infospace/schemas/alignment-review.schema.yaml",
"summary": "Schema for structured consumer repository alignment reviews: Consumer Alignment Review Schema.",
"title": "Consumer Alignment Review Schema",
"warnings": []
},
{
"canonical_path": "agent/review-kit/scorecard.yaml",
"id": "review-kit/alignment/scorecard",
"imports": [
"model/governance",
"model/task"
],
"kind": "alignment-scorecard",
"owned_concepts": [
"Canon Consumer Alignment Scorecard"
],
"relationships": [
{
"target": "review-kit/alignment",
"type": "part_of"
},
{
"target": "model/governance",
"type": "uses"
},
{
"target": "model/task",
"type": "uses"
}
],
"source_path": "infospace/agent/review-kit/scorecard.yaml",
"summary": "Scorecard dimensions for canon alignment reviews: Canon Consumer Alignment Scorecard.",
"title": "Canon Consumer Alignment Scorecard",
"warnings": []
},
{
"canonical_path": "agent/review-kit/review-workflow.yaml",
"id": "review-kit/alignment/workflow",
"imports": [
"model/governance",
"model/purpose-demand-extension",
"model/task"
],
"kind": "alignment-review-workflow",
"owned_concepts": [
"Canon Consumer Alignment Review Workflow"
],
"relationships": [
{
"target": "review-kit/alignment",
"type": "part_of"
},
{
"target": "model/purpose-demand-extension",
"type": "uses"
},
{
"target": "model/governance",
"type": "uses"
},
{
"target": "model/task",
"type": "uses"
}
],
"source_path": "infospace/agent/review-kit/review-workflow.yaml",
"summary": "Repeatable workflow for canon alignment reviews: Canon Consumer Alignment Review Workflow.",
"title": "Canon Consumer Alignment Review Workflow",
"warnings": []
},
{
"canonical_path": "agent/templates/consumer-alignment-workplan.template.md",
"id": "review-kit/alignment/workplan-template",
"imports": [
"model/purpose-demand-extension",
"model/task"
],
"kind": "consumer-workplan-template",
"owned_concepts": [
"Consumer Alignment Workplan Template"
],
"relationships": [
{
"target": "review-kit/alignment",
"type": "part_of"
},
{
"target": "model/task",
"type": "uses"
},
{
"target": "model/purpose-demand-extension",
"type": "uses"
}
],
"source_path": "infospace/agent/templates/consumer-alignment-workplan.template.md",
"summary": "Template for consumer repository alignment workplans: Consumer Alignment Workplan Template.",
"title": "Consumer Alignment Workplan Template",
"warnings": []
},
{ {
"canonical_path": "profiles/small-saas/artifacts/control.namespace-per-tenant.yaml", "canonical_path": "profiles/small-saas/artifacts/control.namespace-per-tenant.yaml",
"id": "small-saas/control/namespace-per-tenant", "id": "small-saas/control/namespace-per-tenant",

View File

@@ -4,7 +4,7 @@
Schema: `info-tech-canon.retrieval-index.v1` Schema: `info-tech-canon.retrieval-index.v1`
Infospace: `canon` Infospace: `canon`
Items: **54** Items: **60**
## Common Distinctions ## Common Distinctions
@@ -405,6 +405,66 @@ Items: **54**
- Imports and anchors: `kernel/itc-core`, `model/access-control`, `model/data`, `model/devsecops`, `model/governance`, `model/landscape`, `model/network`, `model/observability`, `model/organization`, `model/security`, `model/task`, `standard/caring`, `standard/tagging` - Imports and anchors: `kernel/itc-core`, `model/access-control`, `model/data`, `model/devsecops`, `model/governance`, `model/landscape`, `model/network`, `model/observability`, `model/organization`, `model/security`, `model/task`, `standard/caring`, `standard/tagging`
- Owned concepts: `Small SaaS System Profile` - Owned concepts: `Small SaaS System Profile`
### Canon Consumer Alignment Review Kit
- ID: `review-kit/alignment`
- Kind: `alignment-review-kit`
- Canonical path: `agent/review-kit/review-kit.yaml`
- Source path: `infospace/agent/review-kit/review-kit.yaml`
- Summary: Reusable kit for consumer repository alignment reviews: Canon Consumer Alignment Review Kit.
- Imports and anchors: `benchmark/caring/kubernetes-rbac`, `kernel/itc-core`, `model/governance`, `model/purpose-demand-extension`, `model/task`, `standard/caring`
- Owned concepts: `Canon Consumer Alignment Review Kit`
### Canon Model And Standard Selection Guide
- ID: `review-kit/alignment/model-selection-guide`
- Kind: `model-selection-guide`
- Canonical path: `agent/review-kit/model-selection-guide.yaml`
- Source path: `infospace/agent/review-kit/model-selection-guide.yaml`
- Summary: Guide for choosing canon models, standards, profiles, and benchmarks: Canon Model And Standard Selection Guide.
- Imports and anchors: `benchmark/caring/kubernetes-rbac`, `model/access-control`, `model/data`, `model/devsecops`, `model/governance`, `model/landscape`, `model/network`, `model/observability`, `model/organization`, `model/purpose-demand-extension`, `model/security`, `model/task`, `profile/small-saas`, `standard/caring`, `standard/tagging`
- Owned concepts: `Canon Model And Standard Selection Guide`
### Consumer Alignment Review Schema
- ID: `review-kit/alignment/schema`
- Kind: `alignment-review-schema`
- Canonical path: `schemas/alignment-review.schema.yaml`
- Source path: `infospace/schemas/alignment-review.schema.yaml`
- Summary: Schema for structured consumer repository alignment reviews: Consumer Alignment Review Schema.
- Imports and anchors: `model/governance`, `model/task`
- Owned concepts: `Consumer Alignment Review Schema`
### Canon Consumer Alignment Scorecard
- ID: `review-kit/alignment/scorecard`
- Kind: `alignment-scorecard`
- Canonical path: `agent/review-kit/scorecard.yaml`
- Source path: `infospace/agent/review-kit/scorecard.yaml`
- Summary: Scorecard dimensions for canon alignment reviews: Canon Consumer Alignment Scorecard.
- Imports and anchors: `model/governance`, `model/task`
- Owned concepts: `Canon Consumer Alignment Scorecard`
### Canon Consumer Alignment Review Workflow
- ID: `review-kit/alignment/workflow`
- Kind: `alignment-review-workflow`
- Canonical path: `agent/review-kit/review-workflow.yaml`
- Source path: `infospace/agent/review-kit/review-workflow.yaml`
- Summary: Repeatable workflow for canon alignment reviews: Canon Consumer Alignment Review Workflow.
- Imports and anchors: `model/governance`, `model/purpose-demand-extension`, `model/task`
- Owned concepts: `Canon Consumer Alignment Review Workflow`
### Consumer Alignment Workplan Template
- ID: `review-kit/alignment/workplan-template`
- Kind: `consumer-workplan-template`
- Canonical path: `agent/templates/consumer-alignment-workplan.template.md`
- Source path: `infospace/agent/templates/consumer-alignment-workplan.template.md`
- Summary: Template for consumer repository alignment workplans: Consumer Alignment Workplan Template.
- Imports and anchors: `model/purpose-demand-extension`, `model/task`
- Owned concepts: `Consumer Alignment Workplan Template`
### Namespace Per Tenant Control ### Namespace Per Tenant Control
- ID: `small-saas/control/namespace-per-tenant` - ID: `small-saas/control/namespace-per-tenant`

View File

@@ -1,6 +1,6 @@
schema: info-tech-canon.retrieval-index.v1 schema: info-tech-canon.retrieval-index.v1
infospace: canon infospace: canon
item_count: 54 item_count: 60
items: items:
- id: benchmark/caring/kubernetes-rbac - id: benchmark/caring/kubernetes-rbac
kind: benchmark-workspace kind: benchmark-workspace
@@ -909,6 +909,178 @@ items:
- type: requires - type: requires
target: standard/caring target: standard/caring
warnings: [] warnings: []
- id: review-kit/alignment
kind: alignment-review-kit
title: Canon Consumer Alignment Review Kit
canonical_path: agent/review-kit/review-kit.yaml
source_path: infospace/agent/review-kit/review-kit.yaml
summary: 'Reusable kit for consumer repository alignment reviews: Canon Consumer
Alignment Review Kit.'
owned_concepts:
- Canon Consumer Alignment Review Kit
imports:
- benchmark/caring/kubernetes-rbac
- kernel/itc-core
- model/governance
- model/purpose-demand-extension
- model/task
- standard/caring
relationships:
- type: conforms_to
target: kernel/itc-core
- type: uses
target: model/purpose-demand-extension
- type: uses
target: model/governance
- type: uses
target: model/task
- type: uses
target: standard/caring
- type: uses
target: benchmark/caring/kubernetes-rbac
warnings: []
- id: review-kit/alignment/model-selection-guide
kind: model-selection-guide
title: Canon Model And Standard Selection Guide
canonical_path: agent/review-kit/model-selection-guide.yaml
source_path: infospace/agent/review-kit/model-selection-guide.yaml
summary: 'Guide for choosing canon models, standards, profiles, and benchmarks:
Canon Model And Standard Selection Guide.'
owned_concepts:
- Canon Model And Standard Selection Guide
imports:
- benchmark/caring/kubernetes-rbac
- model/access-control
- model/data
- model/devsecops
- model/governance
- model/landscape
- model/network
- model/observability
- model/organization
- model/purpose-demand-extension
- model/security
- model/task
- profile/small-saas
- standard/caring
- standard/tagging
relationships:
- type: part_of
target: review-kit/alignment
- type: uses
target: model/access-control
- type: uses
target: model/organization
- type: uses
target: model/governance
- type: uses
target: model/security
- type: uses
target: model/data
- type: uses
target: model/landscape
- type: uses
target: model/devsecops
- type: uses
target: model/network
- type: uses
target: model/observability
- type: uses
target: model/task
- type: uses
target: standard/tagging
- type: uses
target: standard/caring
- type: uses
target: model/purpose-demand-extension
- type: uses
target: profile/small-saas
- type: uses
target: benchmark/caring/kubernetes-rbac
warnings: []
- id: review-kit/alignment/schema
kind: alignment-review-schema
title: Consumer Alignment Review Schema
canonical_path: schemas/alignment-review.schema.yaml
source_path: infospace/schemas/alignment-review.schema.yaml
summary: 'Schema for structured consumer repository alignment reviews: Consumer
Alignment Review Schema.'
owned_concepts:
- Consumer Alignment Review Schema
imports:
- model/governance
- model/task
relationships:
- type: part_of
target: review-kit/alignment
- type: uses
target: model/governance
- type: uses
target: model/task
warnings: []
- id: review-kit/alignment/scorecard
kind: alignment-scorecard
title: Canon Consumer Alignment Scorecard
canonical_path: agent/review-kit/scorecard.yaml
source_path: infospace/agent/review-kit/scorecard.yaml
summary: 'Scorecard dimensions for canon alignment reviews: Canon Consumer Alignment
Scorecard.'
owned_concepts:
- Canon Consumer Alignment Scorecard
imports:
- model/governance
- model/task
relationships:
- type: part_of
target: review-kit/alignment
- type: uses
target: model/governance
- type: uses
target: model/task
warnings: []
- id: review-kit/alignment/workflow
kind: alignment-review-workflow
title: Canon Consumer Alignment Review Workflow
canonical_path: agent/review-kit/review-workflow.yaml
source_path: infospace/agent/review-kit/review-workflow.yaml
summary: 'Repeatable workflow for canon alignment reviews: Canon Consumer Alignment
Review Workflow.'
owned_concepts:
- Canon Consumer Alignment Review Workflow
imports:
- model/governance
- model/purpose-demand-extension
- model/task
relationships:
- type: part_of
target: review-kit/alignment
- type: uses
target: model/purpose-demand-extension
- type: uses
target: model/governance
- type: uses
target: model/task
warnings: []
- id: review-kit/alignment/workplan-template
kind: consumer-workplan-template
title: Consumer Alignment Workplan Template
canonical_path: agent/templates/consumer-alignment-workplan.template.md
source_path: infospace/agent/templates/consumer-alignment-workplan.template.md
summary: 'Template for consumer repository alignment workplans: Consumer Alignment
Workplan Template.'
owned_concepts:
- Consumer Alignment Workplan Template
imports:
- model/purpose-demand-extension
- model/task
relationships:
- type: part_of
target: review-kit/alignment
- type: uses
target: model/task
- type: uses
target: model/purpose-demand-extension
warnings: []
- id: small-saas/control/namespace-per-tenant - id: small-saas/control/namespace-per-tenant
kind: profile-artifact kind: profile-artifact
title: Namespace Per Tenant Control title: Namespace Per Tenant Control

View File

@@ -0,0 +1,108 @@
id: review-kit/alignment/model-selection-guide
title: Canon Model And Standard Selection Guide
status: candidate
created_by_workplan: ITC-WP-0011
selection_principle: Select the smallest canon surface set that explains the repository's producer scope, consumer purposes, current evidence, and intended alignment work.
surfaces:
- id: model/purpose-demand-extension
use_when:
- The review must distinguish producer intent, current scope, consumer purposes, demand signals, scope pressure, or evolution requests.
review_questions:
- What does the producer intend to provide?
- What purposes do consumers bring?
- Which gaps are future-scope requests rather than current defects?
- id: pattern/intent-scope-purposes
use_when:
- INTENT, SCOPE, and PURPOSES boundaries are unclear or mixed in repository documentation.
review_questions:
- Which statements are intent, which are current scope, and which are consumer demand?
- id: model/access-control
use_when:
- The repository defines users, principals, roles, permissions, policies, grants, authentication, authorization, or access reviews.
review_questions:
- Which subjects and principals exist?
- Which grants, entitlements, roles, or decisions are explicit?
- id: model/organization
use_when:
- The repository includes teams, tenants, organizations, responsibility, accountability, ownership, or actor relationships.
review_questions:
- Which organization roles are business responsibility rather than access roles?
- Which actors belong to which organization or tenant context?
- id: model/governance
use_when:
- The repository includes policy, controls, approvals, evidence, review decisions, exceptions, risks, or standards conformance.
review_questions:
- Which claims are approved, proposed, rejected, or under review?
- What evidence supports each governance claim?
- id: model/security
use_when:
- The repository manages threats, vulnerabilities, incidents, exposure, privilege escalation, secrets, or mitigations.
review_questions:
- Which mappings create security findings?
- Which exposures require controls or review?
- id: model/data
use_when:
- The repository handles datasets, information assets, classifications, retention, privacy, lineage, or data access.
review_questions:
- What data is governed or exposed?
- Which data classifications affect access or purpose fit?
- id: model/landscape
use_when:
- The repository describes systems, services, runtimes, platforms, dependencies, environments, or deployment topology.
review_questions:
- What systems and runtime resources does the repo own or affect?
- What is observed runtime state versus design-time declaration?
- id: model/devsecops
use_when:
- The repository contains build, deployment, CI/CD, GitOps, supply chain, release, or platform automation.
review_questions:
- Which automation changes runtime state?
- Which identities and artifacts flow through delivery pipelines?
- id: model/network
use_when:
- The repository includes reachability, ingress, egress, segmentation, service mesh, network policies, or exposure paths.
review_questions:
- What network boundary or exposure is claimed?
- Which claims need runtime or policy evidence?
- id: model/observability
use_when:
- The repository includes logs, metrics, traces, audit evidence, alerts, telemetry, or operational review.
review_questions:
- Which observations support evidence?
- Which signals prove or disprove access, scope, or runtime claims?
- id: model/task
use_when:
- Findings need to become remediation, review, refactor, migration, validation, or follow-up work.
review_questions:
- Which tasks belong in the consumer repo?
- Which tasks belong in the canon repo?
- id: standard/tagging
use_when:
- The repository uses labels, tags, taxonomy, classification, source roles, attributes, status, or mapping categories.
review_questions:
- Which tags are native labels versus canon classifications?
- Which source roles and evidence categories are needed?
- id: standard/caring
use_when:
- Access governance needs orthogonal analysis across subject, organization relation, role, scope, plane, capability, exposure, condition, lifecycle, and restriction.
review_questions:
- What is declared access versus effective access?
- Which native roles are actually capability profiles or assignments?
- id: profile/small-saas
use_when:
- The repository resembles a tenant-aware SaaS service or needs a small practical proof profile.
review_questions:
- Which small-saas artifacts are present or missing?
- Which tenant, policy, control, evidence, and task structures should be aligned?
- id: benchmark/caring/kubernetes-rbac
use_when:
- The repository includes Kubernetes RBAC, service accounts, namespaces, workload identity, secrets, or cluster access.
review_questions:
- Are namespaces being treated as tenant boundaries without evidence?
- Which workload permissions create derived or induced access?
selection_outputs:
- selected_surface_id
- reason_selected
- expected_review_questions
- required_evidence
- likely_workplan_type

View File

@@ -0,0 +1,35 @@
id: review-kit/alignment
title: Canon Consumer Alignment Review Kit
status: candidate
created_by_workplan: ITC-WP-0011
purpose: Provide a repeatable, agent-friendly process for mapping consumer repositories to InfoTechCanon and producing repo-local alignment workplans.
review_modes:
- quick-scan
- full-alignment-review
- focused-domain-review
entrypoints:
cli:
- info-tech-canon review-kit
- info-tech-canon alignment-template
api:
- GET /review-kit
- GET /alignment-template
components:
workflow: review-kit/alignment/workflow
scorecard: review-kit/alignment/scorecard
model_selection_guide: review-kit/alignment/model-selection-guide
schema: review-kit/alignment/schema
consumer_workplan_template: review-kit/alignment/workplan-template
required_outputs:
- repository_context
- selected_canon_surfaces
- mapping_findings
- scorecard
- recommended_workplans
- canon_feedback
operating_rules:
- Consumer repository changes and adoption workplans belong in the consumer repository.
- Canon pressure must be captured explicitly as proposed canon feedback, not as silent model drift.
- Evidence quality and confidence must be recorded separately from reviewer judgment.
- INTENT, SCOPE, and PURPOSES should be checked before proposing alignment work.
- Namespace, role, scope, tenant, evidence, and purpose terms must not be conflated across native systems and canon concepts.

View File

@@ -0,0 +1,100 @@
id: review-kit/alignment/workflow
title: Canon Consumer Alignment Review Workflow
status: candidate
created_by_workplan: ITC-WP-0011
workflow_goal: Turn an unknown or partially understood repository into a source-linked canon alignment assessment and repo-local workplan proposal.
phases:
- id: intake
title: Repository Intake
purpose: Capture what the repository appears to provide before selecting canon surfaces.
inputs:
- README, INTENT, SCOPE, architecture docs, package manifests, tests, API specs, deployment files, and existing workplans.
questions:
- What producer intent does the repository declare?
- What current scope is evidenced by code, docs, tests, and deployment artifacts?
- Who are the likely consumers and what purposes do they bring?
- Which parts are owned by the repository and which are dependencies, adapters, generated assets, or examples?
outputs:
- repository_context
- initial_intent_scope_purpose_notes
- evidence_inventory
- id: surface-selection
title: Canon Surface Selection
purpose: Choose the smallest useful set of models, standards, profiles, benchmarks, and evaluation packs for the review.
inputs:
- repository_context
- model_selection_guide
- retrieval_index
questions:
- Which domain models are directly relevant?
- Which standards or benchmarks should stress-test the review?
- Which existing consumer packs already match the repository shape?
outputs:
- selected_canon_surfaces
- surface_selection_rationale
- id: mapping
title: Repository To Canon Mapping
purpose: Map observed repository concepts, entities, edges, APIs, policies, tasks, and artifacts to canon concepts.
inputs:
- selected_canon_surfaces
- evidence_inventory
questions:
- Which repository concepts map directly?
- Which concepts are partial fits or conflicts?
- Which mappings require stronger evidence?
- Which native terms must be preserved to avoid semantic flattening?
outputs:
- mapping_findings
- evidence_links
- unresolved_questions
- id: scoring
title: Fit Scorecard
purpose: Score alignment consistently enough to compare reviews and prioritize follow-up.
inputs:
- mapping_findings
- scorecard
questions:
- Where is fit strong enough to rely on?
- Which gaps block integration or reuse?
- Which conflicts risk wrong interpretation?
- Which findings are urgent, useful, or merely interesting?
outputs:
- scorecard_results
- prioritized_gaps
- risk_notes
- id: workplan-proposal
title: Consumer Workplan Proposal
purpose: Convert findings into repo-local workplans without moving consumer implementation work into the canon repo.
inputs:
- scorecard_results
- consumer_workplan_template
questions:
- What should the consumer repo change first?
- What validation should prove the alignment improved?
- Which tasks are refactors, documentation, schema changes, data migration, or governance review?
outputs:
- recommended_workplans
- proposed_tasks
- validation_plan
- id: canon-feedback
title: Canon Feedback And Pressure
purpose: Capture where the review suggests canon improvements without altering models or standards silently.
inputs:
- mapping_findings
- unresolved_questions
- scorecard_results
questions:
- Which gaps indicate the canon needs a new concept, profile, pattern, schema, or benchmark?
- Which findings should stay consumer-specific?
- Which proposed canon changes need a separate workplan?
outputs:
- canon_feedback
- proposed_canon_workplans
- open_questions
minimum_review_packet:
- repository_context
- selected_canon_surfaces
- mapping_findings
- scorecard_results
- recommended_workplans
- canon_feedback

View File

@@ -0,0 +1,87 @@
id: review-kit/alignment/scorecard
title: Canon Consumer Alignment Scorecard
status: candidate
created_by_workplan: ITC-WP-0011
rating_scale:
- id: "0"
label: absent
meaning: No useful evidence or mapping exists.
- id: "1"
label: weak
meaning: Early or ambiguous evidence exists but cannot guide implementation safely.
- id: "2"
label: partial
meaning: Useful alignment exists, with gaps or caveats that need work.
- id: "3"
label: strong
meaning: The repository maps cleanly enough for practical use.
- id: "4"
label: canonical
meaning: The repository can act as an exemplar, reusable pattern, or benchmark input.
dimensions:
- id: fit
title: Canon Fit
question: How well does the repository map to selected canon models, standards, profiles, and benchmarks?
evidence_required:
- direct mappings
- partial mappings
- unmapped native concepts
- id: gaps
title: Alignment Gaps
question: Which missing artifacts, schemas, tests, relationships, decisions, or concepts block reliable canon use?
evidence_required:
- missing surfaces
- missing validation
- missing governance or evidence
- id: conflicts
title: Semantic Conflicts
question: Which repository terms or structures conflict with canon meaning or risk flattening distinct concepts?
evidence_required:
- conflicting names
- overloaded scopes
- native terms with non-canonical meanings
- id: evidence-quality
title: Evidence Quality
question: How strong, current, and source-linked is the evidence behind each mapping or claim?
evidence_required:
- source files
- tests
- generated outputs
- review decisions
- id: implementation-priority
title: Implementation Priority
question: Which alignment work should be done first to increase practical utility?
evidence_required:
- consumer need
- blast radius
- implementation cost
- risk reduction
- id: canon-pressure
title: Canon Pressure
question: Which findings suggest the canon itself should learn, extend, or clarify something?
evidence_required:
- repeated gaps
- useful new concepts
- profile or schema pressure
- unresolved standard boundaries
- id: workplan-readiness
title: Consumer Workplan Readiness
question: Are the proposed repo-local tasks clear, scoped, testable, and anchored in evidence?
evidence_required:
- task list
- acceptance criteria
- validation path
- ownership boundary
decision_bands:
- id: ready-to-adopt
rule: Most dimensions are strong or canonical, and workplan readiness is strong.
action: Create consumer-repo adoption workplan and track residual gaps.
- id: ready-to-improve
rule: Fit is partial or strong, but gaps, conflicts, or evidence quality need work.
action: Create consumer-repo improvement workplan.
- id: needs-discovery
rule: Fit, evidence quality, or surface selection is weak.
action: Create discovery or assessment workplan before implementation.
- id: canon-feedback-needed
rule: Canon pressure is high or repeated across reviews.
action: Create or propose a canon workplan instead of changing standards inline.

View File

@@ -0,0 +1,88 @@
---
id: "{{WORKPLAN_ID}}"
type: workplan
title: "{{TITLE}}"
domain: "{{DOMAIN}}"
repo: "{{CONSUMER_REPO}}"
status: proposed
priority: "{{PRIORITY}}"
created: "{{DATE}}"
updated: "{{DATE}}"
canon_alignment_review_id: "{{ALIGNMENT_REVIEW_ID}}"
---
# {{WORKPLAN_ID}} - {{TITLE}}
## Goal
Describe the alignment outcome this consumer repository should reach.
## Current Fit
- Canon surfaces reviewed:
- Existing direct fits:
- Existing partial fits:
- Evidence used:
## Target Alignment
- Target canon surfaces:
- Expected repository shape after this workplan:
- Interfaces, schemas, docs, or generated outputs to add or change:
## Migration Steps
1. Update repository artifacts that express intent, scope, purpose, or domain model.
2. Add or adjust structured mappings to canon concepts.
3. Add evidence links, tests, generated outputs, or review decisions.
4. Update consumer-facing docs and agent entrypoints.
## Validation
- Local validation commands:
- Canon alignment checks:
- Expected artifacts:
- Evidence that proves the work is done:
## Open Questions
- Questions for the consumer repo:
- Questions for InfoTechCanon:
## Canon Feedback
- Canon pressure:
- Proposed canon workplans:
- Findings that should remain consumer-specific:
## Tasks
### T01 - Establish alignment baseline
```task
id: "{{WORKPLAN_ID}}-T01"
status: todo
priority: high
```
- Capture current repository evidence and direct canon mappings.
### T02 - Implement target alignment
```task
id: "{{WORKPLAN_ID}}-T02"
status: todo
priority: high
```
- Apply the agreed repo-local changes.
### T03 - Validate and document
```task
id: "{{WORKPLAN_ID}}-T03"
status: todo
priority: medium
```
- Run validation, update docs, and record canon feedback.

View File

@@ -334,6 +334,124 @@ artifacts:
target: model/governance target: model/governance
- type: proposes - type: proposes
target: model/security target: model/security
- id: review-kit/alignment
path: agent/review-kit/review-kit.yaml
kind: alignment-review-kit
title: Canon Consumer Alignment Review Kit
provenance:
source_path: infospace/agent/review-kit/review-kit.yaml
placement_workplan: ITC-WP-0011
relationships:
- type: conforms_to
target: kernel/itc-core
- type: uses
target: model/purpose-demand-extension
- type: uses
target: model/governance
- type: uses
target: model/task
- type: uses
target: standard/caring
- type: uses
target: benchmark/caring/kubernetes-rbac
- id: review-kit/alignment/workflow
path: agent/review-kit/review-workflow.yaml
kind: alignment-review-workflow
title: Canon Consumer Alignment Review Workflow
provenance:
source_path: infospace/agent/review-kit/review-workflow.yaml
placement_workplan: ITC-WP-0011
relationships:
- type: part_of
target: review-kit/alignment
- type: uses
target: model/purpose-demand-extension
- type: uses
target: model/governance
- type: uses
target: model/task
- id: review-kit/alignment/scorecard
path: agent/review-kit/scorecard.yaml
kind: alignment-scorecard
title: Canon Consumer Alignment Scorecard
provenance:
source_path: infospace/agent/review-kit/scorecard.yaml
placement_workplan: ITC-WP-0011
relationships:
- type: part_of
target: review-kit/alignment
- type: uses
target: model/governance
- type: uses
target: model/task
- id: review-kit/alignment/model-selection-guide
path: agent/review-kit/model-selection-guide.yaml
kind: model-selection-guide
title: Canon Model And Standard Selection Guide
provenance:
source_path: infospace/agent/review-kit/model-selection-guide.yaml
placement_workplan: ITC-WP-0011
relationships:
- type: part_of
target: review-kit/alignment
- type: uses
target: model/access-control
- type: uses
target: model/organization
- type: uses
target: model/governance
- type: uses
target: model/security
- type: uses
target: model/data
- type: uses
target: model/landscape
- type: uses
target: model/devsecops
- type: uses
target: model/network
- type: uses
target: model/observability
- type: uses
target: model/task
- type: uses
target: standard/tagging
- type: uses
target: standard/caring
- type: uses
target: model/purpose-demand-extension
- type: uses
target: profile/small-saas
- type: uses
target: benchmark/caring/kubernetes-rbac
- id: review-kit/alignment/schema
path: schemas/alignment-review.schema.yaml
kind: alignment-review-schema
title: Consumer Alignment Review Schema
provenance:
source_path: infospace/schemas/alignment-review.schema.yaml
placement_workplan: ITC-WP-0011
relationships:
- type: part_of
target: review-kit/alignment
- type: uses
target: model/governance
- type: uses
target: model/task
- id: review-kit/alignment/workplan-template
path: agent/templates/consumer-alignment-workplan.template.md
kind: consumer-workplan-template
title: Consumer Alignment Workplan Template
provenance:
source_path: infospace/agent/templates/consumer-alignment-workplan.template.md
placement_workplan: ITC-WP-0011
relationships:
- type: part_of
target: review-kit/alignment
- type: uses
target: model/task
- type: uses
target: model/purpose-demand-extension
- id: profile/small-saas - id: profile/small-saas
path: profiles/small-saas/profile.yaml path: profiles/small-saas/profile.yaml
kind: profile kind: profile

View File

@@ -1,5 +1,5 @@
root: infospace root: infospace
file_count: 142 file_count: 154
files: files:
- path: README.md - path: README.md
directory: . directory: .
@@ -124,6 +124,24 @@ files:
- 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
- path: agent/briefs/review-kit-alignment-model-selection-guide.md
directory: agent/briefs
name: review-kit-alignment-model-selection-guide.md
- path: agent/briefs/review-kit-alignment-schema.md
directory: agent/briefs
name: review-kit-alignment-schema.md
- path: agent/briefs/review-kit-alignment-scorecard.md
directory: agent/briefs
name: review-kit-alignment-scorecard.md
- path: agent/briefs/review-kit-alignment-workflow.md
directory: agent/briefs
name: review-kit-alignment-workflow.md
- path: agent/briefs/review-kit-alignment-workplan-template.md
directory: agent/briefs
name: review-kit-alignment-workplan-template.md
- path: agent/briefs/review-kit-alignment.md
directory: agent/briefs
name: review-kit-alignment.md
- path: agent/briefs/standard-caring.md - path: agent/briefs/standard-caring.md
directory: agent/briefs directory: agent/briefs
name: standard-caring.md name: standard-caring.md
@@ -151,9 +169,24 @@ files:
- path: agent/retrieval-index.yaml - path: agent/retrieval-index.yaml
directory: agent directory: agent
name: retrieval-index.yaml name: retrieval-index.yaml
- path: agent/review-kit/model-selection-guide.yaml
directory: agent/review-kit
name: model-selection-guide.yaml
- path: agent/review-kit/review-kit.yaml
directory: agent/review-kit
name: review-kit.yaml
- path: agent/review-kit/review-workflow.yaml
directory: agent/review-kit
name: review-workflow.yaml
- path: agent/review-kit/scorecard.yaml
directory: agent/review-kit
name: scorecard.yaml
- path: agent/templates/canon-interface-card.template.yaml - path: agent/templates/canon-interface-card.template.yaml
directory: agent/templates directory: agent/templates
name: canon-interface-card.template.yaml name: canon-interface-card.template.yaml
- path: agent/templates/consumer-alignment-workplan.template.md
directory: agent/templates
name: consumer-alignment-workplan.template.md
- path: agent/templates/consumer-brief.template.md - path: agent/templates/consumer-brief.template.md
directory: agent/templates directory: agent/templates
name: consumer-brief.template.md name: consumer-brief.template.md
@@ -349,6 +382,9 @@ files:
- path: schemas/agent-brief.schema.yaml - path: schemas/agent-brief.schema.yaml
directory: schemas directory: schemas
name: agent-brief.schema.yaml name: agent-brief.schema.yaml
- path: schemas/alignment-review.schema.yaml
directory: schemas
name: alignment-review.schema.yaml
- path: schemas/assimilation.schema.yaml - path: schemas/assimilation.schema.yaml
directory: schemas directory: schemas
name: assimilation.schema.yaml name: assimilation.schema.yaml

View File

@@ -1,4 +1,4 @@
concept_count: 79 concept_count: 85
concepts: concepts:
- concept: CARING Kubernetes RBAC Benchmark - concept: CARING Kubernetes RBAC Benchmark
owner: benchmark/caring/kubernetes-rbac owner: benchmark/caring/kubernetes-rbac
@@ -196,6 +196,30 @@ concepts:
owner: profile/small-saas owner: profile/small-saas
path: profiles/small-saas/profile.yaml path: profiles/small-saas/profile.yaml
source: artifact_title source: artifact_title
- concept: Canon Consumer Alignment Review Kit
owner: review-kit/alignment
path: agent/review-kit/review-kit.yaml
source: artifact_title
- concept: Canon Model And Standard Selection Guide
owner: review-kit/alignment/model-selection-guide
path: agent/review-kit/model-selection-guide.yaml
source: artifact_title
- concept: Consumer Alignment Review Schema
owner: review-kit/alignment/schema
path: schemas/alignment-review.schema.yaml
source: artifact_title
- concept: Canon Consumer Alignment Scorecard
owner: review-kit/alignment/scorecard
path: agent/review-kit/scorecard.yaml
source: artifact_title
- concept: Canon Consumer Alignment Review Workflow
owner: review-kit/alignment/workflow
path: agent/review-kit/review-workflow.yaml
source: artifact_title
- concept: Consumer Alignment Workplan Template
owner: review-kit/alignment/workplan-template
path: agent/templates/consumer-alignment-workplan.template.md
source: artifact_title
- concept: Namespace Per Tenant Control - concept: Namespace Per Tenant Control
owner: small-saas/control/namespace-per-tenant owner: small-saas/control/namespace-per-tenant
path: profiles/small-saas/artifacts/control.namespace-per-tenant.yaml path: profiles/small-saas/artifacts/control.namespace-per-tenant.yaml

View File

@@ -38,6 +38,12 @@ artifacts:
- model/task - model/task
- pattern/intent-scope-purposes - pattern/intent-scope-purposes
- profile/small-saas - profile/small-saas
- review-kit/alignment
- review-kit/alignment/model-selection-guide
- review-kit/alignment/schema
- review-kit/alignment/scorecard
- review-kit/alignment/workflow
- review-kit/alignment/workplan-template
- small-saas/control/namespace-per-tenant - small-saas/control/namespace-per-tenant
- small-saas/dataset/subscription-ledger - small-saas/dataset/subscription-ledger
- small-saas/deployment/production - small-saas/deployment/production
@@ -472,6 +478,88 @@ rows:
- requires - requires
standard/tagging: standard/tagging:
- requires - requires
- artifact: review-kit/alignment
targets:
benchmark/caring/kubernetes-rbac:
- uses
kernel/itc-core:
- conforms_to
model/governance:
- uses
model/purpose-demand-extension:
- uses
model/task:
- uses
standard/caring:
- uses
- artifact: review-kit/alignment/model-selection-guide
targets:
benchmark/caring/kubernetes-rbac:
- uses
model/access-control:
- uses
model/data:
- uses
model/devsecops:
- uses
model/governance:
- uses
model/landscape:
- uses
model/network:
- uses
model/observability:
- uses
model/organization:
- uses
model/purpose-demand-extension:
- uses
model/security:
- uses
model/task:
- uses
profile/small-saas:
- uses
review-kit/alignment:
- part_of
standard/caring:
- uses
standard/tagging:
- uses
- artifact: review-kit/alignment/schema
targets:
model/governance:
- uses
model/task:
- uses
review-kit/alignment:
- part_of
- artifact: review-kit/alignment/scorecard
targets:
model/governance:
- uses
model/task:
- uses
review-kit/alignment:
- part_of
- artifact: review-kit/alignment/workflow
targets:
model/governance:
- uses
model/purpose-demand-extension:
- uses
model/task:
- uses
review-kit/alignment:
- part_of
- artifact: review-kit/alignment/workplan-template
targets:
model/purpose-demand-extension:
- uses
model/task:
- uses
review-kit/alignment:
- part_of
- artifact: small-saas/control/namespace-per-tenant - artifact: small-saas/control/namespace-per-tenant
targets: targets:
model/security: model/security:

View File

@@ -0,0 +1,217 @@
$schema: https://json-schema.org/draft/2020-12/schema
$id: https://info-tech-canon.local/schemas/alignment-review.schema.yaml
title: InfoTechCanon Consumer Alignment Review
type: object
required:
- id
- title
- repository
- reviewer
- review_mode
- repository_context
- selected_canon_surfaces
- mapping_findings
- scorecard
- recommended_workplans
- canon_feedback
properties:
id:
type: string
title:
type: string
repository:
type: object
required:
- slug
- path_or_url
properties:
slug:
type: string
path_or_url:
type: string
branch:
type: string
commit:
type: string
additionalProperties: true
reviewer:
type: object
required:
- name
- reviewed_at
properties:
name:
type: string
reviewed_at:
type: string
method:
type: string
additionalProperties: true
review_mode:
enum:
- quick-scan
- full-alignment-review
- focused-domain-review
repository_context:
type: object
required:
- producer_intent
- current_scope
- consumer_purposes
- evidence_inventory
properties:
producer_intent:
type: array
items:
type: string
current_scope:
type: array
items:
type: string
consumer_purposes:
type: array
items:
type: string
evidence_inventory:
type: array
items:
type: object
required:
- source
- role
properties:
source:
type: string
role:
type: string
notes:
type: string
additionalProperties: true
additionalProperties: true
selected_canon_surfaces:
type: array
items:
type: object
required:
- id
- reason_selected
properties:
id:
type: string
reason_selected:
type: string
required_evidence:
type: array
items:
type: string
additionalProperties: true
mapping_findings:
type: array
items:
type: object
required:
- id
- source_concept
- canon_target
- fit
- evidence
properties:
id:
type: string
source_concept:
type: string
canon_target:
type: string
fit:
enum:
- direct
- partial
- conflict
- gap
- unknown
evidence:
type: array
items:
type: string
notes:
type: string
additionalProperties: true
scorecard:
type: array
items:
type: object
required:
- dimension
- rating
- rationale
properties:
dimension:
type: string
rating:
type: integer
minimum: 0
maximum: 4
rationale:
type: string
evidence:
type: array
items:
type: string
additionalProperties: true
recommended_workplans:
type: array
items:
type: object
required:
- id
- title
- target_repo
- priority
- rationale
properties:
id:
type: string
title:
type: string
target_repo:
type: string
priority:
enum:
- low
- medium
- high
- critical
rationale:
type: string
tasks:
type: array
items:
type: string
additionalProperties: true
canon_feedback:
type: array
items:
type: object
required:
- id
- feedback_type
- summary
properties:
id:
type: string
feedback_type:
enum:
- no-change
- open-question
- proposed-profile
- proposed-pattern
- proposed-schema
- proposed-model-change
- proposed-standard-change
- benchmark-pressure
summary:
type: string
proposed_owner:
type: string
additionalProperties: true
additionalProperties: true

View File

@@ -15,3 +15,5 @@ schemas:
path: agent-brief.schema.yaml path: agent-brief.schema.yaml
- id: workplan - id: workplan
path: workplan.schema.yaml path: workplan.schema.yaml
- id: alignment-review
path: alignment-review.schema.yaml

View File

@@ -1,14 +1,14 @@
{ {
"details": { "details": {
"artifact_count": 54, "artifact_count": 60,
"relationship_count": 238 "relationship_count": 273
}, },
"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": 3.9972143235892474, "granularity_entropy": 4.32498473489172,
"redundancy_ratio": 0.0 "redundancy_ratio": 0.0
}, },
"ok": true, "ok": true,

View File

@@ -2,7 +2,7 @@
# By Concept # By Concept
Concept count: **79** Concept count: **85**
| Concept | Owner | Source | | Concept | Owner | Source |
| --- | --- | --- | | --- | --- | --- |
@@ -55,6 +55,12 @@ Concept count: **79**
| Intent Scope Purposes Pattern | `pattern/intent-scope-purposes` | `artifact_title` | | Intent Scope Purposes Pattern | `pattern/intent-scope-purposes` | `artifact_title` |
| IntentScopePurposePattern | `pattern/intent-scope-purposes` | `frontmatter.owned_concepts` | | 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` |
| Canon Consumer Alignment Review Kit | `review-kit/alignment` | `artifact_title` |
| Canon Model And Standard Selection Guide | `review-kit/alignment/model-selection-guide` | `artifact_title` |
| Consumer Alignment Review Schema | `review-kit/alignment/schema` | `artifact_title` |
| Canon Consumer Alignment Scorecard | `review-kit/alignment/scorecard` | `artifact_title` |
| Canon Consumer Alignment Review Workflow | `review-kit/alignment/workflow` | `artifact_title` |
| Consumer Alignment Workplan Template | `review-kit/alignment/workplan-template` | `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` |
| Production Deployment | `small-saas/deployment/production` | `artifact_title` | | Production Deployment | `small-saas/deployment/production` | `artifact_title` |

View File

@@ -8,6 +8,8 @@
- `benchmark/caring/kubernetes-rbac/caring-mapping` via `part_of` - `benchmark/caring/kubernetes-rbac/caring-mapping` via `part_of`
- `benchmark/caring/kubernetes-rbac/findings` via `part_of` - `benchmark/caring/kubernetes-rbac/findings` via `part_of`
- `benchmark/caring/kubernetes-rbac/native-concepts` via `part_of` - `benchmark/caring/kubernetes-rbac/native-concepts` via `part_of`
- `review-kit/alignment` via `uses`
- `review-kit/alignment/model-selection-guide` via `uses`
## `comparison/repo-scoping/report` ## `comparison/repo-scoping/report`
@@ -59,6 +61,7 @@
- `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`
- `review-kit/alignment` via `conforms_to`
- `standard/caring` via `conforms_to` - `standard/caring` via `conforms_to`
- `standard/tagging` via `conforms_to` - `standard/tagging` via `conforms_to`
@@ -74,6 +77,7 @@
- `kernel/itc-kernel-map` via `maps` - `kernel/itc-kernel-map` via `maps`
- `model/security` via `uses` - `model/security` via `uses`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment/model-selection-guide` via `uses`
- `small-saas/user/ada-admin` via `uses` - `small-saas/user/ada-admin` via `uses`
- `standard/caring` via `imports` - `standard/caring` via `imports`
@@ -86,6 +90,7 @@
- `evaluation/user-engine/questions` via `uses` - `evaluation/user-engine/questions` via `uses`
- `kernel/itc-kernel-map` via `maps` - `kernel/itc-kernel-map` via `maps`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment/model-selection-guide` via `uses`
- `small-saas/dataset/subscription-ledger` via `uses` - `small-saas/dataset/subscription-ledger` via `uses`
- `standard/caring` via `imports` - `standard/caring` via `imports`
@@ -98,6 +103,7 @@
- `conformance/railiance-fabric/mapping-expectations` via `maps` - `conformance/railiance-fabric/mapping-expectations` via `maps`
- `kernel/itc-kernel-map` via `maps` - `kernel/itc-kernel-map` via `maps`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment/model-selection-guide` via `uses`
- `small-saas/deployment/production` via `uses` - `small-saas/deployment/production` via `uses`
- `standard/caring` via `imports` - `standard/caring` via `imports`
@@ -124,6 +130,11 @@
- `model/purpose-demand-extension` via `extends` - `model/purpose-demand-extension` via `extends`
- `pattern/intent-scope-purposes` via `uses` - `pattern/intent-scope-purposes` via `uses`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment` via `uses`
- `review-kit/alignment/model-selection-guide` via `uses`
- `review-kit/alignment/schema` via `uses`
- `review-kit/alignment/scorecard` via `uses`
- `review-kit/alignment/workflow` via `uses`
- `small-saas/policy/tenant-isolation` via `uses` - `small-saas/policy/tenant-isolation` via `uses`
- `standard/caring` via `imports` - `standard/caring` via `imports`
@@ -143,6 +154,7 @@
- `conformance/railiance-fabric/mapping-expectations` via `maps` - `conformance/railiance-fabric/mapping-expectations` via `maps`
- `kernel/itc-kernel-map` via `maps` - `kernel/itc-kernel-map` via `maps`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment/model-selection-guide` via `uses`
- `small-saas/service/billing-portal` via `uses` - `small-saas/service/billing-portal` via `uses`
- `small-saas/system/billing-system` via `uses` - `small-saas/system/billing-system` via `uses`
@@ -154,6 +166,7 @@
- `conformance/railiance-fabric/mapping-expectations` via `maps` - `conformance/railiance-fabric/mapping-expectations` via `maps`
- `kernel/itc-kernel-map` via `maps` - `kernel/itc-kernel-map` via `maps`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment/model-selection-guide` via `uses`
- `small-saas/deployment/production` via `uses` - `small-saas/deployment/production` via `uses`
- `standard/caring` via `imports` - `standard/caring` via `imports`
@@ -165,6 +178,7 @@
- `conformance/railiance-fabric/mapping-expectations` via `maps` - `conformance/railiance-fabric/mapping-expectations` via `maps`
- `kernel/itc-kernel-map` via `maps` - `kernel/itc-kernel-map` via `maps`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment/model-selection-guide` via `uses`
- `small-saas/evidence/access-review-2026-05` via `uses` - `small-saas/evidence/access-review-2026-05` via `uses`
- `standard/caring` via `imports` - `standard/caring` via `imports`
@@ -176,6 +190,7 @@
- `kernel/itc-kernel-map` via `maps` - `kernel/itc-kernel-map` via `maps`
- `model/access-control` via `uses` - `model/access-control` via `uses`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment/model-selection-guide` via `uses`
- `small-saas/team/platform` via `uses` - `small-saas/team/platform` via `uses`
- `small-saas/tenant/acme` via `uses` - `small-saas/tenant/acme` via `uses`
- `small-saas/tenant/globex` via `uses` - `small-saas/tenant/globex` via `uses`
@@ -200,6 +215,10 @@
- `example/consumer-purpose-portfolio` via `illustrates` - `example/consumer-purpose-portfolio` via `illustrates`
- `mapping/purpose-demand-governance-candidates` via `maps` - `mapping/purpose-demand-governance-candidates` via `maps`
- `pattern/intent-scope-purposes` via `implements` - `pattern/intent-scope-purposes` via `implements`
- `review-kit/alignment` via `uses`
- `review-kit/alignment/model-selection-guide` via `uses`
- `review-kit/alignment/workflow` via `uses`
- `review-kit/alignment/workplan-template` via `uses`
## `model/security` ## `model/security`
@@ -216,6 +235,7 @@
- `model/devsecops` via `uses` - `model/devsecops` via `uses`
- `model/network` via `uses` - `model/network` via `uses`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment/model-selection-guide` via `uses`
- `small-saas/control/namespace-per-tenant` via `uses` - `small-saas/control/namespace-per-tenant` via `uses`
- `small-saas/incident/cross-tenant-access-attempt` via `uses` - `small-saas/incident/cross-tenant-access-attempt` via `uses`
- `standard/caring` via `imports` - `standard/caring` via `imports`
@@ -236,6 +256,12 @@
- `model/purpose-demand-extension` via `uses` - `model/purpose-demand-extension` via `uses`
- `pattern/intent-scope-purposes` via `uses` - `pattern/intent-scope-purposes` via `uses`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment` via `uses`
- `review-kit/alignment/model-selection-guide` via `uses`
- `review-kit/alignment/schema` via `uses`
- `review-kit/alignment/scorecard` via `uses`
- `review-kit/alignment/workflow` via `uses`
- `review-kit/alignment/workplan-template` via `uses`
- `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`
@@ -250,6 +276,7 @@
- `evaluation/user-engine` via `evaluates` - `evaluation/user-engine` via `evaluates`
- `evaluation/user-engine/small-saas-alignment` via `evaluates` - `evaluation/user-engine/small-saas-alignment` via `evaluates`
- `example/consumer-purpose-portfolio` via `uses` - `example/consumer-purpose-portfolio` via `uses`
- `review-kit/alignment/model-selection-guide` 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`
@@ -264,6 +291,14 @@
- `small-saas/tenant/globex` via `instantiates` - `small-saas/tenant/globex` via `instantiates`
- `small-saas/user/ada-admin` via `instantiates` - `small-saas/user/ada-admin` via `instantiates`
## `review-kit/alignment`
- `review-kit/alignment/model-selection-guide` via `part_of`
- `review-kit/alignment/schema` via `part_of`
- `review-kit/alignment/scorecard` via `part_of`
- `review-kit/alignment/workflow` via `part_of`
- `review-kit/alignment/workplan-template` via `part_of`
## `small-saas/control/namespace-per-tenant` ## `small-saas/control/namespace-per-tenant`
- `small-saas/deployment/production` via `implements` - `small-saas/deployment/production` via `implements`
@@ -328,6 +363,8 @@
- `evaluation/user-engine/interface-card-expectations` via `uses` - `evaluation/user-engine/interface-card-expectations` via `uses`
- `kernel/itc-kernel-map` via `maps` - `kernel/itc-kernel-map` via `maps`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment` via `uses`
- `review-kit/alignment/model-selection-guide` via `uses`
- `small-saas/control/namespace-per-tenant` via `uses` - `small-saas/control/namespace-per-tenant` via `uses`
## `standard/tagging` ## `standard/tagging`
@@ -337,4 +374,5 @@
- `conformance/railiance-fabric` via `uses` - `conformance/railiance-fabric` via `uses`
- `kernel/itc-kernel-map` via `maps` - `kernel/itc-kernel-map` via `maps`
- `profile/small-saas` via `requires` - `profile/small-saas` via `requires`
- `review-kit/alignment/model-selection-guide` via `uses`
- `standard/caring` via `imports` - `standard/caring` via `imports`

View File

@@ -2,59 +2,65 @@
# Import Matrix # Import Matrix
| Artifact | `benchmark/caring/kubernetes-rbac` | `benchmark/caring/kubernetes-rbac/access-descriptors` | `benchmark/caring/kubernetes-rbac/caring-mapping` | `benchmark/caring/kubernetes-rbac/findings` | `benchmark/caring/kubernetes-rbac/native-concepts` | `comparison/repo-scoping/canon-benefit-analysis` | `comparison/repo-scoping/consumer-workplan-brief` | `comparison/repo-scoping/extension-candidates` | `comparison/repo-scoping/frame` | `comparison/repo-scoping/report` | `concept-catalog/purpose-demand` | `conformance/railiance-fabric` | `conformance/railiance-fabric/consumer-workplan-brief` | `conformance/railiance-fabric/entity-edge-capture-criteria` | `conformance/railiance-fabric/mapping-expectations` | `conformance/railiance-fabric/visualization-examples` | `evaluation/user-engine` | `evaluation/user-engine/consumer-workplan-brief` | `evaluation/user-engine/interface-card-expectations` | `evaluation/user-engine/questions` | `evaluation/user-engine/small-saas-alignment` | `example/consumer-purpose-portfolio` | `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` | | Artifact | `benchmark/caring/kubernetes-rbac` | `benchmark/caring/kubernetes-rbac/access-descriptors` | `benchmark/caring/kubernetes-rbac/caring-mapping` | `benchmark/caring/kubernetes-rbac/findings` | `benchmark/caring/kubernetes-rbac/native-concepts` | `comparison/repo-scoping/canon-benefit-analysis` | `comparison/repo-scoping/consumer-workplan-brief` | `comparison/repo-scoping/extension-candidates` | `comparison/repo-scoping/frame` | `comparison/repo-scoping/report` | `concept-catalog/purpose-demand` | `conformance/railiance-fabric` | `conformance/railiance-fabric/consumer-workplan-brief` | `conformance/railiance-fabric/entity-edge-capture-criteria` | `conformance/railiance-fabric/mapping-expectations` | `conformance/railiance-fabric/visualization-examples` | `evaluation/user-engine` | `evaluation/user-engine/consumer-workplan-brief` | `evaluation/user-engine/interface-card-expectations` | `evaluation/user-engine/questions` | `evaluation/user-engine/small-saas-alignment` | `example/consumer-purpose-portfolio` | `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` | `review-kit/alignment` | `review-kit/alignment/model-selection-guide` | `review-kit/alignment/schema` | `review-kit/alignment/scorecard` | `review-kit/alignment/workflow` | `review-kit/alignment/workplan-template` | `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` |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| `benchmark/caring/kubernetes-rbac` | | | | | | | | | | | | | | | | | | | | | | | | | | `stress_tests` | | `stress_tests` | `stress_tests` | | | `stress_tests` | `stress_tests` | | | `stress_tests` | | | | | | | | | | | | | | | | | `conforms_to` | `uses` | | `benchmark/caring/kubernetes-rbac` | | | | | | | | | | | | | | | | | | | | | | | | | | `stress_tests` | | `stress_tests` | `stress_tests` | | | `stress_tests` | `stress_tests` | | | `stress_tests` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | `uses` |
| `benchmark/caring/kubernetes-rbac/access-descriptors` | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | | | | | | | | `uses` | | | | | | | | | | | | | | | | | `uses` | | | `benchmark/caring/kubernetes-rbac/access-descriptors` | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | `uses` | |
| `benchmark/caring/kubernetes-rbac/caring-mapping` | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | `maps` | | | | | | | `maps` | | | | | | | | | | | | | | | | | `maps` | | | `benchmark/caring/kubernetes-rbac/caring-mapping` | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | `maps` | | | | | | | `maps` | | | | | | | | | | | | | | | | | | | | | | | `maps` | |
| `benchmark/caring/kubernetes-rbac/findings` | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `proposes` | | | | | | | `proposes` | | | | | | | | | | | | | | | | | `proposes` | | | `benchmark/caring/kubernetes-rbac/findings` | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `proposes` | | | | | | | `proposes` | | | | | | | | | | | | | | | | | | | | | | | `proposes` | |
| `benchmark/caring/kubernetes-rbac/native-concepts` | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | `maps` | | | | | | | | | | | | | | | | | | | | | | `maps` | | | `benchmark/caring/kubernetes-rbac/native-concepts` | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | `maps` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | |
| `comparison/repo-scoping/canon-benefit-analysis` | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `maps` | `maps` | | | | | `maps` | | `maps` | | | | | | | | | | | | | | | | | `maps` | | `comparison/repo-scoping/canon-benefit-analysis` | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `maps` | `maps` | | | | | `maps` | | `maps` | | | | | | | | | | | | | | | | | | | | | | | `maps` |
| `comparison/repo-scoping/consumer-workplan-brief` | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | `comparison/repo-scoping/consumer-workplan-brief` | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
| `comparison/repo-scoping/extension-candidates` | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `proposes` | `proposes` | | | | | `proposes` | | `proposes` | | | | | | | | | | | | | | | | | | | `comparison/repo-scoping/extension-candidates` | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `proposes` | `proposes` | | | | | `proposes` | | `proposes` | | | | | | | | | | | | | | | | | | | | | | | |
| `comparison/repo-scoping/frame` | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | `comparison/repo-scoping/frame` | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | |
| `comparison/repo-scoping/report` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | | | | | `compares` | | `uses` | `uses` | | | | | | | | | | | | | | | | | | `comparison/repo-scoping/report` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | | | | | `compares` | | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | |
| `concept-catalog/purpose-demand` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | `concept-catalog/purpose-demand` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `conformance/railiance-fabric` | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | `uses` | | `conformance/railiance-fabric` | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | `uses` |
| `conformance/railiance-fabric/consumer-workplan-brief` | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | `conformance/railiance-fabric/consumer-workplan-brief` | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
| `conformance/railiance-fabric/entity-edge-capture-criteria` | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | | `conformance/railiance-fabric/entity-edge-capture-criteria` | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | |
| `conformance/railiance-fabric/mapping-expectations` | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | `maps` | `maps` | `maps` | | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | | | | | `conformance/railiance-fabric/mapping-expectations` | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | `maps` | `maps` | `maps` | | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | | | | | | | | | |
| `conformance/railiance-fabric/visualization-examples` | | | | | | | | | | | | `part_of` | | `illustrates` | `illustrates` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `conformance/railiance-fabric/visualization-examples` | | | | | | | | | | | | `part_of` | | `illustrates` | `illustrates` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `evaluation/user-engine` | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | | `uses` | | | | | `uses` | `uses` | `uses` | `uses` | | `evaluates` | | | | | | | | | | | | | | `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/consumer-workplan-brief` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | |
| `evaluation/user-engine/interface-card-expectations` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | `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/questions` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | `uses` | `uses` | | `uses` | | | | | `uses` | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | | | | | | |
| `evaluation/user-engine/small-saas-alignment` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | `uses` | | | `uses` | | | | | `uses` | | | | | `evaluates` | | | | | | | | | | | | | | | | | `evaluation/user-engine/small-saas-alignment` | | | | | | | | | | | | | | | | | `part_of` | | | | | | | | | `uses` | | | `uses` | | | | | `uses` | | | | | `evaluates` | | | | | | | | | | | | | | | | | | | | | |
| `example/consumer-purpose-portfolio` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `illustrates` | | | `illustrates` | `uses` | | | | | | | | | | | | | | | | | `example/consumer-purpose-portfolio` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `illustrates` | | | `illustrates` | `uses` | | | | | | | | | | | | | | | | | | | | | |
| `kernel/itc-core` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `kernel/itc-core` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `kernel/itc-kernel-map` | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | `maps` | `maps` | | `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` | | | | | | | | | | | | | | | | | | | `mapping/purpose-demand-governance-candidates` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | | `maps` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | |
| `model/access-control` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | `model/access-control` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `model/data` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | `model/data` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `model/devsecops` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | `model/devsecops` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | |
| `model/governance` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `model/governance` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `model/information-space` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `model/information-space` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `model/landscape` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `model/landscape` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `model/network` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | `model/network` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | |
| `model/observability` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | `model/observability` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | |
| `model/organization` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `model/organization` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `model/purpose-demand-extension` | | | | | | | | | | | `introduces` | | | | | | | | | | | | `conforms_to` | | | | | | `extends` | `uses` | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | `model/purpose-demand-extension` | | | | | | | | | | | `introduces` | | | | | | | | | | | | `conforms_to` | | | | | | `extends` | `uses` | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | |
| `model/security` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `model/security` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `model/task` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `model/task` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| `pattern/intent-scope-purposes` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `implements` | | `uses` | | | | | | | | | | | | | | | | | | | `pattern/intent-scope-purposes` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `implements` | | `uses` | | | | | | | | | | | | | | | | | | | | | | | |
| `profile/small-saas` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | | | | | | | | | | | | | | | | `requires` | `requires` | | `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` | | | `review-kit/alignment` | `uses` | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | | | | | `uses` | |
| `small-saas/dataset/subscription-ledger` | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | `instantiates` | | | | | | `governed_by` | `owned_by` | | | | `partitioned_for` | `partitioned_for` | | | | | `review-kit/alignment/model-selection-guide` | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | `uses` | `uses` | `uses` | `uses` | | `uses` | `part_of` | | | | | | | | | | | | | | | | | | | `uses` | `uses` |
| `small-saas/deployment/production` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | `uses` | | | | | | | `instantiates` | `implements` | | | | | | `deploys` | | | | `separates` | `separates` | | | | | `review-kit/alignment/schema` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `uses` | | | `part_of` | | | | | | | | | | | | | | | | | | | | |
| `small-saas/evidence/access-review-2026-05` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | | | | | | | | | `review-kit/alignment/scorecard` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `uses` | | | `part_of` | | | | | | | | | | | | | | | | | | | | |
| `small-saas/incident/cross-tenant-access-attempt` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | `constrained_by` | | | `evidenced_by` | | | | | | | | | | | | | `review-kit/alignment/workflow` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `uses` | | `uses` | | | `part_of` | | | | | | | | | | | | | | | | | | | | |
| `small-saas/policy/tenant-isolation` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | `instantiates` | `requires` | | | `evidenced_by` | | | | | | | | | | | | | `review-kit/alignment/workplan-template` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `uses` | | | `part_of` | | | | | | | | | | | | | | | | | | | | |
| `small-saas/service/billing-portal` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | `part_of` | | `owned_by` | | | | | | | `small-saas/control/namespace-per-tenant` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | | | | | | | | | | `evidenced_by` | | | | | | | | | | `uses` | |
| `small-saas/system/billing-system` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | `serves` | `serves` | | | | | `small-saas/dataset/subscription-ledger` | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | `instantiates` | | | | | | | | | | | | `governed_by` | `owned_by` | | | | `partitioned_for` | `partitioned_for` | | | |
| `small-saas/task/onboard-tenant` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `instantiates` | | | | | | `governed_by` | | | | `owned_by` | `changes` | | | | | | `small-saas/deployment/production` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | `uses` | | | | | | | `instantiates` | | | | | | | `implements` | | | | | | `deploys` | | | | `separates` | `separates` | | | |
| `small-saas/team/platform` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | | | | | | | | | | | | | | | | | `small-saas/evidence/access-review-2026-05` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | | | | | | | | | | | | | |
| `small-saas/tenant/acme` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | `isolated_by` | | | | | | | | | | | | `represented_by` | | | | `small-saas/incident/cross-tenant-access-attempt` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | | | | | | | `constrained_by` | | | `evidenced_by` | | | | | | | | | | | |
| `small-saas/tenant/globex` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | `isolated_by` | | | | | | | | | | | | | | | | `small-saas/policy/tenant-isolation` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | `instantiates` | | | | | | | `requires` | | | `evidenced_by` | | | | | | | | | | | |
| `small-saas/user/ada-admin` | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `uses` | | | | | `instantiates` | | | | `access_evidenced_by` | | `has_access_under` | | | | `member_of` | | | | | | | `small-saas/service/billing-portal` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | | | | `part_of` | | `owned_by` | | | | | |
| `standard/caring` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | `imports` | `imports` | `imports` | `imports` | | | `imports` | `imports` | `imports` | | `imports` | `imports` | | | | | | | | | | | | | | | | | `imports` | | `small-saas/system/billing-system` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | | | | | | | `serves` | `serves` | | | |
| `standard/tagging` | | | | | | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | `imports` | | | | | | | | | | | | | | | | | | | `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` | | | | | | | | | | | | | | | | | | | | | | | |

View File

@@ -3,11 +3,15 @@
# Kernel Overview # Kernel Overview
- Infospace: `canon` - Infospace: `canon`
- Artifacts: 54 - Artifacts: 60
## Artifact Kinds ## Artifact Kinds
- `access-descriptor-set`: 1 - `access-descriptor-set`: 1
- `alignment-review-kit`: 1
- `alignment-review-schema`: 1
- `alignment-review-workflow`: 1
- `alignment-scorecard`: 1
- `benchmark-findings`: 1 - `benchmark-findings`: 1
- `benchmark-workspace`: 1 - `benchmark-workspace`: 1
- `benefit-analysis`: 1 - `benefit-analysis`: 1
@@ -18,6 +22,7 @@
- `concept-catalog`: 1 - `concept-catalog`: 1
- `conformance-pack`: 1 - `conformance-pack`: 1
- `consumer-workplan-brief`: 3 - `consumer-workplan-brief`: 3
- `consumer-workplan-template`: 1
- `evaluation-pack`: 1 - `evaluation-pack`: 1
- `evaluation-question-set`: 1 - `evaluation-question-set`: 1
- `example`: 1 - `example`: 1
@@ -28,6 +33,7 @@
- `mapping-expectation`: 1 - `mapping-expectation`: 1
- `model`: 11 - `model`: 11
- `model-extension`: 1 - `model-extension`: 1
- `model-selection-guide`: 1
- `native-concept-map`: 1 - `native-concept-map`: 1
- `pattern`: 1 - `pattern`: 1
- `profile`: 1 - `profile`: 1
@@ -41,7 +47,7 @@
- `access_evidenced_by`: 1 - `access_evidenced_by`: 1
- `changes`: 1 - `changes`: 1
- `compares`: 1 - `compares`: 1
- `conforms_to`: 17 - `conforms_to`: 18
- `constrained_by`: 1 - `constrained_by`: 1
- `deploys`: 1 - `deploys`: 1
- `evaluates`: 2 - `evaluates`: 2
@@ -58,7 +64,7 @@
- `maps`: 36 - `maps`: 36
- `member_of`: 1 - `member_of`: 1
- `owned_by`: 3 - `owned_by`: 3
- `part_of`: 17 - `part_of`: 22
- `partitioned_for`: 2 - `partitioned_for`: 2
- `proposes`: 7 - `proposes`: 7
- `represented_by`: 1 - `represented_by`: 1
@@ -66,4 +72,4 @@
- `separates`: 2 - `separates`: 2
- `serves`: 2 - `serves`: 2
- `stress_tests`: 6 - `stress_tests`: 6
- `uses`: 84 - `uses`: 113

View File

@@ -2,7 +2,7 @@
# Repository Tree # Repository Tree
File count: **142** File count: **154**
- `README.md` - `README.md`
- `agent/README.md` - `agent/README.md`
@@ -45,6 +45,12 @@ File count: **142**
- `agent/briefs/model-task.md` - `agent/briefs/model-task.md`
- `agent/briefs/pattern-intent-scope-purposes.md` - `agent/briefs/pattern-intent-scope-purposes.md`
- `agent/briefs/profile-small-saas.md` - `agent/briefs/profile-small-saas.md`
- `agent/briefs/review-kit-alignment-model-selection-guide.md`
- `agent/briefs/review-kit-alignment-schema.md`
- `agent/briefs/review-kit-alignment-scorecard.md`
- `agent/briefs/review-kit-alignment-workflow.md`
- `agent/briefs/review-kit-alignment-workplan-template.md`
- `agent/briefs/review-kit-alignment.md`
- `agent/briefs/standard-caring.md` - `agent/briefs/standard-caring.md`
- `agent/briefs/standard-tagging.md` - `agent/briefs/standard-tagging.md`
- `agent/consumer-briefs/railiance-fabric.md` - `agent/consumer-briefs/railiance-fabric.md`
@@ -54,7 +60,12 @@ File count: **142**
- `agent/retrieval-index.json` - `agent/retrieval-index.json`
- `agent/retrieval-index.md` - `agent/retrieval-index.md`
- `agent/retrieval-index.yaml` - `agent/retrieval-index.yaml`
- `agent/review-kit/model-selection-guide.yaml`
- `agent/review-kit/review-kit.yaml`
- `agent/review-kit/review-workflow.yaml`
- `agent/review-kit/scorecard.yaml`
- `agent/templates/canon-interface-card.template.yaml` - `agent/templates/canon-interface-card.template.yaml`
- `agent/templates/consumer-alignment-workplan.template.md`
- `agent/templates/consumer-brief.template.md` - `agent/templates/consumer-brief.template.md`
- `artifacts/index.yaml` - `artifacts/index.yaml`
- `assimilation/README.md` - `assimilation/README.md`
@@ -120,6 +131,7 @@ File count: **142**
- `reports/small-saas-profile-proof.md` - `reports/small-saas-profile-proof.md`
- `schemas/README.md` - `schemas/README.md`
- `schemas/agent-brief.schema.yaml` - `schemas/agent-brief.schema.yaml`
- `schemas/alignment-review.schema.yaml`
- `schemas/assimilation.schema.yaml` - `schemas/assimilation.schema.yaml`
- `schemas/concept.schema.yaml` - `schemas/concept.schema.yaml`
- `schemas/index.yaml` - `schemas/index.yaml`

View File

@@ -9,6 +9,7 @@ from urllib.parse import parse_qs, urlparse
from .service import ( from .service import (
CanonServiceError, CanonServiceError,
alignment_template,
artifact_graph, artifact_graph,
inspect_canon, inspect_canon,
list_artifacts, list_artifacts,
@@ -19,6 +20,7 @@ from .service import (
profile_inspect, profile_inspect,
profile_validate, profile_validate,
read_view, read_view,
review_kit,
validate_canon, validate_canon,
) )
@@ -84,6 +86,10 @@ def _route(
return HTTPStatus.OK, list_models(root) return HTTPStatus.OK, list_models(root)
if path == "/standards": if path == "/standards":
return HTTPStatus.OK, list_standards(root) return HTTPStatus.OK, list_standards(root)
if path == "/review-kit":
return HTTPStatus.OK, review_kit(root)
if path == "/alignment-template":
return HTTPStatus.OK, alignment_template(root)
if path == "/validate": if path == "/validate":
payload = validate_canon(root) payload = validate_canon(root)
return (HTTPStatus.OK if payload["ok"] else HTTPStatus.BAD_REQUEST), payload return (HTTPStatus.OK if payload["ok"] else HTTPStatus.BAD_REQUEST), payload

View File

@@ -10,6 +10,7 @@ from typing import Any
from .api import serve from .api import serve
from .service import ( from .service import (
CanonServiceError, CanonServiceError,
alignment_template,
artifact_graph, artifact_graph,
generate_agent_briefs, generate_agent_briefs,
generate_indexes, generate_indexes,
@@ -23,6 +24,7 @@ from .service import (
profile_inspect, profile_inspect,
profile_validate, profile_validate,
read_view, read_view,
review_kit,
validate_canon, validate_canon,
write_validation_report, write_validation_report,
) )
@@ -53,6 +55,18 @@ def build_parser() -> argparse.ArgumentParser:
standards = sub.add_parser("standards", help="List canon standard artifacts") standards = sub.add_parser("standards", help="List canon standard artifacts")
standards.set_defaults(handler=_standards) standards.set_defaults(handler=_standards)
review_kit_cmd = sub.add_parser(
"review-kit",
help="Read the consumer repository alignment review kit",
)
review_kit_cmd.set_defaults(handler=_review_kit)
alignment_template_cmd = sub.add_parser(
"alignment-template",
help="Read the consumer alignment workplan template",
)
alignment_template_cmd.set_defaults(handler=_alignment_template)
validate = sub.add_parser("validate", help="Validate the canon infospace") validate = sub.add_parser("validate", help="Validate the canon infospace")
validate.add_argument( validate.add_argument(
"--write", "--write",
@@ -145,6 +159,14 @@ def _standards(args: argparse.Namespace) -> dict[str, Any]:
return list_standards(_root(args)) return list_standards(_root(args))
def _review_kit(args: argparse.Namespace) -> dict[str, Any]:
return review_kit(_root(args))
def _alignment_template(args: argparse.Namespace) -> dict[str, Any]:
return alignment_template(_root(args))
def _validate(args: argparse.Namespace) -> dict[str, Any]: def _validate(args: argparse.Namespace) -> dict[str, Any]:
if args.write: if args.write:
return write_validation_report(args.write, _root(args)) return write_validation_report(args.write, _root(args))

View File

@@ -11,6 +11,10 @@ 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 = { RETRIEVAL_ARTIFACT_KINDS = {
"access-descriptor-set", "access-descriptor-set",
"alignment-review-kit",
"alignment-review-schema",
"alignment-review-workflow",
"alignment-scorecard",
"benefit-analysis", "benefit-analysis",
"benchmark-findings", "benchmark-findings",
"benchmark-workspace", "benchmark-workspace",
@@ -21,6 +25,7 @@ RETRIEVAL_ARTIFACT_KINDS = {
"concept-catalog", "concept-catalog",
"conformance-pack", "conformance-pack",
"consumer-workplan-brief", "consumer-workplan-brief",
"consumer-workplan-template",
"evaluation-pack", "evaluation-pack",
"evaluation-question-set", "evaluation-question-set",
"example", "example",
@@ -31,6 +36,7 @@ RETRIEVAL_ARTIFACT_KINDS = {
"mapping-expectation", "mapping-expectation",
"model", "model",
"model-extension", "model-extension",
"model-selection-guide",
"native-concept-map", "native-concept-map",
"pattern", "pattern",
"profile-alignment", "profile-alignment",
@@ -876,6 +882,14 @@ def _summary_for_artifact(artifact: Any) -> str:
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 == "access-descriptor-set": if artifact.kind == "access-descriptor-set":
return f"Structured CARING access descriptor set: {artifact.title}." return f"Structured CARING access descriptor set: {artifact.title}."
if artifact.kind == "alignment-review-kit":
return f"Reusable kit for consumer repository alignment reviews: {artifact.title}."
if artifact.kind == "alignment-review-schema":
return f"Schema for structured consumer repository alignment reviews: {artifact.title}."
if artifact.kind == "alignment-review-workflow":
return f"Repeatable workflow for canon alignment reviews: {artifact.title}."
if artifact.kind == "alignment-scorecard":
return f"Scorecard dimensions for canon alignment reviews: {artifact.title}."
if artifact.kind == "benefit-analysis": if artifact.kind == "benefit-analysis":
return f"Consumer benefit analysis against canon surfaces: {artifact.title}." return f"Consumer benefit analysis against canon surfaces: {artifact.title}."
if artifact.kind == "benchmark-findings": if artifact.kind == "benchmark-findings":
@@ -896,6 +910,8 @@ def _summary_for_artifact(artifact: Any) -> str:
return f"Machine-readable canon-side conformance support pack: {artifact.title}." return f"Machine-readable canon-side conformance support pack: {artifact.title}."
if artifact.kind == "consumer-workplan-brief": if artifact.kind == "consumer-workplan-brief":
return f"Consumer repo workplan seed brief: {artifact.title}." return f"Consumer repo workplan seed brief: {artifact.title}."
if artifact.kind == "consumer-workplan-template":
return f"Template for consumer repository alignment workplans: {artifact.title}."
if artifact.kind == "evaluation-pack": if artifact.kind == "evaluation-pack":
return f"Machine-readable canon-side evaluation pack: {artifact.title}." return f"Machine-readable canon-side evaluation pack: {artifact.title}."
if artifact.kind == "evaluation-question-set": if artifact.kind == "evaluation-question-set":
@@ -912,6 +928,8 @@ def _summary_for_artifact(artifact: Any) -> str:
return f"Expected mappings between consumer graph capture and canon surfaces: {artifact.title}." return f"Expected mappings between consumer graph capture and canon surfaces: {artifact.title}."
if artifact.kind == "model-extension": if artifact.kind == "model-extension":
return f"Candidate extension to an existing canon model: {artifact.title}." return f"Candidate extension to an existing canon model: {artifact.title}."
if artifact.kind == "model-selection-guide":
return f"Guide for choosing canon models, standards, profiles, and benchmarks: {artifact.title}."
if artifact.kind == "native-concept-map": if artifact.kind == "native-concept-map":
return f"Native source concept map for assimilation or benchmark work: {artifact.title}." return f"Native source concept map for assimilation or benchmark work: {artifact.title}."
if artifact.kind == "pattern": if artifact.kind == "pattern":

View File

@@ -6,6 +6,8 @@ from pathlib import Path
import json import json
from typing import Any from typing import Any
import yaml
from . import generation from . import generation
from . import profiles from . import profiles
from .bench import ( from .bench import (
@@ -22,6 +24,15 @@ from .validation import structural_checks
REPO_ROOT = Path(__file__).resolve().parents[2] REPO_ROOT = Path(__file__).resolve().parents[2]
DEFAULT_INFOSPACE_ROOT = REPO_ROOT / "infospace" DEFAULT_INFOSPACE_ROOT = REPO_ROOT / "infospace"
REVIEW_KIT_COMPONENTS = {
"manifest": "agent/review-kit/review-kit.yaml",
"workflow": "agent/review-kit/review-workflow.yaml",
"scorecard": "agent/review-kit/scorecard.yaml",
"model_selection_guide": "agent/review-kit/model-selection-guide.yaml",
"schema": "schemas/alignment-review.schema.yaml",
}
ALIGNMENT_TEMPLATE_PATH = "agent/templates/consumer-alignment-workplan.template.md"
class CanonServiceError(Exception): class CanonServiceError(Exception):
def __init__( def __init__(
@@ -120,6 +131,45 @@ def list_standards(root: Path | str | None = None) -> dict[str, Any]:
return list_artifacts(root, kind="standard") return list_artifacts(root, kind="standard")
def review_kit(root: Path | str | None = None) -> dict[str, Any]:
context = load_context(root)
components = {
name: {
"path": relative,
"content": _read_yaml_component(context.infospace_root, relative),
}
for name, relative in REVIEW_KIT_COMPONENTS.items()
}
template = alignment_template(root)
return {
"ok": True,
"review_kit": components["manifest"]["content"],
"components": components,
"template": {
"path": template["path"],
"content": template["content"],
},
}
def alignment_template(root: Path | str | None = None) -> dict[str, Any]:
context = load_context(root)
path = context.infospace_root / ALIGNMENT_TEMPLATE_PATH
try:
content = path.read_text(encoding="utf-8")
except FileNotFoundError as exc:
raise CanonServiceError(
"missing_alignment_template",
"Consumer alignment workplan template not found.",
{"path": str(path)},
) from exc
return {
"ok": True,
"path": ALIGNMENT_TEMPLATE_PATH,
"content": content,
}
def validate_canon(root: Path | str | None = None) -> dict[str, Any]: def validate_canon(root: Path | str | None = None) -> dict[str, Any]:
context = load_context(root) context = load_context(root)
errors: list[dict[str, Any]] = [] errors: list[dict[str, Any]] = []
@@ -311,6 +361,25 @@ def read_view(name: str, root: Path | str | None = None) -> dict[str, Any]:
) from exc ) from exc
def _read_yaml_component(infospace_root: Path, relative: str) -> Any:
path = infospace_root / relative
try:
with path.open("r", encoding="utf-8") as handle:
return yaml.safe_load(handle) or {}
except FileNotFoundError as exc:
raise CanonServiceError(
"missing_review_kit_component",
f"Review kit component not found: {relative}",
{"path": str(path)},
) from exc
except yaml.YAMLError as exc:
raise CanonServiceError(
"invalid_review_kit_component",
f"Review kit component is not valid YAML: {relative}",
{"path": str(path), "reason": str(exc)},
) from exc
def _artifact_to_dict( def _artifact_to_dict(
artifact: KnowledgeArtifact, artifact: KnowledgeArtifact,
infospace_root: Path, infospace_root: Path,

View File

@@ -50,10 +50,15 @@ REQUIRED_SCHEMAS = (
"interface-card.schema.yaml", "interface-card.schema.yaml",
"agent-brief.schema.yaml", "agent-brief.schema.yaml",
"workplan.schema.yaml", "workplan.schema.yaml",
"alignment-review.schema.yaml",
) )
RETRIEVAL_BRIEF_KINDS = { RETRIEVAL_BRIEF_KINDS = {
"access-descriptor-set", "access-descriptor-set",
"alignment-review-kit",
"alignment-review-schema",
"alignment-review-workflow",
"alignment-scorecard",
"benefit-analysis", "benefit-analysis",
"benchmark-findings", "benchmark-findings",
"benchmark-workspace", "benchmark-workspace",
@@ -64,6 +69,7 @@ RETRIEVAL_BRIEF_KINDS = {
"concept-catalog", "concept-catalog",
"conformance-pack", "conformance-pack",
"consumer-workplan-brief", "consumer-workplan-brief",
"consumer-workplan-template",
"evaluation-pack", "evaluation-pack",
"evaluation-question-set", "evaluation-question-set",
"example", "example",
@@ -73,6 +79,7 @@ RETRIEVAL_BRIEF_KINDS = {
"mapping-expectation", "mapping-expectation",
"model", "model",
"model-extension", "model-extension",
"model-selection-guide",
"native-concept-map", "native-concept-map",
"pattern", "pattern",
"profile-alignment", "profile-alignment",
@@ -282,6 +289,62 @@ CARING_K8S_REQUIRED_DESCRIPTOR_CLASSES = {
"induced_access", "induced_access",
} }
ALIGNMENT_REVIEW_KIT_ARTIFACT_IDS = {
"review-kit/alignment",
"review-kit/alignment/model-selection-guide",
"review-kit/alignment/schema",
"review-kit/alignment/scorecard",
"review-kit/alignment/workflow",
"review-kit/alignment/workplan-template",
}
ALIGNMENT_REVIEW_REQUIRED_PHASES = {
"intake",
"surface-selection",
"mapping",
"scoring",
"workplan-proposal",
"canon-feedback",
}
ALIGNMENT_REVIEW_SCORECARD_DIMENSIONS = {
"fit",
"gaps",
"conflicts",
"evidence-quality",
"implementation-priority",
"canon-pressure",
"workplan-readiness",
}
ALIGNMENT_REVIEW_REQUIRED_SURFACES = {
"model/purpose-demand-extension",
"pattern/intent-scope-purposes",
"model/access-control",
"model/organization",
"model/governance",
"model/security",
"model/data",
"model/landscape",
"model/devsecops",
"model/network",
"model/observability",
"model/task",
"standard/tagging",
"standard/caring",
"profile/small-saas",
"benchmark/caring/kubernetes-rbac",
}
ALIGNMENT_REVIEW_TEMPLATE_MARKERS = {
"## Current Fit",
"## Target Alignment",
"## Migration Steps",
"## Validation",
"## Open Questions",
"## Canon Feedback",
}
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]] = []
@@ -314,6 +377,11 @@ def structural_checks(context: Any) -> dict[str, list[dict[str, Any]]]:
context.infospace.artifacts, context.infospace.artifacts,
errors, errors,
) )
_check_alignment_review_kit_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}
@@ -578,6 +646,7 @@ def _check_agent_assets(
"agent/retrieval-index.json", "agent/retrieval-index.json",
"agent/templates/canon-interface-card.template.yaml", "agent/templates/canon-interface-card.template.yaml",
"agent/templates/consumer-brief.template.md", "agent/templates/consumer-brief.template.md",
"agent/templates/consumer-alignment-workplan.template.md",
"agent/consumer-briefs/user-engine.md", "agent/consumer-briefs/user-engine.md",
"agent/consumer-briefs/railiance-fabric.md", "agent/consumer-briefs/railiance-fabric.md",
"agent/consumer-briefs/repo-scoping.md", "agent/consumer-briefs/repo-scoping.md",
@@ -1421,6 +1490,213 @@ def _check_caring_kubernetes_rbac_benchmark_assets(
) )
def _check_alignment_review_kit_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(ALIGNMENT_REVIEW_KIT_ARTIFACT_IDS - artifact_ids):
errors.append(
{
"code": "missing_alignment_review_kit_artifact",
"artifact_id": artifact_id,
}
)
kit_root = infospace_root / "agent" / "review-kit"
manifest = _read_yaml(kit_root / "review-kit.yaml", errors)
if isinstance(manifest, dict):
components = manifest.get("components") or {}
if not isinstance(components, dict):
errors.append(
{
"code": "invalid_alignment_review_kit_components",
"path": "infospace/agent/review-kit/review-kit.yaml",
}
)
else:
for component in (
"workflow",
"scorecard",
"model_selection_guide",
"schema",
"consumer_workplan_template",
):
if not components.get(component):
errors.append(
{
"code": "missing_alignment_review_kit_component",
"component": component,
}
)
outputs = set(manifest.get("required_outputs") or [])
for output in (
"repository_context",
"selected_canon_surfaces",
"mapping_findings",
"scorecard",
"recommended_workplans",
"canon_feedback",
):
if output not in outputs:
errors.append(
{
"code": "missing_alignment_review_required_output",
"output": output,
}
)
workflow = _read_yaml(kit_root / "review-workflow.yaml", errors)
if isinstance(workflow, dict):
phases = workflow.get("phases") or []
if not isinstance(phases, list):
errors.append(
{
"code": "invalid_alignment_review_workflow_phases",
"path": "infospace/agent/review-kit/review-workflow.yaml",
}
)
else:
phase_ids = {
str(phase.get("id"))
for phase in phases
if isinstance(phase, dict) and phase.get("id")
}
for phase_id in sorted(ALIGNMENT_REVIEW_REQUIRED_PHASES - phase_ids):
errors.append(
{
"code": "missing_alignment_review_workflow_phase",
"phase": phase_id,
}
)
for phase in phases:
if not isinstance(phase, dict):
continue
if not phase.get("questions"):
errors.append(
{
"code": "empty_alignment_review_phase_questions",
"phase": phase.get("id"),
}
)
if not phase.get("outputs"):
errors.append(
{
"code": "empty_alignment_review_phase_outputs",
"phase": phase.get("id"),
}
)
scorecard = _read_yaml(kit_root / "scorecard.yaml", errors)
if isinstance(scorecard, dict):
dimensions = scorecard.get("dimensions") or []
if not isinstance(dimensions, list):
errors.append(
{
"code": "invalid_alignment_review_scorecard_dimensions",
"path": "infospace/agent/review-kit/scorecard.yaml",
}
)
else:
dimension_ids = {
str(dimension.get("id"))
for dimension in dimensions
if isinstance(dimension, dict) and dimension.get("id")
}
for dimension in sorted(
ALIGNMENT_REVIEW_SCORECARD_DIMENSIONS - dimension_ids
):
errors.append(
{
"code": "missing_alignment_review_scorecard_dimension",
"dimension": dimension,
}
)
guide = _read_yaml(kit_root / "model-selection-guide.yaml", errors)
if isinstance(guide, dict):
surfaces = guide.get("surfaces") or []
if not isinstance(surfaces, list):
errors.append(
{
"code": "invalid_alignment_review_selection_surfaces",
"path": "infospace/agent/review-kit/model-selection-guide.yaml",
}
)
else:
surface_ids = {
str(surface.get("id"))
for surface in surfaces
if isinstance(surface, dict) and surface.get("id")
}
for surface_id in sorted(ALIGNMENT_REVIEW_REQUIRED_SURFACES - surface_ids):
errors.append(
{
"code": "missing_alignment_review_selection_surface",
"surface": surface_id,
}
)
for surface in surfaces:
if not isinstance(surface, dict):
continue
if not surface.get("use_when"):
errors.append(
{
"code": "missing_alignment_review_surface_use_when",
"surface": surface.get("id"),
}
)
if not surface.get("review_questions"):
errors.append(
{
"code": "missing_alignment_review_surface_questions",
"surface": surface.get("id"),
}
)
schema = _read_yaml(infospace_root / "schemas" / "alignment-review.schema.yaml", errors)
if isinstance(schema, dict):
required_fields = set(schema.get("required") or [])
for field in (
"repository_context",
"selected_canon_surfaces",
"mapping_findings",
"scorecard",
"recommended_workplans",
"canon_feedback",
):
if field not in required_fields:
errors.append(
{
"code": "missing_alignment_review_schema_required_field",
"field": field,
}
)
template_path = (
infospace_root / "agent" / "templates" / "consumer-alignment-workplan.template.md"
)
try:
template = template_path.read_text(encoding="utf-8")
except FileNotFoundError:
errors.append(
{
"code": "missing_alignment_review_workplan_template",
"path": "infospace/agent/templates/consumer-alignment-workplan.template.md",
}
)
else:
for marker in sorted(ALIGNMENT_REVIEW_TEMPLATE_MARKERS):
if marker not in template:
errors.append(
{
"code": "missing_alignment_review_template_marker",
"marker": marker,
}
)
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]],

View File

@@ -20,6 +20,22 @@ def test_api_route_validate() -> None:
assert payload["ok"] is True assert payload["ok"] is True
def test_api_route_review_kit() -> None:
status, payload = _route("/review-kit", {}, None)
assert status == HTTPStatus.OK
assert payload["ok"] is True
assert payload["review_kit"]["id"] == "review-kit/alignment"
def test_api_route_alignment_template() -> None:
status, payload = _route("/alignment-template", {}, None)
assert status == HTTPStatus.OK
assert payload["ok"] is True
assert "## Current Fit" in payload["content"]
def test_api_route_unknown_endpoint() -> None: def test_api_route_unknown_endpoint() -> None:
status, payload = _route("/missing", {}, None) status, payload = _route("/missing", {}, None)

View File

@@ -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"] == 54 assert payload["infospace"]["artifact_count"] == 60
def test_cli_missing_profile_uses_structured_error(capsys) -> None: def test_cli_missing_profile_uses_structured_error(capsys) -> None:
@@ -32,6 +32,25 @@ def test_cli_small_saas_profile_validate(capsys) -> None:
assert payload["details"]["kinds"]["service"] == 1 assert payload["details"]["kinds"]["service"] == 1
def test_cli_review_kit_emits_json(capsys) -> None:
exit_code = main(["review-kit"])
assert exit_code == 0
payload = json.loads(capsys.readouterr().out)
assert payload["ok"] is True
assert payload["review_kit"]["id"] == "review-kit/alignment"
assert "workflow" in payload["components"]
def test_cli_alignment_template_emits_json(capsys) -> None:
exit_code = main(["alignment-template"])
assert exit_code == 0
payload = json.loads(capsys.readouterr().out)
assert payload["ok"] is True
assert "## Current Fit" in payload["content"]
def test_cli_index_generates_views(capsys, tmp_path) -> None: def test_cli_index_generates_views(capsys, tmp_path) -> None:
root = tmp_path / "infospace" root = tmp_path / "infospace"
shutil.copytree(DEFAULT_INFOSPACE_ROOT, root) shutil.copytree(DEFAULT_INFOSPACE_ROOT, root)

View File

@@ -1,4 +1,5 @@
from info_tech_canon.service import ( from info_tech_canon.service import (
alignment_template,
artifact_graph, artifact_graph,
generate_agent_briefs, generate_agent_briefs,
generate_indexes, generate_indexes,
@@ -8,6 +9,7 @@ from info_tech_canon.service import (
list_standards, list_standards,
profile_graph, profile_graph,
profile_validate, profile_validate,
review_kit,
validate_canon, validate_canon,
) )
from info_tech_canon.service import DEFAULT_INFOSPACE_ROOT from info_tech_canon.service import DEFAULT_INFOSPACE_ROOT
@@ -19,9 +21,13 @@ 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"] == 54 assert payload["infospace"]["artifact_count"] == 60
assert payload["infospace"]["kinds"] == { assert payload["infospace"]["kinds"] == {
"access-descriptor-set": 1, "access-descriptor-set": 1,
"alignment-review-kit": 1,
"alignment-review-schema": 1,
"alignment-review-workflow": 1,
"alignment-scorecard": 1,
"benefit-analysis": 1, "benefit-analysis": 1,
"benchmark-findings": 1, "benchmark-findings": 1,
"benchmark-workspace": 1, "benchmark-workspace": 1,
@@ -32,6 +38,7 @@ def test_inspect_canon_counts_artifact_kinds() -> None:
"concept-catalog": 1, "concept-catalog": 1,
"conformance-pack": 1, "conformance-pack": 1,
"consumer-workplan-brief": 3, "consumer-workplan-brief": 3,
"consumer-workplan-template": 1,
"evaluation-pack": 1, "evaluation-pack": 1,
"evaluation-question-set": 1, "evaluation-question-set": 1,
"example": 1, "example": 1,
@@ -42,6 +49,7 @@ def test_inspect_canon_counts_artifact_kinds() -> None:
"mapping-expectation": 1, "mapping-expectation": 1,
"model": 11, "model": 11,
"model-extension": 1, "model-extension": 1,
"model-selection-guide": 1,
"native-concept-map": 1, "native-concept-map": 1,
"pattern": 1, "pattern": 1,
"profile-alignment": 1, "profile-alignment": 1,
@@ -57,20 +65,39 @@ def test_model_and_standard_lists_are_filtered() -> None:
assert list_standards()["count"] == 2 assert list_standards()["count"] == 2
def test_review_kit_exports_workflow_and_template() -> None:
payload = review_kit()
assert payload["ok"] is True
assert payload["review_kit"]["id"] == "review-kit/alignment"
assert payload["components"]["workflow"]["content"]["id"] == (
"review-kit/alignment/workflow"
)
assert "## Current Fit" in payload["template"]["content"]
def test_alignment_template_exports_content() -> None:
payload = alignment_template()
assert payload["ok"] is True
assert payload["path"] == "agent/templates/consumer-alignment-workplan.template.md"
assert "{{WORKPLAN_ID}}" in payload["content"]
def test_validate_canon_passes_scaffold() -> None: def test_validate_canon_passes_scaffold() -> None:
payload = validate_canon() payload = validate_canon()
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"] == 54 assert payload["details"]["artifact_count"] == 60
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"] == 54 assert payload["graph"]["node_count"] == 60
assert payload["graph"]["edge_count"] > 15 assert payload["graph"]["edge_count"] > 15
@@ -123,6 +150,10 @@ def test_generators_write_expected_assets(tmp_path) -> None:
assert ( assert (
root / "agent" / "briefs" / "benchmark-caring-kubernetes-rbac.md" root / "agent" / "briefs" / "benchmark-caring-kubernetes-rbac.md"
).is_file() ).is_file()
assert (root / "agent" / "briefs" / "review-kit-alignment.md").is_file()
assert (
root / "agent" / "templates" / "consumer-alignment-workplan.template.md"
).is_file()
assert (root / "agent" / "briefs" / "pattern-intent-scope-purposes.md").is_file() assert (root / "agent" / "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"

View File

@@ -4,7 +4,7 @@ type: workplan
title: "Canon Consumer Alignment Review Kit" title: "Canon Consumer Alignment Review Kit"
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"
@@ -46,7 +46,7 @@ and service surfaces.
```task ```task
id: ITC-WP-0011-T01 id: ITC-WP-0011-T01
status: todo status: done
priority: high priority: high
state_hub_task_id: "0cc9582b-e0c6-4f71-a5b8-51a65a9a741b" state_hub_task_id: "0cc9582b-e0c6-4f71-a5b8-51a65a9a741b"
``` ```
@@ -60,7 +60,7 @@ state_hub_task_id: "0cc9582b-e0c6-4f71-a5b8-51a65a9a741b"
```task ```task
id: ITC-WP-0011-T02 id: ITC-WP-0011-T02
status: todo status: done
priority: high priority: high
state_hub_task_id: "0318d67e-0e67-4ba8-9d6f-a425959b1060" state_hub_task_id: "0318d67e-0e67-4ba8-9d6f-a425959b1060"
``` ```
@@ -73,7 +73,7 @@ state_hub_task_id: "0318d67e-0e67-4ba8-9d6f-a425959b1060"
```task ```task
id: ITC-WP-0011-T03 id: ITC-WP-0011-T03
status: todo status: done
priority: high priority: high
state_hub_task_id: "d7074e43-02c6-4cd3-b4e7-a86271b0c2fa" state_hub_task_id: "d7074e43-02c6-4cd3-b4e7-a86271b0c2fa"
``` ```
@@ -88,7 +88,7 @@ state_hub_task_id: "d7074e43-02c6-4cd3-b4e7-a86271b0c2fa"
```task ```task
id: ITC-WP-0011-T04 id: ITC-WP-0011-T04
status: todo status: done
priority: high priority: high
state_hub_task_id: "fd7d60e9-cf83-41f7-84bc-ece4f66530e9" state_hub_task_id: "fd7d60e9-cf83-41f7-84bc-ece4f66530e9"
``` ```
@@ -101,7 +101,7 @@ state_hub_task_id: "fd7d60e9-cf83-41f7-84bc-ece4f66530e9"
```task ```task
id: ITC-WP-0011-T05 id: ITC-WP-0011-T05
status: todo status: done
priority: medium priority: medium
state_hub_task_id: "50f29030-4558-4c6b-a60b-16b7c560d153" state_hub_task_id: "50f29030-4558-4c6b-a60b-16b7c560d153"
``` ```
@@ -121,3 +121,20 @@ state_hub_task_id: "50f29030-4558-4c6b-a60b-16b7c560d153"
into the canon repo. into the canon repo.
- Canon pressure is captured explicitly as feedback or proposed canon work, not - Canon pressure is captured explicitly as feedback or proposed canon work, not
as silent standard drift. as silent standard drift.
## Implementation Notes
- Added `infospace/agent/review-kit/` with a review kit manifest, workflow,
scorecard, and model/standard selection guide.
- Added `infospace/schemas/alignment-review.schema.yaml` for structured
consumer repository alignment reviews.
- Added `infospace/agent/templates/consumer-alignment-workplan.template.md` for
repo-local alignment workplans.
- Registered the review kit, schema, and template as indexed artifacts and
retrieval briefs.
- Added `review-kit` and `alignment-template` CLI commands plus `/review-kit`
and `/alignment-template` API endpoints.
- Added structural validation for required review kit artifacts, phases,
scorecard dimensions, model selection surfaces, schema fields, and template
sections.
- Regenerated agent briefs, indexes, tree views, and validation output.

View File

@@ -149,7 +149,7 @@ workplans:
- id: ITC-WP-0011 - id: ITC-WP-0011
title: Canon Consumer Alignment Review Kit title: Canon Consumer Alignment Review Kit
status: proposed status: finished
priority: high priority: high
path: workplans/ITC-WP-0011-canon-consumer-alignment-review-kit.md path: workplans/ITC-WP-0011-canon-consumer-alignment-review-kit.md
depends_on: depends_on: