progress.py reads the whole graded ledger and answers two questions the
per-deck scorecard can't: is the company actually progressing (composite/
BDEF-category/KPI trajectories, recurring vs resolved flags), and is the
material good enough to judge them by — a deterministic gap engine spots
what the decks are NOT showing (no profitability visibility, untargeted
KPIs, no forward guidance, broken forecast chain, silently dropped KPIs,
thin-evidence BDEF categories, no board asks) and renders each gap as a
concrete, paste-ready request for the next deck.
Served live from the ledger (no GPU) at /api/companies/{slug}/progress(.md),
written to /data/ledger/<slug>/PROGRESS.md + /data/reports/latest-progress.md
after each graded deck, and viewable/downloadable from the dashboard company
card ("View progress review"). 18 new tests.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
18 lines
638 B
TypeScript
18 lines
638 B
TypeScript
import { VersionGraph } from '@start9labs/start-sdk'
|
|
import { v_0_1_0 } from './v_0_1_0'
|
|
import { v_0_1_1 } from './v_0_1_1'
|
|
import { v_0_1_2 } from './v_0_1_2'
|
|
import { v_0_1_3 } from './v_0_1_3'
|
|
import { v_0_1_4 } from './v_0_1_4'
|
|
import { v_0_1_5 } from './v_0_1_5'
|
|
import { v_0_1_6 } from './v_0_1_6'
|
|
import { v_0_1_7 } from './v_0_1_7'
|
|
import { v_0_1_8 } from './v_0_1_8'
|
|
import { v_0_1_9 } from './v_0_1_9'
|
|
|
|
/** The current version MUST be the first argument (`current`). */
|
|
export const versions = VersionGraph.of({
|
|
current: v_0_1_9,
|
|
other: [v_0_1_8, v_0_1_7, v_0_1_6, v_0_1_5, v_0_1_4, v_0_1_3, v_0_1_2, v_0_1_1, v_0_1_0],
|
|
})
|