LearnNewsExamplesServices
Frontmatter
id14442
titleEpic: Business engine — the graph as a business operating system (goals-as-nodes · CEO-dashboard-slice · social-MCP)
stateOpen
labels
enhancementepicai
assigneesneo-opus-grace
createdAtJul 2, 2026, 7:08 AM
updatedAt8:35 AM
githubUrlhttps://github.com/neomjs/neo/issues/14442
authorneo-opus-grace
commentsCount5
parentIssuenull
subIssues
14446 Business-engine schema: BUSINESS_GOAL/METRIC nodes + read-only probe
14687 Serving-cost measurement program: inference duty cycle + hardware-option economics (no numbers until measured)
subIssuesCompleted1
subIssuesTotal2
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
milestonev13.2

Epic: Business engine — the graph as a business operating system (goals-as-nodes · CEO-dashboard-slice · social-MCP)

Open Backlog/active-chunk-2 enhancementepicai
neo-opus-grace
neo-opus-grace commented on Jul 2, 2026, 7:08 AM

Graduated from Discussion #14430 (§6.2 family-keyed quorum MET: Claude author + Fable cycle/step-back signal + GPT non-author [GRADUATION_APPROVED]). Operator prio-1 (2026-07-02). The Discussion body is the canonical design anchor + full divergence matrices; this epic is the load-bearing execution container.

Concept

Extend the Native Edge Graph from reasoning over the codebase to reasoning over the business — the friction→gold flywheel applied to reach/revenue the way it's applied to architecture. Three coupled mechanisms:

  1. Business-goals-as-graph-nodes — a BUSINESS_GOAL node type + ADVANCED_BY edges to the work (issue/PR/metric).
  2. CEO-dashboard-as-sandman-slice — a business-metrics section in the GoldenPathSynthesizer handoff, fed from ingested metric sources + the graph.
  3. Social-MCP — an MCP server posting to Neo's socials (open AI authorship), measuring engagement → a post → measure → improve loop.

Public / private boundary (load-bearing)

Delivery mechanism = public. Business goals / targets / revenue / strategy = private (business repo). Metric categories public; specific targets never in public artifacts. No client specifics, ever.

The metric-set (OQ1 [RESOLVED_TO_AC], @neo-fable) — 4 rings, categories only

  • Ring 0 — institution-native (moat-proof, graph-sourced): PR velocity + review latency, catch-before-fossilization rate + correction latency, re-derivation rate, guide-gap burn-down.
  • Ring 1 — reach: stars / npm / traffic + referral mix (category-correct search share); social = attributable action only, never raw likes.
  • Ring 2 — adoption (split by the two product worlds, never blended): institution + application funnels.
  • Ring 3 — economics (targets always private): revenue-vs-model-capacity inversion, sponsor MRR + services measured-not-assumed.

Schema AC (the load-bearing discipline): every METRIC / BUSINESS_GOAL carries {claimClass, falsifyingQuery, windowSemantics, confoundDisclaimer, publicFlag} as node properties — a metric without a falsifyingQuery is invalid by construction (verify-before-assert mechanized into the business layer; the dashboard refuses an unanchored number the way CI refuses an untested diff). publicFlag travels with the node (moves OQ3 redaction partly schema-side).

Leaf decomposition (dependency order)

Leaf 1 — BUSINESS_GOAL/METRIC schema + read-only metric-ingestion probe

First-leaf ACs (from Mnemosyne's §5.2 STEP_BACK, discussioncomment-17504699):

  • [REQUIRED — type-gate dependency] The "graph prioritizes business goals" premise is false-by-construction until Golden-Path-v2: computedGoldenPathRouting type-gates ranking to type ∈ {ISSUE, DISCUSSION} — the same gate that hides all 20,526 concept nodes (#14422). AC: either the ranking gate names BUSINESS_GOAL/METRIC, or this epic documents prioritization as a hard dependency on #14422 (a dependency edge, not an assumption). Until then the business engine ships honestly as a reporting layer, not a prioritization one.
  • [REQUIRED — Decision Record: ADR-0024] New METRIC/BUSINESS_GOAL node classes + ADVANCED_BY/attribution edge classes need a named decay/protection dispositionPROTECTED_EDGE_TYPES does NOT auto-cover new semantic classes ("the business layer is durable" is false-in-substrate by default; the exact claim-class error retracted on #14422). ADR-0024 amendment/successor.
  • [REQUIRED — ADR-0019] Metric-source configuration (endpoints, cadences, redaction whitelists) lives as AiConfig subtree refs — never env-reads or pass-throughs.
  • Identity-key contract: METRIC = (source, metricName, windowSemantics, periodStart) → deterministic ID (idempotent upsert; falsifyingQuery implies recomputation must land on the same node). BUSINESS_GOAL = stable operator slug.
  • Mutability: METRIC = append-only time-series (period immutable once closed, current-period mutable-until-close). BUSINESS_GOAL lifecycle active/achieved/retired + retired-goal edge-reweighting (a retired goal with un-reweighted ADVANCED_BY edges = zombie priority; couples to the type-gate finding).
  • Rollup policy (hourly signals): raw decays / rollups persist = the ADR-0024 time-series disposition, implemented via the shipped #12671/#12672 recency machinery (named reuse, not parallel-build).
  • Ingestion path: reuse the KB tenant-ingestion path (ai/scripts/maintenance/ingestTenant.mjs, #14404), not a FileSystemIngestor single-root walker-generalization.
  • #14426 post-sync integrity canary as a first-leaf AC — metric ingestion writes the same production graph whose mailbox subgraph demonstrated silent sync-correlated node loss; a business dashboard that can silently lose its metric nodes fails exactly the way it's designed to detect.

Leaf 2 — CEO-dashboard sandman-slice

Sequenced after the #14422 Golden-Path structural-reach fix (per Matrix-B4: extending a surface whose ranking shows Structural: 0.00 inverts the order). Attribution edges (Matrix-A4, POST →drove→ STARS) must carry the #14422 OQ6 trust/provenance/confidence lattice (business-engine = a 4th OQ6 consumer, alongside #14418 fidelity / #14422 extraction / #14428 temporal-summaries) or Ring-1 vanity becomes graph-resident.

Leaf 3 (later) — Social-MCP

Read-only-analytics-first (Matrix-C1), behind OQ2's mechanical guardrails: (1) templated authorship-disclosure string, (2) no-fake-engagement by capability-absence (no cross-account actions in the tool surface), (3) C4 clean-room content gate (source-allowlist: posts generated only from public artifacts), (4) UTM-anchored links so attributable-action is computable.

Open items carried into the epic (not graduation-blockers)

  • OQ3 — pipeline-side ingestion redaction (the residual after publicFlag moved it partly schema-side).
  • OQ4 — relationship to #13444 HOME + the demo-video GTM lane (the living dashboard may be HOME's unfakeable demo).

Related

Discussion #14430 (design anchor) · #14422 (OQ6 lattice + the type-gate mechanism — hard dependency) · #14418 (fidelity) · #14428 (temporal-summaries) · #14404 (tenant-ingestion path) · #14426 (integrity canary) · #12671/#12672 (recency machinery) · #13444 (HOME).

Authored by @neo-opus-grace (Grace, Claude Opus 4.8) — graduating the operator's prio-1 business-engine ideation. Leaf tickets to be created as each is claimed (one-feature-one-ticket); this epic is the container.

tobiu referenced in commit c279a0c - "feat(ai): business-engine schema, decay shield + metric probe (#14446) (#14455) on Jul 2, 2026, 11:23 AM
tobiu referenced in commit 59fb062 - "docs(roadmap): v13.2 replacement — the weighting-round fold (#14601) (#14604) on Jul 4, 2026, 6:31 AM