{
  "generated_at": "2026-04-10T10:31:25.569Z",
  "system": {
    "id": "topolo-forecast",
    "name": "Topolo Forecast",
    "slug": "topolo-forecast",
    "kind": "application",
    "summary": "Cash-flow and P&L forecasting product. Older repo and product references may still call it FinSight.",
    "aliases": [
      "FinSight"
    ],
    "lifecycle": "active",
    "last_verified": "2026-04-07",
    "owners": [
      "finance-platform"
    ],
    "repo_paths": [
      "PlatformApplications/TopoloForecast"
    ],
    "service_ids": [
      "srv_T0sKE7LIelMU"
    ],
    "visibility": "public",
    "api_contract": {
      "type": "curated",
      "source": "PlatformApplications/TopoloDocs/src/content/public/applications/forecast.mdx",
      "notes": "Canonical Forecast coverage now lives in the docs application, with FinSight retained only as an alias."
    },
    "primary_hosts": [
      "https://forecast.topolo.app"
    ],
    "doc_paths": [
      "applications/forecast",
      "internal/apps/forecast"
    ],
    "dependencies": [
      "topolo-auth",
      "topolo-one"
    ],
    "public_hub_url": "/systems/topolo-forecast",
    "internal_hub_url": null,
    "application_api_url": "/reference/apps/topolo-forecast",
    "generated_openapi_url": null,
    "machine_urls": {
      "system": "/machine/systems/topolo-forecast.json",
      "application": "/machine/applications/topolo-forecast.json"
    }
  },
  "docs": {
    "public": [
      {
        "id": "applications/forecast.mdx",
        "title": "Topolo Forecast",
        "summary": "Public overview of the forecasting product for cash-flow, P&L, KPI, and multi-scenario planning workflows.",
        "audience": "public",
        "tags": [
          "forecasting",
          "finance",
          "planning"
        ],
        "url": "/applications/forecast.mdx",
        "last_verified": "2026-04-07"
      }
    ],
    "internal": [],
    "runbooks": []
  },
  "authority": {
    "owners": [
      "finance-platform"
    ],
    "repo_paths": [
      "PlatformApplications/TopoloForecast"
    ],
    "service_ids": [
      "srv_T0sKE7LIelMU"
    ],
    "dependencies": [
      "topolo-auth",
      "topolo-one"
    ],
    "aliases": [
      "FinSight"
    ]
  },
  "interfaces": {
    "contract_type": "curated",
    "contract_source": "PlatformApplications/TopoloDocs/src/content/public/applications/forecast.mdx",
    "contract_source_exists": true,
    "openapi": null,
    "readme": {
      "path": "PlatformApplications/TopoloForecast/README.md",
      "intro": [
        "Canonical documentation for Topolo Forecast lives in `PlatformApplications/TopoloDocs`.",
        "Use this repository for implementation only. Local product and operational docs have been retired in favor of the docs application."
      ],
      "headings": [
        "Topolo Forecast"
      ],
      "routeHighlights": [],
      "commandHighlights": []
    }
  },
  "auth": {
    "depends_on_topolo_auth": true,
    "api_key_scopes": [
      {
        "name": "forecast.read",
        "description": "View forecasts",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "name": "forecast.write",
        "description": "Create and edit forecasts",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "name": "workspaces.read",
        "description": "View forecast workspaces",
        "resourcePattern": "workspace:*",
        "kind": "api_key_scope"
      },
      {
        "name": "workspaces.write",
        "description": "Manage forecast workspaces",
        "resourcePattern": "workspace:*",
        "kind": "api_key_scope"
      },
      {
        "name": "scenarios.read",
        "description": "View forecast scenarios",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "name": "scenarios.write",
        "description": "Manage forecast scenarios",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "name": "sharing.read",
        "description": "View workspace sharing",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "name": "sharing.write",
        "description": "Manage workspace sharing",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "name": "settings.read",
        "description": "View FinSight settings",
        "resourcePattern": null,
        "kind": "api_key_scope"
      },
      {
        "name": "settings.write",
        "description": "Manage FinSight settings",
        "resourcePattern": null,
        "kind": "api_key_scope"
      }
    ],
    "service_permissions": [
      {
        "name": "dashboard:read",
        "description": "View financial dashboard",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "name": "forecasts:read",
        "description": "View cashflow forecasts",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "name": "forecasts:write",
        "description": "Create and edit forecasts",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "name": "transactions:read",
        "description": "View financial transactions",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "name": "transactions:write",
        "description": "Record financial transactions",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "name": "reports:read",
        "description": "View financial reports",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "name": "settings:read",
        "description": "View account settings",
        "resourcePattern": null,
        "kind": "permission"
      },
      {
        "name": "settings:write",
        "description": "Manage account configuration",
        "resourcePattern": null,
        "kind": "permission"
      }
    ]
  },
  "runtime": {
    "primary_hosts": [
      "https://forecast.topolo.app"
    ],
    "repo_entries": [
      "PlatformApplications/TopoloForecast/README.md",
      "PlatformApplications/TopoloForecast/apps/",
      "PlatformApplications/TopoloForecast/commitlint.config.js",
      "PlatformApplications/TopoloForecast/docs/",
      "PlatformApplications/TopoloForecast/eslint.config.js",
      "PlatformApplications/TopoloForecast/package.json",
      "PlatformApplications/TopoloForecast/packages/",
      "PlatformApplications/TopoloForecast/pnpm-lock.yaml",
      "PlatformApplications/TopoloForecast/pnpm-workspace.yaml",
      "PlatformApplications/TopoloForecast/prettier.config.js",
      "PlatformApplications/TopoloForecast/topolo.cloudcontrol.json"
    ],
    "wrangler_surfaces": [
      {
        "path": "PlatformApplications/TopoloForecast/apps/finsight-web/wrangler.toml",
        "observabilityEnabled": false,
        "environments": [],
        "routes": [],
        "vars": [],
        "bindings": [],
        "cronTriggers": [],
        "workerName": "forecast",
        "compatibilityDate": "2026-04-04"
      },
      {
        "path": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
        "observabilityEnabled": false,
        "environments": [
          "development",
          "staging",
          "production"
        ],
        "routes": [],
        "vars": [
          "ENVIRONMENT",
          "SERVICE_ID",
          "SERVICE_NAME",
          "migrations_dir"
        ],
        "bindings": [
          {
            "kind": "d1",
            "binding": "FS_DB",
            "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
            "target": "3f66df13-8b72-4c01-ad8f-8ff95d8b187d"
          },
          {
            "kind": "kv",
            "binding": "FS_CACHE",
            "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
            "target": "c39ef688a2fb474ba240c80f9452f0e3"
          },
          {
            "kind": "d1",
            "binding": "FS_DB",
            "environment": "development",
            "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
            "target": "local-db-id"
          },
          {
            "kind": "kv",
            "binding": "FS_CACHE",
            "environment": "development",
            "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
            "target": "local-kv-preview-id"
          },
          {
            "kind": "d1",
            "binding": "FS_DB",
            "environment": "staging",
            "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
            "target": "344dc27c-de35-4cf3-ba41-47ef9075a8ec"
          },
          {
            "kind": "kv",
            "binding": "FS_CACHE",
            "environment": "staging",
            "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
            "target": "bd5f86a046f34e418f283f7e744d27c0"
          },
          {
            "kind": "d1",
            "binding": "FS_DB",
            "environment": "production",
            "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
            "target": "3f66df13-8b72-4c01-ad8f-8ff95d8b187d"
          },
          {
            "kind": "kv",
            "binding": "FS_CACHE",
            "environment": "production",
            "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
            "target": "c39ef688a2fb474ba240c80f9452f0e3"
          }
        ],
        "cronTriggers": [],
        "workerName": "forecast-worker-production",
        "main": "src/index.ts",
        "compatibilityDate": "2025-07-11",
        "buildCommand": "npm run build"
      }
    ],
    "packages": [
      {
        "path": "PlatformApplications/TopoloForecast/apps/finsight-web/package.json",
        "name": "finsight-web",
        "scripts": [
          "dev",
          "prebuild",
          "build",
          "build:with-types",
          "lint",
          "preview"
        ],
        "scriptCommands": [
          {
            "name": "dev",
            "command": "vite"
          },
          {
            "name": "prebuild",
            "command": "cd ../../packages/finsight-core && npm run build && cd ../ui-kit && npm run build"
          },
          {
            "name": "build",
            "command": "vite build"
          },
          {
            "name": "build:with-types",
            "command": "tsc -b && vite build"
          },
          {
            "name": "lint",
            "command": "eslint ."
          },
          {
            "name": "preview",
            "command": "vite preview"
          }
        ]
      },
      {
        "path": "PlatformApplications/TopoloForecast/apps/finsight-worker/package.json",
        "name": "@finsight/worker",
        "scripts": [
          "dev",
          "deploy",
          "prebuild",
          "build",
          "start",
          "test",
          "test:watch",
          "lint",
          "lint:fix",
          "type-check",
          "clean",
          "cf-typegen"
        ],
        "scriptCommands": [
          {
            "name": "dev",
            "command": "wrangler dev --env development --local --persist-to .wrangler/state --port 8787"
          },
          {
            "name": "deploy",
            "command": "wrangler deploy"
          },
          {
            "name": "prebuild",
            "command": "cd ../../packages/finsight-core && npm run build"
          },
          {
            "name": "build",
            "command": "tsc"
          },
          {
            "name": "start",
            "command": "wrangler dev --env development"
          },
          {
            "name": "test",
            "command": "vitest"
          },
          {
            "name": "test:watch",
            "command": "vitest --watch"
          },
          {
            "name": "lint",
            "command": "eslint . --ext ts --report-unused-disable-directives --max-warnings 0"
          },
          {
            "name": "lint:fix",
            "command": "eslint . --ext ts --fix"
          },
          {
            "name": "type-check",
            "command": "tsc --noEmit"
          },
          {
            "name": "clean",
            "command": "rm -rf dist .turbo node_modules/.cache"
          },
          {
            "name": "cf-typegen",
            "command": "wrangler types"
          }
        ]
      },
      {
        "path": "PlatformApplications/TopoloForecast/package.json",
        "name": "finsight-cloud",
        "description": "Gorgeous keyboard-first cash-flow & P&L SaaS dashboard",
        "scripts": [
          "bootstrap",
          "dev",
          "build",
          "build:packages",
          "test",
          "test:watch",
          "lint",
          "lint:fix",
          "format",
          "format:check",
          "type-check",
          "clean",
          "prepare",
          "storybook",
          "build-storybook"
        ],
        "scriptCommands": [
          {
            "name": "bootstrap",
            "command": "pnpm install && pnpm run build:packages"
          },
          {
            "name": "dev",
            "command": "pnpm run --parallel dev"
          },
          {
            "name": "build",
            "command": "pnpm run --recursive build"
          },
          {
            "name": "build:packages",
            "command": "pnpm run --filter './packages/*' build"
          },
          {
            "name": "test",
            "command": "pnpm run --recursive test"
          },
          {
            "name": "test:watch",
            "command": "pnpm run --recursive test:watch"
          },
          {
            "name": "lint",
            "command": "pnpm run --recursive lint"
          },
          {
            "name": "lint:fix",
            "command": "pnpm run --recursive lint:fix"
          },
          {
            "name": "format",
            "command": "prettier --write ."
          },
          {
            "name": "format:check",
            "command": "prettier --check ."
          },
          {
            "name": "type-check",
            "command": "pnpm run --recursive type-check"
          },
          {
            "name": "clean",
            "command": "pnpm run --recursive clean"
          },
          {
            "name": "prepare",
            "command": "husky install"
          },
          {
            "name": "storybook",
            "command": "pnpm run --filter @finsight/ui-kit storybook"
          },
          {
            "name": "build-storybook",
            "command": "pnpm run --filter @finsight/ui-kit build-storybook"
          }
        ]
      },
      {
        "path": "PlatformApplications/TopoloForecast/packages/config/package.json",
        "name": "@finsight/config",
        "scripts": [
          "build",
          "dev",
          "lint",
          "lint:fix",
          "type-check",
          "clean"
        ],
        "scriptCommands": [
          {
            "name": "build",
            "command": "tsc"
          },
          {
            "name": "dev",
            "command": "tsc --watch"
          },
          {
            "name": "lint",
            "command": "eslint . --ext ts --report-unused-disable-directives --max-warnings 0"
          },
          {
            "name": "lint:fix",
            "command": "eslint . --ext ts --fix"
          },
          {
            "name": "type-check",
            "command": "tsc --noEmit"
          },
          {
            "name": "clean",
            "command": "rm -rf dist .turbo node_modules/.cache"
          }
        ]
      },
      {
        "path": "PlatformApplications/TopoloForecast/packages/finsight-core/package.json",
        "name": "@finsight/core",
        "scripts": [
          "build",
          "dev"
        ],
        "scriptCommands": [
          {
            "name": "build",
            "command": "tsc"
          },
          {
            "name": "dev",
            "command": "tsc --watch"
          }
        ]
      }
    ]
  },
  "data": {
    "env_vars": [
      "ENVIRONMENT",
      "SERVICE_ID",
      "SERVICE_NAME",
      "migrations_dir"
    ],
    "bindings": [
      {
        "kind": "d1",
        "binding": "FS_DB",
        "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
        "target": "3f66df13-8b72-4c01-ad8f-8ff95d8b187d"
      },
      {
        "kind": "kv",
        "binding": "FS_CACHE",
        "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
        "target": "c39ef688a2fb474ba240c80f9452f0e3"
      },
      {
        "kind": "d1",
        "binding": "FS_DB",
        "environment": "development",
        "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
        "target": "local-db-id"
      },
      {
        "kind": "kv",
        "binding": "FS_CACHE",
        "environment": "development",
        "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
        "target": "local-kv-preview-id"
      },
      {
        "kind": "d1",
        "binding": "FS_DB",
        "environment": "staging",
        "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
        "target": "344dc27c-de35-4cf3-ba41-47ef9075a8ec"
      },
      {
        "kind": "kv",
        "binding": "FS_CACHE",
        "environment": "staging",
        "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
        "target": "bd5f86a046f34e418f283f7e744d27c0"
      },
      {
        "kind": "d1",
        "binding": "FS_DB",
        "environment": "production",
        "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
        "target": "3f66df13-8b72-4c01-ad8f-8ff95d8b187d"
      },
      {
        "kind": "kv",
        "binding": "FS_CACHE",
        "environment": "production",
        "sourcePath": "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
        "target": "c39ef688a2fb474ba240c80f9452f0e3"
      }
    ],
    "queue_bindings": [],
    "storage_kinds": [
      "d1",
      "kv"
    ],
    "workflow_signals": []
  },
  "deployment": {
    "commands": [
      {
        "name": "prebuild",
        "command": "PlatformApplications/TopoloForecast/apps/finsight-web/package.json :: cd ../../packages/finsight-core && npm run build && cd ../ui-kit && npm run build"
      },
      {
        "name": "build",
        "command": "PlatformApplications/TopoloForecast/apps/finsight-web/package.json :: vite build"
      },
      {
        "name": "build:with-types",
        "command": "PlatformApplications/TopoloForecast/apps/finsight-web/package.json :: tsc -b && vite build"
      },
      {
        "name": "preview",
        "command": "PlatformApplications/TopoloForecast/apps/finsight-web/package.json :: vite preview"
      },
      {
        "name": "deploy",
        "command": "PlatformApplications/TopoloForecast/apps/finsight-worker/package.json :: wrangler deploy"
      },
      {
        "name": "prebuild",
        "command": "PlatformApplications/TopoloForecast/apps/finsight-worker/package.json :: cd ../../packages/finsight-core && npm run build"
      },
      {
        "name": "build",
        "command": "PlatformApplications/TopoloForecast/apps/finsight-worker/package.json :: tsc"
      },
      {
        "name": "build",
        "command": "PlatformApplications/TopoloForecast/package.json :: pnpm run --recursive build"
      },
      {
        "name": "build:packages",
        "command": "PlatformApplications/TopoloForecast/package.json :: pnpm run --filter './packages/*' build"
      },
      {
        "name": "build-storybook",
        "command": "PlatformApplications/TopoloForecast/package.json :: pnpm run --filter @finsight/ui-kit build-storybook"
      },
      {
        "name": "build",
        "command": "PlatformApplications/TopoloForecast/packages/config/package.json :: tsc"
      },
      {
        "name": "build",
        "command": "PlatformApplications/TopoloForecast/packages/finsight-core/package.json :: tsc"
      }
    ],
    "routes": [],
    "environments": [
      "development",
      "staging",
      "production"
    ],
    "assets_directories": [],
    "observability_enabled": false
  },
  "debugging": {
    "failure_modes": [],
    "entrypoints": [
      "PlatformApplications/TopoloForecast/apps/finsight-web/wrangler.toml",
      "PlatformApplications/TopoloForecast/apps/finsight-worker/wrangler.toml",
      "PlatformApplications/TopoloDocs/src/content/public/applications/forecast.mdx",
      "PlatformApplications/TopoloForecast/README.md",
      "PlatformApplications/TopoloForecast/apps/finsight-web/package.json",
      "PlatformApplications/TopoloForecast/apps/finsight-worker/package.json",
      "PlatformApplications/TopoloForecast/package.json",
      "PlatformApplications/TopoloForecast/packages/config/package.json",
      "PlatformApplications/TopoloForecast/packages/finsight-core/package.json"
    ]
  }
}