Implement BDEF v1.1 grading: scoring core, per-deck pipeline, ledger, dashboard, StartOS layer
- Deterministic scoring.py (quant 60 / qual 40 / flags -15, profitability heaviest) - Per-company JSON ledger with forecast-target chaining deck N-1 -> N - Single-shot sandbox agent with guided-JSON fallback ladder (no tool loop) - Portfolio dashboard with sparklines, KPI hit rates, BDEF category bars - 48 unit tests green; endpoints smoke-tested; npm check+build green Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
1dde915540
commit
b1d7aed9f4
+33
-24
@@ -7,16 +7,19 @@ import { setupManifest } from '@start9labs/start-sdk'
|
||||
* does not run any GPU workload itself. It is a small web UI + job runner that
|
||||
* SSHes into one or two NVIDIA DGX Sparks to:
|
||||
* 1. serve a panel of local LLMs with vLLM (loaded in waves to fit GPU memory),
|
||||
* 2. extract text from documents you drop in (PDF/DOCX/TXT/MD — done on the
|
||||
* StartOS box), ship it to the Sparks, and launch a panel of sandboxed
|
||||
* "reviewer" containers (each a model + a persona) that read the documents
|
||||
* and write a report,
|
||||
* 3. optionally run a local "lead reviewer" that synthesizes the panel's
|
||||
* reports into one consolidated report.
|
||||
* 2. extract text from the board decks you drop into inbox/<company-slug>/
|
||||
* (PDF/DOCX/TXT/MD — done on the StartOS box), ship it to the Sparks, and
|
||||
* launch a panel of sandboxed "grader" containers (each a model + a
|
||||
* persona) that grade each deck against the BDEF v1.1 framework
|
||||
* (Girdley + Munger/Buffett),
|
||||
* 3. optionally run a local "adjudicator" that reconciles the panel, after
|
||||
* which Python computes a deterministic composite (quant KPI attainment 60
|
||||
* incl. profitability 30, qualitative categories 40, red-flag penalties
|
||||
* up to -15) and appends it to the company's running scorecard ledger.
|
||||
*
|
||||
* There is NO frontier model and NO cloud API key. In the default `airgapped`
|
||||
* network mode the reviewer containers can reach ONLY the on-Spark model proxy —
|
||||
* the documents and their reviews never touch the internet.
|
||||
* network mode the grader containers can reach ONLY the on-Spark model proxy —
|
||||
* the decks and their grades never touch the internet.
|
||||
*
|
||||
* NOTE: s9pk.mk extracts the package identifier from the single-quoted value on
|
||||
* the line below, so keep that field on one line and avoid stray quotes above it.
|
||||
@@ -30,17 +33,21 @@ export const manifest = setupManifest({
|
||||
marketingUrl: 'https://github.com/ten31/boardroom-map',
|
||||
donationUrl: null,
|
||||
description: {
|
||||
short: 'A private panel of local LLMs that reviews your confidential documents on your DGX Sparks',
|
||||
short: 'Grade portfolio-company board decks with local LLMs on your DGX Sparks — BDEF scoring, per-company running scorecards',
|
||||
long:
|
||||
'Boardroom Map lets you drop confidential documents in and convene a panel of ' +
|
||||
'local LLMs running on your NVIDIA DGX Sparks to review them. You choose ' +
|
||||
'which models and which personas (lenses) sit on the panel and how many ' +
|
||||
'reviews to run. Each reviewer reads the documents and writes a report; an ' +
|
||||
'optional local lead reviewer synthesizes them into one consolidated ' +
|
||||
'report. There is no frontier model and no cloud key: in the default ' +
|
||||
'air-gapped mode the reviewers reach only the on-Spark model endpoint, so ' +
|
||||
'your documents and their reviews never leave your hardware. No GPU is ' +
|
||||
'needed on the StartOS host.',
|
||||
'Boardroom Map turns your DGX Sparks into a private board-deck grading ' +
|
||||
'panel. Drop each portfolio company\'s deck into its inbox folder and a ' +
|
||||
'panel of local LLMs (each a model + a persona) grades it against the ' +
|
||||
'BDEF v1.1 framework (Girdley + Munger/Buffett); an optional local ' +
|
||||
'adjudicator reconciles the panel, then a deterministic scorer computes a ' +
|
||||
'0-100 composite — quantitative KPI attainment worth 60 (profitability ' +
|
||||
'alone 30, plus forecast integrity: deck N actuals vs deck N-1 promises), ' +
|
||||
'qualitative categories worth 40, and red-flag penalties up to -15. Each ' +
|
||||
'company keeps a running scorecard ledger, and a web dashboard shows the ' +
|
||||
'trends. There is no frontier model and no cloud key: in the default ' +
|
||||
'air-gapped mode the graders reach only the on-Spark model endpoint, so ' +
|
||||
'your confidential decks never leave your hardware. No GPU is needed on ' +
|
||||
'the StartOS host.',
|
||||
},
|
||||
// Arch-agnostic orchestrator. Docker build paths are relative to the PROJECT
|
||||
// ROOT (where the Makefile runs), matching the Start9 convention.
|
||||
@@ -53,7 +60,7 @@ export const manifest = setupManifest({
|
||||
},
|
||||
},
|
||||
arch: ['x86_64', 'aarch64'],
|
||||
// The orchestrator only SSHes out + extracts document text on CPU; it never
|
||||
// The orchestrator only SSHes out + extracts deck text on CPU; it never
|
||||
// touches a local GPU.
|
||||
nvidiaContainer: false,
|
||||
},
|
||||
@@ -66,10 +73,12 @@ export const manifest = setupManifest({
|
||||
alerts: {
|
||||
install:
|
||||
'Boardroom Map drives work on REMOTE machines (your DGX Sparks) over SSH; ' +
|
||||
'nothing serves or runs on your StartOS server. After install: ' +
|
||||
'(1) "Configure Sparks" for SSH access, (2) "Configure Models" for the ' +
|
||||
'local models to serve, (3) "Configure Reviewers" for the panel + personas, ' +
|
||||
'(4) "Configure Review" for the rubric and air-gap mode. Then drop ' +
|
||||
'documents in the inbox and run "Run Review".',
|
||||
'nothing serves or runs on your StartOS server, and your confidential ' +
|
||||
'board decks stay on your LAN. After install: (1) "Configure Sparks" for ' +
|
||||
'SSH access, (2) "Configure Models" for the local models to serve, ' +
|
||||
'(3) "Configure Graders" for the panel + personas, (4) "Configure Grading" ' +
|
||||
'for the BDEF rubric, air-gap mode, and scoring weights, (5) "Configure ' +
|
||||
'Companies" for slugs and pinned KPI targets. Then drop decks into ' +
|
||||
'inbox/<company-slug>/ and run "Grade Decks".',
|
||||
},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user