Skip to content

Foggy Capability Baseline and Evidence Matrix

This page is the current capability source for the implementation manual. It is not frozen v3.0 whitepaper content. The evidence was collected on 2026-08-22 against a disposable SQLite fixture and the Java Runtime. Production deployments must repeat the checks and add authentication, authorization, audit, network, and secret controls.

Evidence boundary

ItemValue in this run
Launcherfoggy-runtime-launcher v0.1.17
Enginejava
Runtime APIfoggy-runtime-api/v1
Schema2026-06-06
Security modenone-dev-test-only
Namespacesalesdrop
Fixturedisposable SQLite + sales_drop_daily
Runtime sourcefoggy-data-mcp-bridge, published framework 9.2.0

none-dev-test-only is a development/test boundary, not a production security conclusion. Every deployment should read /api/v1/capabilities first and select the next steps from the reported capabilities.

Capability matrix

Status meanings: Verified means the disposable fixture executed successfully; Declared/not exercised means the Runtime advertises the capability but this run did not consume it; Conditional depends on configuration, identity, or an optional service; Disabled is explicitly unavailable in this instance.

CapabilityCurrent statusRuntime/API or MCP entry pointEvidence and documentation decision
Readiness and capability discoveryVerifiedGET /readyz, GET /api/v1/capabilitiesReturned Java, API v1, and schema 2026-06-06; every implementation flow starts here.
Runtime security modeConditionalsecurityMode, management-auth configurationCurrent mode is none-dev-test-only; the manual must not present the local Launcher as production-ready.
Datasource list/testVerifiedGET /api/v1/datasources, POST /api/v1/datasources/{name}/testThe default datasource passed its test; diagnostics must not expose passwords or complete connection strings.
Namespace datasource bindingVerifiedPUT /api/v1/namespaces/{namespace}/datasourceModel validation failed in a fresh unbound namespace; binding default enabled the successful flow. Binding is a model-validation prerequisite.
Datasource diagnosticsVerifiedGET /api/v1/datasources/diagnosticsReported namespaceBindings.salesdrop=default; managedDatasourceCount=0 does not mean that a configured datasource is unavailable.
Table list and inspectionVerifiedPOST /api/v1/tables/list, POST /api/v1/tables/inspectsales_drop_daily was inspected; this is controlled operations/modeling access, not a substitute for semantic queries.
Runtime SQLVerified but restrictedPOST /api/v1/sql/queryA read-only top-five query passed; the SQL surface must not become a normal MCP user-query endpoint.
Bundle registrationVerifiedGET/POST /api/v1/bundlessales-drop-models was registered before refresh; registration alone does not publish a model.
Model validationVerifiedPOST /api/v1/models/validatePassed after datasource binding; validation produces candidate diagnostics and does not replace the catalog directly.
Model refresh/list/describeVerified/api/v1/models/refresh, GET /api/v1/models, POST /api/v1/models/{model}/describeRefresh exposed SalesDropDailyQueryModel; describe returned 21 fields and physical-table mapping.
Query validate/executeVerified`/api/v1/query/{model}/validateexecute`
Query explainVerified/api/v1/query/{model}/explain, dataset.explain_querybasis=RECOMPILED; this is fresh compilation evidence in the current context, not a historical execution trace.
Compose/FSScriptDeclared/not exercised`/api/v1/compose/validatepreview
Authoring workspace/resources/diff/validateDeclared/not exercised/api/v1/authoring/...The capability is supported; publish, recovery, and concurrent-revision behavior need a separate management-plane acceptance run.
Release package exportDeclared/not exercised/api/v1/authoring/workspaces/{id}/release-packageAdvertised as supported; this run does not claim that a release drill is complete.
Production apply/rollbackDisabledauthoring.production.apply/rollback capabilitiesExplicitly disabled in this instance; the v3.0 draft must preserve this conditional/disabled wording.
Release package importDisabledauthoring.releasePackage.import capabilityExplicitly disabled; the deployment manual must not promise direct production import.
MCP model discoveryVerifieddataset.list_modelsPreferred discovery tool; it returns routing information, followed by dataset.describe_model_internal.
MCP model detailsVerifieddataset.describe_model_internalTakes model; new integrations must not use dataset.get_metadata for first-pass discovery.
Legacy metadata toolCompatibility/deprecateddataset.get_metadatatools/list marks it Deprecated; new integrations must migrate to list + describe.
Single-model queryDeclared with API evidencedataset.query_modelSingle-model filters, grouping, time windows, and pivot route here; cross-model work must not be forced into it.
Cross-model compositionDeclared/not exerciseddataset.compose_scriptUse only for Join/Union/derived/multi-plan flows; scripts must return { plans: plan }.
Chart exportConditionaldataset.export_with_xchart, dataset.export_with_echartsXChart is JVM-native with no browser/Node dependency; ECharts requires an optional rendering service and an explicit choice.
Natural-language queryConditionaldataset_nl.queryRequires a ChatModel/AI Provider; structured tools should not be described as unavailable when the provider is absent.

Items for the v3.0 review

  • Keep DRAFT / NOT FROZEN until the product and architecture owners confirm this matrix and the compatibility policy.
  • Make datasource binding, model validate/refresh, catalog generation, and tool migration explicit implementation prerequisites.
  • Define RECOMPILED separately from historical execution traces, and state that SQL/physical-name exposure is governed by namespace policy.
  • Put the disabled/conditional state of production apply, rollback, and import in the compatibility matrix instead of promising a complete release loop early.

Reproduction entry point

See Runtime API and MCP Examples for curl, MCP JSON-RPC, and CLI examples. Delivery evidence should retain the JSON responses for capabilities, datasource diagnostics, model validate/refresh, and query validate/execute.