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.

crm.pipeline.metrics

Pipeline metrics and forecasting view

  • Type: presentation (presentation)
  • Version: 1.0.0
  • Owners: @crm-team
  • Tags: pipeline, metrics, forecast
  • File: packages/examples/crm-pipeline/src/presentations/dashboard.presentation.ts
  • field.key.label
    crm.pipeline.metrics
    field.version.label
    1.0.0
    field.type.label
    presentation (presentation)
    field.title.label
    crm.pipeline.metrics
    field.description.label

    Pipeline metrics and forecasting view

  • Type: presentation (presentation)
  • Version: 1.0.0
  • Owners: @crm-team
  • Tags: pipeline, metrics, forecast
  • File: packages/examples/crm-pipeline/src/presentations/dashboard.presentation.ts
  • field.tags.label
    pipeline,metrics,forecast
    field.owners.label
    @crm-team
    field.stability.label

    Pipeline metrics and forecasting view

    Goal

    Track pipeline health and sales forecasts.

    Context

    Data-intensive widget for sales managers.

    Source Definition

    import {
    	definePresentation,
    	StabilityEnum,
    } from '@lssm-tech/lib.contracts-spec';
    
    export const PipelineMetricsPresentation = definePresentation({
    	meta: {
    		key: 'crm.pipeline.metrics',
    		version: '1.0.0',
    		title: 'Pipeline Metrics',
    		description: 'Pipeline metrics and forecasting view',
    		domain: 'crm-pipeline',
    		owners: ['@crm-team'],
    		tags: ['pipeline', 'metrics', 'forecast'],
    		stability: StabilityEnum.Experimental,
    		goal: 'Track pipeline health and sales forecasts.',
    		context: 'Data-intensive widget for sales managers.',
    	},
    	source: {
    		type: 'component',
    		framework: 'react',
    		componentKey: 'PipelineMetricsView',
    	},
    	targets: ['react', 'markdown'],
    	policy: {
    		flags: ['crm.metrics.enabled'],
    	},
    });