Generated from cat-harness/processes/sdlc/jsonld-drift-check.bpmn by gen-processes-viz.ts — do not edit here. All processes

Are the .jsonld siblings still in sync with their .ts manifests?

Process_JsonLdDrift · strict · 1 step(s)

Check that the committed .jsonld siblings are still in sync with the .ts manifests they are generated from. A GENERATED FILE THAT IS COMMITTED CAN GO STALE, AND A STALE ONE IS CONSULTED. Five --check runs in one job: the JSON-LD context, the block siblings, the library nodes, the site graph, and the label-resolution tests. Each regenerates from the .ts manifest that owns it and fails on any difference.

They are drawn as ONE task rather than five, because they are independent of each other and sequential only because a single job runs them. Five boxes would assert an ordering the workflow does not have.

THIS DIAGRAM IS DELIBERATELY SMALL, AND SAYING SO IS PART OF IT. Bean 7yvd warns that “a diagram that is drawn once and then drifts is worse than none, because it is consulted”, so each of the six was read before being drawn and classified by whether it says anything the YAML does not. docs-site, ci-health, health-check and code-quality-gates do — a full-replace compensation pair, two three-state verdict gateways, five independent parallel jobs. THIS ONE DOES NOT: it is one job with no branch and no compensation path, and dressing it up as more would be decoration that still has to be maintained.

IT EARNS A DIAGRAM FOR A DIFFERENT REASON. Without one its job names no node (# bpmn-node: in the workflow), so check:workflow-coverage has nothing to compare and a job added here would tell nobody. That is drift detection rather than exposition, and it is worth the file on its own — but the two are not the same thing, and a reader who opens this expecting the second should be told which they are getting.

BPMN diagram: Are the .jsonld siblings still in sync with their .ts manifests?

How it connects

  • Called by: no call activity names this process
  • Calls: none
  • Presented on: no docs page section shows this diagram

Lanes — who acts

lanerolewhat it does here
CI/CD Pipelinebuild-pipelineThe only lane, running the one task this diagram draws deliberately as a single box rather than five: the five checks it performs are independent of each other and only sequential because one job runs them, so five boxes would assert an ordering that does not exist. Its declared job is also the reason this diagram exists at all — without it, check:workflow-coverage would have nothing here to compare a real job against.

Steps

Every one of the 1 step(s) is documented.

steplaneskill / sub-processwhat it does
Regenerate the context, block, library and site graphs — and diff
Task_Check
CI/CD Pipeline—Run the five –check generators in one job — the JSON-LD context, block siblings, library nodes, site graph, then the label-resolution and emitter tests. Any committed .jsonld that differs from what its generator now produces fails the PR, because a stale generated file is still consulted.

Decisions

Every one of the 1 decision(s) is documented.

decisionwhat decides itbranches
Did anything change?
GW_Drift
Answered by the diff Task_Check takes after regenerating the context, block, library and site graphs. No difference ends clean; any difference ends the job red, because a committed file is stale against its source.no — in sync → Every sibling in sync
yes — drifted → Job RED — the generated file is stale

folio-assistant — code under the Apache License 2.0, documentation under CC BY 3.0. Generated schema and API references are rebuilt from source on every push to main.

deployed b08c961 · 2026-10-23T23:11:09Z