ContractSpec docs

OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

versioned-knowledge-base

Curated KB with immutable sources, rule versions, and published snapshots.

  • Type: feature
  • Version: 1.0.0
  • Stability: experimental
  • Owners: @examples
  • Tags: knowledge, versioning, snapshots
  • field.key.label
    versioned-knowledge-base
    field.version.label
    1.0.0
    field.type.label
    feature
    field.title.label
    versioned-knowledge-base
    field.description.label

    Curated KB with immutable sources, rule versions, and published snapshots.

  • Type: feature
  • Version: 1.0.0
  • Stability: experimental
  • Owners: @examples
  • Tags: knowledge, versioning, snapshots
  • field.tags.label
    knowledge,versioning,snapshots
    field.owners.label
    @examples
    field.stability.label
    experimental

    Curated KB with immutable sources, rule versions, and published snapshots.

    Operations (5)

    `kb.ingestSource` (v1.0.0)

    `kb.upsertRuleVersion` (v1.0.0)

    `kb.approveRuleVersion` (v1.0.0)

    `kb.publishSnapshot` (v1.0.0)

    `kb.search` (v1.0.0)

    Events (4)

    `kb.source.ingested` (v1.0.0)

    `kb.ruleVersion.created` (v1.0.0)

    `kb.ruleVersion.approved` (v1.0.0)

    `kb.snapshot.published` (v1.0.0)

    Source Definition

    import { defineFeature } from '@lssm-tech/lib.contracts-spec';
    
    export const VersionedKnowledgeBaseFeature = defineFeature({
    	meta: {
    		key: 'versioned-knowledge-base',
    		version: '1.0.0',
    		title: 'Versioned Knowledge Base',
    		description:
    			'Curated KB with immutable sources, rule versions, and published snapshots.',
    		domain: 'knowledge',
    		owners: ['@examples'],
    		tags: ['knowledge', 'versioning', 'snapshots'],
    		stability: 'experimental',
    	},
    	operations: [
    		{ key: 'kb.ingestSource', version: '1.0.0' },
    		{ key: 'kb.upsertRuleVersion', version: '1.0.0' },
    		{ key: 'kb.approveRuleVersion', version: '1.0.0' },
    		{ key: 'kb.publishSnapshot', version: '1.0.0' },
    		{ key: 'kb.search', version: '1.0.0' },
    	],
    	events: [
    		{ key: 'kb.source.ingested', version: '1.0.0' },
    		{ key: 'kb.ruleVersion.created', version: '1.0.0' },
    		{ key: 'kb.ruleVersion.approved', version: '1.0.0' },
    		{ key: 'kb.snapshot.published', version: '1.0.0' },
    	],
    	presentations: [],
    	opToPresentation: [],
    	presentationsTargets: [],
    	capabilities: {
    		requires: [{ key: 'knowledge', version: '1.0.0' }],
    	},
    
    	knowledge: [{ key: 'kb.knowledge.rules', version: '1.0.0' }],
    
    	docs: [
    		'docs.examples.versioned-knowledge-base.goal',
    		'docs.examples.versioned-knowledge-base.reference',
    	],
    });