generated from coulomb/repo-seed
Initial seeding of models, standards
This commit is contained in:
356
CODING_AGENT_BOOTSTRAP.md
Executable file
356
CODING_AGENT_BOOTSTRAP.md
Executable file
@@ -0,0 +1,356 @@
|
||||
# Coding Agent Bootstrap: info-tech-canon
|
||||
|
||||
## Mission
|
||||
|
||||
Establish the practical repository implementation for `info-tech-canon` based on the existing seed artifacts and the markdown-first infospace/tooling direction.
|
||||
|
||||
The repository is intended to become the canonical markdown-first knowledge and standards space for InfoTechCanon.
|
||||
|
||||
---
|
||||
|
||||
## Current Conceptual State
|
||||
|
||||
The current InfoTechCanon structure distinguishes:
|
||||
|
||||
```text
|
||||
kernel/
|
||||
InfoTechCanonCore.md
|
||||
InfoTechCanonKernelMap.md
|
||||
|
||||
models/
|
||||
information-space/
|
||||
landscape/
|
||||
organization/
|
||||
governance/
|
||||
task/
|
||||
access-control/
|
||||
security/
|
||||
data/
|
||||
devsecops/
|
||||
network/
|
||||
observability/
|
||||
|
||||
standards/
|
||||
tagging/
|
||||
caring/
|
||||
|
||||
profiles/
|
||||
patterns/
|
||||
mappings/
|
||||
assimilation/
|
||||
schemas/
|
||||
views/
|
||||
agent/
|
||||
examples/
|
||||
validation/
|
||||
```
|
||||
|
||||
Core principle:
|
||||
|
||||
```text
|
||||
Kernel = how the canon works.
|
||||
Models = broad domain structures.
|
||||
Standards = cross-cutting conventions or named analytical/design frameworks.
|
||||
Profiles = concrete implementation constraints.
|
||||
Patterns = reusable practical solutions.
|
||||
Mappings = alignment to external bodies of knowledge.
|
||||
Assimilation = structured digestion of external knowledge.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## First Implementation Goal
|
||||
|
||||
Create a clean repository scaffold that can host the existing Markdown seed documents and support future automation.
|
||||
|
||||
Do not over-engineer. Start with file layout, manifests, validation stubs, and repeatable commands.
|
||||
|
||||
---
|
||||
|
||||
## Expected First Commit
|
||||
|
||||
Create or verify:
|
||||
|
||||
```text
|
||||
README.md
|
||||
INTENT.md
|
||||
SCOPE.md
|
||||
canon.yaml
|
||||
|
||||
kernel/
|
||||
models/
|
||||
standards/
|
||||
profiles/
|
||||
patterns/
|
||||
mappings/
|
||||
assimilation/
|
||||
schemas/
|
||||
views/
|
||||
agent/
|
||||
examples/
|
||||
validation/
|
||||
```
|
||||
|
||||
Add placeholder `README.md` files in empty directories so Git tracks structure.
|
||||
|
||||
---
|
||||
|
||||
## File Placement Rules
|
||||
|
||||
Use this placement:
|
||||
|
||||
```text
|
||||
kernel/InfoTechCanonCore.md
|
||||
kernel/InfoTechCanonKernelMap.md
|
||||
|
||||
models/information-space/InfoTechCanonInformationSpaceModel.md
|
||||
models/landscape/InfoTechCanonLandscapeModel.md
|
||||
models/organization/InfoTechCanonOrganizationModel.md
|
||||
models/governance/InfoTechCanonGovernanceModel.md
|
||||
models/task/InfoTechCanonTaskModel.md
|
||||
models/access-control/InfoTechCanonAccessControlModel.md
|
||||
models/security/InfoTechCanonSecurityModel.md
|
||||
models/data/InfoTechCanonDataModel.md
|
||||
models/devsecops/InfoTechCanonDevSecOpsModel.md
|
||||
models/network/InfoTechCanonNetworkModel.md
|
||||
models/observability/InfoTechCanonObservabilityModel.md
|
||||
|
||||
standards/tagging/InfoTechCanonTaggingStandard.md
|
||||
standards/caring/InfoTechCanonCaringAccessGovernanceStandard.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Initial Automation Targets
|
||||
|
||||
Create minimal scripts or Make targets for:
|
||||
|
||||
```text
|
||||
make validate
|
||||
make index
|
||||
make tree
|
||||
make agent-briefs
|
||||
```
|
||||
|
||||
Initial implementations may be simple stubs that check file existence and generate basic views.
|
||||
|
||||
Recommended early scripts:
|
||||
|
||||
```text
|
||||
scripts/validate_structure.py
|
||||
scripts/generate_views.py
|
||||
scripts/check_links.py
|
||||
scripts/extract_frontmatter.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Initial Schemas
|
||||
|
||||
Start with lightweight YAML/JSON schemas for:
|
||||
|
||||
```text
|
||||
schemas/standard.schema.yaml
|
||||
schemas/concept.schema.yaml
|
||||
schemas/mapping.schema.yaml
|
||||
schemas/profile.schema.yaml
|
||||
schemas/assimilation.schema.yaml
|
||||
schemas/interface-card.schema.yaml
|
||||
schemas/agent-brief.schema.yaml
|
||||
schemas/caring-access-descriptor.schema.yaml
|
||||
```
|
||||
|
||||
Schemas may begin minimal. Prefer useful incremental validation over completeness.
|
||||
|
||||
---
|
||||
|
||||
## Initial Generated Views
|
||||
|
||||
Generate or maintain:
|
||||
|
||||
```text
|
||||
views/kernel-overview.md
|
||||
views/by-standard.md
|
||||
views/by-concept.md
|
||||
views/by-profile.md
|
||||
views/by-mapping-target.md
|
||||
views/refactoring-checklist.md
|
||||
```
|
||||
|
||||
Generated files should include a note:
|
||||
|
||||
```text
|
||||
<!-- generated: do not edit manually -->
|
||||
```
|
||||
|
||||
unless they are curated manually.
|
||||
|
||||
---
|
||||
|
||||
## Important Guardrails
|
||||
|
||||
Do not redefine domain concepts while implementing repository tooling.
|
||||
|
||||
Do not collapse:
|
||||
|
||||
```text
|
||||
Organization Role
|
||||
AccessRole
|
||||
CARING Canonical Role
|
||||
```
|
||||
|
||||
Do not collapse:
|
||||
|
||||
```text
|
||||
Actor
|
||||
Subject
|
||||
Principal
|
||||
```
|
||||
|
||||
Do not collapse:
|
||||
|
||||
```text
|
||||
Policy
|
||||
Control
|
||||
Evidence
|
||||
```
|
||||
|
||||
Do not collapse:
|
||||
|
||||
```text
|
||||
Dataset
|
||||
DataStore
|
||||
```
|
||||
|
||||
Do not collapse:
|
||||
|
||||
```text
|
||||
Artifact
|
||||
Release
|
||||
Deployment
|
||||
Runtime State
|
||||
```
|
||||
|
||||
Do not collapse:
|
||||
|
||||
```text
|
||||
Network Intent
|
||||
Network Policy
|
||||
Network Configuration
|
||||
Observed Network State
|
||||
```
|
||||
|
||||
Do not collapse:
|
||||
|
||||
```text
|
||||
Alert
|
||||
Incident
|
||||
```
|
||||
|
||||
Do not treat tags as substitutes for canonical fields, relationships, policies, or evidence.
|
||||
|
||||
---
|
||||
|
||||
## CARING Placement
|
||||
|
||||
CARING is a specialized standard, not just an Access Control profile.
|
||||
|
||||
Use:
|
||||
|
||||
```text
|
||||
standards/caring/InfoTechCanonCaringAccessGovernanceStandard.md
|
||||
```
|
||||
|
||||
Namespace:
|
||||
|
||||
```text
|
||||
itc-caring
|
||||
```
|
||||
|
||||
CARING should later get:
|
||||
|
||||
```text
|
||||
standards/caring/agent-brief.md
|
||||
standards/caring/concepts/
|
||||
standards/caring/profiles/
|
||||
standards/caring/mappings/
|
||||
standards/caring/benchmarks/
|
||||
standards/caring/examples/
|
||||
standards/caring/validation/
|
||||
```
|
||||
|
||||
First CARING benchmark candidate:
|
||||
|
||||
```text
|
||||
Kubernetes RBAC
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Recommended First Task Sequence
|
||||
|
||||
1. Create repository tree.
|
||||
2. Add `INTENT.md`, `SCOPE.md`, and `canon.yaml`.
|
||||
3. Place all seed Markdown files in the correct directories.
|
||||
4. Add directory-local `README.md` placeholders.
|
||||
5. Add basic validation script checking:
|
||||
- required top-level files,
|
||||
- required directories,
|
||||
- files referenced in `canon.yaml`,
|
||||
- missing agent briefs.
|
||||
6. Add basic view generator for `views/by-standard.md`.
|
||||
7. Add `Makefile`.
|
||||
8. Add initial schemas.
|
||||
9. Add CARING benchmark directory.
|
||||
10. Commit as: `seed repository scaffold`.
|
||||
|
||||
---
|
||||
|
||||
## Preferred Style
|
||||
|
||||
Keep implementation boring and inspectable.
|
||||
|
||||
Use:
|
||||
|
||||
```text
|
||||
Python for scripts
|
||||
YAML for manifests and schemas
|
||||
Markdown for human-facing docs
|
||||
Makefile for repeatable local commands
|
||||
```
|
||||
|
||||
Avoid introducing heavy dependencies before the basic repository structure works.
|
||||
|
||||
---
|
||||
|
||||
## Acceptance Criteria for Initial Implementation
|
||||
|
||||
The initial implementation is acceptable when:
|
||||
|
||||
```text
|
||||
make validate
|
||||
```
|
||||
|
||||
can verify:
|
||||
|
||||
- required files exist,
|
||||
- required directories exist,
|
||||
- all manifest paths resolve,
|
||||
- standards/models are placed in the expected structure,
|
||||
- generated views can be created or refreshed,
|
||||
- missing optional artifacts are reported as warnings, not failures.
|
||||
|
||||
---
|
||||
|
||||
## Next After Scaffold
|
||||
|
||||
After the scaffold works:
|
||||
|
||||
1. Create machine-readable concept ownership index.
|
||||
2. Extract concept pages from seed standards.
|
||||
3. Create agent briefs per standard.
|
||||
4. Create mapping skeletons.
|
||||
5. Create formal CARING assimilation workspace.
|
||||
6. Add link validation.
|
||||
7. Add front matter validation.
|
||||
8. Add retrieval/chunk manifest generation.
|
||||
108
INTENT.md
Normal file
108
INTENT.md
Normal file
@@ -0,0 +1,108 @@
|
||||
# INTENT
|
||||
|
||||
## Purpose
|
||||
|
||||
This repository exists to develop and maintain **InfoTechCanon**: an evolving, markdown-first reference system for building interoperable, adaptable, and extensible information-processing systems.
|
||||
|
||||
InfoTechCanon provides a shared semantic foundation for standards, concepts, patterns, profiles, mappings, and assimilation processes used across software, infrastructure, governance, DevSecOps, task management, knowledge systems, and related domains.
|
||||
|
||||
---
|
||||
|
||||
## Primary Utility
|
||||
|
||||
InfoTechCanon helps turn **integration by interpretation** into **integration by declared semantic contract**.
|
||||
|
||||
It provides:
|
||||
|
||||
- canonical concepts with clear ownership,
|
||||
- orthogonal standards that can import but not redefine each other,
|
||||
- mappings to external standards, regulations, frameworks, and product models,
|
||||
- assimilation processes for incorporating new bodies of knowledge,
|
||||
- reusable pattern-language structures,
|
||||
- application profiles for concrete implementation contexts,
|
||||
- retrieval-friendly markdown artifacts for humans, agents, and tools,
|
||||
- and guidance for making independently developed subsystems easier to connect.
|
||||
|
||||
---
|
||||
|
||||
## Intended Users
|
||||
|
||||
This repository is intended for:
|
||||
|
||||
- architects designing interoperable information-processing systems,
|
||||
- standards authors defining reusable domain models,
|
||||
- repository maintainers declaring semantic boundaries and interfaces,
|
||||
- developers implementing compatible subsystems,
|
||||
- agents retrieving structured reference knowledge,
|
||||
- governance and compliance reviewers mapping internal concepts to external obligations,
|
||||
- and tool builders working on markdown-based infospaces, knowledge engines, and agentic development workflows.
|
||||
|
||||
---
|
||||
|
||||
## Strategic Role
|
||||
|
||||
InfoTechCanon acts as a **semantic operating layer** for a growing ecosystem of repositories, services, agents, and documentation spaces.
|
||||
|
||||
It should support projects that need to remain adaptable while still sharing a common vocabulary and integration logic.
|
||||
|
||||
The repository is expected to become a reference point for related tools and systems, including markdown infobases, canonical landscape models, task and tagging standards, governance models, access-control models, and subsystem interface declarations.
|
||||
|
||||
---
|
||||
|
||||
## Design Stance
|
||||
|
||||
InfoTechCanon is:
|
||||
|
||||
- **markdown-first** but machine-readable,
|
||||
- **network-shaped** rather than purely hierarchical,
|
||||
- **pattern-oriented** rather than merely taxonomic,
|
||||
- **externally mappable** without being externally constrained,
|
||||
- **evolutionary** without becoming arbitrary,
|
||||
- **orthogonal** without becoming isolated,
|
||||
- and **practical** enough to guide real subsystem integration.
|
||||
|
||||
External standards influence InfoTechCanon through mappings and assimilation. They do not define its internal semantics directly.
|
||||
|
||||
---
|
||||
|
||||
## Core Commitments
|
||||
|
||||
InfoTechCanon commits to the following principles:
|
||||
|
||||
1. Every canonical concept should have a clear owner.
|
||||
2. Standards should import concepts instead of redefining them.
|
||||
3. Mappings to external bodies of knowledge should be explicit, versioned, scoped, and justified.
|
||||
4. Assimilation should turn new knowledge into gaps, conflicts, mappings, and improvement proposals.
|
||||
5. Patterns should explain how concepts are combined in recurring practical situations.
|
||||
6. Profiles should constrain standards for concrete implementation contexts.
|
||||
7. Canon artifacts should be useful to both humans and agents.
|
||||
8. Evolution should preserve provenance, compatibility information, and rationale.
|
||||
|
||||
---
|
||||
|
||||
## Non-Goals
|
||||
|
||||
This repository does not aim to replace external standards such as ArchiMate, CSDM, ITIL, PMBOK, NIST, YANG, SPDX, CycloneDX, or similar bodies of knowledge.
|
||||
|
||||
It also does not aim to define one mandatory enterprise data model that every system must fully implement.
|
||||
|
||||
Instead, InfoTechCanon provides a coherent internal reference system that can map to external standards, assimilate useful knowledge from them, and support practical interoperability across independently evolving systems.
|
||||
|
||||
---
|
||||
|
||||
## Direction of Travel
|
||||
|
||||
The repository should initially establish:
|
||||
|
||||
- `InfoTechCanonCore`,
|
||||
- a refactored `InfoTechCanonLandscapeModel`,
|
||||
- early organization and governance model extraction points,
|
||||
- a mapping model,
|
||||
- an assimilation model,
|
||||
- a pattern format,
|
||||
- a profile format,
|
||||
- retrieval conventions,
|
||||
- and example subsystem interface declarations.
|
||||
|
||||
Over time, the repository should grow into a living canon that supports human reasoning, agentic workflows, validation, documentation generation, knowledge retrieval, and practical system integration.
|
||||
|
||||
241
SCOPE.md
Normal file
241
SCOPE.md
Normal file
@@ -0,0 +1,241 @@
|
||||
# SCOPE
|
||||
|
||||
## Current Repository Scope
|
||||
|
||||
This repository currently contains the seed structure for **InfoTechCanon**: an evolving, markdown-first canon for building interoperable, adaptable, and extensible information-processing systems.
|
||||
|
||||
At this stage, the repository is not yet a fully validated standards system. It is a **seed corpus** of kernel documents, domain models, specialized standards, and integration guidance that together define the first-generation InfoTechCanon kernel.
|
||||
|
||||
---
|
||||
|
||||
## Current Purpose
|
||||
|
||||
The repository currently serves to:
|
||||
|
||||
- collect the first generation of InfoTechCanon standards and models,
|
||||
- define the semantic boundaries between domains,
|
||||
- preserve orthogonality between concepts,
|
||||
- provide seed structures for mappings, profiles, patterns, assimilation, validation, and agent use,
|
||||
- support future machine-readable extraction,
|
||||
- and act as the first major use case for markdown-based infospaces and related tooling.
|
||||
|
||||
---
|
||||
|
||||
## Current Kernel
|
||||
|
||||
The current kernel consists of:
|
||||
|
||||
```text
|
||||
kernel/
|
||||
InfoTechCanonCore.md
|
||||
InfoTechCanonKernelMap.md
|
||||
```
|
||||
|
||||
### InfoTechCanonCore
|
||||
|
||||
Defines shared canon mechanisms:
|
||||
|
||||
- canon artifacts,
|
||||
- concepts,
|
||||
- concept ownership,
|
||||
- relationships,
|
||||
- mappings,
|
||||
- assimilation,
|
||||
- profiles,
|
||||
- patterns,
|
||||
- validation rules,
|
||||
- conformance levels,
|
||||
- versioning,
|
||||
- provenance,
|
||||
- agent briefs,
|
||||
- and Canon Interface Cards.
|
||||
|
||||
### InfoTechCanonKernelMap
|
||||
|
||||
Shows how the first-generation standards and models fit together, including the position of CARING as a specialized access-governance standard.
|
||||
|
||||
---
|
||||
|
||||
## Current Models
|
||||
|
||||
The repository currently includes seed models for:
|
||||
|
||||
```text
|
||||
models/
|
||||
information-space/
|
||||
landscape/
|
||||
organization/
|
||||
governance/
|
||||
task/
|
||||
access-control/
|
||||
security/
|
||||
data/
|
||||
devsecops/
|
||||
network/
|
||||
observability/
|
||||
```
|
||||
|
||||
These models define broad domain structures.
|
||||
|
||||
| Model | Current Responsibility |
|
||||
|---|---|
|
||||
| Information Space | Markdown-first knowledge packaging, retrieval, links, chunks, indexes, agent briefs |
|
||||
| Landscape | IT landscapes, services, systems, runtime resources, infrastructure context |
|
||||
| Organization | Actors, roles, teams, membership, responsibility, authority, accountability |
|
||||
| Governance | Policies, rules, decisions, controls, risk, evidence, exceptions, assurance |
|
||||
| Task | Work items, options, tasks, actions, blockers, dependencies, commitment, outcomes |
|
||||
| Access Control | Subjects, principals, permissions, grants, authorization decisions, enforcement |
|
||||
| Security | Threats, weaknesses, vulnerabilities, findings, exposure, attack paths, incidents |
|
||||
| Data | Datasets, schemas, data products, classification, lineage, quality, contracts |
|
||||
| DevSecOps | Source-to-artifact-to-release-to-deployment delivery flow and evidence |
|
||||
| Network | Addressing, topology, routing, policy, reachability, exposure, network state |
|
||||
| Observability | Telemetry, logs, metrics, traces, alerts, SLOs, health, operational evidence |
|
||||
|
||||
---
|
||||
|
||||
## Current Specialized Standards
|
||||
|
||||
The repository currently includes specialized standards for:
|
||||
|
||||
```text
|
||||
standards/
|
||||
tagging/
|
||||
caring/
|
||||
```
|
||||
|
||||
| Standard | Current Responsibility |
|
||||
|---|---|
|
||||
| Tagging | Tag identity, schemes, namespaces, assignments, mappings, validation |
|
||||
| CARING | Orthogonal access-governance analysis using canonical roles, planes, exposure modes, derived and induced capabilities |
|
||||
|
||||
---
|
||||
|
||||
## Current Structural Assumptions
|
||||
|
||||
The current repository structure assumes the distinction:
|
||||
|
||||
```text
|
||||
Kernel
|
||||
Defines how the canon works.
|
||||
|
||||
Models
|
||||
Define broad domain structures.
|
||||
|
||||
Standards
|
||||
Define cross-cutting conventions, mechanisms, or named analytical/design frameworks.
|
||||
|
||||
Profiles
|
||||
Constrain models and standards for concrete implementation contexts.
|
||||
|
||||
Patterns
|
||||
Describe recurring practical solutions.
|
||||
|
||||
Mappings
|
||||
Relate InfoTechCanon concepts to external bodies of knowledge.
|
||||
|
||||
Assimilation
|
||||
Analyzes external knowledge bodies and turns them into mappings, gaps, conflicts, and proposed changes.
|
||||
|
||||
Views
|
||||
Provide generated or curated navigation over canon artifacts.
|
||||
|
||||
Agent
|
||||
Provides compact, retrieval-optimized guidance for AI agents and tools.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Current Non-Goals
|
||||
|
||||
The current repository does not yet provide:
|
||||
|
||||
- a complete ontology,
|
||||
- complete YAML/JSON schemas for all artifact types,
|
||||
- automated validation tooling,
|
||||
- fully extracted concept pages,
|
||||
- finalized mappings to external standards,
|
||||
- complete application profiles,
|
||||
- complete agent retrieval indexes,
|
||||
- mature conformance tests,
|
||||
- or a stable release of the InfoTechCanon.
|
||||
|
||||
The current scope is seed-level structure and consolidation.
|
||||
|
||||
---
|
||||
|
||||
## Current Known Duplication
|
||||
|
||||
The current seed standards still repeat some generic sections that should eventually be centralized in `InfoTechCanonCore`, including:
|
||||
|
||||
- mapping model,
|
||||
- assimilation model,
|
||||
- profile format,
|
||||
- conformance levels,
|
||||
- validation rule format,
|
||||
- repository placement,
|
||||
- agent brief requirements,
|
||||
- Canon Interface Card usage,
|
||||
- lifecycle statuses.
|
||||
|
||||
This duplication is accepted for the seed phase but should be reduced during refactoring.
|
||||
|
||||
---
|
||||
|
||||
## Current Refactoring Priorities
|
||||
|
||||
Near-term work should focus on:
|
||||
|
||||
1. moving repeated generic mechanisms into Core,
|
||||
2. creating machine-readable schemas,
|
||||
3. extracting concept pages from seed standards,
|
||||
4. creating global indexes,
|
||||
5. creating agent briefs,
|
||||
6. creating first application profiles,
|
||||
7. creating formal assimilation workspaces,
|
||||
8. running CARING as the first full benchmark assimilation,
|
||||
9. validating concept ownership across the kernel,
|
||||
10. and creating Canon Interface Cards for initial tools and repositories.
|
||||
|
||||
---
|
||||
|
||||
## First Validation Targets
|
||||
|
||||
The first validation targets should be:
|
||||
|
||||
```text
|
||||
1. Concept ownership table
|
||||
2. Cross-standard import matrix
|
||||
3. Kernel dependency graph
|
||||
4. CARING access descriptor schema
|
||||
5. Mapping schema
|
||||
6. Profile schema
|
||||
7. Agent brief schema
|
||||
8. Repository layout validation
|
||||
9. Internal link validation
|
||||
10. Duplicate concept detection
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Current Maturity
|
||||
|
||||
The repository is currently at:
|
||||
|
||||
```text
|
||||
Maturity: Seed Kernel
|
||||
Status: Pre-release consolidation
|
||||
Primary use: Human/agent reference and refactoring foundation
|
||||
```
|
||||
|
||||
The next maturity target is:
|
||||
|
||||
```text
|
||||
Maturity: Kernel RC1
|
||||
Condition:
|
||||
Core mechanisms centralized,
|
||||
standards indexed,
|
||||
concept ownership explicit,
|
||||
first profiles and mappings created,
|
||||
CARING assimilation completed,
|
||||
and basic validation scripts available.
|
||||
```
|
||||
100
canon.yaml
Normal file
100
canon.yaml
Normal file
@@ -0,0 +1,100 @@
|
||||
repository: info-tech-canon
|
||||
title: InfoTechCanon
|
||||
status: seed-kernel
|
||||
version: RC1-seed
|
||||
description: >
|
||||
An evolving, markdown-first canon for building interoperable, adaptable,
|
||||
and extensible information-processing systems.
|
||||
|
||||
classification:
|
||||
kernel:
|
||||
description: Defines how the canon is organized and evolved.
|
||||
models:
|
||||
description: Define broad domain structures.
|
||||
standards:
|
||||
description: Define cross-cutting conventions or named analytical/design frameworks.
|
||||
|
||||
kernel:
|
||||
- id: itc-core
|
||||
title: InfoTechCanonCore
|
||||
path: kernel/InfoTechCanonCore.md
|
||||
status: RC1-seed
|
||||
- id: itc-kernel-map
|
||||
title: InfoTechCanonKernelMap
|
||||
path: kernel/InfoTechCanonKernelMap.md
|
||||
status: RC1-kernel-map
|
||||
|
||||
models:
|
||||
- id: itc-infospace
|
||||
title: InfoTechCanonInformationSpaceModel
|
||||
path: models/information-space/InfoTechCanonInformationSpaceModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-land
|
||||
title: InfoTechCanonLandscapeModel
|
||||
path: models/landscape/InfoTechCanonLandscapeModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-org
|
||||
title: InfoTechCanonOrganizationModel
|
||||
path: models/organization/InfoTechCanonOrganizationModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-gov
|
||||
title: InfoTechCanonGovernanceModel
|
||||
path: models/governance/InfoTechCanonGovernanceModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-task
|
||||
title: InfoTechCanonTaskModel
|
||||
path: models/task/InfoTechCanonTaskModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-access
|
||||
title: InfoTechCanonAccessControlModel
|
||||
path: models/access-control/InfoTechCanonAccessControlModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-sec
|
||||
title: InfoTechCanonSecurityModel
|
||||
path: models/security/InfoTechCanonSecurityModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-data
|
||||
title: InfoTechCanonDataModel
|
||||
path: models/data/InfoTechCanonDataModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-devsecops
|
||||
title: InfoTechCanonDevSecOpsModel
|
||||
path: models/devsecops/InfoTechCanonDevSecOpsModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-net
|
||||
title: InfoTechCanonNetworkModel
|
||||
path: models/network/InfoTechCanonNetworkModel.md
|
||||
status: RC1-seed
|
||||
- id: itc-obs
|
||||
title: InfoTechCanonObservabilityModel
|
||||
path: models/observability/InfoTechCanonObservabilityModel.md
|
||||
status: RC1-seed
|
||||
|
||||
standards:
|
||||
- id: itc-tag
|
||||
title: InfoTechCanonTaggingStandard
|
||||
path: standards/tagging/InfoTechCanonTaggingStandard.md
|
||||
status: RC1-seed
|
||||
- id: itc-caring
|
||||
title: InfoTechCanonCaringAccessGovernanceStandard
|
||||
path: standards/caring/InfoTechCanonCaringAccessGovernanceStandard.md
|
||||
status: 0.4.0-RC2-aligned
|
||||
|
||||
planned_directories:
|
||||
- profiles/
|
||||
- patterns/
|
||||
- mappings/
|
||||
- assimilation/
|
||||
- schemas/
|
||||
- views/
|
||||
- agent/
|
||||
- examples/
|
||||
- validation/
|
||||
|
||||
next_actions:
|
||||
- centralize generic mechanisms in Core
|
||||
- create schemas for core artifact types
|
||||
- create concept ownership index
|
||||
- create agent briefs
|
||||
- run CARING assimilation benchmark
|
||||
- create small-saas kernel profile
|
||||
2302
seeds/InfoTechCanonAccessControlModel_RC1_seed.md
Executable file
2302
seeds/InfoTechCanonAccessControlModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
5413
seeds/InfoTechCanonCaringAccessGovernanceStandard.md
Executable file
5413
seeds/InfoTechCanonCaringAccessGovernanceStandard.md
Executable file
File diff suppressed because it is too large
Load Diff
1982
seeds/InfoTechCanonCore_RC1_seed.md
Executable file
1982
seeds/InfoTechCanonCore_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
2180
seeds/InfoTechCanonDataModel_RC1_seed.md
Executable file
2180
seeds/InfoTechCanonDataModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
2407
seeds/InfoTechCanonDevSecOpsModel_RC1_seed.md
Executable file
2407
seeds/InfoTechCanonDevSecOpsModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
2181
seeds/InfoTechCanonGovernanceModel_RC1_seed.md
Executable file
2181
seeds/InfoTechCanonGovernanceModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
2072
seeds/InfoTechCanonInformationSpaceModel_RC1_seed.md
Executable file
2072
seeds/InfoTechCanonInformationSpaceModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
1565
seeds/InfoTechCanonKernelMap_RC1.md
Executable file
1565
seeds/InfoTechCanonKernelMap_RC1.md
Executable file
File diff suppressed because it is too large
Load Diff
1938
seeds/InfoTechCanonLandscapeModel_RC1_seed.md
Executable file
1938
seeds/InfoTechCanonLandscapeModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
2433
seeds/InfoTechCanonNetworkModel_RC1_seed.md
Executable file
2433
seeds/InfoTechCanonNetworkModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
2272
seeds/InfoTechCanonObservabilityModel_RC1_seed.md
Executable file
2272
seeds/InfoTechCanonObservabilityModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
1750
seeds/InfoTechCanonOrganizationModel_RC1_seed.md
Executable file
1750
seeds/InfoTechCanonOrganizationModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
2234
seeds/InfoTechCanonSecurityModel_RC1_seed.md
Executable file
2234
seeds/InfoTechCanonSecurityModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
2037
seeds/InfoTechCanonTaggingStandard_RC1_seed.md
Executable file
2037
seeds/InfoTechCanonTaggingStandard_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
2100
seeds/InfoTechCanonTaskModel_RC1_seed.md
Executable file
2100
seeds/InfoTechCanonTaskModel_RC1_seed.md
Executable file
File diff suppressed because it is too large
Load Diff
181
spec/RepositoryTreeManifest.md
Normal file
181
spec/RepositoryTreeManifest.md
Normal file
@@ -0,0 +1,181 @@
|
||||
# Repository Tree Manifest
|
||||
|
||||
This manifest describes the intended seed layout for the `info-tech-canon` repository.
|
||||
|
||||
```text
|
||||
info-tech-canon/
|
||||
README.md
|
||||
INTENT.md
|
||||
SCOPE.md
|
||||
canon.yaml
|
||||
|
||||
kernel/
|
||||
InfoTechCanonCore.md
|
||||
InfoTechCanonKernelMap.md
|
||||
agent-brief.md
|
||||
schemas/
|
||||
validation/
|
||||
|
||||
models/
|
||||
information-space/
|
||||
InfoTechCanonInformationSpaceModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
landscape/
|
||||
InfoTechCanonLandscapeModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
organization/
|
||||
InfoTechCanonOrganizationModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
governance/
|
||||
InfoTechCanonGovernanceModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
task/
|
||||
InfoTechCanonTaskModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
access-control/
|
||||
InfoTechCanonAccessControlModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
security/
|
||||
InfoTechCanonSecurityModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
data/
|
||||
InfoTechCanonDataModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
devsecops/
|
||||
InfoTechCanonDevSecOpsModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
network/
|
||||
InfoTechCanonNetworkModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
observability/
|
||||
InfoTechCanonObservabilityModel.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
|
||||
standards/
|
||||
tagging/
|
||||
InfoTechCanonTaggingStandard.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
validation/
|
||||
caring/
|
||||
InfoTechCanonCaringAccessGovernanceStandard.md
|
||||
agent-brief.md
|
||||
concepts/
|
||||
profiles/
|
||||
mappings/
|
||||
benchmarks/
|
||||
examples/
|
||||
validation/
|
||||
|
||||
profiles/
|
||||
small-saas/
|
||||
kubernetes-production-readiness/
|
||||
agentic-operations/
|
||||
markdown-infospace/
|
||||
|
||||
patterns/
|
||||
core/
|
||||
integration/
|
||||
production-readiness/
|
||||
agentic/
|
||||
access-governance/
|
||||
|
||||
mappings/
|
||||
external/
|
||||
archimate/
|
||||
csdm/
|
||||
skos/
|
||||
prov-o/
|
||||
dcat/
|
||||
nist-csf/
|
||||
rbac/
|
||||
kubernetes/
|
||||
github/
|
||||
opentelemetry/
|
||||
slsa/
|
||||
|
||||
assimilation/
|
||||
inbox/
|
||||
active/
|
||||
completed/
|
||||
templates/
|
||||
|
||||
schemas/
|
||||
concept.schema.yaml
|
||||
standard.schema.yaml
|
||||
mapping.schema.yaml
|
||||
profile.schema.yaml
|
||||
assimilation.schema.yaml
|
||||
interface-card.schema.yaml
|
||||
agent-brief.schema.yaml
|
||||
|
||||
views/
|
||||
kernel-overview.md
|
||||
by-standard.md
|
||||
by-concept.md
|
||||
by-pattern.md
|
||||
by-profile.md
|
||||
by-mapping-target.md
|
||||
refactoring-checklist.md
|
||||
|
||||
agent/
|
||||
global-agent-brief.md
|
||||
retrieval-index.md
|
||||
common-mistakes.md
|
||||
|
||||
examples/
|
||||
small-saas/
|
||||
kubernetes/
|
||||
caring-analysis/
|
||||
agentic-workflow/
|
||||
|
||||
validation/
|
||||
README.md
|
||||
core-validation-rules.yaml
|
||||
```
|
||||
156
spec/agent_global-agent-brief.md
Normal file
156
spec/agent_global-agent-brief.md
Normal file
@@ -0,0 +1,156 @@
|
||||
# Global Agent Brief: InfoTechCanon
|
||||
|
||||
## Purpose
|
||||
|
||||
InfoTechCanon is a markdown-first canon for building interoperable, adaptable, and extensible information-processing systems.
|
||||
|
||||
Use it as a semantic reference layer when creating or modifying repositories, standards, schemas, profiles, mappings, integration artifacts, and agent workflows.
|
||||
|
||||
---
|
||||
|
||||
## Core Rule
|
||||
|
||||
```text
|
||||
Do not invent local semantics when a canonical concept exists.
|
||||
Import, map, profile, or extend explicitly.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Repository Classification
|
||||
|
||||
```text
|
||||
Kernel
|
||||
Defines how the canon works.
|
||||
|
||||
Models
|
||||
Define broad domain structures.
|
||||
|
||||
Standards
|
||||
Define cross-cutting conventions or named analytical/design frameworks.
|
||||
|
||||
Profiles
|
||||
Constrain standards and models for concrete use cases.
|
||||
|
||||
Patterns
|
||||
Explain recurring practical solutions.
|
||||
|
||||
Mappings
|
||||
Relate InfoTechCanon concepts to external standards, products, or frameworks.
|
||||
|
||||
Assimilation
|
||||
Analyzes external knowledge and produces mappings, gaps, conflicts, and proposed changes.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Current Kernel
|
||||
|
||||
```text
|
||||
InfoTechCanonCore
|
||||
InfoTechCanonKernelMap
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Current Models
|
||||
|
||||
```text
|
||||
Information Space
|
||||
Landscape
|
||||
Organization
|
||||
Governance
|
||||
Task
|
||||
Access Control
|
||||
Security
|
||||
Data
|
||||
DevSecOps
|
||||
Network
|
||||
Observability
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Current Standards
|
||||
|
||||
```text
|
||||
Tagging
|
||||
CARING Access Governance
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Do
|
||||
|
||||
- Use canonical names where available.
|
||||
- Preserve concept ownership.
|
||||
- Add mappings instead of forcing external terminology.
|
||||
- Use profiles instead of local forks.
|
||||
- Keep domain boundaries explicit.
|
||||
- Record open questions.
|
||||
- Add provenance and rationale for important changes.
|
||||
- Prefer structured front matter in Markdown artifacts.
|
||||
- Keep agent briefs aligned with full standards.
|
||||
- Treat CARING as a specialized standard, not a simple profile.
|
||||
|
||||
---
|
||||
|
||||
## Do Not
|
||||
|
||||
- Do not redefine concepts owned by another standard.
|
||||
- Do not collapse organization roles, access roles, and CARING canonical roles.
|
||||
- Do not treat tags as a substitute for fields, relationships, policies, or evidence.
|
||||
- Do not treat external standards as internal authorities.
|
||||
- Do not treat generated views as canonical source.
|
||||
- Do not hide mappings in prose.
|
||||
- Do not accept duplicated concept definitions without a boundary review.
|
||||
|
||||
---
|
||||
|
||||
## Common Distinctions
|
||||
|
||||
```text
|
||||
Actor != Subject != Principal
|
||||
|
||||
Organization Role != AccessRole != CARING Canonical Role
|
||||
|
||||
Policy != Control != Evidence
|
||||
|
||||
Option != Task != Action
|
||||
|
||||
Dataset != DataStore
|
||||
|
||||
Artifact != Deployment != Release
|
||||
|
||||
Network Intent != Network Policy != Network Configuration != Observed State
|
||||
|
||||
Alert != Incident
|
||||
|
||||
Tag != Field != Relationship
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CARING Reminder
|
||||
|
||||
CARING analyzes access through orthogonal dimensions:
|
||||
|
||||
```text
|
||||
Subject
|
||||
Organization Relation
|
||||
Canonical Role
|
||||
Scope
|
||||
Plane
|
||||
Capability
|
||||
Exposure Mode
|
||||
Condition
|
||||
Lifecycle State
|
||||
Restriction
|
||||
Exposure Event
|
||||
Declared Access
|
||||
Effective Access
|
||||
Derived Capability
|
||||
Induced Access
|
||||
```
|
||||
|
||||
Use CARING especially for access-governance analysis, role decomposition, tenant-boundary review, agent access, service-account access, and induced capability analysis.
|
||||
115
spec/views_kernel-overview.md
Normal file
115
spec/views_kernel-overview.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# Kernel Overview
|
||||
|
||||
## First-Generation Kernel
|
||||
|
||||
The current InfoTechCanon kernel is composed of:
|
||||
|
||||
```text
|
||||
Kernel:
|
||||
InfoTechCanonCore
|
||||
InfoTechCanonKernelMap
|
||||
|
||||
Models:
|
||||
InfoTechCanonInformationSpaceModel
|
||||
InfoTechCanonLandscapeModel
|
||||
InfoTechCanonOrganizationModel
|
||||
InfoTechCanonGovernanceModel
|
||||
InfoTechCanonTaskModel
|
||||
InfoTechCanonAccessControlModel
|
||||
InfoTechCanonSecurityModel
|
||||
InfoTechCanonDataModel
|
||||
InfoTechCanonDevSecOpsModel
|
||||
InfoTechCanonNetworkModel
|
||||
InfoTechCanonObservabilityModel
|
||||
|
||||
Standards:
|
||||
InfoTechCanonTaggingStandard
|
||||
InfoTechCanonCaringAccessGovernanceStandard
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Compact Mental Model
|
||||
|
||||
```text
|
||||
Core
|
||||
how the canon works
|
||||
|
||||
Information Space
|
||||
how canon knowledge is stored, linked, retrieved, and reused
|
||||
|
||||
Landscape
|
||||
what exists
|
||||
|
||||
Organization
|
||||
who acts
|
||||
|
||||
Governance
|
||||
how action is directed, constrained, reviewed, and evidenced
|
||||
|
||||
Task
|
||||
what work exists and how it progresses
|
||||
|
||||
Tagging
|
||||
how entities are lightly classified
|
||||
|
||||
Access Control
|
||||
who/what may do which action on which resource under which conditions
|
||||
|
||||
CARING
|
||||
how access governance is analyzed orthogonally across lifecycle, planes, scope, exposure, and effective access
|
||||
|
||||
Security
|
||||
what threatens, weakens, exposes, detects, mitigates, and responds
|
||||
|
||||
Data
|
||||
what data means, how it is structured, classified, traced, and contracted
|
||||
|
||||
DevSecOps
|
||||
how source changes become artifacts, releases, deployments, and evidence
|
||||
|
||||
Network
|
||||
how communication, reachability, addressing, routing, policy, and exposure work
|
||||
|
||||
Observability
|
||||
how runtime reality becomes signals, evidence, alerts, health, and feedback
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Primary Kernel Rule
|
||||
|
||||
```text
|
||||
Generic mechanisms belong in Core.
|
||||
Domain meaning belongs in Models.
|
||||
Named analytical/design frameworks belong in Standards.
|
||||
Concrete implementation constraints belong in Profiles.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CARING Position
|
||||
|
||||
CARING is a specialized access-governance standard. It should live under:
|
||||
|
||||
```text
|
||||
standards/caring/InfoTechCanonCaringAccessGovernanceStandard.md
|
||||
```
|
||||
|
||||
It should import from:
|
||||
|
||||
```text
|
||||
Core
|
||||
Organization
|
||||
Governance
|
||||
Access Control
|
||||
Security
|
||||
Data
|
||||
DevSecOps
|
||||
Network
|
||||
Observability
|
||||
Task
|
||||
Tagging
|
||||
```
|
||||
|
||||
It should not be flattened into Access Control because it owns a distinctive orthogonal descriptor model.
|
||||
101
spec/views_refactoring-checklist.md
Normal file
101
spec/views_refactoring-checklist.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# Refactoring Checklist
|
||||
|
||||
## Goal
|
||||
|
||||
Move repeated generic mechanisms out of individual seed standards and into `InfoTechCanonCore`, while keeping domain-specific meaning in each model or standard.
|
||||
|
||||
---
|
||||
|
||||
## 1. Core Mechanisms to Centralize
|
||||
|
||||
- [ ] Mapping types
|
||||
- [ ] Mapping record structure
|
||||
- [ ] Assimilation process
|
||||
- [ ] Assimilation workspace structure
|
||||
- [ ] Profile format
|
||||
- [ ] Pattern format
|
||||
- [ ] Validation rule format
|
||||
- [ ] Conformance levels
|
||||
- [ ] Lifecycle statuses
|
||||
- [ ] Artifact statuses
|
||||
- [ ] Concept statuses
|
||||
- [ ] Agent brief format
|
||||
- [ ] Canon Interface Card format
|
||||
- [ ] Repository layout conventions
|
||||
- [ ] Machine-readable schema conventions
|
||||
|
||||
---
|
||||
|
||||
## 2. Per-Standard Refactor Checklist
|
||||
|
||||
For every model or standard:
|
||||
|
||||
- [ ] Declare import of `InfoTechCanonCore`
|
||||
- [ ] Declare canonical owner namespace
|
||||
- [ ] Declare owned concepts
|
||||
- [ ] Declare imported concepts
|
||||
- [ ] Remove duplicated generic mapping type definitions
|
||||
- [ ] Remove duplicated generic assimilation process definitions
|
||||
- [ ] Keep domain-specific mapping targets
|
||||
- [ ] Keep domain-specific assimilation candidates
|
||||
- [ ] Keep domain-specific profiles
|
||||
- [ ] Keep domain-specific validation rules
|
||||
- [ ] Keep domain-specific anti-patterns
|
||||
- [ ] Add or update `agent-brief.md`
|
||||
- [ ] Add concept extraction candidates
|
||||
- [ ] Add profile extraction candidates
|
||||
- [ ] Add mapping extraction candidates
|
||||
|
||||
---
|
||||
|
||||
## 3. CARING Refactor Checklist
|
||||
|
||||
- [ ] Place CARING under `standards/caring/`
|
||||
- [ ] Use file name `InfoTechCanonCaringAccessGovernanceStandard.md`
|
||||
- [ ] Add namespace `itc-caring`
|
||||
- [ ] Add Canon metadata preface
|
||||
- [ ] Declare imports from Core, Organization, Governance, Access Control, Security, Data, DevSecOps, Network, Observability, Task, and Tagging
|
||||
- [ ] Declare CARING-owned concepts
|
||||
- [ ] Preserve CARING canonical role taxonomy
|
||||
- [ ] Preserve CARING access descriptor model
|
||||
- [ ] Preserve declared/effective access distinction
|
||||
- [ ] Preserve derived and induced capability analysis
|
||||
- [ ] Add CARING benchmark directory
|
||||
- [ ] Create CARING access descriptor schema
|
||||
- [ ] Create CARING mapping-to-kernel document
|
||||
- [ ] Create CARING agent brief
|
||||
|
||||
---
|
||||
|
||||
## 4. First Schemas to Create
|
||||
|
||||
- [ ] `concept.schema.yaml`
|
||||
- [ ] `standard.schema.yaml`
|
||||
- [ ] `mapping.schema.yaml`
|
||||
- [ ] `profile.schema.yaml`
|
||||
- [ ] `assimilation.schema.yaml`
|
||||
- [ ] `interface-card.schema.yaml`
|
||||
- [ ] `agent-brief.schema.yaml`
|
||||
- [ ] `caring-access-descriptor.schema.yaml`
|
||||
|
||||
---
|
||||
|
||||
## 5. First Generated Views
|
||||
|
||||
- [ ] `views/by-standard.md`
|
||||
- [ ] `views/by-concept.md`
|
||||
- [ ] `views/by-profile.md`
|
||||
- [ ] `views/by-mapping-target.md`
|
||||
- [ ] `views/dependency-graph.md`
|
||||
- [ ] `views/kernel-overview.md`
|
||||
|
||||
---
|
||||
|
||||
## 6. First Assimilation Workspaces
|
||||
|
||||
- [ ] CARING
|
||||
- [ ] Kubernetes RBAC
|
||||
- [ ] ServiceNow CSDM
|
||||
- [ ] OpenTelemetry
|
||||
- [ ] DCAT / PROV-O
|
||||
- [ ] SLSA / in-toto
|
||||
952
wiki/ProductRequirementsDocument.md
Normal file
952
wiki/ProductRequirementsDocument.md
Normal file
@@ -0,0 +1,952 @@
|
||||
# Product Requirements Document: InfoTechCanon
|
||||
|
||||
**Document Status:** Draft 1
|
||||
**Product Name:** InfoTechCanon
|
||||
**Working Repository Name:** `infotech-canon`
|
||||
**Primary Product Type:** Markdown-first standards, knowledge, and interoperability framework
|
||||
**Date:** 2026-05-22
|
||||
**Owner:** Bernd Worsch
|
||||
|
||||
---
|
||||
|
||||
# 1. Definition
|
||||
|
||||
A **Product Requirements Document (PRD)** is a structured document that defines the intended purpose, users, value proposition, scope, requirements, constraints, risks, and success criteria for a product or product-like system.
|
||||
|
||||
It explains **what should be built and why**, without prescribing all implementation details. A PRD serves as a shared reference for stakeholders, designers, developers, architects, reviewers, and agents involved in planning, implementation, validation, and evolution of the product.
|
||||
|
||||
---
|
||||
|
||||
# 2. Context
|
||||
|
||||
The InfoTechCanon is intended to become an evolving reference system for building interoperable information-processing systems.
|
||||
|
||||
The user is developing multiple tools, repositories, standards, and platform components around markdown-first knowledge management, agentic software development, DevSecOps, IT landscape modeling, governance, access control, task management, tagging, and information processing. These efforts require a shared semantic foundation to reduce contradiction, overlap, and integration friction while preserving adaptability and extensibility.
|
||||
|
||||
Recent work includes the first release candidate of a canonical IT landscape model, currently evolving toward the **InfoTechCanonLandscapeModel**. The user now wants to refactor this and related standards into a broader, interconnected, orthogonal standards system called **InfoTechCanon**.
|
||||
|
||||
The InfoTechCanon should not merely be a static collection of documents. It should become a **versioned, markdown-first, machine-readable, human-usable, agent-retrievable body of knowledge** that can guide system design and integration across a growing ecosystem of tools and services.
|
||||
|
||||
---
|
||||
|
||||
# 3. Product Vision
|
||||
|
||||
**InfoTechCanon provides an evolving semantic reference system for building interoperable, adaptable, and extensible information-processing systems.**
|
||||
|
||||
It enables standards, models, concepts, patterns, profiles, mappings, and assimilation processes to evolve coherently while remaining useful for humans, agents, and software tools.
|
||||
|
||||
The InfoTechCanon should serve as a practical foundation for:
|
||||
|
||||
- designing compatible subsystems,
|
||||
- reducing semantic drift across repositories,
|
||||
- integrating tools and services through declared semantic contracts,
|
||||
- mapping internal concepts to external standards and regulations,
|
||||
- assimilating new bodies of knowledge,
|
||||
- enabling efficient retrieval and reuse by agents and humans,
|
||||
- and guiding the construction of markdown-based infospaces and knowledge-processing systems.
|
||||
|
||||
---
|
||||
|
||||
# 4. Product Purpose
|
||||
|
||||
The purpose of InfoTechCanon is to provide a **canonical reference layer** for information technology and information-processing systems.
|
||||
|
||||
It should allow the user and future collaborators to answer questions such as:
|
||||
|
||||
- What does this concept mean in our system landscape?
|
||||
- Which standard owns this concept?
|
||||
- Which external standards or regulations does it map to?
|
||||
- Which subsystem produces or consumes this concept?
|
||||
- Which patterns describe how this concept is used in practice?
|
||||
- Which profiles constrain this concept for a specific implementation context?
|
||||
- What happens when a new external standard, regulation, product model, or body of knowledge appears?
|
||||
- How can agents retrieve the right knowledge efficiently and use it without inventing contradictory models?
|
||||
|
||||
---
|
||||
|
||||
# 5. Primary Utility
|
||||
|
||||
The primary utility of InfoTechCanon is to turn **integration by interpretation** into **integration by declared semantic contract**.
|
||||
|
||||
Instead of each repository, subsystem, or agent inventing its own terminology and assumptions, InfoTechCanon provides:
|
||||
|
||||
- stable canonical concepts,
|
||||
- explicit concept ownership,
|
||||
- standard structures,
|
||||
- reusable pattern languages,
|
||||
- application profiles,
|
||||
- mapping artifacts,
|
||||
- assimilation workflows,
|
||||
- retrieval-optimized markdown infospaces,
|
||||
- and conformance rules.
|
||||
|
||||
This enables systems to “snap together” more easily while still allowing the standards to evolve.
|
||||
|
||||
---
|
||||
|
||||
# 6. Intended Users
|
||||
|
||||
## 6.1 Primary Users
|
||||
|
||||
### System Architect
|
||||
|
||||
Uses InfoTechCanon to design interoperable subsystems, clarify domain boundaries, and reduce overlap between standards, services, repositories, and models.
|
||||
|
||||
### Repository Maintainer
|
||||
|
||||
Uses InfoTechCanon to declare which concepts a repository owns, produces, consumes, or implements.
|
||||
|
||||
### Agentic Coding Assistant
|
||||
|
||||
Retrieves relevant standards, terms, profiles, and patterns to generate compatible code, documentation, schemas, mappings, and integration artifacts.
|
||||
|
||||
### Standards Author
|
||||
|
||||
Creates and refactors InfoTechCanon standards, concept definitions, mapping files, profiles, and pattern-language documents.
|
||||
|
||||
### Platform Builder
|
||||
|
||||
Uses InfoTechCanon as the semantic reference layer for services such as markitect-tool, kontextual-engine, shard-wiki, llm-connect, phase-memory, user-engine, landscape tools, and task-management tools.
|
||||
|
||||
---
|
||||
|
||||
## 6.2 Secondary Users
|
||||
|
||||
### Governance / Compliance Reviewer
|
||||
|
||||
Uses mappings and assimilation reports to understand how internal concepts relate to external regulations, frameworks, and audit requirements.
|
||||
|
||||
### Product Owner
|
||||
|
||||
Uses the canon to align product requirements, service boundaries, task models, and system responsibilities.
|
||||
|
||||
### Developer
|
||||
|
||||
Uses profiles, interface cards, and validation rules to implement systems that remain compatible with the broader ecosystem.
|
||||
|
||||
### Knowledge Curator
|
||||
|
||||
Maintains the markdown infospace, indexes, concept pages, backlinks, and retrieval structures.
|
||||
|
||||
---
|
||||
|
||||
# 7. Core Product Principles
|
||||
|
||||
## 7.1 Canonical Autonomy
|
||||
|
||||
InfoTechCanon may map to external standards, but it must not be subordinated to them.
|
||||
|
||||
External standards, regulations, and product models influence the canon through mappings and assimilation, not by directly defining internal semantics.
|
||||
|
||||
## 7.2 Orthogonality
|
||||
|
||||
Each standard should own a distinct set of primary concerns. Standards may import concepts from other standards but should not redefine them.
|
||||
|
||||
A concept may be used by many standards but should have exactly one canonical owner.
|
||||
|
||||
## 7.3 Network Before Tree
|
||||
|
||||
Hierarchy is useful for abstraction and navigation, but InfoTechCanon is fundamentally an interconnected network of terms, standards, patterns, profiles, mappings, and relationships.
|
||||
|
||||
## 7.4 Pattern-Language Orientation
|
||||
|
||||
The canon should not only define concepts. It should also provide practical reusable patterns inspired by pattern-language thinking.
|
||||
|
||||
A pattern describes a recurring problem, relevant forces, a reusable solution, consequences, related concepts, and implementation guidance.
|
||||
|
||||
## 7.5 Markdown-First, Machine-Readable
|
||||
|
||||
Canon artifacts should be written as human-readable Markdown with structured metadata that enables indexing, validation, retrieval, transformation, and agent use.
|
||||
|
||||
## 7.6 Assimilation Instead of Blind Adoption
|
||||
|
||||
When a new standard, regulation, model, or body of knowledge appears, InfoTechCanon should run an assimilation process to extract concepts, compare them to internal concepts, identify gaps and conflicts, propose changes, and publish mappings.
|
||||
|
||||
## 7.7 Retrieval as a First-Class Requirement
|
||||
|
||||
The canon must be efficiently retrievable and reusable by both humans and agents.
|
||||
|
||||
Documentation, metadata, summaries, indexes, stable identifiers, front matter, and chunking strategies should be designed accordingly.
|
||||
|
||||
## 7.8 Evolution With Traceability
|
||||
|
||||
The canon must evolve without losing provenance, compatibility information, or historical reasoning.
|
||||
|
||||
Changes should preserve why a concept exists, what influenced it, what it replaced, and how it maps externally.
|
||||
|
||||
---
|
||||
|
||||
# 8. Product Scope
|
||||
|
||||
## 8.1 In Scope
|
||||
|
||||
The InfoTechCanon product includes:
|
||||
|
||||
- a core meta-standard for defining all other standards,
|
||||
- canonical concept and relationship models,
|
||||
- standard document structures,
|
||||
- concept ownership rules,
|
||||
- mapping mechanisms to external standards and regulations,
|
||||
- assimilation workflow definitions,
|
||||
- pattern-language structures,
|
||||
- application profile structures,
|
||||
- retrieval and reuse conventions,
|
||||
- machine-readable metadata schemas,
|
||||
- repository layout conventions,
|
||||
- conformance levels,
|
||||
- validation rules,
|
||||
- and initial domain standards.
|
||||
|
||||
Initial domain standards may include:
|
||||
|
||||
- InfoTechCanonCore,
|
||||
- InfoTechCanonLandscapeModel,
|
||||
- InfoTechCanonOrganizationModel,
|
||||
- InfoTechCanonGovernanceModel,
|
||||
- InfoTechCanonTaskModel,
|
||||
- InfoTechCanonTaggingStandard,
|
||||
- InfoTechCanonAccessControlModel,
|
||||
- InfoTechCanonPatternLanguage.
|
||||
|
||||
---
|
||||
|
||||
## 8.2 Out of Scope
|
||||
|
||||
The initial product does not include:
|
||||
|
||||
- a complete implementation of every domain standard,
|
||||
- full legal or regulatory compliance certification,
|
||||
- a replacement for external standards such as ArchiMate, CSDM, ITIL, PMBOK, ISO, NIST, YANG, SPDX, or CycloneDX,
|
||||
- a mandatory enterprise-wide data model that all systems must implement fully,
|
||||
- a graphical modeling tool,
|
||||
- a complete ontology editor,
|
||||
- a fully automated standards governance board,
|
||||
- or a guarantee that all external standards can be mapped without ambiguity.
|
||||
|
||||
---
|
||||
|
||||
# 9. Product Architecture
|
||||
|
||||
## 9.1 Conceptual Product Structure
|
||||
|
||||
InfoTechCanon should consist of four major layers:
|
||||
|
||||
```text
|
||||
InfoTechCanon
|
||||
├── Canon Core
|
||||
├── Domain Standards
|
||||
├── Pattern Languages
|
||||
└── Application Profiles
|
||||
```
|
||||
|
||||
## 9.2 Canon Core
|
||||
|
||||
The Canon Core defines the rules for the entire standards system.
|
||||
|
||||
It should include:
|
||||
|
||||
- canon artifact model,
|
||||
- concept model,
|
||||
- relationship model,
|
||||
- concept ownership model,
|
||||
- standard structure,
|
||||
- mapping model,
|
||||
- assimilation model,
|
||||
- pattern model,
|
||||
- profile model,
|
||||
- retrieval model,
|
||||
- provenance model,
|
||||
- versioning model,
|
||||
- conformance model,
|
||||
- and repository layout conventions.
|
||||
|
||||
## 9.3 Domain Standards
|
||||
|
||||
Domain standards define canonical concepts for sufficiently independent domains.
|
||||
|
||||
Initial candidates:
|
||||
|
||||
```text
|
||||
InfoTechCanonCore
|
||||
InfoTechCanonLandscapeModel
|
||||
InfoTechCanonOrganizationModel
|
||||
InfoTechCanonGovernanceModel
|
||||
InfoTechCanonTaskModel
|
||||
InfoTechCanonTaggingStandard
|
||||
InfoTechCanonAccessControlModel
|
||||
InfoTechCanonServiceModel
|
||||
InfoTechCanonSoftwareModel
|
||||
InfoTechCanonDevSecOpsModel
|
||||
InfoTechCanonNetworkModel
|
||||
InfoTechCanonSecurityModel
|
||||
InfoTechCanonObservabilityModel
|
||||
InfoTechCanonDataModel
|
||||
```
|
||||
|
||||
Not all of these need to be created immediately. Some may begin as sections, profiles, or extraction candidates.
|
||||
|
||||
## 9.4 Pattern Languages
|
||||
|
||||
Pattern languages describe recurring practical solutions using canonical concepts.
|
||||
|
||||
Example pattern families:
|
||||
|
||||
- landscape patterns,
|
||||
- governance patterns,
|
||||
- task patterns,
|
||||
- tagging patterns,
|
||||
- integration patterns,
|
||||
- security patterns,
|
||||
- DevSecOps patterns,
|
||||
- retrieval patterns,
|
||||
- assimilation patterns.
|
||||
|
||||
## 9.5 Application Profiles
|
||||
|
||||
Application profiles constrain the canon for concrete use cases.
|
||||
|
||||
Examples:
|
||||
|
||||
- KubernetesLandscapeProfile,
|
||||
- GitHubIssuesTaskTaggingProfile,
|
||||
- ServiceNowCSDMMappingProfile,
|
||||
- NetBoxNetworkSourceOfTruthProfile,
|
||||
- BackstageSoftwareCatalogProfile,
|
||||
- SmallSaaSDevSecOpsProfile,
|
||||
- EnterpriseSaaSComplianceProfile.
|
||||
|
||||
---
|
||||
|
||||
# 10. Functional Requirements
|
||||
|
||||
## 10.1 Canon Artifact Management
|
||||
|
||||
### REQ-CANON-001: Canon Artifact Types
|
||||
|
||||
The system shall define canonical artifact types including:
|
||||
|
||||
- Standard,
|
||||
- Concept,
|
||||
- Relationship,
|
||||
- Pattern,
|
||||
- Profile,
|
||||
- Mapping,
|
||||
- Assimilation Report,
|
||||
- Conformance Rule,
|
||||
- Validation Rule,
|
||||
- Interface Card,
|
||||
- Example,
|
||||
- Decision Record.
|
||||
|
||||
### REQ-CANON-002: Stable Identifiers
|
||||
|
||||
Each canon artifact shall have a stable identifier.
|
||||
|
||||
Identifiers should be suitable for human reference, machine processing, linking, and retrieval.
|
||||
|
||||
### REQ-CANON-003: Structured Metadata
|
||||
|
||||
Each canon artifact shall support structured metadata, preferably through Markdown front matter.
|
||||
|
||||
Metadata should include at least:
|
||||
|
||||
- id,
|
||||
- title,
|
||||
- artifact type,
|
||||
- status,
|
||||
- version,
|
||||
- canonical owner,
|
||||
- imported standards,
|
||||
- related artifacts,
|
||||
- source references,
|
||||
- provenance,
|
||||
- and lifecycle state.
|
||||
|
||||
---
|
||||
|
||||
## 10.2 Concept Ownership
|
||||
|
||||
### REQ-CONCEPT-001: Single Canonical Owner
|
||||
|
||||
Each canonical concept shall have exactly one owning standard.
|
||||
|
||||
### REQ-CONCEPT-002: Concept Reuse Through Imports
|
||||
|
||||
Standards shall reuse concepts from other standards by import or reference, not by redefinition.
|
||||
|
||||
### REQ-CONCEPT-003: Concept Status
|
||||
|
||||
Each concept shall have a lifecycle status.
|
||||
|
||||
Recommended statuses:
|
||||
|
||||
- proposed,
|
||||
- experimental,
|
||||
- candidate,
|
||||
- canonical,
|
||||
- deprecated,
|
||||
- retired.
|
||||
|
||||
### REQ-CONCEPT-004: Concept Disambiguation
|
||||
|
||||
Concept definitions should include “do not confuse with” notes where ambiguity is likely.
|
||||
|
||||
---
|
||||
|
||||
## 10.3 Mapping
|
||||
|
||||
### REQ-MAP-001: External Mapping Support
|
||||
|
||||
The canon shall support explicit mappings between InfoTechCanon concepts and external standards, regulations, product models, frameworks, and bodies of knowledge.
|
||||
|
||||
### REQ-MAP-002: Mapping Types
|
||||
|
||||
Mappings shall support at least the following mapping types:
|
||||
|
||||
- exactMatch,
|
||||
- closeMatch,
|
||||
- broadMatch,
|
||||
- narrowMatch,
|
||||
- relatedMatch,
|
||||
- conflictMatch,
|
||||
- gapMatch,
|
||||
- derivedFrom,
|
||||
- regulatoryReference.
|
||||
|
||||
### REQ-MAP-003: Scoped Mappings
|
||||
|
||||
Each mapping shall declare its scope and known limits.
|
||||
|
||||
### REQ-MAP-004: Versioned Mappings
|
||||
|
||||
Each mapping to an external body of knowledge shall specify the target body and target version where known.
|
||||
|
||||
### REQ-MAP-005: Mapping Rationale
|
||||
|
||||
Each non-trivial mapping shall include a rationale explaining why the mapping exists and how it should be interpreted.
|
||||
|
||||
### REQ-MAP-006: Mapping Lifecycle
|
||||
|
||||
Mappings shall have lifecycle statuses such as:
|
||||
|
||||
- proposed,
|
||||
- reviewed,
|
||||
- candidate,
|
||||
- accepted,
|
||||
- deprecated,
|
||||
- superseded,
|
||||
- rejected.
|
||||
|
||||
---
|
||||
|
||||
## 10.4 Assimilation
|
||||
|
||||
### REQ-ASSIM-001: Assimilation Candidate
|
||||
|
||||
The canon shall support an assimilation candidate artifact for external bodies of knowledge.
|
||||
|
||||
### REQ-ASSIM-002: Assimilation Process
|
||||
|
||||
The assimilation process shall include:
|
||||
|
||||
1. intake,
|
||||
2. scoping,
|
||||
3. concept extraction,
|
||||
4. concept comparison,
|
||||
5. gap and conflict analysis,
|
||||
6. canon impact proposal,
|
||||
7. mapping and publication.
|
||||
|
||||
### REQ-ASSIM-003: Assimilation Outputs
|
||||
|
||||
Each completed assimilation should produce:
|
||||
|
||||
- assimilation report,
|
||||
- source summary,
|
||||
- extracted concepts,
|
||||
- comparison matrix,
|
||||
- mappings,
|
||||
- proposed changes,
|
||||
- open questions,
|
||||
- deferred items.
|
||||
|
||||
### REQ-ASSIM-004: Assimilation Does Not Automatically Mutate Canon
|
||||
|
||||
Assimilation shall produce change proposals, mappings, and recommendations. Canon changes require explicit acceptance.
|
||||
|
||||
### REQ-ASSIM-005: Gap and Conflict Capture
|
||||
|
||||
Assimilation shall explicitly capture gaps, conflicts, overlaps, ambiguities, and potential refactoring opportunities.
|
||||
|
||||
---
|
||||
|
||||
## 10.5 Pattern Language
|
||||
|
||||
### REQ-PATTERN-001: Pattern Format
|
||||
|
||||
The canon shall define a reusable pattern format including:
|
||||
|
||||
- name,
|
||||
- aliases,
|
||||
- context,
|
||||
- problem,
|
||||
- forces,
|
||||
- solution,
|
||||
- resulting context,
|
||||
- used concepts,
|
||||
- related patterns,
|
||||
- known variants,
|
||||
- failure modes,
|
||||
- examples,
|
||||
- implementation notes.
|
||||
|
||||
### REQ-PATTERN-002: Pattern References
|
||||
|
||||
Standards and profiles shall be able to reference patterns.
|
||||
|
||||
### REQ-PATTERN-003: Pattern Families
|
||||
|
||||
Patterns should be organized into pattern families such as governance, integration, task, landscape, security, and DevSecOps patterns.
|
||||
|
||||
---
|
||||
|
||||
## 10.6 Application Profiles
|
||||
|
||||
### REQ-PROFILE-001: Profile Definition
|
||||
|
||||
The canon shall support application profiles that constrain canon concepts for specific implementation contexts.
|
||||
|
||||
### REQ-PROFILE-002: Profile Content
|
||||
|
||||
A profile shall define:
|
||||
|
||||
- used standards,
|
||||
- included concepts,
|
||||
- required relationships,
|
||||
- required metadata,
|
||||
- constraints,
|
||||
- validation rules,
|
||||
- examples,
|
||||
- supported integrations,
|
||||
- known deviations.
|
||||
|
||||
### REQ-PROFILE-003: Profile Conformance
|
||||
|
||||
A subsystem may declare conformance to a profile.
|
||||
|
||||
---
|
||||
|
||||
## 10.7 Interface Cards
|
||||
|
||||
### REQ-IFC-001: Canon Interface Card
|
||||
|
||||
The canon shall define a Canon Interface Card format for subsystems.
|
||||
|
||||
A Canon Interface Card shall describe:
|
||||
|
||||
- subsystem name,
|
||||
- implemented standards,
|
||||
- implemented profiles,
|
||||
- owned concepts,
|
||||
- produced concepts,
|
||||
- consumed concepts,
|
||||
- accepted relationships,
|
||||
- emitted events,
|
||||
- required identifiers,
|
||||
- mapping rules,
|
||||
- validation rules,
|
||||
- known deviations.
|
||||
|
||||
### REQ-IFC-002: Subsystem Integration
|
||||
|
||||
Subsystems should use Canon Interface Cards to declare how they snap into the larger InfoTechCanon ecosystem.
|
||||
|
||||
---
|
||||
|
||||
## 10.8 Retrieval and Reuse
|
||||
|
||||
### REQ-RET-001: Markdown-First Retrieval
|
||||
|
||||
The canon shall be stored in Markdown files that are structured for both human readability and machine retrieval.
|
||||
|
||||
### REQ-RET-002: Agent Briefs
|
||||
|
||||
Each standard should provide an agent-oriented brief containing:
|
||||
|
||||
- purpose,
|
||||
- scope,
|
||||
- owned concepts,
|
||||
- imported concepts,
|
||||
- canonical patterns,
|
||||
- do / do not guidance,
|
||||
- common mistakes,
|
||||
- minimal examples.
|
||||
|
||||
### REQ-RET-003: Indexes
|
||||
|
||||
The canon shall provide indexes by:
|
||||
|
||||
- standard,
|
||||
- concept,
|
||||
- pattern,
|
||||
- profile,
|
||||
- mapping,
|
||||
- external standard,
|
||||
- status,
|
||||
- domain,
|
||||
- use path.
|
||||
|
||||
### REQ-RET-004: Chunking Support
|
||||
|
||||
Markdown artifacts should be written in a way that supports reliable retrieval chunks with stable headings and identifiers.
|
||||
|
||||
### REQ-RET-005: Machine-Readable Exports
|
||||
|
||||
The canon should support machine-readable exports such as YAML, JSON, JSON-LD, RDF, or graph representations.
|
||||
|
||||
---
|
||||
|
||||
## 10.9 Provenance
|
||||
|
||||
### REQ-PROV-001: Provenance Metadata
|
||||
|
||||
Each significant canon artifact shall support provenance metadata.
|
||||
|
||||
### REQ-PROV-002: Source Traceability
|
||||
|
||||
The canon shall record which sources, assimilations, decisions, or prior concepts influenced a concept, mapping, profile, or pattern.
|
||||
|
||||
### REQ-PROV-003: Change Traceability
|
||||
|
||||
The canon shall record supersession, deprecation, replacement, and compatibility information.
|
||||
|
||||
---
|
||||
|
||||
## 10.10 Versioning and Compatibility
|
||||
|
||||
### REQ-VER-001: Versioned Standards
|
||||
|
||||
Each standard shall have a version and status.
|
||||
|
||||
Recommended statuses:
|
||||
|
||||
- idea,
|
||||
- draft,
|
||||
- candidate,
|
||||
- release-candidate,
|
||||
- adopted,
|
||||
- stable,
|
||||
- deprecated,
|
||||
- retired.
|
||||
|
||||
### REQ-VER-002: Change Classification
|
||||
|
||||
Changes shall be classified as:
|
||||
|
||||
- patch,
|
||||
- minor,
|
||||
- major,
|
||||
- fork.
|
||||
|
||||
### REQ-VER-003: Compatibility Notes
|
||||
|
||||
Major semantic changes shall include compatibility and migration notes.
|
||||
|
||||
---
|
||||
|
||||
# 11. Non-Functional Requirements
|
||||
|
||||
## 11.1 Usability
|
||||
|
||||
The canon must remain readable and useful to humans without requiring specialized ontology tooling.
|
||||
|
||||
## 11.2 Agent Usability
|
||||
|
||||
The canon must provide concise, structured, retrievable artifacts that help agents produce compatible outputs.
|
||||
|
||||
## 11.3 Extensibility
|
||||
|
||||
The canon must allow new standards, profiles, mappings, and patterns to be added without destabilizing existing work.
|
||||
|
||||
## 11.4 Traceability
|
||||
|
||||
The canon must preserve provenance, source references, change history, and mapping rationale.
|
||||
|
||||
## 11.5 Modularity
|
||||
|
||||
Standards should be modular and orthogonal. Subsystems should be able to implement only relevant profiles.
|
||||
|
||||
## 11.6 Interoperability
|
||||
|
||||
The canon should support integration with markdown infospaces, graph tools, validation tools, documentation generators, agentic coding systems, and service APIs.
|
||||
|
||||
## 11.7 Low Friction
|
||||
|
||||
The initial implementation should be simple enough to maintain manually in Markdown while enabling progressive automation.
|
||||
|
||||
---
|
||||
|
||||
# 12. Suggested Repository Structure
|
||||
|
||||
```text
|
||||
infotech-canon/
|
||||
README.md
|
||||
INTENT.md
|
||||
SCOPE.md
|
||||
canon.yaml
|
||||
|
||||
core/
|
||||
InfoTechCanonCore.md
|
||||
terms/
|
||||
relations/
|
||||
patterns/
|
||||
profiles/
|
||||
conformance/
|
||||
|
||||
standards/
|
||||
organization/
|
||||
governance/
|
||||
landscape/
|
||||
task/
|
||||
tagging/
|
||||
access-control/
|
||||
security/
|
||||
devsecops/
|
||||
network/
|
||||
observability/
|
||||
data/
|
||||
|
||||
patterns/
|
||||
integration/
|
||||
governance/
|
||||
landscape/
|
||||
task/
|
||||
security/
|
||||
retrieval/
|
||||
|
||||
profiles/
|
||||
github-issues-task-profile/
|
||||
kubernetes-landscape-profile/
|
||||
service-now-csdm-profile/
|
||||
netbox-network-profile/
|
||||
backstage-software-catalog-profile/
|
||||
|
||||
mappings/
|
||||
external/
|
||||
archimate/
|
||||
csdm/
|
||||
nist-csf/
|
||||
itil/
|
||||
pmbok/
|
||||
yang/
|
||||
backstage/
|
||||
spdx/
|
||||
cyclonedx/
|
||||
|
||||
assimilation/
|
||||
inbox/
|
||||
active/
|
||||
completed/
|
||||
|
||||
schemas/
|
||||
concept.schema.yaml
|
||||
standard.schema.yaml
|
||||
mapping.schema.yaml
|
||||
pattern.schema.yaml
|
||||
profile.schema.yaml
|
||||
assimilation.schema.yaml
|
||||
interface-card.schema.yaml
|
||||
|
||||
views/
|
||||
by-domain.md
|
||||
by-concept.md
|
||||
by-pattern.md
|
||||
by-profile.md
|
||||
by-external-standard.md
|
||||
by-status.md
|
||||
use-paths.md
|
||||
|
||||
agent/
|
||||
briefs/
|
||||
retrieval-index.md
|
||||
common-mistakes.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 13. Success Criteria
|
||||
|
||||
## 13.1 Initial Success Criteria
|
||||
|
||||
The first release is successful if:
|
||||
|
||||
- InfoTechCanonCore exists as a coherent standard.
|
||||
- InfoTechCanonLandscapeModel is refactored to import core concepts.
|
||||
- At least one mapping file exists for an external standard.
|
||||
- At least one assimilation report exists.
|
||||
- At least one application profile exists.
|
||||
- At least one Canon Interface Card exists.
|
||||
- The repository can be navigated by humans through Markdown.
|
||||
- The repository can be indexed and retrieved by agents.
|
||||
- Concept ownership can be validated manually or by script.
|
||||
|
||||
## 13.2 Medium-Term Success Criteria
|
||||
|
||||
The project is successful at the next maturity stage if:
|
||||
|
||||
- multiple repositories declare implemented standards and profiles,
|
||||
- agents use the canon to generate more consistent artifacts,
|
||||
- new external standards can be assimilated through a repeatable process,
|
||||
- mappings are versioned and maintained,
|
||||
- domain standards remain orthogonal with limited overlap,
|
||||
- and the canon becomes a practical reference point for system design.
|
||||
|
||||
## 13.3 Long-Term Success Criteria
|
||||
|
||||
The project is successful long-term if:
|
||||
|
||||
- InfoTechCanon becomes the semantic substrate for the user’s information-processing systems,
|
||||
- markdown infobase tools and services use it as a core driving use case,
|
||||
- subsystems can be integrated through declared semantic contracts,
|
||||
- standards evolve without uncontrolled contradiction,
|
||||
- and humans and agents can reliably retrieve, reuse, and extend the body of knowledge.
|
||||
|
||||
---
|
||||
|
||||
# 14. Risks and Mitigations
|
||||
|
||||
## 14.1 Risk: Over-Abstraction
|
||||
|
||||
The canon may become too abstract to guide real implementation.
|
||||
|
||||
**Mitigation:** Require examples, profiles, patterns, and interface cards for important concepts.
|
||||
|
||||
## 14.2 Risk: Excessive Scope
|
||||
|
||||
The canon may attempt to cover too many domains at once.
|
||||
|
||||
**Mitigation:** Start with InfoTechCanonCore, LandscapeModel, OrganizationModel, GovernanceModel, TaskModel, and TaggingStandard. Treat additional domains as candidates.
|
||||
|
||||
## 14.3 Risk: Semantic Drift
|
||||
|
||||
Different standards may redefine similar concepts.
|
||||
|
||||
**Mitigation:** Enforce single canonical owner per concept and require imports for reuse.
|
||||
|
||||
## 14.4 Risk: External Standard Pressure
|
||||
|
||||
External standards may distort internal concepts.
|
||||
|
||||
**Mitigation:** Use mappings and assimilation reports instead of direct adoption.
|
||||
|
||||
## 14.5 Risk: Poor Retrieval Quality
|
||||
|
||||
Agents may retrieve irrelevant or outdated content.
|
||||
|
||||
**Mitigation:** Use stable IDs, front matter, summaries, indexes, lifecycle states, and agent briefs.
|
||||
|
||||
## 14.6 Risk: Manual Maintenance Burden
|
||||
|
||||
Maintaining mappings, concepts, profiles, and indexes may become expensive.
|
||||
|
||||
**Mitigation:** Start markdown-first, then progressively automate validation, index generation, mapping checks, and retrieval exports.
|
||||
|
||||
## 14.7 Risk: Contradictions Between Standards
|
||||
|
||||
As standards grow, contradictions may emerge.
|
||||
|
||||
**Mitigation:** Add overlap reviews, concept ownership checks, conflict reports, and periodic canon refactoring cycles.
|
||||
|
||||
---
|
||||
|
||||
# 15. Open Questions
|
||||
|
||||
1. Should InfoTechCanonCore be a single document initially or split immediately into core modules?
|
||||
2. Which external standard should be assimilated first as a test case?
|
||||
3. Should the first application profile target GitHub Issues, Kubernetes, ServiceNow CSDM, or a user-owned repository?
|
||||
4. Which schema language should be used first for machine-readable artifacts: YAML Schema, JSON Schema, JSON-LD, RDF/OWL, or a simpler custom convention?
|
||||
5. Should pattern documents live globally or inside domain standards first?
|
||||
6. How strict should conformance validation be in the first release?
|
||||
7. Should InfoTechCanon use namespace prefixes such as `itc-core`, `itc-landscape`, `itc-task`, and `itc-gov` from the beginning?
|
||||
|
||||
---
|
||||
|
||||
# 16. Initial Roadmap
|
||||
|
||||
## Phase 1: Foundation
|
||||
|
||||
- Create `InfoTechCanonCore.md`.
|
||||
- Define artifact types, concept ownership, mapping model, assimilation model, profile model, pattern format, retrieval model, and versioning.
|
||||
- Create initial repository structure.
|
||||
- Define naming and identifier conventions.
|
||||
|
||||
## Phase 2: Refactor Existing Work
|
||||
|
||||
- Rename and refactor `CILM_Standard_RC1.md` into `InfoTechCanonLandscapeModel_RC1.md`.
|
||||
- Extract organization and governance assumptions into candidate standards.
|
||||
- Create initial imports between standards.
|
||||
|
||||
## Phase 3: First Mapping and Assimilation
|
||||
|
||||
- Select one external standard for assimilation.
|
||||
- Produce an assimilation report.
|
||||
- Produce mappings.
|
||||
- Propose canon changes.
|
||||
|
||||
## Phase 4: First Application Profile
|
||||
|
||||
- Define a concrete profile, such as `GitHubIssuesTaskTaggingProfile` or `KubernetesLandscapeProfile`.
|
||||
- Add validation rules.
|
||||
- Add example artifacts.
|
||||
|
||||
## Phase 5: Agent and Tool Integration
|
||||
|
||||
- Create agent briefs.
|
||||
- Create machine-readable indexes.
|
||||
- Integrate with markdown infobase tooling.
|
||||
- Test retrieval with real agentic coding and documentation workflows.
|
||||
|
||||
## Phase 6: Subsystem Integration
|
||||
|
||||
- Define Canon Interface Cards for selected repositories or services.
|
||||
- Use the canon to guide integration between tools such as markitect-tool, kontextual-engine, shard-wiki, user-engine, landscape tooling, and task tooling.
|
||||
|
||||
---
|
||||
|
||||
# 17. Acceptance Criteria for First Deliverable
|
||||
|
||||
The first deliverable should be accepted if it includes:
|
||||
|
||||
- a clear InfoTechCanon product definition,
|
||||
- a coherent product scope,
|
||||
- a description of the canon architecture,
|
||||
- mapping requirements,
|
||||
- assimilation requirements,
|
||||
- retrieval requirements,
|
||||
- pattern and profile requirements,
|
||||
- initial repository structure,
|
||||
- risks and mitigations,
|
||||
- open questions,
|
||||
- and an actionable roadmap.
|
||||
|
||||
---
|
||||
|
||||
# 18. Summary
|
||||
|
||||
InfoTechCanon is intended to become an evolving, markdown-first, machine-readable, human-usable reference system for interoperable information-processing systems.
|
||||
|
||||
Its distinctive mechanisms are:
|
||||
|
||||
```text
|
||||
Mapping keeps the canon externally legible.
|
||||
Assimilation keeps the canon intellectually alive.
|
||||
Retrieval keeps the canon operationally useful.
|
||||
Patterns keep the canon practical.
|
||||
Profiles keep the canon implementable.
|
||||
Concept ownership keeps the canon orthogonal.
|
||||
```
|
||||
|
||||
The product should begin with a strong core meta-standard and then grow through domain standards, mappings, assimilation reports, profiles, patterns, and subsystem interface cards.
|
||||
|
||||
The ultimate goal is to make InfoTechCanon a living semantic substrate for building adaptable systems that remain compatible without becoming rigid.
|
||||
|
||||
Reference in New Issue
Block a user