Skip to main content

Overview

Mage Pro can notify Autopilot when project code and pipeline configuration change. Autopilot owns graph indexing, graph storage, and lineage display data. Mage Pro’s responsibility is limited to:
  • project opt-in through metadata.yaml;
  • metadata-only change events after successful project mutations;
  • OpenLineage-compatible event envelopes for Autopilot ingestion; and
  • short-lived source snapshots when Autopilot needs source context.
Mage Pro does not send block source, file contents, environment variables, credentials, run variables, logs, block outputs, or row-level data in lineage events. Source is available only through the snapshot API after Autopilot presents a short-lived grant scoped to the customer cluster, workspace, project, and snapshot.

Enable lineage

Lineage requires both cluster-level service configuration and project-level metadata opt-in. Set these values in the Mage Pro cluster environment. Keep credentials in the cluster secret manager instead of project files. Then enable lineage for a project:
The Data lineage app at /apps/lineage/dashboard provides the same opt-in by writing lineage.enabled: true to the active project’s metadata.yaml. Lineage events are sent only when:
  • AUTOPILOT_LINEAGE_ENABLED=1;
  • the active project has lineage.enabled: true;
  • either direct Autopilot delivery or Mage Pro API gateway delivery is configured;
  • tenant ID, customer cluster UUID, workspace UUID, and project UUID are all available; and
  • the optional AUTOPILOT_LINEAGE_FEATURE_FLAG gate passes, when configured.
For gateway delivery, Mage Pro prefers the explicitly configured MAGE_PRO_API_ENDPOINT over any agent-development service link so lineage traffic continues through the intended Mage Pro API environment. For direct delivery, set both AUTOPILOT_LINEAGE_API_URL and AUTOPILOT_LINEAGE_API_TOKEN. MAGE_CLUSTER_UUID must be explicitly configured, nonblank, durable, and unique for the customer cluster. Mage Pro does not use Mage’s implicit mage fallback for lineage scope.

Optional feature gate

lineage.enabled is the project opt-in. AUTOPILOT_LINEAGE_FEATURE_FLAG is an additional rollout gate. If AUTOPILOT_LINEAGE_FEATURE_FLAG is unset, any project with lineage.enabled: true is eligible. Its values also support cluster-wide or feature-flag behavior:
  • 1, true, yes, or on allows all opted-in projects.
  • 0, false, no, or off disables lineage for every project.
  • Any other value is treated as a features key in project metadata.yaml.
For example:
With AUTOPILOT_LINEAGE_FEATURE_FLAG=data_lineage, both keys must be true.

What sends events

Mage Pro logs and schedules a non-blocking lineage event delivery attempt after these successful changes:
  • project files and block contents;
  • pipelines, blocks, and execution-framework resources;
  • triggers and schedules;
  • successful deployment application.
AI Sidekick block edits use the same persistence path as project mutations: they update the block content through the block model, create file versions, refresh pipeline and block caches, and publish the lineage hook after the cache refresh succeeds. Each event has an immutable ID and the durable scope {customer_cluster_uuid, workspace_uuid, project_uuid}. Mage Pro does not store lineage events locally. Autopilot owns durable ingestion, queueing, graph processing, and graph storage. A failed lineage delivery does not change the result of the original Mage Pro mutation.

Event payloads

Mage Pro sends its internal metadata-only event plus an openlineage envelope for Autopilot. The OpenLineage envelope uses the same durable namespace for the project scope and represents pipeline or block mutations as job metadata updates. File mutations are represented as dataset metadata updates. A Mage-specific facet carries the event ID, mutation type, object identity, safe payload hashes, and scope. The OpenLineage payload intentionally excludes source code, credentials, config secrets, and data values. Autopilot can request a source snapshot separately when it needs code context for graph rebuilds.

Source snapshots

Source snapshots are a service-to-service API for Autopilot. Browser sessions cannot call these endpoints. Every request requires an HS256 Bearer grant signed with AUTOPILOT_LINEAGE_SNAPSHOT_GRANT_SECRET. Grants must contain iss, aud, sub, iat, and exp claims, an actions or permissions claim, and a lineage_scope equal to the target customer cluster, workspace, and project. A read grant must also contain the exact snapshot_id in the request path. Mage Pro rejects a token whose lifetime is longer than twice the configured snapshot TTL. Mage Pro applies these source controls:
  • file and total-source byte limits;
  • a cap on filesystem entries inspected while discovering project source files;
  • only files under the project root;
  • an explicit project-file allowlist;
  • redaction of common secrets, authorization values, and bearer tokens;
  • stable owner keys based on project UUID and object identity; and
  • source_changed or content_changed markers instead of stale content when a file changes after the manifest was created.
Snapshot data is kept in process memory and becomes inaccessible after AUTOPILOT_LINEAGE_SNAPSHOT_TTL_SECONDS (15 minutes by default). If Mage Pro restarts, Autopilot must request a new snapshot.

Capacity settings

Use these controls when a project is unusually large: