What goes into a context layer

  • Business definitions and metrics, often from a semantic layer
  • Descriptions of tables and columns, and glossary terms
  • Ownership and quality signals
  • Access and usage rules
  • Lineage showing where data comes from and where it goes

Context layer vs semantic layer

A semantic layer defines metrics. A context layer usually includes those definitions and adds the meaning and rules around the rest of the data. Compare context layers, semantic layers and code and data graphs.

Context layers for coding agents

Most context layers are built for agents that answer questions about data. Agents that change code need one more piece: what reads and writes each table and column across repositories. That comes from analyzing source code rather than metadata, often as a context graph the agent queries over MCP. Read about context engineering for AI coding agents.

Related terms

Context engineering · Context graph · Data lineage

code snippet <goes here>
<style>.horizontal-trigger {height: calc(100% - 100vh);}</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.8.0/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.8.0/ScrollTrigger.min.js"></script>
<script>
// © Code by T.RICKS, https://www.timothyricks.com/
// Copyright 2021, T.RICKS, All rights reserved.
// You have the license to use this code in your projects but not to redistribute it to others
gsap.registerPlugin(ScrollTrigger);
let horizontalItem = $(".horizontal-item");
let horizontalSection = $(".horizontal-section");
let moveDistance;
function calculateScroll() {
 // Desktop
 let itemsInView = 3;
 let scrollSpeed = 1.2;  if (window.matchMedia("(max-width: 479px)").matches) {
   // Mobile Portrait
   itemsInView = 1;
   scrollSpeed = 1.2;
 } else if (window.matchMedia("(max-width: 767px)").matches) {
   // Mobile Landscape
   itemsInView = 1;
   scrollSpeed = 1.2;
 } else if (window.matchMedia("(max-width: 991px)").matches) {
   // Tablet
   itemsInView = 2;
   scrollSpeed = 1.2;
 }
 let moveAmount = horizontalItem.length - itemsInView;
 let minHeight =
   scrollSpeed * horizontalItem.outerWidth() * horizontalItem.length;
 if (moveAmount <= 0) {
   moveAmount = 0;
   minHeight = 0;
   // horizontalSection.css('height', '100vh');
 } else {
   horizontalSection.css("height", "200vh");
 }
 moveDistance = horizontalItem.outerWidth() * moveAmount;
 horizontalSection.css("min-height", minHeight + "px");
}
calculateScroll();
window.onresize = function () {
 calculateScroll();
};let tl = gsap.timeline({
 scrollTrigger: {
   trigger: ".horizontal-trigger",
   // trigger element - viewport
   start: "top top",
   end: "bottom top",
   invalidateOnRefresh: true,
   scrub: 1
 }
});
tl.to(".horizontal-section .list", {
 x: () => -moveDistance,
 duration: 1
});
</script>

Add the Code-Derived Piece of Your Context Layer

Request a demo to see how Foundational shows coding agents what reads and writes each table and column.

Add the Code-Derived Piece of Your Context Layer

Request a demo to see how Foundational shows coding agents what reads and writes each table and column.

Add the Code-Derived Piece of Your Context Layer

Request a demo to see how Foundational shows coding agents what reads and writes each table and column.

Share this post

Governance that starts at the source.