# About BC Observatory

Written by waldo, not by the pipeline. The counts on this page come from the last nightly.

## Who

I'm waldo. Eric Wauters on paper, but nobody uses the paper.

I've been doing NAV, and then Business Central, since the version numbers had a dot in them. Microsoft has called me an MVP since 2007. My kids call me "the guy who's always typing".

Here's the thing: I'm lazy. Properly lazy. Every tool I ever built was so I wouldn't have to do something twice. The CRS extension, so I'd stop naming files. PowerShell modules, so I'd stop opening PowerShell. [BC Telemetry Buddy](https://github.com/waldo1001/waldo.BCTelemetryBuddy), so I'd stop writing the same KQL query for the fourth time and could just ask my agent what went wrong last night. You get the idea.

Then AI agents came along and I thought: finally, I can be lazy at scale. I asked one about a field on the Customer table. It answered with great confidence and a field number that does not exist. Hasn't existed. Will never exist.

So I did the thing I always do. I built something so I wouldn't have to check. A Mac Mini in my house now reads all of Business Central every night and writes it down, with receipts. This site is that. The agent still answers with confidence. Now it's also right.

I co-founded [iFacto](https://www.ifacto.be), a Business Central partner in Belgium. I blog at [waldo.be](https://www.waldo.be), mostly about what I broke that week. I'm Belgian, which explains both the stubbornness and the fact that this runs on a subscription instead of a budget.

It's unofficial. Microsoft didn't ask for this. They're welcome.

## Why

There is a shitload of information about Business Central out there. Learn alone is thousands of pages. The code is on GitHub, all of it, every version. The roadmap is a website. There are hundreds of hours of sessions on YouTube and more blogs than anyone can read. None of that is the problem.

The problem is that nothing ties it together. Nothing says: this Learn page is about that table, which that session explains at minute twelve, which Belgium changes, which Microsoft touched in a pull request last Tuesday, which this blog post warned you about. There is no map of the Business Central ecosystem. Everyone carries a piece of it in their head, and the agents carry nothing at all, so they make it up.

So this is a map. Not a mirror: Microsoft Learn stays the documentation, your blog stays your blog. The observatory only draws the lines between them, and every line says where it comes from.

Three rules I don't bend. **Agents first.** Every page has a markdown twin, every section an `llms.txt`, and one MCP server reads the same files the site does. **Evidence on everything.** A claim without a URL, a commit, a video second or a quote does not get on a page. **Honest about who wrote what.** Every page shows its trust tier (official is Microsoft, community is everyone else) and its review state, so you know whether a sentence was placed by code, written by a model, or checked by a bigger model.

## How

The pipeline, drawn on the site as a telescope: Five sources (Microsoft Learn, microsoft/BCApps and the version history, the Microsoft 365 roadmap, YouTube, community blogs via sources.yaml) feed a nightly pipeline on a Mac Mini: a deterministic stage first (tree-sitter parses the code, validators check every id, evidence is attached), then models only on what changed (Haiku for facts, Sonnet for prose, Opus to review, which sets the review state), onto two outputs: the site with a markdown twin per page, and the MCP server with the plugin and an llms.txt per section.

- Nightly on a Mac Mini in my house, as a self-hosted GitHub runner, on a Claude subscription. No API keys, anywhere.
- Deterministic first: the code is parsed, never summarised. Models only on what changed: Haiku for facts, Sonnet for prose, Opus to review. A page a model wrote says `unreviewed` until Opus has checked it.
- Community text stays yours: a summary in our words, at most three quotes under 25 words, and a link back. A leak scanner fails the build if more than that ever reaches the repository. See the [content notice](https://github.com/waldo1001/waldo.BCObservatory/blob/main/CONTENT-NOTICE.md).
- Procedure bodies and the call graph come from [bc-code-atlas](https://github.com/StefanMaron/bc-code-atlas) by Stefan Maron, which the plugin connects next to this server, as it does Microsoft's [Learn MCP](https://learn.microsoft.com/training/support/mcp) to read the Learn pages the knowledge base points to.

The galaxy on the home page is the data model drawn. Systems are domains. Stars are hubs: Learn topics, roadmap features, countries, sources and the most connected AL objects. Videos and posts orbit the hubs they link to. A country draws a constellation over the W1 sky. This week's additions light up.

The galaxy key: a circle is a hub (a star), a rounded square an AL object, a triangle a video, a bar a post, a dashed line crosses into another system, a dashed ring marks community coverage, and a bright ring marks what was lit this week.

## For who

Seven readers, seven questions, and the page that answers each.

- **The AL developer on a deadline**: "Is this field still on Customer in BC30?" The object page has every field, with the versions it exists in and its obsolete state, straight from the code. [Table 18 Customer](https://waldo1001.github.io/waldo.BCObservatory/objects/table/18/), [Who subscribes to an event?](https://waldo1001.github.io/waldo.BCObservatory/neighbourhood/?mode=events).
- **The partner planning an upgrade**: "What breaks between BC28 and BC30?" What changed per version and per object, which elements are obsolete or due for cleanup, and what Microsoft merged this week. [Version lens](https://waldo1001.github.io/waldo.BCObservatory/code/versions/), [Deprecation radar](https://waldo1001.github.io/waldo.BCObservatory/code/deprecations/), [This week's code changes](https://waldo1001.github.io/waldo.BCObservatory/changes/week/).
- **The consultant with a Belgian customer**: "What does BE change in W1?" Each country page diffs the layer against W1, down to the field, and the galaxy draws it as a constellation. [Belgium](https://waldo1001.github.io/waldo.BCObservatory/localizations/be/), [Pick a country in the galaxy](https://waldo1001.github.io/waldo.BCObservatory/#lens=pick:localization).
- **The person whose agent lies to them**: "Table 18, what is field 7?" Two commands, then ask. The answer comes with the page, its tier and its evidence. Telemetry Buddy tells you what happened last night; the observatory tells you what the code says should happen. Same agent, both servers. [Install the MCP server](https://waldo1001.github.io/waldo.BCObservatory/mcp/), [The four plugin skills](https://waldo1001.github.io/waldo.BCObservatory/mcp/#plugin).
- **The blogger or channel owner**: "Where does my content touch Business Central?" Your source page has your footprint and a flight path through the galaxy. One pull request to sources.yaml gets you in. Derived only: your words stay on your blog. [Sources](https://waldo1001.github.io/waldo.BCObservatory/sources/), [Add your blog or channel](https://github.com/waldo1001/waldo.BCObservatory/blob/main/sources.yaml), [Content notice](https://github.com/waldo1001/waldo.BCObservatory/blob/main/CONTENT-NOTICE.md).
- **The reader who suspects Learn is out of date**: "Does Learn still document something that is gone?" The drift report lists obsolete objects Learn still documents and new objects nobody documented yet. [Learn drift](https://waldo1001.github.io/waldo.BCObservatory/drift/).
- **Me**: "Did that nightly actually land?" I use this every day from Claude Code. That is why the bugs get fixed, and why you should tell me about the ones I missed. [Report a problem](https://github.com/waldo1001/waldo.BCObservatory/issues).

## For your agent

Every page has a markdown twin (this file is one), every section an [llms.txt](https://waldo1001.github.io/waldo.BCObservatory/llms.txt), and the MCP server reads the same files: search, ls, cat, get_object, diff_object, localization, whats_new, blog_footprint, feedback. What to ask and how to install it, in Claude Code and other clients: [MCP](https://waldo1001.github.io/waldo.BCObservatory/mcp.md).

```
claude mcp add bc-observatory -- npx -y bc-observatory@latest
claude plugin marketplace add waldo1001/waldo.BCObservatory
```

## What is in it today

- [Topics](https://waldo1001.github.io/waldo.BCObservatory/topics/): 606. Seeded from the Microsoft Learn tables of contents. What Learn documents per topic, linked to Learn.
- [AL objects](https://waldo1001.github.io/waldo.BCObservatory/objects/): 25,646. Every W1 and first-party app object of BC28 to BC30, from the code: fields, events, procedures, versions, countries.
- [First-party apps](https://waldo1001.github.io/waldo.BCObservatory/apps/): 96. Microsoft's first-party apps with their objects, Learn hubs, videos and posts.
- [Localizations](https://waldo1001.github.io/waldo.BCObservatory/localizations/): 22. What each country layer adds to or changes in W1, down to the field.
- [Roadmap](https://waldo1001.github.io/waldo.BCObservatory/features/): 80. Business Central on the Microsoft 365 roadmap, with the videos and Learn pages that cover each feature.
- [Code changes](https://waldo1001.github.io/waldo.BCObservatory/changes/): 1,083. Merged pull requests of Microsoft's repositories, joined to the objects they changed.
- [AL extension releases](https://waldo1001.github.io/waldo.BCObservatory/releases/): 63. Microsoft's changelog of the AL Language extension, one page per version, with what was added to it later.
- [Videos](https://waldo1001.github.io/waldo.BCObservatory/videos/): 616. Sessions as timestamped evidence: chapters, key points, quotes that deep-link to the second.
- [Posts](https://waldo1001.github.io/waldo.BCObservatory/posts/): 601. Blog posts as derived summaries with short quotes and a link to the original.
- [Weekly digests](https://waldo1001.github.io/waldo.BCObservatory/digests/): 5. What changed each week, with a deprecation radar. Also as RSS.
- [Sources](https://waldo1001.github.io/waldo.BCObservatory/sources/): 33. Each blog and channel with its footprint and flight path through the galaxy.

## Housekeeping

Last nightly: 2026-10-14 (partial, 10 items new or changed).

Code MIT, generated content CC BY 4.0; third-party material keeps its own terms. Unofficial; not affiliated with Microsoft.

[Repository](https://github.com/waldo1001/waldo.BCObservatory) · [AGENTS.md](https://github.com/waldo1001/waldo.BCObservatory/blob/main/AGENTS.md) · [Plan](https://github.com/waldo1001/waldo.BCObservatory/blob/main/docs/PLAN.md) · [Runbook](https://github.com/waldo1001/waldo.BCObservatory/blob/main/docs/RUNBOOK.md) · [Content notice](https://github.com/waldo1001/waldo.BCObservatory/blob/main/CONTENT-NOTICE.md) · [sources.yaml](https://github.com/waldo1001/waldo.BCObservatory/blob/main/sources.yaml) · [llms.txt](https://waldo1001.github.io/waldo.BCObservatory/llms.txt) · [RSS](https://waldo1001.github.io/waldo.BCObservatory/rss.xml)
