generated from coulomb/repo-seed
Add consumer alignment review kit
This commit is contained in:
14
README.md
14
README.md
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
31
infospace/agent/briefs/review-kit-alignment-schema.md
Normal file
31
infospace/agent/briefs/review-kit-alignment-schema.md
Normal 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.
|
||||||
31
infospace/agent/briefs/review-kit-alignment-scorecard.md
Normal file
31
infospace/agent/briefs/review-kit-alignment-scorecard.md
Normal 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.
|
||||||
32
infospace/agent/briefs/review-kit-alignment-workflow.md
Normal file
32
infospace/agent/briefs/review-kit-alignment-workflow.md
Normal 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.
|
||||||
@@ -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.
|
||||||
35
infospace/agent/briefs/review-kit-alignment.md
Normal file
35
infospace/agent/briefs/review-kit-alignment.md
Normal 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.
|
||||||
@@ -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`
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
108
infospace/agent/review-kit/model-selection-guide.yaml
Normal file
108
infospace/agent/review-kit/model-selection-guide.yaml
Normal 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
|
||||||
35
infospace/agent/review-kit/review-kit.yaml
Normal file
35
infospace/agent/review-kit/review-kit.yaml
Normal 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.
|
||||||
100
infospace/agent/review-kit/review-workflow.yaml
Normal file
100
infospace/agent/review-kit/review-workflow.yaml
Normal 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
|
||||||
87
infospace/agent/review-kit/scorecard.yaml
Normal file
87
infospace/agent/review-kit/scorecard.yaml
Normal 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.
|
||||||
@@ -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.
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
217
infospace/schemas/alignment-review.schema.yaml
Normal file
217
infospace/schemas/alignment-review.schema.yaml
Normal 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
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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` |
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|||||||
@@ -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` | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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":
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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]],
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user