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.
Automation proposes KB patches; humans verify; publishing is blocked until approvals are complete.
Operations (4)
•
`kbPipeline.runWatch` (v1.0.0)
•
`kbPipeline.createReviewTask` (v1.0.0)
•
`kbPipeline.submitDecision` (v1.0.0)
•
`kbPipeline.publishIfReady` (v1.0.0)
Events (5)
•
`kb.change.detected` (v1.0.0)
•
`kb.change.summarized` (v1.0.0)
•
`kb.patch.proposed` (v1.0.0)
•
`kb.review.requested` (v1.0.0)
•
`kb.review.decided` (v1.0.0)
Presentations (3)
•
`kb.dashboard` (v1.0.0)
•
`kb.review.list` (v1.0.0)
•
`kb.review.form` (v1.0.0)
Source Definition
import { defineFeature } from '@lssm-tech/lib.contracts-spec';
export const KbUpdatePipelineFeature = defineFeature({
meta: {
key: 'kb-update-pipeline',
version: '1.0.0',
title: 'KB Update Pipeline (HITL)',
description:
'Automation proposes KB patches; humans verify; publishing is blocked until approvals are complete.',
domain: 'knowledge',
owners: ['@examples'],
tags: ['knowledge', 'pipeline', 'hitl', 'audit', 'notifications'],
stability: 'experimental',
},
operations: [
{ key: 'kbPipeline.runWatch', version: '1.0.0' },
{ key: 'kbPipeline.createReviewTask', version: '1.0.0' },
{ key: 'kbPipeline.submitDecision', version: '1.0.0' },
{ key: 'kbPipeline.publishIfReady', version: '1.0.0' },
],
events: [
{ key: 'kb.change.detected', version: '1.0.0' },
{ key: 'kb.change.summarized', version: '1.0.0' },
{ key: 'kb.patch.proposed', version: '1.0.0' },
{ key: 'kb.review.requested', version: '1.0.0' },
{ key: 'kb.review.decided', version: '1.0.0' },
],
presentations: [
{ key: 'kb.dashboard', version: '1.0.0' },
{ key: 'kb.review.list', version: '1.0.0' },
{ key: 'kb.review.form', version: '1.0.0' },
],
opToPresentation: [
{
op: { key: 'kbPipeline.runWatch', version: '1.0.0' },
pres: { key: 'kb.dashboard', version: '1.0.0' },
},
{
op: { key: 'kbPipeline.createReviewTask', version: '1.0.0' },
pres: { key: 'kb.review.list', version: '1.0.0' },
},
{
op: { key: 'kbPipeline.submitDecision', version: '1.0.0' },
pres: { key: 'kb.review.form', version: '1.0.0' },
},
],
presentationsTargets: [
{ key: 'kb.dashboard', version: '1.0.0', targets: ['react', 'markdown'] },
{ key: 'kb.review.list', version: '1.0.0', targets: ['react', 'markdown'] },
{ key: 'kb.review.form', version: '1.0.0', targets: ['react'] },
],
capabilities: {
requires: [
{ key: 'identity', version: '1.0.0' },
{ key: 'notifications', version: '1.0.0' },
{ key: 'audit-trail', version: '1.0.0' },
],
},
knowledge: [{ key: 'kb.knowledge.rules', version: '1.0.0' }],
telemetry: [{ key: 'kb-pipeline.telemetry', version: '1.0.0' }],
jobs: [{ key: 'kb-pipeline.job.watch', version: '1.0.0' }],
docs: [
'docs.examples.kb-update-pipeline.goal',
'docs.examples.kb-update-pipeline.reference',
],
});