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

74 lines
3.1 KiB
Text

# .ontoref/ontology/manifest.ncl — Project: website-htmx-rustelo
# Implementation of the Rustelo framework. repo_kind = 'RusteloApp activates the
# rustelo domain extension (ontoref rustelo layers|plugins|routes|wasm).
let m = import "defaults/manifest.ncl" in
m.make_manifest {
project = "website-htmx-rustelo",
repo_kind = 'RusteloApp,
description = "Bilingual EN/ES website implementing the Rustelo framework through the HTMX server-side rendering profile (ADR-006) with Minijinja templates. Routes, menus, themes and content types are configuration-driven (NCL/TOML); customization happens via Rustelo's layered override system, never by forking the framework.",
consumption_modes = [
m.make_consumption_mode {
consumer = 'EndUser,
needs = ['OntologyExport],
audit_level = 'Quick,
description = "Served website: visitors consume rendered bilingual pages. No ontology access — this is the deployed product surface.",
},
m.make_consumption_mode {
consumer = 'Agent,
needs = ['OntologyExport],
audit_level = 'Standard,
description = "Reads .ontoref/ontology/core.ncl and the rustelo domain schema before modifying site config, content, or crates — to stay within framework PAP constraints.",
},
],
layers = [
m.make_layer {
id = "site-config",
paths = ["site/config/"],
committed = true,
description = "Configuration-driven surface: routes, menus, themes, rendering profile selection. NCL/TOML, no hardcoding.",
},
m.make_layer {
id = "content",
paths = ["site/content/", "site/i18n/"],
committed = true,
description = "Bilingual content (en, es) and Fluent FTL translation bundles.",
},
m.make_layer {
id = "crates",
paths = ["crates/"],
committed = true,
description = "Implementation crates consuming rustelo framework crates: server, client, pages, pages_htmx, shared, build-config.",
},
m.make_layer {
id = "self-description",
paths = [".ontoref/", ".rustelo.ontoref/"],
committed = true,
description = "Ontoref self-description (ontology, ADRs, reflection) and the rustelo domain implementation declaration.",
},
m.make_layer {
id = "process",
paths = [".coder/"],
committed = false,
description = "Session artifacts: plans, investigations, summaries. Process memory for actors.",
},
],
operational_modes = [
m.make_op_mode {
id = "dev",
description = "Standard implementation development: site config, content, crates.",
visible_layers = ["site-config", "content", "crates", "self-description"],
audit_level = 'Standard,
},
m.make_op_mode {
id = "publish",
description = "Publication readiness: validate bilingual completeness, SEO criteria, hydration parity before deployment.",
visible_layers = ["site-config", "content", "self-description"],
audit_level = 'Standard,
},
],
}