Skip to content

Template & Library — overview

Target

This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.

Rewritten 2026-10-09 (design plan P15)

This page replaces the June-2026 overview with its fourteen template and library services. The 2026 design is one host with three modules; the June-2026 detail pages (template registry, library registry, scaffold engine, compatibility model) stay as historical detail and the generated template catalog and library catalog pages are the current inventory. The old page is archived under catalogs 2026-06.

The Template & Library platform is what makes the Factory a ConnectSoft factory: it knows the blueprints a product is designed from, the 43 templates and ~125 libraries it is built from, which versions work together, and exactly which run generated which files from which template. It does not generate; generation is a Factory run that executes an approved recipe.

Platform PF-15 Template & Library (Software Factory pack)
Bounded contexts BC-02, BC-14, BC-15
Services 21 (1 hosts, 17 modules, 0 external, 3 later) — 4 modelled
Gateways —
Status target

Purpose

  • Blueprints are documents with schemas. Each kind has a JSON Schema and a rule set (B1); validation yields findings with rule ids; service and module blueprints derive context maps and domain models that generation consumes.
  • Manifests are pinned, never edited. Template versions are read from their repositories and pinned by hash; libraries from the feeds; a change is a commit.
  • Compatibility needs evidence. A matrix cell is Compatible only with a build or conformance run behind it; otherwise Unknown.
  • Recipes are immutable contracts. A recipe binds a Published blueprint to Published template and library versions with a module plan; approved recipes are executed by runs and superseded by new versions.
  • Provenance to the file. Every generated module records run, attempt, agent release, template version, manifest hash, generated and preserved files, proposal and commit; preserved paths are never overwritten.
  • Publication is BC-04's. Blueprints and templates become Published assets through Asset Publication and its evaluation gate (ADR-0021); Q-22 is decided: SaaS descriptors import into blueprints and the recipe path is the single generation contract (ADR-0025).

Bounded contexts and services

Context Owns Services (granularity)
BC-02 Blueprint Blueprint versions, findings, context maps, domain models BlueprintService (module; parser, validator, context-map and domain-model rows merged)
BC-14 Template Catalog Template and library versions, manifests, API clients, dependencies, compatibility matrix TemplateRegistryService (module; eight rows merged); template upgrade and package upgrade advisors later
BC-15 Generation Recipe Recipes, module plans, generated outputs GenerationRecipeService (module, added; template validation and pipeline generation rows merged); scaffold engine later and optional (ADR-0025)
Host Composition, feeds, repositories TemplateCatalogHost (standalone)
Service Context Granularity Status
ApiClientCatalogService BC-14 module of host unmodelled
BlueprintParserService BC-02 module of host unmodelled
BlueprintService BC-02 module of host target
BlueprintValidatorService BC-02 module of host unmodelled
CompatibilityMatrixService BC-14 module of host unmodelled
ContextMapService BC-02 module of host unmodelled
DependencyAnalyzerService BC-14 module of host unmodelled
DomainModelService BC-02 module of host unmodelled
LibraryRegistryService BC-14 module of host unmodelled
LibraryVersionService BC-14 module of host unmodelled
PackageUpgradeAdvisorService BC-14 later stage unmodelled
PipelineGeneratorService BC-15 module of host unmodelled
ScaffoldEngineService BC-15 later stage unmodelled
TemplateCatalogHost BC-14 standalone host target
GenerationRecipeService BC-15 module of host target
TemplateCompatibilityService BC-14 module of host unmodelled
TemplateParameterService BC-14 module of host unmodelled
TemplateRegistryService BC-14 module of host target
TemplateUpgradeService BC-14 later stage unmodelled
TemplateValidationService BC-15 module of host unmodelled
TemplateVersionService BC-14 module of host unmodelled

Context

flowchart LR
    subgraph P["Template & Library"]
        TemplateCatalogHost["TemplateCatalogHost"]
    end
    P --> ArtifactService["ArtifactService"]
    P --> AgentRegistryService["AgentRegistryService"]
    P --> EnvelopeRegistryService["EnvelopeRegistryService"]
    P --> ControlPlaneApi["ControlPlaneApi"]
    P --> KnowledgeHost["KnowledgeHost"]
    P --> ext_azure_devops["ext-azure-devops"]
    P --> GovernanceHost["GovernanceHost"]
    P --> ext_identity_platform["ext-identity-platform"]
    P --> RunControlService["RunControlService"]
    P --> ModelRouterService["ModelRouterService"]
    P --> ConnectorRegistryService["ConnectorRegistryService"]
    P --> RepositoryIntelligenceService["RepositoryIntelligenceService"]
Hold "Alt" / "Option" to enable pan & zoom

Containers

See microservices for the container view of hosts and modules.

From blueprint to running module

flowchart LR
    BP[Blueprint version · validated · Published] --> CM[context map · domain model]
    CM --> RE[Recipe · module plan · pinned templates and libraries · validated]
    RE --> RUN[Generation run · agents · sandbox · propose-change-set]
    RUN --> PR[Pull request · pipeline · release]
    PR --> PROMO[Promotion · environment]
    RUN -. RecordOutput .-> PROV[Generated-output provenance]
    T[Template catalog · manifests · matrix] --> RE
Hold "Alt" / "Option" to enable pan & zoom