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: query history, who opens what, what is certified, what is refreshed. That is enough to rank definitions.
  • Nobody will maintain a knowledge graph by hand, and the ones that exist drift. The graph has to build itself.
  • A stateless agent is attractive: the ranking happens before the question, so the model behind the agent can change without losing anything.
  • A context layer is there to be useful, not to hold the ultimate truth.

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 - reads that context as one markdown file, runs rank 1 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.

Agent

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: agent/.

Licence

MIT - see LICENSE.

Release files for fabcontext 0.1.3

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.3
File Size Uploaded
fabcontext-0.1.3.tar.gz 115.6 kB Details

Built distribution (wheel)

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

Total release size: 227.8 kB

Release files / fabcontext-0.1.3.tar.gz

Download URL fabcontext-0.1.3.tar.gz
Size 115.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f7c9fdc186260b57d91d9c420f01c4ee0c5c2d604caa98c400bb316cd3101443
BLAKE2b-256 checksum
How to use checksums
52507086b6b157c65115d343881333548742eb41edd2a850c40dff99824d3a14
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.3-py3-none-any.whl

Download URL fabcontext-0.1.3-py3-none-any.whl
Size 112.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d1e4db24b6e3cf4a4295f7167f1700127a3db949a1c6a04fddea106dbeac054
BLAKE2b-256 checksum
How to use checksums
9f006b3bc24b36b9e6f0334301438bdb311be88a08e951136b301a907d010bb8
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

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

This release

0.1.3 This release

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