website-htmx-rustelo/.ontoref/ontology/purpose-schema.ncl
Jesús Pérez 3ccd15a14b init repo
2026-07-10 03:33:46 +01:00

98 lines
3.2 KiB
Text

let _horizon_type = [| 'Days, 'Weeks, 'Months, 'Quarters, 'Years, 'Ongoing |] in
let _pole_type = [| 'Yang, 'Yin, 'Spiral |] in
let _audience_type = [| 'Developer, 'EndUser, 'Contributor, 'Agent, 'PublicInternet |] in
let _channel_type = [| 'GitRepo, 'PublishedSite, 'RSSFeed, 'Newsletter, 'SocialFeed, 'CLI, 'Docs |] in
let _seo_intent_type = [| 'Organic, 'Reference, 'Community, 'None |] in
let _severity_type = [| 'Hard, 'Soft |] in
let _channel_status = [| 'Active, 'Planned, 'Paused, 'Retired |] in
let _purpose_declaration_type = {
id | String,
name | String,
pole | _pole_type,
statement | String,
elaboration | String,
primary_audience | Array _audience_type,
anti_purpose | String,
horizon | _horizon_type,
} in
let _publication_intent_type = {
id | String,
name | String,
description | String,
channels | Array _channel_type,
readiness_gate | String,
trigger_condition | String,
anti_patterns | Array String,
} in
let _content_objective_type = {
id | String,
name | String,
description | String,
target_audience | Array _audience_type,
content_kinds | Array String,
purpose_alignment_note | String,
seo_intent | _seo_intent_type,
horizon | _horizon_type,
active | Bool | default = true,
} in
let _validation_criteria_type = {
id | String,
name | String,
description | String,
check_hint | String,
severity | _severity_type,
applies_to | Array String,
} in
let _seo_criterion_type = {
id | String,
name | String,
description | String,
rationale | String,
check_hint | String,
severity | _severity_type,
applies_to | Array String,
} in
let _propagation_channel_type = {
id | String,
name | String,
channel | _channel_type,
description | String,
status | _channel_status,
target_audience | Array _audience_type,
content_kinds | Array String,
seo_role | _seo_intent_type | default = 'None,
frequency | String | optional,
gate_id | String | optional,
} in
let _purpose_file_type = {
declaration | _purpose_declaration_type,
publication_intent | _publication_intent_type,
content_objectives | Array _content_objective_type,
validation_criteria | Array _validation_criteria_type,
seo_criteria | Array _seo_criterion_type,
propagation_channels | Array _propagation_channel_type,
} in
{
Horizon = _horizon_type,
Pole = _pole_type,
Audience = _audience_type,
Channel = _channel_type,
SeoIntent = _seo_intent_type,
Severity = _severity_type,
ChannelStatus = _channel_status,
PurposeDeclaration = _purpose_declaration_type,
PublicationIntent = _publication_intent_type,
ContentObjective = _content_objective_type,
ValidationCriteria = _validation_criteria_type,
SeoCriterion = _seo_criterion_type,
PropagationChannel = _propagation_channel_type,
PurposeFile = _purpose_file_type,
}