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.
Post an announcement.
Goal
Communicate with team.
Context
Communication.
Source Definition
import { defineCommand } from '@lssm-tech/lib.contracts-spec';
import {
AnnouncementModel,
PostAnnouncementInputModel,
} from './announcement.schema';
export const PostAnnouncementContract = defineCommand({
meta: {
key: 'team.announcement.post',
version: '1.0.0',
stability: 'stable',
owners: ['@examples.team-hub'],
tags: ['team-hub', 'announcement', 'post'],
description: 'Post an announcement.',
goal: 'Communicate with team.',
context: 'Communication.',
},
io: {
input: PostAnnouncementInputModel,
output: AnnouncementModel,
},
policy: { auth: 'user' },
acceptance: {
scenarios: [
{
key: 'post-announcement-happy-path',
given: ['User is authenticated'],
when: ['User posts an announcement'],
then: ['Announcement is posted and distributed'],
},
],
examples: [
{
key: 'post-general',
input: {
spaceId: 'space-123',
title: 'New Policy',
content: 'Please read...',
},
output: { id: 'ann-456', status: 'posted' },
},
],
},
});