Why this note
Every Toolbox entry carries three labels: a category, a status, and an access & licensing label. After the first edition, an entry-by-entry audit asked a plain question of each one: is this label defined, consistent with the entry’s own annotation, and true? This note records how the revision went, what scripts and AI assistance did, what the audit found, and what the editor decided. It is meant as a worked example of metadata normalization, not as a claim that the result is final.
The earlier versions remain in the repository’s file history for comparison.
The workflow
- Build. Entries were added and annotated from cited sources, with AI assistance for drafting and for checking vendor and organization documentation. A claim that could not be confirmed was hedged or left out.
- Audit. A review compared every entry’s labels with its own annotation and with outside sources, and recommended an action for each entry in a spreadsheet.
- Decide. The editor, Anita S. Coleman, read the recommendations, wrote the label definitions, and chose what to adopt. The audit also suggested keeping maintenance records (last checked, sources, reasons); those were treated as brainstorming and kept off the public page.
- Implement. The changes were applied by a repeatable script rather than by hand, so that every edit could be rerun and checked.
- Validate. After each run, the page’s JSON-LD was parsed, the HTML tag counts were balanced, every label was checked against its defined vocabulary, and the entry counts were recomputed from the page rather than typed in.
- Export. The entries and their labels were written to a flat CSV with stable identifiers, then to JSON and Markdown, and a CITATION.cff file was added.
Before and after
| What | Earlier version | Revised |
|---|---|---|
| Entries | 97 cards, plus 5 listed organizations and lists | 109 entries, plus 12 listed communities and lists, with a stated counting rule |
| Status | Active 80, Emerging 8, Legacy 5, Historical 4; no definitions | Active 94, Emerging 5, Legacy 7, Historical 3; each status defined |
| Access | Open Source, Open Access, Commercial/Proprietary; a dash on five cards; one ad hoc label | Eight defined values, renamed “Access & licensing” |
| Category | More than forty free-form strings | Twelve primary types, with qualifiers from a short list (35 labels in all) |
| Grouped cards | One card sometimes covered unlike resources | Eleven groups split into separate entries |
| Version text | “Version 0.1” beside a “Version 1 scope note” | Version 1.0; CSV, JSON, Markdown, and CITATION.cff offered |
Decisions that were editorial
The audit made recommendations; these are the judgments that shaped the result.
- Free is not open. MarcEdit is free to use, but its developer states that it is not open source. It is labeled Freeware, and “Commercial/Proprietary” was retired because it combined a business model with a rights condition.
- What you can read is not what you can reuse. “Open Access” had been applied to standards, identifier services, organizations, and prototype documentation. “Free to access” is now the default. “Open data / content” is used only where the page records stated reuse permissions (Wikidata’s CC0 data, the RDA teaching slides under CC BY-SA, FAST).
- One label should describe one thing. Entries were split where a single badge could not describe every component: LRMoo and FRBRoo (a successor and its predecessor), Wikidata and Wikibase (data and software), and the installable Omeka software and the hosted Omeka.net.
- Old, replaced, and discontinued are different facts. AACR2 became Legacy because it still shapes existing records. Horizon was separated from its historical lineage because its vendor describes it as actively developed. Colon Classification became Historical: it is retained for teaching, with no sourced evidence of continuing use.
- Newness is not a status. Emerging now means development or adoption still unsettled, and the annotation says which. A new release or an AI feature does not qualify by itself, so RDA, the OCLC AI Enrichment macro, and Alma Specto are Active.
- Read the license, not the label on the license. Intentional Arrangement SKOS has a size-based license that its repository calls source-available and not open source, so it is not described as Apache 2.0.
- A concept is not a resource. The Knowledge Graph card became a see-also note, since a general idea has no status or access to assess.
What the audit caught in AI-assisted work
Several problems in the first edition came from AI-assisted drafting and were found only because an independent reviewer checked each entry:
- A single Active label covering both FRBRoo and its successor LRMoo.
- A dash standing in for an access label on some entries, and Emerging applied to AI features simply because they were new.
- Factual errors: the British Library cyberattack dated 2024 instead of October 2023, Horizon described as discontinued, WordNet described as still maintained, MarcEdit labeled open source, and EAD3 described as the current version.
- Unsupported superlatives (“dominant”) and unconfirmed specifics such as release numbers, which were softened or removed.
The lesson for students: an AI draft is a set of claims, not a source. Each label on this page is a claim about a resource, and each needs a check that does not rely on the draft itself.
Limits
The labels are dated editorial assessments, not permanent properties. Some sources could not be reached while the revision was made; the README’s open items list what remains to be confirmed. The audit’s recommendations were adopted where the page’s own text or a checkable source supported them.
Which format is for what
The same data is published in several forms because different readers and tools need different things. All of them are generated from the page, which stays the source.
| File | Best for |
|---|---|
| index.html | Reading, linking, and citing. It is the authoritative edition, and its built-in structured data (JSON-LD) helps search engines understand it. |
| toolbox.csv | Spreadsheets: sorting, filtering, counting, and student exercises. Import it as text, because spreadsheets can turn “MARC 21” into a date. The id column is the stable key for comparing versions. |
| toolbox.json | Scripts and programs. It keeps the structure that a flat table loses, such as the list of links per entry and the two label vocabularies. |
| toolbox.md | A plain-text copy for pasting into a syllabus, course site, or notes, for giving to an AI tool, and for reading changes line by line in version control. It does not depend on the site’s styling. |
| CITATION.cff | Citation metadata in a small text file that other tools read. GitHub, Zenodo, and Zotero use it to build a citation; Codeberg does not show a “Cite this repository” button from it. Each work keeps its own file in its own folder (Core Readings has one too), so it describes that work alone. GitHub’s button reads only a file at the repository root, so a folder-level file matters most when the work is deposited in an archive such as Zenodo. |
Metadata lessons
- Define each label before applying it, and state what it does not mean.
- Separate questions that look like one. Cost, reuse rights, and business model are different questions.
- Control the facets, free-text the annotation. The pills are controlled vocabularies; the annotation carries the nuance.
- Use stable identifiers. In the audit spreadsheet, “MARC 21” was turned into a date (“21-Mar”) by the spreadsheet program. The CSV therefore carries a stable
idcolumn and is quoted throughout. - State your counting rule. Some cards name several resources, so “entries” needs a definition.
See the versions
- The current Toolbox and its README, which holds the change log and open items.
- toolbox.csv, toolbox.json, and toolbox.md, the entries and labels as a flat file, structured data, and plain text.
- The repository’s Toolbox folder, where each file’s history shows the earlier versions.