Add Motion: the go-to-market operating system on top of the ledger
The ledger answers which contracted capacity is sold, to whom, at what margin. It says nothing about the motion — the repeatable practice that turns a customer conversation into a scoped deployment, and turns that deployment into something the next one reuses. Motion is deliberately not a parallel entity tree. DEMAND_STAGES already is the motion, so Motion binds reusable artefacts to the stages of a demand deal that already exists: an engagement hangs off one deal, cascade deleted, one per deal by unique constraint. Nine closed kinds, each declaring which stages it serves, and a starter library of twelve templates covering all eight open stages. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -55,6 +55,7 @@ import { seedCompliance } from './compliance';
|
||||
import { seedDemandPaper } from './contracts';
|
||||
import { seedDemand } from './demand';
|
||||
import { seedHostedLearn, seedLearn } from './learn';
|
||||
import { seedMotionEngagements } from './motion';
|
||||
import { seedSupply } from './supply';
|
||||
|
||||
const db = createDatabase();
|
||||
@@ -173,6 +174,12 @@ export async function seedDemo(context: DemoContext): Promise<void> {
|
||||
// because it is not demo data and must not be removed with `--clear`.
|
||||
const hosted = await seedHostedLearn(context);
|
||||
|
||||
// After the demand book, which owns the deals both engagements hang off, and
|
||||
// after the base seed has put the starter library in place — an engagement
|
||||
// whose artifacts came from nothing would demonstrate the folder rather than
|
||||
// the loop. Run `pnpm db:seed` before `pnpm db:demo`, as the README says.
|
||||
const motion = await seedMotionEngagements(context);
|
||||
|
||||
const facts = await seedFacts(context);
|
||||
|
||||
console.log(' 5 capacity commitments (4 live, 1 lapsed), with sites, MSAs and negotiated SLAs');
|
||||
@@ -197,6 +204,11 @@ export async function seedDemo(context: DemoContext): Promise<void> {
|
||||
console.log(
|
||||
` ${learn.total} illustrative concept videos (${learn.added} new), members-only`,
|
||||
);
|
||||
console.log(
|
||||
` ${motion.engagements} Motion engagement(s) with ${motion.artifacts} artefact(s) and ` +
|
||||
`${motion.scores} qualification score(s) — ${motion.promoted} artefact promoted back into ` +
|
||||
'the library as a version 2',
|
||||
);
|
||||
console.log(
|
||||
` ${hosted.present} PIG-hosted learn videos (${hosted.added} new)` +
|
||||
`${hosted.missing > 0 ? `, ${hosted.missing} manifest entries with no file yet` : ''}`,
|
||||
|
||||
Reference in New Issue
Block a user