ontoref/ontology/defaults/manifest.ncl
Jesús Pérez 502b5f0caa
feat: manifest self-interrogation layer — capabilities, requirements, critical deps (ADR-009)
Three new typed arrays in manifest_type answering operational self-knowledge queries:
  capability_type (what/why/how + nodes[]/adrs[] DAG cross-refs), requirement_type
  (env_target: Production/Development/Both; kind: Tool/Service/EnvVar/Infrastructure),
  critical_dep_type (failure_impact required, mitigation). describe requirements new
  subcommand; describe capabilities and describe guides extended with manifest data.
  Bug fix: collect-identity was reading manifest.kind? (absent) instead of manifest.repo_kind?.
  Ontoref self-described with 3 capabilities, 5 requirements, 3 critical deps.
  on+re: manifest-self-description node (29 nodes, 59 edges), ADR-009 accepted.
2026-03-26 21:01:39 +00:00

53 lines
2.1 KiB
Plaintext

let s = import "../schemas/manifest.ncl" in
let c = import "content.ncl" in
{
make_manifest = fun data => s.ProjectManifest & data,
make_layer = fun data => s.Layer & data,
make_op_mode = fun data => s.OperationalMode & data,
make_consumption_mode = fun data => s.ConsumptionMode & data,
make_publication_service = fun data => s.PublicationService & data,
make_tool = fun data => s.ToolRequirement & data,
ProjectManifest = s.ProjectManifest,
Layer = s.Layer,
OperationalMode = s.OperationalMode,
ConsumptionMode = s.ConsumptionMode,
PublicationService = s.PublicationService,
ToolRequirement = s.ToolRequirement,
JustfileConvention = s.JustfileConvention,
ClaudeBaseline = s.ClaudeBaseline,
RepoKind = s.RepoKind,
ConsumerType = s.ConsumerType,
ArtifactKind = s.ArtifactKind,
AuditLevel = s.AuditLevel,
AuthMethod = s.AuthMethod,
ServiceScope = s.ServiceScope,
InstallMethod = s.InstallMethod,
JustfileSystem = s.JustfileSystem,
ContentAsset = c.ContentAsset,
ContentTemplate = c.ContentTemplate,
AssetKind = c.AssetKind,
TemplateKind = c.TemplateKind,
make_asset = c.make_asset,
make_template = c.make_template,
# Config surface builders
ConfigKind = s.ConfigKind,
ConsumerKind = s.ConsumerKind,
ConfigConsumer = s.ConfigConsumer,
ConfigSection = s.ConfigSection,
ConfigSurface = s.ConfigSurface,
make_config_surface = fun data => s.ConfigSurface & data,
make_config_section = fun data => s.ConfigSection & data,
make_config_consumer = fun data => s.ConfigConsumer & data,
# Capability / requirement / critical-dep builders
EnvTarget = s.EnvTarget,
RequirementKind = s.RequirementKind,
Capability = s.Capability,
Requirement = s.Requirement,
CriticalDep = s.CriticalDep,
make_capability = fun data => s.Capability & data,
make_requirement = fun data => s.Requirement & data,
make_critical_dep = fun data => s.CriticalDep & data,
}