Lesson 10 · Workbench and customer versions

Browsing code, comparing two versions file by file, pinning versions for customers, PLM and Cowork.

Goal of this lessonTo read any version of the software, compare two versions file by file and manage which customer runs which version.

The Workbench is a light development environment: an explorer on the left, editor tabs in the middle, a status bar below. The editor is VS Code's (Monaco): Notepad++ colours, blocks fold, brackets are coloured, and the function you are in stays visible as you scroll. Code is read-only; changes are made on GitHub.

Step by step

  1. Browse a version

    Git Studio › Workbench or the product's Browse Code button. Pick a tag, branch or baseline in the version picker and open a file from the explorer. Images, PDFs and binary files open in their own viewers.

    The Workbench: browsing a version12345
    1. Browse or Compare.
    2. Version picker: tag, branch, baseline or commit.
    3. Explorer: folder tree and search.
    4. Fold/unfold, find, wrap, copy, download, open in github.dev.
    5. Status bar: line, column, language, encoding.
  2. Compare two versions

    Switch to Compare and pick the From and To versions. The explorer shows the whole tree: changed (M), added (A), removed (D), renamed (R) and identical files. Clicking a file opens both versions side by side; unchanged parts fold and the arrows jump to the next difference.

    Two versions side by side12345
    1. From and To; ⇄ swaps them.
    2. Commits, files and lines in the range.
    3. Filters: changed, added, removed, identical.
    4. Side by side / inline, ignore whitespace, fold unchanged.
    5. Diff editor: added green, removed red.
  3. Pin a version for a customer

    Versions › Customer Configurations: customer, product, released baseline, serial numbers and site. Mark as Installed makes it active; a device runs one software at a time. When the product releases a newer baseline the record turns yellow and Propose Upgrade reports what would change.

    A customer software configuration12345
    1. Planned → Active → Superseded.
    2. A newer version is released.
    3. Propose Upgrade: the new version and the change report.
    4. The baseline this customer runs.
    5. A serial range for untracked devices.
  4. See who runs what

    The list groups by baseline; yellow rows are customers with an update available. A serial number's form shows that device's software. Customer-specific software is a customer variant baseline: it starts from the standard line and is pinned on its own.

    Customer configurations1234
    1. Customer.
    2. The software baseline running.
    3. Site.
    4. A customer with an update available.
Together with the PLM
With the PLM installed a software baseline shows the change order (ECO) that released it, the hardware baselines it is valid with and the compatible part revisions; the change order has a Software tab.
Cowork and AI clients
Cowork (and through MCP Claude, ChatGPT, Cursor) reaches the same facts: "what changed between v2.0.0 and v2.0.1", "show src/ec_main.c", "which software is on SN-0142", "what changes if ACME moves to SW 1.1". Creating and releasing baselines and pinning versions ask for your approval first; source code is never written.

Check yourself

What does 'R' mean in the explorer?
The file was renamed: a different path in each version, shown as one entry.
Can a device have two active configurations?
No: a device runs one software at a time; an upgrade marks the old one Superseded.
How is customer-specific software managed?
With a customer variant baseline: it starts from the standard line and is pinned and upgraded on its own.