Skip to main content

context-layer

There is a lot of talk about context layers these days. I thought the best way to learn a new concept was to try to build one. This is a toy model, but the core ideas are rather simple.

  • A data platform is full of signals: semantic models, query history, who opens what, what is certified, what is refreshed. That is enough to rank definitions.
  • It is very hard to maintain a knowledge graph by hand, and the ones that exist drift. The graph has to build itself.
  • The agent has to be stateless and replaceable.
  • A context layer is here to be useful, not to be perfect.

The bet is that a context built automatically, at least to start, and ranked on how the platform already behaves gets better as the platform is used. I do not know yet whether that holds. What I do like is that it uses the semantic models already there and asks for no new modelling.

So far the industry splits on who settles a conflict: the platform, by scoring it, which scales with usage, or a person, by reviewing it, which scales with reviewer time; I prefer the first, time will tell.

The harvest delivers one thing: a knowledge graph of the tenant - every term, its competing definitions ranked, and what feeds what. That graph is the context. It runs nightly on its own.

See it on a real tenant

Inside the platform, the harvest side reads a Fabric workspace, builds and ranks the graph, and publishes it as the context. Outside it, any stateless agent - on a laptop, in a notebook, in CI, in a chat - asks the context model which definition wins, runs it as DAX on the model that owns it, and answers with the number, its source and a confidence.

!pip install fabcontext
import fabcontext
url = fabcontext.harvest("Workspace_A")

The first call creates the lakehouse - in a workspace called context_layer you make first - and every later one updates it. It returns the URL an agent asks against.

The ranking, what is harvested, the schema, how to ask, the limits: docs/guide.md.

Client

The agent can be anything - Claude, GitHub Copilot, Scout, Microsoft 365 Copilot. It installs nothing and needs one thing: a read-only Power BI connection. It finds the published ranking itself, at an address that is the same in every tenant. One DAX query asks which definition wins; a second runs it. One folder per tool: client/.

Licence

MIT - see LICENSE.

Release files for fabcontext 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fabcontext 0.1.6
File Size Uploaded
fabcontext-0.1.6.tar.gz 118.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fabcontext 0.1.6
File Interpreter ABI Platform
fabcontext-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 234.2 kB

Release files / fabcontext-0.1.6.tar.gz

Download URL fabcontext-0.1.6.tar.gz
Size 118.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e11d5079487e5caa6b45b2b5df642b832a483228f2ef4b43c66cf7b97804fa8e
BLAKE2b-256 checksum
How to use checksums
74597c63fff02107ca1132a6335b56746910df3b217478958f5ef50ad05733c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release files / fabcontext-0.1.6-py3-none-any.whl

Download URL fabcontext-0.1.6-py3-none-any.whl
Size 115.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23c197b000b2bf792b4b458f350f11c7040f4b188ee9f16831ce8b72e0fb278e
BLAKE2b-256 checksum
How to use checksums
ec0a42b477d31c75f6f12e71d78e026c0c00cd2ad132523b074d669d97bd86a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page