Verdicts, not dashboards: every objective resolves to satisfied, off target, or honestly unknown.
Where this is going: decisions become tasks, worker agents execute. Join the waitlist.
v0.1.0: reads your own tools, signs what it observed, runs on a cadence, scoped not prompted.
Categories
Business Operations
AI Platform
Tags
#objectives
#evidence
#agents
#observers
#mcp
#metrics
#boardroom
About Forge Business Plane
A dashboard shows a number and is silent about whether it could read it, so a metric that goes dark looks exactly like one that is fine. The Forge Business Plane resolves every objective to satisfied, off target, or unknown — and reports the third as loudly as the others. Metrics are read from the MCP gateways your apps already expose, signed as evidence and credited to the app that owns them; each desk reports on its own cadence and every run records what moved since the last one.
Features
Three-valued objective evaluation, unknown never folded into unsatisfied (@forge/biz-portfolio)
Ed25519-signed evidence credited to the app that owns each metric (@forge/biz-metrics)
+28Show all 30 features
Three-valued objective evaluation, unknown never folded into unsatisfied (@forge/biz-portfolio)
Ed25519-signed evidence credited to the app that owns each metric (@forge/biz-metrics)
Standing portfolios evaluated on a declared cadence (@forge/biz-agent)
Tool access enforced by what an agent holds, not by prompt (@forge/biz-scope)
A boardroom that delivers the verdicts and cites the measurement (@forge/biz-stage)
The standing history in the console — per-objective verdict series on one reader, one truth with the harness (@forge/biz-graphs + apps/site/console)
Monthly cloud spend per app from signed business records — sums and alerts, no verdicts (apps/api business-records + apps/site console)
An advisor recommendation per desk, validated against the signed evidence it cites and stored with the run; every absence states its reason (@forge/biz-agent recommendation-generator + apps/api store). Generated text, quality on real data not yet judged
The latest recommendation per desk in the console, operators only — advice with its citations, or why there is none (apps/site console)
Per-tenant workspaces, scoped tokens and org onboarding: a second tenant gets its own board, runs and taskmaster user (apps/api onboarding, ORG O0-O5)
A recruiter that proposes seat hires and an owner who approves them; append-only decisions, live on three tenants (apps/api recruit, /console/recruits)
Owner access without a browser: keyed owner routes, the fbiz-owner CLI and an owner MCP (list proposals, decide; no hire)
Board decisions become taskmaster tasks with meeting provenance, idempotent by fingerprint; agent claim budgets and approval gates still to come (scripts/lib/task-filer.mjs)
The company as a building you can read: every seat's honest posture (satisfied, off target, unknown) in a 2D map and a 3D office, with an evidence drawer, live refresh and an operator campus (packages/office-layout, office3d, apps/site /console/office)
Themeable office: a classic tower with an executive suite and roof terrace, a beach resort where agents work through AR glasses, procedural sound, and a raised glass and confetti on real good news; every theme held to the same honesty rules (packages/office-theme)
Per-seat task markers (working, queued, reopened, closed and verified) beside the posture from the taskmaster feed, honest when the feed cannot be read; per-tenant read keys off until proven live (apps/api office-tasks)
The office's celebration and milestone log: append-only, idempotent, and only verified or accepted transitions with evidence become events; a claim, a revenue or a plan event is refused; a per-minute cue budget with larger tiers first (apps/api office-events, office-layout events). Read route only; no producer writes yet
The boardroom replay of a stored meeting: one run's ledger rows walked as a timeline (reports, verdicts, what moved, the advice or its recorded absence), in a derived order the response names, the run's one timestamp on every line, gaps shown as gaps and nothing re-enacted; autoplay only on an explicit Play and refused under reduced motion (apps/api store/replay, apps/site console office replay panel). Read only; the 3D room mounting is a later slice
A verdict's optional second signer: the operator countersigns the exact verdict row they saw (status read off the row, hashed, re-verified on read), append-only, one per signer per verdict, shown in the evidence drawer (apps/api verdict-countersigns). Operator credential only; no countersign has been made in production
Terms of Service and Privacy Policy in English and Danish at /terms and /privacy, a draft banner until every fact is set (apps/site legal; draft PR)
From an estimate to an issued quote: honest ranges, a price build-up in EUR, DKK or USD with a USD 500 fee per milestone, bid objectives that read unknown as unknown, immutable hashed quotes and an independent AI approver's deterministic checks (packages/engagements, apps/api engagements). Nothing calls it yet
A client's requirement documents: content sniffing, zip inspection, a tenant quota, real deletion and sandboxed text extraction of docx, xlsx, pptx, OpenDocument, PDF text layers and text formats, tested against real zip bombs (packages/documents). No OCR, no antivirus, no retention scheduler
Four signed observers over an engagement (documents read, requirements with a verified source, open questions, cost ledger), each reporting structure and never a client's wording, and each saying unknown or unmetered where it cannot read (packages/engagement-observers, apps/api observe). Run by an operator route that keeps their evidence (see engagement-evidence)
The fees and thresholds are numbers in a versioned policy file, not in code: baseline fee, milestone fee, agent-hour rate with exchange-rate conversion rounded up, margins, cost alert and stop (packages/engagements/policy/engagement-pricing.v4.json)
Operator-only routes that take in the analyst's scope, questions, assumptions and costs; a requirement's source quote is checked against the document, and no route lets the operator speak for a client (apps/api engagements scope-routes)
Signed observer evidence that is kept and can be checked later: each observer signs with its own key derived from one operator secret, bundles are stored append-only and re-verified from the database against the public key, and an unset secret is a refusal, never a throwaway key (apps/api engagements evidence, observe-routes). Dark until the operator sets the secret
Pure types and safety rules for a future business-mailbox source: a metadata-only MailSource with no body method, an untrusted-content envelope that escapes angle brackets and lookalikes, a computed sender-trust tier, and readings that are unknown with a fixed reason on failure (packages/mail). Nothing imports it and no mailbox is connected
A deal's paper recorded by reference and hash, never the document: document-in / document-out / note events carry a business reference, its sha256 and version on the hash-chained deal events, and a signature is a note carrying the signed hash, the delivered level (ses/aes/qes) and the provider reference; one version of a paper has one hash in a deal (apps/api deals/documents, apps/site console deals). Operator-attested; a provider's verified webhook is 7m
A read-only ICS calendar per workspace: stored runs as held events, the next 14 days of workflow-cron expansions as scheduled (never an outcome in the feed, a passed slot with no run reads missed), subscribed with a signed, revocable per-user URL token that grants only that feed (packages/calendar, apps/api calendar). Dark until the operator's signing key reaches a deploy
The vocabulary for sending a paper out to be signed, and the rules for believing the answer: a three-method SignatureProvider (create, parse the webhook, fetch the evidence) carrying a document hash and never the document; a webhook accepted only over the exact raw bytes with an HMAC, a bounded replay guard, and a body that must parse whole or not at all; and the delivered level compared with the requested one so a downgrade or a silence is recorded rather than assumed away (packages/signature). A fake, plus a Penneo adapter written against Penneo's documented API and a mock of it — the API-keys grant, the job-based case-file create, Penneo's composed X-Event-Signature, and an authenticated webhook that carries no hashes so the basis must be fetched. Its real fetch transport runs over a loopback socket in the tests, but it has never called the sandbox: no account, no envelope sent
Gold
$39/mo
Complete developer operations suite with mission control and agents.
One email when something ships: new platform features, new apps and launch invites. Join the waitlist to get early access to self-serve sign-up and promotion sites.