Auditors: Running make vocabulary-drift-check Across 13 Providers¶
FCC's 13 VocabularyProviderPlugin instances expose sibling-project
dataclasses through a class_map. The drift sentinel compares each
live class_map against the packaged YAML it targets under
src/fcc/data/objectmodel/. These five prompts walk an auditor
through the check.
Personas Used¶
| Persona ID | Full Name | Role |
|---|---|---|
| aud | Compliance Auditor | Runs the check |
| dal | Data Analyst Lead | Interprets results |
| tr | Technical Reviewer | Patches drifts |
Prompt 1: Enumerate Providers¶
Personas: aud
Prompt¶
Produce a 13-row table of the shipped VocabularyProviderPlugins.
For each row: plugin name, namespace, target YAML file under
src/fcc/data/objectmodel/, expected class_map size, and sibling
repo (if any).
Order alphabetically by namespace.
Expected Output¶
- 13-row provider table
- Target YAML mapping
- Sibling column
Prompt 2: Run the Check¶
Personas: aud
Prompt¶
Run `make vocabulary-drift-check` from the FCC repo root.
Capture stdout. For each provider report:
- OK: class_map matches YAML
- DRIFT: classes present in one but not the other
- DEGRADED: sibling import raises; class_map is empty {}
Present as an ASCII table with per-provider verdict column.
Expected Output¶
- Captured stdout
- Per-provider verdict
- Count of OK / DRIFT / DEGRADED
Prompt 3: Triage a Drift¶
Personas: dal, tr
Prompt¶
Pick one DRIFT provider. Show the symmetric diff between its
live class_map keys and its YAML concept IDs. For each diff
entry decide:
- New in sibling, missing in YAML: propose a YAML entry.
- New in YAML, missing in sibling: warn maintainers of the
sibling to restore the class.
- Rename: propose an entry-point migration note.
Keep the triage under 10 lines per diff entry.
Expected Output¶
- Symmetric diff
- Per-entry triage
- Proposed YAML patches
Prompt 4: Degraded-Mode Behaviour¶
Personas: aud
Prompt¶
For the DEGRADED providers, document the expected degraded
behaviour: empty class_map, health() == "ok" (because empty is
still valid), downstream consumers see "no coverage for this
namespace." Confirm no crashes occur and no events are emitted
on the error bus.
Expected Output¶
- Degraded behaviour doc
- Health() confirmation
- No-emit assertion
Prompt 5: Publish Findings¶
Personas: aud
Prompt¶
Assemble a Markdown finding report for the next I&A workshop:
scope, method, per-provider verdicts, top-3 drifts by impact,
and a follow-up backlog item per drift. Flag anything that
crosses ecosystem boundaries for the federation council.
Expected Output¶
- Markdown report
- Top-3 impactful drifts
- Backlog entries
- Federation flags
See Also¶
src/fcc/data/objectmodel/docs/tutorials/sample-prompts/plugin-dev-vocabulary-provider-prompts.md- Notebook 38 — Knowledge engineer vocab