# Communication Design Reference System — Integrated Site

Eight interlinked reference volumes unified under one navigation shell,
plus a search page. Open `index.html` in a browser, or serve the folder
locally:

    python3 -m http.server 8000
    # then visit http://localhost:8000

Search needs to be served over http. Opened directly from the file
system it will report that the index could not load, because browsers
block `fetch` of local files. The volumes themselves are unaffected.

---

## ⚠ BUILD STEP — run this after ANY content change

`data/search-index.json` is the only **derived** file in this bundle.
Everything else is authored directly. Regenerate it whenever prose,
headings, glossary `DATA`, bibliography entries, or crossover data
change:

    python3 build-search-index.py /path/to/site

`build-search-index.py` is build tooling and is deliberately **not** in
this bundle — keep it wherever `build.py` lives. Python 3, no
dependencies.

**Why this matters:** a stale index does not error. It silently returns
results describing an older version of the site, which is the hardest
kind of fault to notice. Treat this as the last step of every build.

The script refuses to write if it cannot find the volumes, and prints the
correct path instead, so it will not overwrite a good index with an empty
one.

---

## Structure — reading order

| Order | File | Document | Was |
|---|---|---|---|
| — | index.html | Overview hub — system map, volume index, methodology, source corpus | new |
| 1 | glossary.html | Unified Faceted Glossary, 16th ed. (1,804 terms, 4 clickable facets) | communication-design-unified-glossary-3rd-ed.html |
| 2 | map-intersections.html | Domain Intersection Map (8 domains, 28 intersections) | Communication_Design_Domain_Intersections.html |
| 3 | atlas-field.html | Combined Field Atlas (AIGA DEC + DRS FoE) | combined_atlas_expanded_with_glossary.html |
| 4 | map-crossovers.html | Interdisciplinary Crossover Map (8 domains × 27 fields) | comms-design-interdisciplinary_1.html |
| 5 | theories.html | Theories — combined edition (6 clusters, 32 frameworks) | comm_design_theories.html + theory_foundations_chapter.html |
| 6 | atlas-research.html | Research Processes Across Disciplines (5 traditions) | research-processes.html |
| 7 | atlas-pedagogy.html | Design Pedagogy, Process & Practice Atlas v1.3 | design-pedagogy-atlas.html |
| 8 | bibliography.html | Bibliography — 267 references, tiered by provenance | new |
| — | search.html | Site-wide search across all volumes | new |
| — | data/data.json | Pedagogy atlas dataset, v1.3 | data.json |
| — | data/search-index.json | Search index — **generated**, see build step above | new |
| — | sitemap.xml | Search-engine sitemap (sitemaps.org protocol), base URL https://taxonomy.dan-wong.com/ — update `lastmod` when pages change | new |

The two theory documents have been merged into a single theories.html: the
citation-forward reference map is the base (it is the superset — all 31
frameworks plus the interconnections and consolidated-sources sections), and the
atlas-tiered edition's unique apparatus was ported in per entry: 13 "Verified"
badges and their verification notes (publication facts confirmed against live
sources, 9 July 2026), plus the tier framing (whole canon = added domain
knowledge relative to the workshop corpus; connection boxes = editorial
synthesis). No sourced content from either document was dropped; where the two
texts overlapped, the fuller reference-map wording won and the chapter's
provenance detail was appended — consistent with the project's merge rule
(consolidated wins, supplement provenance appended). Site-level chapter numbers
are intentionally
not assigned: the Field Atlas and Pedagogy Atlas carry their own internal chapter
schemes, and a second numbering layered on top would conflict with them. The
former "Chapter VI" designation on the theory chapter (which referenced the
Field Atlas's internal sequence) has been retired in its titles, with its origin
noted in the page eyebrow.

## Integration notes

- A shared navigation band (scoped `cdrs-*` classes, its own <style> block) is injected
  at the top of each document's <body>. Document-internal CSS/JS is otherwise untouched:
  every page remains fully self-contained and functional if separated from the site.
- No content, sourcing, or provenance marking inside the documents was altered,
  with these deliberate exceptions: (a) the two theory documents were merged
  into one combined edition as described above, and (b) the Intersection Map tooltip was re-anchored from the viewport
  (position:fixed + clientX/Y) to the document (position:absolute + pageX/pageY)
  so it scrolls with the page.
- The hub page's descriptions, statistics, and source index are drawn from each
  document's own methodology/sourcing notes; the system diagram is an editorial
  synthesis of the build lineage those notes describe.

## Known open items (carried over honestly from the documents)

Both items originally listed here are now resolved: the ATLP/ATLI
participant-provenance tiers were retired 16 Jul 2026 (Pedagogy Atlas
held no entries in either tier — see "retired ATLP/ATLI tiers" below),
and the theory documents' foundational citations were verified against
live sources 9–17 Jul 2026 (see "theories.html: remaining 18 citations
verified" below; all 32 entries now carry a `Verified` badge). No open
items remain as of 17 Jul 2026.

## Change log — Intersection Map provenance tagging, SRC/CAN/GEN pass (21 Jul 2026)

Applied the site's three-tier provenance system to map-intersections.html,
which previously presented its eight-domain taxonomy and all intersection
claims without tier marking — an implied authority the strip-down guarantee
does not support. Tiers assigned after live source verification (AIGA,
Frascara, Drucker & McVarish) on 21 Jul 2026.

**Verification finding (the reason for the split):** the eight-domain
partition is not reproduced by any authority checked; the sources disagree on
the *principle* of division, not just labels. AIGA's "Types of Design
Practice" (aiga.org, fetched 21 Jul 2026) is a flat list of 24 practice types
with no parent domains. Frascara, *Communication Design* (2004), divides the
field into eight sections in which "areas of professional practice" is only
one, alongside knowledge-base, methods & planning, and culture & society.
Drucker & McVarish structure the history chronologically, not as domains.

**Tier assignments (map-intersections.html):**
- **SRC (5 domains)** — Identity & Branding, Print & Editorial, Digital &
  Interactive, Environmental & Spatial, Advertising & Persuasion: each
  corresponds to a named AIGA practice area (Digital consolidates AIGA's UX,
  IX, UI, Web, Software & Multimedia types). Per-node citation added to the
  panel, venue + verification date.
- **GEN (3 domains)** — Visual Communication, Design Process & Strategy,
  Theory/History/Criticism: elevated to co-equal domains as the framework's
  editorial choice. AIGA excludes these from practice types; Frascara ranks
  them as knowledge-base, not practice. Recorded as a **named conflict** in
  each node's panel (preserved, not resolved), consistent with the project's
  source-conflict rule.
- **CAN** — the framing that the field partitions into overlapping
  interdisciplinary domains at all: Frascara (2004), already thesis-cited.
- **GEN** — all 28 intersection tiers (core/applied/adjacent) and their
  descriptions: no authority rates inter-domain relationships; editorial
  judgment, labeled as such in the panel and banner.

**Markup changes:** added a provenance banner after the H1 (house caption
register); added `.vs-src` / `.vs-can` tier badge classes bound to theme
tokens (SRC→cobalt, CAN→green, GEN→gold, matching data.json meta.tiers
colors and their dark-mode variants); added `tier` + `src`/`conflict` fields
to the eight domain objects and rendered a tier badge + citation/conflict
block in each panel; added a per-domain tier key to the overview panel.
Reworded the second method-note (previously "the eight-domain taxonomy
established earlier," which had no source referent). Commented out the unused
`.vs-atlp`/`.vs-atli` tier CSS (retired project-wide 16 Jul 2026; kept for
audit).

**No substantive claim changed.** All 28 intersection descriptions are
byte-for-byte unchanged; the taxonomy's structure and the eight domains are
unchanged — only their provenance is now marked.

**Verified:** edge-tier counts identical pre/post (12 core / 14 applied / 2
adjacent); domain tiers 5 SRC / 3 GEN; CSS brace balance clean in both style
blocks; main script passes `node --check`; no leftover "established earlier"
phrasing. **Open for a later pass:** SRC domains could be cross-linked into
the glossary's Domain facet (deferred — provenance-only this pass, per
direction).

## Named correction — glossary 5th edition (13 July 2026)

A plagiarism review of the Unified Faceted Glossary found the ADV 1100 (departmental vocabulary)
additions carry uncredited textbook lineage: the course vocabulary (faithfully
transcribed) itself reproduces the Ocvirk et al. *Art Fundamentals* glossary
(Content, Concept — identical wording also circulates on other CityTech COMD
1100 course sites, i.e. a shared departmental vocabulary) and Mary Stewart's
*Launching the Imagination* saturation terminology (Chromatic Gray and family).
Remediation applied in glossary.html: 4 confirmed entries paraphrased into
original wording with lineage appended to their source lines and a new
provenance value "Textbook lineage (confirmed)"; the remaining 54 the ADV 1100 instructor
entries flagged "Textbook lineage (under verification)" with a family
hypothesis, pending per-entry verification. Course-level attribution retained
throughout. Full findings: audits/glossary-plagiarism-audit.md. The other
reviewed collections (Vocab Lists A/B supplied definitions; Communication
Design Glossary) were clear on sampling.

## Remediation log — glossary 5th edition (13 Jul 2026)

A plagiarism review of the ADV 1100 departmental-vocabulary additions (audit report:
`audits/glossary-plagiarism-audit.md`) found that the course vocabulary
reproduces published textbook glossaries not previously in the provenance
chain (Ocvirk et al., *Art Fundamentals*; Mary Stewart, *Launching the
Imagination*). Remediation applied in `glossary.html`:

- 4 confirmed entries (Content, Concept, Chromatic Gray, Balance) paraphrased
  into original wording; textbook lineage appended to their source lines;
  provenance facet value `Textbook lineage (confirmed)` added.
- 54 remaining ADV 1100 entries flagged in both the source line ("possible
  textbook lineage (<family>) — under verification") and the filterable
  Provenance facet (`Textbook lineage (under verification)`). Family
  hypotheses: Stewart saturation family (21), Ocvirk/departmental family (23),
  unassigned (10).
- Named correction recorded in the glossary's method note (5th edition entry);
  course-level attribution retained throughout — the chain was extended to its
  ultimate sources, not replaced.
- Edition labels updated to 5th ed. (939 terms: 930 3rd-ed + 9 CFS); hub page
  synchronized (card, hero count, system map, sources index).

## Change log — Research Processes 4th edition (14 Jul 2026)

Added **Artistic Research (Fine Art)** as tradition II of the Research
Processes atlas (`atlas-research.html`), between Design Research and Social
Science. The section carries the atlas's full anatomy: epistemic profile,
five-stage process arc with characteristic moves and failure modes, methods
rail, key sources (V/C keyed), three live-debates entries, and a worked
communication-design exemplar. A boundary note draws the Design Research /
Artistic Research distinction explicitly (outcome-accountable vs.
work-accountable; patterns vs. exemplarity).

Consequential edits elsewhere in the document, all logged deliberately:
- Sections renumbered (Social Science III, Humanities IV, Empirical V).
- Comparison matrix gains an Artistic column (all eight rows).
- Legend gains an Artistic Research chip; new --art color token with its own
  light/dark values (respects the shared theme system).
- Masthead: edition bumped to 4th; scope now 5 disciplines; standfirst updated.
- Decolonial panel: "four traditions" → "five"; the five-culture partition
  debate updated to include artistic research; one added sentence extends the
  critique to the gallery/academy apparatus (editorial, consistent with the
  panel's cited argument); fragile ordinal phrasing ("fifth column"/"sixth
  discipline") reworded.
- Bibliography: 11 new refs (38–48) — 8 VERIFIED against live sources on
  14 Jul 2026 (Borgdorff 2006 & 2012, Sullivan 2005, Barrett & Bolt 2007,
  Nelson 2013, Haseman 2006, Candy 2006, JAR/Research Catalogue) and 3
  CANONICAL (Smith & Dean 2009, Elkins 2009, Polanyi 1966).
- Masthead sourcing count corrected to actual bibliography totals
  (26 verified · 22 canonical); the prior "15 verified" understated the
  pre-existing bibliography, which already contained 18 verified entries.
- Hub (`index.html`) synced: research card traditions list, stats, sources
  line, and a new artistic-research literature entry in the source corpus
  index.

## Change log — Research Processes 4th ed., glossary-alignment pass (14 Jul 2026)

Cross-checked the glossary's Research Methods & Epistemologies category (48
terms) against the atlas. Nine insertions, each at the term's natural home:

- Critical making → Design Research methods rail (Ratto 2011, VERIFIED w/ DOI)
- Arts-based research → Artistic Research methods rail, with the ABR /
  artistic-research distinction stated (Leavy, VERIFIED)
- Autoethnography and Narrative inquiry → Social Science methods rail
  (Ellis/Adams/Bochner; Clandinin & Connelly — CANONICAL)
- Human-subjects review (IRB) → procedural-note flag in the Social Science
  section (uncited procedural description; first ethics-review content in the
  atlas)
- Design fiction → named inside the Critical & Speculative Design crossing
  (Bleecker 2009 VERIFIED; Sterling's coinage noted)
- Design anthropology → named inside the RtD + Grounded Fieldwork crossing
  (Gunn/Otto/Smith — CANONICAL)
- Historiography → clause on the Humanities "Design history & archival
  method" line
- Digital humanities → clause in the Information Design & Visual Analytics
  crossing
- Epistemic justice → one clause in the decolonial panel, tied to the
  existing Smith argument

Bibliography grows to 54 (refs 49–54; 3 VERIFIED live 14 Jul 2026, 3
CANONICAL). Masthead sourcing count updated (29 verified · 25 canonical).
Also fixed in this pass: eight unclosed </sup> tags introduced in the
Artistic Research methods rail during the previous build.

Deferred, flagged for a separate glossary pass: "Visual Analysis" and
"Visual / Formal Analysis" are near-duplicate glossary entries — a
flag-and-merge candidate under the established merge rule.

## Change log — glossary merge correction + American English pass (14 Jul 2026)

**Merge correction.** "Visual Analysis" (DI Supplement — Part I) merged into
"Visual / Formal Analysis" per the standing merge rule: consolidated definition
retained; the supplement's forensic-visual-investigation sentence and its DI
tag string appended; provenance unioned (Field Atlas — participant · Design
Incubation tags · General knowledge); merge noted in the entry's source line.
Term count 939 → 938. Hub counts and glossary card synced.

**Method note restored.** The latest glossary build shipped with an empty
methodnote container, which had silently dropped the in-document edition
history and named corrections (they existed only in this README). The note has
been reconstructed from the documented record as a collapsible block: 3rd/4th
edition history, the 5th-edition textbook-lineage named correction, the new
merge correction, and the strip-down guarantee.

**American English conversion.** Site-wide sweep (all pages, README,
data.json): 130+ conversions (colour→color, -ise→-ize families, judgement→
judgment, centred→centered, defence→defense, programme→program, theatre→
theater, catalogue→catalog, etc.). Deliberately preserved as-is:
- Verbatim titles: Goethe, *Theory of Colours*; Bourdieu, *…Judgement of
  Taste* (translation title, in theories.html and map-crossovers sources);
  ISO 9241-210 *…Human-centred design for interactive systems*.
- Proper nouns: Research Catalogue (SAR platform).
- Source-data strings: Design Incubation tag strings in the glossary's tags
  fields (verbatim source data, e.g. "…; cataloguing").
- data.json and atlas-pedagogy.html converted in parallel to keep the data
  spine and its rendered document in sync.

## Change log — site-wide consistency audit, sync repairs, and cross-linking (15 Jul 2026)

**Method.** Ground-truth counts were computed from each document's actual
content and data, then compared against every stated number site-wide.

**Drift found and repaired:**
- Pedagogy Atlas HTML had drifted from its data spine: data.json v1.2 carries
  63 glossary terms (the ten decolonial-cluster additions: Autonomous design,
  Coloniality, Coloniality of design, Decolonization is not a metaphor,
  Decolonizing design, Decolonizing methodologies, Ethic of incommensurability,
  Ontological design, Pluriverse, Settler moves to innocence) but the rendered
  pane had 53. The ten entries were regenerated from data.json using the
  existing markup pattern, inserted in alphabetical order; tab label updated.
- Theories: 32 frameworks and 14 Verified entries (Decolonizing Methodologies
  and Critical & Thematic Survey Methods had been added); masthead and
  sourcing note corrected from thirty-one/thirteen.
- Crossover map: 27 fields (Sound Design & Music, Mathematics & Geometry,
  Environmental Science & Ecology had been added); masthead corrected from 24.
- Theories' pointer to the research atlas updated from "four research
  traditions" to five.
- Hub synchronized across hero facts, cards, stats, system-map nodes, sources
  index, and footer (32 frameworks, 14 verified, 27 fields, 63-term pedagogy
  glossary, data.json v1.2 / 2026-07-12).

**Verified consistent (no change needed):** glossary 938 = hub; intersections
596 terms · 18 categories = hub; research atlas 5 traditions · 54 refs ·
29 verified · 25 canonical = masthead; the Visual Analysis merge is already
consistent in the Field Atlas and Intersections copies (each carries only the
merged "Visual / Formal Analysis"); no ADV 1100-sourced entries exist in the
Intersections taxonomy, so no lineage-flag propagation was required.

**Cross-document hyperlinks added** (all anchors verified to resolve):
- Theories decolonial provenance note → atlas-research.html#decolonial
- Theories Cluster 5 (Fine Arts) intro → atlas-research.html#art
- Research atlas Artistic Research boundary note → theories.html#c5
- Research atlas decolonial panel (Smith, *Decolonizing Methodologies*) →
  theories.html#c6
- Crossover map, Fine Art & Studio Practice detail panel →
  atlas-research.html#art and theories.html#c5
- Glossary gained ?q= deep-link support (URL parameter pre-fills search);
  first use: research atlas Artistic Research lede → glossary.html?q=practice-based

## Change log — Crossovers radial chart layout (15 Jul 2026)

Radial chart view reworked in map-crossovers.html:
- Legend moved to the far right (flex layout, right-aligned 300px column,
  sticky while scrolling on desktop; stacks below the chart at ≤720px).
- Chart now scales to fill the browser window: the canvas is sized to the
  available width (minus legend) and viewport height (clamped 480–1600px),
  rendered at devicePixelRatio for crispness. The drawing keeps its logical
  900×900 coordinate system via a context scale transform, so all geometry
  and type scale proportionally rather than gaining empty margin.
- Redraws on window resize (debounced) and on view switch; the theme-flip
  redraw path re-sizes when the radial view is active.

## Change log — glossary 6th edition: anonymization & original-wording pass (15 Jul 2026)

Two coordinated corrections, both recorded in the glossary's in-document
method note:

1. **Label anonymized.** "ADV 1100 departmental vocabulary, CityTech COMD"
   replaces the instructor-named label across the glossary data, method note,
   hub (card, sources index, system map), README, and audit prose. The
   departmental label is also the more accurate one — the plagiarism review
   found the identical definitions on other CityTech COMD 1100 course pages.
   Per-entry traceability is preserved (Vocabulary List A anonymization
   precedent). The audit retains one source URL for evidentiary
   traceability, with a header note advising exclusion of audits/ from
   public deployment if needed.

2. **All 54 flagged definitions rewritten in original wording**, closing the
   verification queue. Attribution now follows the Vocabulary List A/B
   pattern: term credited to the course list; definition marked "supplied
   (general knowledge, original wording, 15 Jul 2026)". The "Textbook
   lineage (under verification)" provenance facet is retired. Distinctive
   published terminology keeps its credit (prismatic / muted color: "after
   Stewart's saturation framework"). The four 5th-edition confirmed-and-
   paraphrased entries retain their explicit lineage notes under the
   anonymized label, preserving the named-correction record. Rewrites were
   checked against the audit's matched phrases — zero residue.

Edition labels bumped to 6th; term count unchanged at 938.

## Change log — glossary 7th edition: Concept Taxonomy integration (16 Jul 2026)

Executed the concept-taxonomy navigation model (proposed 15 Jul 2026) across
the live glossary, per the two source files `tag_concept.xml` /
`tag_concept_relationship.xml` (638 concepts, 834 relationships: 649 child,
154 involves, 31 related, 0 synonym).

**Gap analysis.** Of 638 taxonomy concepts, 70 matched an existing glossary
term (by normalized/singularized string match) and 568 did not. Of those 568,
only 38 carried a usable description in `tag_concept`; the remaining 530
needed original writing.

**568 new glossary entries added**, each with an original one-to-two-sentence
definition (none copied from tag_concept's sparse description field, which was
checked for duplication against the audit's plagiarism-detection method before
writing — zero residue). Each entry is sourced "Concept Taxonomy (tag_concept)
— term; definition supplied (general knowledge, original wording, 16 Jul
2026)" and carries a `cid` field linking it to its taxonomy node.

**Domain and Kind facet assignment** was resolved programmatically: a
level-order breadth-first search up each concept's (multi-parent) ancestor
chain locates the nearest branch-specific anchor before falling back to the
six upper-ontology roots, so specific branches (print production, illustration
roles, research methodology, etc.) resolve to their natural domain rather than
a generic catch-all. Two Kind facet values were added — Place and Event —
since the taxonomy's Locations and Events upper classes had no existing
analogue in the eight prior Kind values. Domain distribution: heaviest in
Print Production & Materials (114) and Layout, Composition & Editorial (57);
86 entries legitimately resolve to Theory & Criticism as upper-ontology or
abstract concepts (Time, Mass, Quantities, Philosophy, Psychology branches,
etc.), not as an unresolved fallback.

**70 existing entries linked** to their taxonomy node via the same `cid`
field, gaining the Concept Map lens without any change to their existing
definition or provenance.

**New seventh facet: Concept Class**, filterable in the sidebar like any other
facet, values are the six taxonomy upper-ontology roots (Physical Things,
Concepts, Activities, Events, Locations, Eras) plus Unclassified for the 868
terms with no taxonomy link.

**Concept Map lens**, opened via a ◈ button on every taxonomy-linked entry:
- **Multi-path breadcrumb trails** — every root-ward path is computed and
  shown (first two, "+N more" beyond that), since the taxonomy is a
  polyhierarchy (77 concepts have multiple parents) and a single breadcrumb
  would misrepresent it.
- **Narrower / Involves / Involved-by / Related** relationship chips, clickable
  to re-open the lens on that concept.
- **Word-family row** — same-stem concepts shown together (e.g. Design /
  Designer / Designing), the mechanism that resolves noun/verb/field polysemy:
  each sense is a distinct concept with its own Concept Class, not a single
  overloaded glossary entry.
- Chips for concepts without their own glossary entry still open the lens
  (taxonomy relationships), with a note that no definition is linked yet.

Verified: 1,506 total terms (938 + 568), zero duplicate term strings, all 638
taxonomy concepts linked (568 new + 70 existing), JS syntax and functional
data-load checked in Node, tag balance clean. Hub synced (card, hero count,
system-map node, sources index).

**Known limitation, disclosed rather than hidden:** 13 taxonomy subtrees
(Typefaces, Layout, Design Processes, Clients, etc.) and 4 orphan concepts
(Prototype, Typography, Television Commercials, Vision) do not connect
upward to the six facet roots in the source data itself — the lens shows
their trails honestly as rooted at the stranded node rather than a facet.


## Change log — glossary 7th edition, final architecture: unified Kind facet (16 Jul 2026)

**Supersedes the "Concept Class" design described in the entry above.** That
design (a separate 7th facet mirroring the taxonomy's six upper-ontology roots,
alongside an unchanged 8-value Kind facet) was reworked before shipping,
following a structural review. The final architecture, confirmed in dialogue
before execution:

**Kind is now the single, unified classification (11 values: Concept,
Framework, Discipline, Method, Role, Tool, Format, Metric, Place, Event,
Eras)** — replacing the old 8-value Kind facet and the separate Concept Class
facet entirely. Every value is derived from a term's actual position in the
`tag_concept` taxonomy, not assigned independently.

**Taxonomy root renaming.** The six upper-ontology roots were renamed to match
the glossary's own Kind vocabulary: Physical Things → Tools, Activities →
Method, Events → Event, Locations → Place; Concepts and Eras unchanged. People
(under Tools) was split out to the existing Role value rather than being
labeled Tools, per explicit confirmation — a person is not a tool.

**Full unification.** All 1,506 glossary terms are now linked to a taxonomy
concept (previously 638). The 868 terms without a prior taxonomy link were
placed into 124 newly-designed category nodes across the taxonomy's existing
domain branches (reusing the domain-by-domain modeling work from the interim
session), each leaf term becoming a `child` relationship to its category.
Five genuine synonyms (e.g. "User Interface (UI) Design" / "User Experience
(UX) Design") were linked directly to their existing concept rather than
spawned as duplicate nodes.

**Taxonomy completeness: zero stranded concepts, zero cycles.** The source
`tag_concept_relationship.xml` had 64 concepts with no parent at all (roughly
10% of the original 638) — a pre-existing gap in the source data, not
something introduced by this build. Each was bridged to its most defensible
existing parent (e.g. Cartoonists → People, HTML/JavaScript/PHP → Coding,
Hypotheses/Correlation/Causation → Concepts). Combined with the taxonomy
extension's own category attachments, the full graph — 1,627 concepts, 1,891
relationships — now has no concept without a path to a facet root, and no
cycles (checked exhaustively).

**Kind reconciliation.** Every term's Kind was recomputed from its taxonomy
position: a direct override for 15 named design disciplines (Graphic Design,
Web Design, etc. → Discipline), a cascading override for the People (→ Role),
Publications/Products (→ Format), and Theory (→ Framework) subtrees, an
explicit Kind assigned to each of the 124 new category nodes based on its
actual semantic content (not a blanket facet-root default), and a facet-root
default otherwise. 541 of 1,506 terms changed Kind under this reconciliation.
A validation pass caught 28 individual terms where the category-level
assignment was visibly wrong for that specific term (mostly named software
products — Capture One, DaVinci Resolve, Final Cut Pro, Adobe Lightroom/
Premiere Pro — sitting in a category labeled Method because most of that
category's other terms were processes, not tools); these 28 received direct
term-level corrections.

**Concept Map lens** (breadcrumb navigation at the definition level), carried
over from the interim build: a ◈ button on every entry opens multi-path
breadcrumb trails (every root-to-term path shown, "+N more" beyond the first
two, since the taxonomy is a genuine polyhierarchy — 77+ concepts have
multiple parents), Narrower/Involves/Involved-by/Related relationship chips,
and a same-stem word-family row that is the mechanism for resolving noun/verb
polysemy (Design the field / Designing the activity / Designers the role —
three distinct concepts, three distinct Kind values, one shared word).

**Verified:** 1,506 total terms, 1,627 taxonomy concepts, all 1,506 linked
(full unification), zero duplicate term strings, zero stranded concepts, zero
cycles, JS syntax and functional data-load checked in Node, tag balance clean.
Hub synced (card description, sources index, relationship counts).


## Correction — glossary term-collision fix (16 Jul 2026, same session)

Renaming the four taxonomy roots created two direct term collisions: the
renamed root "Tools" (formerly Physical Things, id 1) collided with a
pre-existing, more specific concept already named "Tools" (id 171, hand
implements); "Method" (formerly Activities, id 3) collided similarly with
concept 581. Both pairs would have violated `tag_concept.term`'s UNIQUE
constraint in a real database.

Root cause: the four root concepts had themselves been given glossary entries
in the interim session's gap-fill pass (definitions like "the upper-ontology
class for..."), which are taxonomy scaffolding, not substantive design
terminology. Fix: removed these four glossary entries (Physical Things,
Activities, Events, Locations — cid 1/3/4/5) from the glossary's DATA array.
The taxonomy structure itself is unaffected — all four concepts remain fully
intact in CMETA with their renamed terms, still functioning as facet roots for
breadcrumb trails and Kind derivation. "Concepts" (id 2) and "Eras" (id 6) had
no collision and were left as glossary entries.

Final count: 1,502 terms (down from 1,506), all still fully linked to the
taxonomy (zero unlinked), zero duplicate term strings, zero stranded
concepts, zero cycles. Hub and glossary method note corrected to match.


## Change log — glossary 8th edition + Concept Map definitions + dark-mode fix (16 Jul 2026)

**128 new glossary entries** for every taxonomy node that previously existed
only as DAG structure: 124 category nodes (e.g. "Composition Principles,"
"Type Measurement & Spacing," "Digital & Performance Metrics") created during
the 7th-edition unification, plus the 4 renamed upper-ontology roots (Tools,
Method, Event, Place). The four roots are labeled "(Taxonomy Class)" in the
glossary — e.g. "Tools (Taxonomy Class)" — to avoid colliding with
pre-existing, more specific concepts also named Tools (id 171) and Method (id
581). Domain for each category entry was assigned by majority vote of its own
children's existing domains, rather than arbitrarily. Every one of the 1,627
taxonomy concepts now has exactly one glossary definition; total 1,630 terms,
zero duplicates, zero collisions.

**Concept Map lens now displays definitions.** The focused term's own
definition appears directly under its name (previously the lens showed only
trails and relationship chips, no defining text). Every relationship chip —
Narrower, Involves, Involved-by, Related, and word-family — now carries its
linked concept's definition as a native hover tooltip, truncated to ~140
characters.

**Dark-mode contrast bug fixed in the Crossover map.** The domain-card detail
panel's "What remains discrete" section had a hardcoded light background
(`#f2f0e8`) inside an inline style, which didn't respond to the site's dark
theme — combined with the theme's light text color in dark mode, the section
became unreadable (light text on light background). Fixed by replacing the
hardcoded hex values with the same theme-aware CSS custom properties
(`var(--paper-2)`, `var(--rule)`) already used everywhere else on the page;
these correctly resolve to dark-mode-appropriate values via the shared
theme.css. Checked the rest of the file for the same pattern — the only other
hardcoded hex colors present are the intentional, always-dark nav band,
consistent across every page on the site.

Verified: 1,630 terms, all 1,627 concepts covered, zero duplicate term
strings, JS syntax and functional data-load checked in Node, tag balance
clean across both modified files.


## Change log — dark-mode contrast fix, Field Atlas Sources & References (16 Jul 2026)

The "Sources & References" index badge marking dual-sourced entries
("AIGA · DRS") and all "added" entries used `.ed-badge.both`, which had a
hardcoded `background:#eee` paired with `color:var(--ink)` — in dark mode
`--ink` resolves to a light color (`#e8e6e0`) while the background stayed a
light gray, producing unreadable light-on-light text. The single-source
badges (`.ed-badge.a` for AIGA, `.ed-badge.d` for DRS) were already
theme-aware via `--a-tint`/`--a-deep` and `--d-tint`/`--d-deep`, which resolve
through the shared gold/green tokens and correctly invert for dark mode —
verified by checking the actual computed dark-mode hex values.

Fixed by replacing the hardcoded `#eee` with `var(--paper-2)`, which pairs
correctly with `--ink` in both themes (light: dark text on light paper; dark:
light text on dark paper). Scanned the rest of the file for the same
hardcoded-hex-background pattern — the only remaining hardcoded colors are
the nav band, which (as in the Crossover map) is deliberately dark on every
page regardless of theme.

Verified: tag balance clean, no other theme-unaware background/text pairings
found in the file.


## Change log — glossary 9th edition: cross-document consolidation (16 Jul 2026)

Following a site-wide review of every glossary-bearing document (prompted by
the question "should we reconsider all documents with glossaries now that we
have a taxonomic glossary?"), three genuinely different situations were found
and treated differently rather than uniformly merged:

**Field Atlas (atlas-field.html) — 92.6% duplicate, 44 genuine gaps.**
552 of its 596 embedded-glossary terms matched the main glossary by
normalized string, and 549 of those had byte-identical definitions (both
draw from the same Consolidated Glossary sources). Of the remaining 3, two
were internal cross-reference stubs and one — "Form" — was genuine polysemy
(print-production "a group of pages on one sheet" vs. the main glossary's
design-theory "Form (Composition)"), not a conflict.
- Added 43 new main-glossary entries: 42 genuine Field-Atlas-only terms
  (Gripper Margin, Jump Head, Page Grind-off, and similar print/editorial
  terms previously missing from the comprehensive glossary) plus a
  disambiguated "Form (Print Production)" entry, each placed as a new leaf
  concept under its appropriate existing taxonomy category and carrying its
  real Field Atlas source (Brodeur ADV 1160/1200, Glossary for Designers,
  etc. — not attributed to the concept taxonomy).
- Excluded 2 internal cross-reference stubs ("Die-cut", "Blow-in Cards /
  BRE / BRC") that only pointed to other entries within the same atlas.
- Added a "↗ view in Unified Glossary" link to all 596 Field Atlas
  glossary entries, deep-linking via the glossary's `?q=` parameter (the
  "Form" entry links specifically to "Form (Print Production)" to land on
  the correct sense).
- The atlas's own glossary and its participant/inferred/added provenance
  tiers were left otherwise untouched — they document the workshop corpus
  methodology specifically, a different evidentiary claim than the main
  glossary's general terminology coverage.

**Pedagogy Atlas (atlas-pedagogy.html) — not redundant, added bidirectional
links.** Only 19 of 63 terms overlap with the main glossary, and 18 of those
19 have genuinely different, independently citation-backed definitions
(SRC/CAN tiers: live-verified or canonical scholarly attribution) — better
sourced, for these specific terms, than the main glossary's generic
taxonomy-derived text. No content was merged or replaced. Added a
"↗ See also in Unified Glossary" link on all 19 Pedagogy Atlas entries,
and a matching "↗ See also the Pedagogy Atlas's citation-backed
definition" link on the corresponding 19 main-glossary entries (rendered via
a new `paTerm` field in `entryHtml`, not embedded in the definition text,
since the glossary's `hl()` search-highlighter HTML-escapes definition
content and would not have rendered an inline link).

**Intersections (map-intersections.html) — near-total duplicate, retired.**
The "Domain Vocabularies" section was 595/596 word-for-word identical to the
Field Atlas's own glossary — not independent content, the same Consolidated
Glossary data rendered a second time. Replaced the full 596-term listing
(284,782 characters) with 18 compact category cards (12,635 characters) —
each showing its term count, five sample-term chips, and a "Browse all N in
the Unified Glossary →" link. Links use a new `?dom=` URL parameter added
to the glossary (alongside the existing `?q=`), pre-filtering to the correct
Domain facet value; each of the 18 categories' domain was determined by
majority vote of its actual constituent terms' domains in the main glossary,
not asserted. The network visualization and its JS were untouched; the
facet-filter JS for the old term list degrades safely (guarded by
`if(!bar) return`) now that its target elements no longer exist.

This directly addresses the fork the project's own stated principle warns
against ("documents rebuild from shared datasets... so corrections propagate
rather than fork") — the Intersections/Field-Atlas pair was exactly that
fork, now closed for the Intersections side.

**Verified:** main glossary 1,673 terms (up from 1,630), zero duplicate term
strings, all terms linked, JS syntax checked in Node for all four modified
files, `?dom=` deep-link tested end-to-end (84 entries correctly match a
Typography & Letterforms filter), tag balance clean across all four files.
Hub synced (glossary card, Intersections card, term counts, edition number).


## Change log — generalized cross-references: Theories + Research Processes (16 Jul 2026)

Extended the prior consolidation pass to the two remaining documents
identified as containing glossary-adjacent content, following the same
evidence-first method (checking actual overlap and definition quality rather
than assuming either "merge" or "leave alone").

**Findings:** Theories (32 frameworks) overlaps the main glossary on only 4
terms (Semiotics, Color Theory, Cognitive Psychology, Decolonizing
Methodologies) — 12.5%, and its treatment is substantially deeper on all
four (e.g. Semiotics works through Saussure's dyadic sign and Peirce's
triad; the main glossary has one generic sentence). Research Processes
(39 methods-rail items) overlaps on 7 (Critical Making, Arts-Based Research,
Grounded Theory, Autoethnography, Narrative Inquiry, A/B Testing, Usability
Testing) — 25.6% (three additional "Research"-only matches were excluded as
too generic to be useful cross-reference anchors). Both follow the same
pattern as the Pedagogy Atlas case: specialized, independently valuable
content on a modest set of shared terms — not redundant, not a merge
candidate. The Crossover map's overlap (2 of 27 field names) was confirmed
negligible and left untouched.

**Mechanism generalized.** The single-purpose `paTerm` field (added in the
prior pass, hardcoded to the Pedagogy Atlas) was migrated to a general
`xrefs` array (`{doc, label, term}`), supporting any number of
cross-references per glossary entry. `entryHtml` now renders one link per
xref. One entry ("Decolonizing Methodologies") correctly ended up with two
cross-references — Pedagogy Atlas and Theories both treat it — confirming
the array design was the right call over a single-link field.

**Links added, bidirectionally:**
- 4 Theories entries gained a "↗ Quick-reference definition in the Unified
  Glossary" link (inserted after each entry's `connect` box); the 4
  corresponding main-glossary entries gained a reciprocal xref.
- 7 Research Processes methods-rail items gained a compact "↗ Glossary"
  link inline; the 7 corresponding main-glossary entries gained a
  reciprocal xref.

**Correction applied in the same pass:** glossary.html's own `<title>` and
masthead had been left at "8th ed." during the prior consolidation — only
the hub and README had been updated to "9th ed." Fixed, and the missing
in-document 9th-edition method note (previously recorded only in the
README) was added to the glossary itself.

**Verified:** term count unchanged (1,673 — this pass added cross-reference
metadata, not new terms), 30 xref entries across 29 glossary entries (one
entry double-referenced, as expected), JS syntax checked in Node for
glossary.html (Theories and Research Processes have no inline scripts to
check), tag balance clean across all three modified files.


## Change log — retired ATLP/ATLI tiers, Pedagogy Atlas (16 Jul 2026)

Removed the two participant-provenance tiers (ATLP: participant
transcription, ATLI: participant inferred) from the Pedagogy Atlas's
provenance system, since they held zero entries throughout the project's
life — the Design Incubation workshop transcriptions they were reserved for
were never supplied. Confirmed via search before removal: no glossary term
or atlas entry anywhere carried a `PED-ATLP` or `PED-ATLI` source tag, so
this was a structural removal with no content to re-tag.

**atlas-pedagogy.html:** removed both tier-legend entries and their CSS;
changed "five-tier provenance system" to "three-tier"; the methodology
box's "Two disclosures" became a single disclosure (the Double Diamond
2004/2005 date conflict), since the first disclosure — the empty
participant layer — no longer applies to a tier set that no longer exists.
Also caught and fixed a version drift while in there: the masthead had been
left at "Version 1.1 · 2026-07-11" through two prior data.json version
bumps; synced to the current 1.3 · 2026-07-16.

**data.json:** removed `ATLP`/`ATLI` from `meta.tiers`; version 1.2 → 1.3.

**index.html (hub):** updated to stay consistent with a document it
explicitly describes verbatim — the "Provenance, everywhere" tier table's
own caption reads "from the Design Pedagogy Atlas," so leaving it at
five rows after the atlas moved to three would have been an immediate
inaccuracy. Removed the two tier rows and their dead CSS, updated the
Pedagogy Atlas card's stats (5-tier → 3-tier) and sources note (now
records the retirement and the reason, rather than an open-ended "awaiting
transcriptions"), removed the sources-index entry for the now-homeless
"Design Incubation workshop transcriptions (pending)" line, and removed the
matching line from the footer's status notes.

**Verified:** zero ATLP/ATLI references remain anywhere on the site except
the two that describe the retirement itself (in the hub's updated sources
note); data.json is valid JSON with exactly 3 tiers; tag balance clean in
both modified files; no JS in atlas-pedagogy.html referenced either tier
dynamically, so no script changes were needed.


## Bug fix — Intersections diagram → glossary connection restored (16 Jul 2026)

A user question surfaced a real regression from the 16 Jul consolidation
pass: clicking a domain node in the network diagram opens a panel with a
"View this domain's vocabulary" link, which called `openVocab(id)` —
originally written to expand and scroll to that domain's `<details
id="vocab-N">` accordion in the old 596-term vocab section. That section was
replaced with the 18 category-card grid (see the Intersections consolidation
entry above), which has no per-network-domain anchors, so `openVocab()` had
been silently failing (`getElementById` returns null, function returns
early) — the link visibly did nothing.

**Root complication:** the fix wasn't a simple restore. The network diagram
groups communication design into 8 broad domains (Visual Communication,
Identity & Branding, Print & Editorial Design, etc.) — a coarser taxonomy
than the glossary's 18 Domain facet values (Typography & Letterforms, Color,
Illustration Image & Digital Graphics, etc.). Several diagram domains
(notably "Visual Communication") span 4 glossary domains, not 1.

**Fix:** `openVocab(id)` now looks up a `DOMAIN_TO_GLOSSARY` mapping (each
of the 8 diagram domains → its 1–4 corresponding glossary Domain values,
verified against the glossary's actual `DOMAIN_ORDER` list) and opens the
Unified Glossary in a new tab, pre-filtered to all matching domains at once.
This required extending the glossary's `?dom=` parameter to accept multiple
values — originally single-value only. First attempt joined multiple
domains with a comma and split on comma to parse them back, which broke
immediately: several domain names themselves contain commas ("Illustration,
Image & Digital Graphics"), so a shared comma separator collided with commas
inside the values, corrupting the split. Switched to semicolon, confirmed no
domain name contains one, and verified the round-trip decodes to the correct
values (tested in Node, not just assumed) before considering it fixed.

Panel link text updated from "View this domain's vocabulary ↓" (implying
in-page scroll) to "Browse this domain's terms in the Unified Glossary ↗"
(accurately describing the new-tab navigation).

**Verified:** all 8 diagram domains produce a correct `glossary.html?dom=...`
URL; decoded and round-tripped through the glossary's actual parameter
parser in Node for two representative cases (single-domain and 4-domain);
confirmed the 18 category-card links (added in the prior consolidation, each
passing exactly one domain value) were unaffected by the separator change;
JS syntax checked in Node for both files; tag balance clean.


## Bug fix — unreliable domain-click target on the Intersections diagram (16 Jul 2026)

A user report that the panel "does not reliably present the domain
description of the node which one clicks on" traced to a real hit-target gap,
not a rendering or state bug.

**Root cause.** Each domain node draws three visible pieces: a small colored
circle (radius 30px, `NODE_R`), a readable name label, and a category tag,
with the label and tag positioned 54px further out from center than the
circle (`labelR = R + 54`) — well outside the circle's footprint, with a
gap between them. The click (and hover) listeners were attached only to an
invisible hit-circle matching the small circle's 30px radius. Clicking
directly on a domain's *name* — the most natural, most prominent thing to
click — landed on unlistened SVG text, which has no handler of its own, so
the click bubbled straight to the top-level `svg` click handler and fired
`clearSelection()` instead of showing that domain's description. Clicking
precisely on the small circle worked correctly. Same domain, same intent,
different outcome depending on exactly where the click landed — exactly
"unreliable."

**Fix.** Moved the click and hover listeners from the small hit-circle to
the entire node group (`<g class="node-group">`, which contains the circle,
hit-circle, label, and tag as children). SVG click and `mouseenter` events
bubble from a child to its parent group by default, so this required no
change to hit-testing geometry — clicking the circle, the label, or the
tag now all correctly bubble up to the same listener and call
`selectNode(i)`. Added `cursor:pointer` to the group for a consistent hover
affordance across the whole clickable area. The remaining true gap —
clicking truly empty canvas between the circle and its label — still
correctly falls through to `clearSelection()`, which is the expected
behavior for empty space, not a bug.

**Verified:** JS syntax checked in Node; confirmed structurally that the
label and tag elements are appended as children of the node group *before*
the group's click listener is attached (bubbling requires this ordering to
be irrelevant in practice, but confirmed regardless); zero remaining
references to the old hit-circle-only listener pattern; tag balance clean.


## Bug fix — domain cards not spanning full width on mobile, Crossover map (17 Jul 2026)

**Root cause.** `.view` — the wrapper around all four tabs (Domain Cards,
Field Map, Radial Chart, Sources) — had a fixed `padding: 3rem 5rem 5rem`
(80px horizontal on each side) with no mobile override. On a ~375px phone
screen that's 160px consumed by padding alone before any content renders,
leaving roughly 215px of usable width — the domain-card grid was working
correctly (its `minmax(min(460px,100%),1fr)` column rule already collapses
to a single full-width column on narrow screens), it just had far less
"full width" to work with than intended. The masthead already had a mobile
padding override in the existing `@media (max-width: 720px)` block; `.view`
had simply been missed when that block was written.

**Fix.** Added `.view { padding: 2rem 1.25rem 3rem; }` inside the existing
mobile breakpoint, matching the masthead's horizontal padding for visual
consistency across the page. Also tightened `.domain-grid` gap and
`.domain-card` internal padding slightly on mobile, giving card content a
bit more breathing room now that the cards span the full available width.
This fix applies to all four tabs, not just Domain Cards, since they all
share the `.view` wrapper — Field Map, Radial Chart, and Sources had the
same underlying width problem, just less immediately visible since Domain
Cards is the default tab.

Checked for a matching redundant fix first: considered adding a mobile
override for `.nav-bar` too, but its padding was already a fixed `1.25rem`
at all viewport widths (not part of the 5rem pattern), so that would have
been a no-op duplicate rather than a real fix — removed before finalizing.

**Verified:** CSS brace-balanced, tag balance clean, JS unaffected (checked
in Node, no changes were needed there since this was purely a CSS gutter
issue).


## Change log — Research Processes methods & approaches: full glossary coverage (17 Jul 2026)

Every term in the Research Processes atlas's five "Methods & approaches"
rails (39 items total, across Design Research, Artistic Research, Social
Science, Humanities, and Empirical & Experimental Science) now has a
glossary definition and a same-window link from the atlas.

**Triage before writing anything.** Checked all 39 against the existing
glossary first, rather than assuming they were all gaps:
- 9 already existed (7 already linked from the prior cross-reference pass;
  2 more — "Research Through Design (RtD)" and "Practice-Based Research"
  — existed but weren't yet linked from this page).
- 3 were the *same concept* as an existing entry under different phrasing:
  "Case study" / Case Study Research, "Participatory & action research" /
  Participatory Action Research, "Design history & archival method" /
  Archival Research (Design History). Linked directly to the existing
  entries rather than creating duplicates.
- 2 resembled an existing entry closely enough to need a close read before
  deciding: "Social semiotics / visual grammar" turned out to name Kress &
  van Leeuwen's specific analytical apparatus (representational/
  interactive/compositional meta-functions) — distinct from the general
  Social Semiotics entry — and "Rhetorical analysis of the image" turned
  out to name Barthes's specific anchorage/relay framework — distinct from
  the general Visual Rhetoric entry. Both kept as separate, original
  entries rather than merged.
- "Reflective practice" appears independently in both the Design Research
  and Artistic Research rails with near-identical wording (both citing the
  same Schön source). Given one shared glossary entry, linked from both
  rail locations, rather than two duplicates.
- The remaining 24 (26 minus the shared Reflective Practice) were genuine
  gaps: original definitions written and placed as new leaf concepts under
  each tradition's existing taxonomy category (Design Research Traditions,
  Practice-Based Research, Qualitative & Mixed Methods, Semiotics & Meaning,
  Design History Methodology, Quantitative Methods) — no new categories
  needed, the 7th-edition taxonomy work already had a home for all of them.

**Same-window navigation.** All 39 links use plain `<a href="glossary.html
?q=...">`, no `target="_blank"`. This included going back and fixing the 7
links added in the 16 Jul cross-reference pass, which had used
`target="_blank" rel="noopener"` — stripped to match, so link behavior is
consistent across every method in the document regardless of when it was
added.

Term count: 1,673 → 1,699 (26 new). Glossary bumped to 10th edition.

**Verified:** all 39 `?q=` query strings resolve to an exact glossary term
(checked programmatically, not assumed); zero duplicate term strings; every
entry linked into the taxonomy; zero `target="_blank"` anywhere in
atlas-research.html; JS syntax checked in Node for all three glossary
script blocks; tag balance clean in both modified files.

**Scope note:** this pass added links in one direction only (atlas →
glossary), per the request. The 7 terms linked in the 16 Jul pass already
carry the reciprocal glossary → atlas direction via `xrefs`; the 32 added
in this pass do not. Adding reciprocal links for all 39 would be a natural,
contained follow-up using the same `xrefs` mechanism, not yet done.


## Change log — Research Processes bidirectionality + link-audit bug fix (17 Jul 2026)

**Bidirectionality added.** All 38 unique glossary terms linked from the
Research Processes atlas (39 atlas occurrences — "Reflective Practice"
appears in two rail locations but is one glossary entry) now carry a
reciprocal `xrefs` entry pointing back to atlas-research.html, using the
`xrefs` mechanism already established for Theories and the Pedagogy Atlas.
7 already had this from the 16 Jul cross-reference pass; 31 were added.

**A real bug found during the pre-check, not assumed away.** Before adding
the reciprocal links, audited all 39 existing atlas→glossary links
programmatically against the authoritative term mapping, rather than
trusting the prior session's output. Found one: "Design & Cultural Probes"
was pointing at `glossary.html?q=Reflective%20Practice` — wrong target,
apparently a mismatch introduced during the two-pass injection process in
the 17 Jul session (a plain-text-match pass followed by a raw-HTML-anchor
pass for terms with embedded tags). Fixed directly, then re-ran the full
audit and confirmed zero remaining mismatches across all 39 links before
proceeding.

**Same-window scope extended, with a disclosed side effect.** The
reciprocal-link template (`doc-xref`, rendered by `entryHtml`) is shared
code across all three cross-referenced documents — Research Processes,
Theories, and the Pedagogy Atlas. Removing `target="_blank"` to satisfy the
same-window requirement for the new Research Processes links necessarily
also made the existing Theories (4) and Pedagogy Atlas (19) reciprocal
links same-window, since they render through the identical function. This
was not requested independently and is disclosed here rather than silently
bundled in. The *forward*-direction links in those other documents
(Theories' `glossary-xref`, the Pedagogy Atlas's `pa-glosslink`, the Field
Atlas's `g-glosslink`, and the Intersections map's `vc-card-link`) were
deliberately left untouched — they still open new tabs — since changing
them wasn't part of this request; flagged as an available follow-up if
full site-wide consistency is wanted.

**Verified:** 1,699 terms unchanged; 38 entries carry a Research Processes
xref; 61 total `xrefs` entries site-wide (30 prior + 31 new); all 39
forward links in atlas-research.html still resolve correctly and remain
`target="_blank"`-free; JS syntax checked in Node for all three glossary
script blocks; tag balance clean.


## Change log — full-site new-tab removal + comprehensive bidirectional coverage (17 Jul 2026)

The largest single pass to date. Two parts: (1) remove every remaining
new-tab link site-wide, and (2) extend the Theories/Research-Processes-style
bidirectional cross-referencing to every other content-bearing document
(Theories, both Pedagogy Atlas layers, and the Crossover Map).

### Part 1 — new-tab removal, site-wide

Removed `target="_blank" rel="noopener"` from every internal glossary
navigation link: 596 in the Field Atlas (`g-glosslink`), 19 in the Pedagogy
Atlas (`pa-glosslink`), 18 in the Intersections map's category cards
(`vc-card-link`), 4 in Theories (`glossary-xref`). Also fixed a JS-level
new-tab open the HTML audit wouldn't catch: the Intersections diagram's
`openVocab()` function used `window.open(url, '_blank', 'noopener')`;
changed to `window.location.href = url`. Updated the "↗" (opens elsewhere)
icon to "→" (same-window) across every affected link class to keep the
iconography honest.

**Deliberately left untouched:** 8 genuine external citation links in the
Field Atlas (to sfsu.edu, are.na, citytech.cuny.edu, and an unidentified
facility site) — these open new tabs by design, which is standard,
expected behavior for links leaving the site, distinct from internal
glossary navigation.

### Part 2 — comprehensive bidirectional coverage

**Theories (32 frameworks, all linked).** 22 gaps received new glossary
entries — adapted from each framework's own rich definition text, which
already named its scholars, so sourcing was straightforward. 6 were the same
concept under different phrasing and were linked directly rather than
duplicated: Gestalt Principles of Perception→Gestalt Principles, Swiss/
International Typographic Style→Swiss Style, The Avant-Garde Lineage→
Avant-Garde, Feminist Design History→Feminist Design (History & Practice),
Rhetoric & Visual Rhetoric→Visual Rhetoric, and — the one requiring real
attention — Social Semiotics of Visual Design, which describes Kress &
van Leeuwen's specific visual-grammar apparatus and correctly resolved to
"Visual Grammar (Social Semiotics)" (created in the prior Research Processes
pass), not the more obvious but wrong match, the general "Social Semiotics"
entry.

**Pedagogy Atlas chapters (62 named concepts across 5 chapters, 58 linked).**
Each chapter section turned out to contain its own structured sub-entries
(term + tier badge + body + source, essentially a second glossary layer
embedded in the prose). Checked all 62 against the main glossary before
writing anything: 9 already existed, 6 were synonyms of existing entries
(including two from the *same day's* earlier Research Processes and Theories
work — "Reflective practice" and "The design critique (crit)" — confirming
the cross-batch de-duplication discipline held up), 43 were genuine gaps.
4 were excluded as atlas-internal editorial devices unsuitable for
standalone definition: an "idealized-model caveat," a duplicate entry, an
editorial correction note, and "the steelman" (a generic rhetorical term,
not pedagogy-specific). Created two new taxonomy categories — **Learning
Theory** (Dewey, Kolb, Schön, Vygotsky, Lave & Wenger, threshold concepts,
liminality, productive failure — education-theory imports with no existing
home) and **Professional Practice Structures** (agency/in-house/freelance
structures, the brief, design systems, codes of conduct, complicity) —
parented under the same domain anchors as their sibling categories.

**Pedagogy Atlas's own glossary (63 terms, all linked).** Checked against
both the main glossary *and* the 43 chapter entries just added, since the
two layers cover overlapping ground. Found 17 additional synonym cases this
cross-check caught that a main-glossary-only check would have missed —
e.g. "Community of practice" (singular, pedagogy-glossary phrasing)
correctly resolved to "Communities of practice" (plural, just created from
the chapter content) rather than spawning a near-duplicate two steps later
in the same session. 26 already existed, 24 were synonyms, 13 were genuine
gaps. A de-duplication pass afterward caught and removed 6 same-document
double cross-references that resulted from the chapter and glossary layers
independently linking to the same main-glossary term.

**Crossover Map (27 external-field crossings, all linked).** This
document's cross-referencing required a different mechanism: crossing
descriptions are JS-template-rendered (`co.body` inserted into a string
template when a domain card is clicked), not static HTML, so the link had
to be added to the template itself — `FIELD_GLOSSARY_QUERY`, a small lookup
handling the two cases where the crossing's field name doesn't exactly match
its glossary term (Photography → "Photography (Commercial & Editorial)").
25 of 27 fields were gaps; each definition is framed specifically as *the
intersection* with communication design (adapted from the crossing's own
`body` text), not a general definition of the external field — consistent
with what the source document actually documents. Placed under a new
**Interdisciplinary Field Crossovers** category with per-entry domain
assignment reflecting each field's actual subject matter, not a single
catch-all domain.

**Verified:** 1,802 total terms (up from 1,699), zero duplicate term
strings, every entry linked into the taxonomy, zero remaining same-document
duplicate cross-references, JS syntax checked in Node for every modified
file with inline scripts, tag balance clean across all seven modified
documents, every `?q=` and `?dom=` query string in every new link confirmed
programmatically (not assumed) to resolve to a real glossary term.


## Change log — theories.html: remaining 18 citations verified (17 Jul 2026)

Closes out the standing open item flagged at the top of this README: the 18
Theories entries left unbadged by the 9 July verification pass (14 badged
then) now carry `Verified` badges and their own verification notes, checked
against live sources rather than assumed from training knowledge.

**Findings.** 17 of 18 confirmed as originally cited — author, year, title,
and publisher/venue all checked. Two are worth flagging even though not
errors: Beatrice Warde's 1930 St. Bride lecture was originally titled
"Printing Should Be Invisible"; "The Crystal Goblet" is the title of her
1955 essay collection and is now the standard way the piece is cited, so
the entry's citation is correct but the note says so explicitly. Similarly,
Heskett's *Industrial Design* is 1980 in its original UK edition (Thames &
Hudson) and 1981 in the US edition (Oxford University Press) — 1980, the
entry's date, is the standard citation year.

**One correction.** The Drucker & McVarish entry read "(2008; 2nd ed.)" —
but per the authors' own CV, *Graphic Design History: A Critical Guide* was
first published in 2008, and the revised 2nd edition (adding a
"Globalisation" chapter) followed in 2012. The "2nd ed." qualifier had been
incorrectly paired with the 2008 date. Fixed to read "(2008)" in the
citation, with the correction spelled out in the entry's verification note
rather than silently dropped.

**Also updated:** the document's intro sourcing note (previously "the
fourteen entries badged Verified") now states all 32 are verified, across
the two passes (9 and 17 July), and names the Drucker & McVarish
correction. The "Known open items" list in this README had the ATLP/ATLI
line removed earlier in the day (see above) and now has the citation-
verification line removed too, since both standing items are resolved.

**Verified:** 32 of 32 Theories entries carry a `Verified` badge and a
`provnote`; div/p/h4/span/a tag counts balanced (82/116/38/133/51 open vs.
close); the one inline `<script>` block in theories.html has no content
affected by this edit and parses without error in Node; no other file
references the corrected Drucker & McVarish date.


## Change log — glossary.html 12th edition: full review, pared provenance, usage guide, clickable facets (17 Jul 2026)

**Full structural review.** Parsed all 1,802 entries programmatically rather
than sampling. Findings: zero duplicate term headwords; zero entries with an
empty definition or missing Domain; 1,799 of 1,802 entries carry a unique
Concept Map `cid` — the 3 exceptions (*Call to Action (CTA)* / *Calls to
Action*; *User Experience (UX) Design* / *User Experience Design*; *User
Interface (UI) Design* / *User Interface Design*) are abbreviation/spelled-out
headword pairs deliberately sharing one taxonomy node, confirmed correct, not
a duplication error.

**One real error found and fixed.** The Provenance facet held two pairs of
near-duplicate citation strings for the same source, fragmenting what should
have been one filterable value into two: "Tuck & Yang (2012), Decolonization
1(1)…" vs. the complete "…Decolonization: Indigeneity, Education & Society
1(1)…" (2 entries normalized to the complete form), and "Tlostanova (2017),
Design Philosophy Papers…" vs. the correctly co-authored "Fry, T.; Tlostanova
(2017)…" (1 entry normalized to include Fry). Both now resolve to a single
Provenance checkbox each.

**Method & provenance pared down.** The edition-history block ran to 11,678
characters of prose. Rewritten to 1–3 short sentences per edition — 2,761
characters — keeping the date, the term-count trail, and the one key change
per edition; cutting the family-hypothesis breakdowns, taxonomy-renaming
detail, and other exposition that belonged in this changelog, not the
in-page summary.

**"How to use this glossary" added.** A new guide, open by default above the
now-collapsed provenance history, covers search/view/facet basics, explains
that every chip on an entry is itself a filter, and gives the Concept Map
its own detailed treatment: what Trails/Narrower/Involves/Involved
by/Related/word-family each mean, and why a multi-parent concept legitimately
shows more than one Trail (the taxonomy is a polyhierarchy — a DAG, not a
strict tree; 77+ concepts have multiple parents; zero cycles verified).

**Facet chips made clickable.** Every entry's Domain, Kind, Medium, and Scope
chips — previously inert `<span>`s — now carry `data-facet`/`data-value` and
a shared `.chip-filter` class; a new click/keydown-delegated listener on
`#results` sets `active[facet][value]=true` and calls the existing `render()`,
which already re-draws the checked sidebar box as a side effect — no parallel
state to keep in sync. Two chip types were added that entries previously
didn't display at all: **Collection** (one per entry) and **Provenance** (one
per source in the `p` array, since some entries cite more than one). A new
`COLLECTION_DESC` lookup supplies a one-line description for each of the 12
collections, shown as a native tooltip both on entry chips and on the
matching checkbox label in the sidebar — covering the "description for each
collection, displayed on those collections" requirement without adding a
separate UI surface.

**Caught during the edit, not after:** a first pass at the new 12th-edition
history paragraph inserted a literal backslash-n (two printable characters)
instead of a real line break between it and the 3rd-edition paragraph —
would have rendered as visible "\\n" text on the page. Found by checking the
actual character at that byte offset rather than trusting the edit, fixed to
a genuine newline, re-verified at the character level.

**Also fixed:** the site-level README's own structure table (top of this
file) still listed the glossary as "3rd ed. (930 terms, 6 facets)" —
unchanged since the original build despite nine subsequent editions. Updated
to 12th ed., 1,802 terms.

Glossary bumped to 12th edition.

**Verified:** DATA array re-parsed with proper bracket-depth tracking (not
naive string search) after every edit — 1,802 entries throughout, no
truncation or corruption; all 3 inline `<script>` blocks parse cleanly in
Node after the full set of changes; div/p/details/span/button/h1/h4 tag
counts balanced; zero literal backslash-n sequences remain anywhere in the
file; all 12 Collection values used in DATA have a matching
`COLLECTION_DESC` entry, confirmed by direct comparison rather than
assumption.


## Change log — How to use this glossary restyled; escape-sequence bug found and fixed (17 Jul 2026)

**Restyled to match theories.html.** "How to use this glossary" previously
used the compact `.methodnote` prose treatment. Re-styled to match
theories.html's "How to read this document" section: its `summary` now
carries the `.sec` class (large heading, top rule, tight letter-spacing) and
its four paragraphs sit inside a `.note` box (boxed, `--paper-2` background,
sans-serif body text) — both classes copied verbatim from theories.html's
own stylesheet, which didn't previously exist in glossary.html. Unlike
theories.html's always-visible section, this one stays inside `<details>`
and is now closed by default (the `open` attribute was removed) so the
heading itself is the toggle.

**A real bug, caught while checking the source before restyling it.** While
re-reading the section's current HTML prior to changing it, every em dash,
en dash, right single quote, and the ◈ symbol in that block turned out to be
the literal six-character text "\\u2014" (etc.) rather than the actual
character — a mis-escaping from when the section was first written (a
doubled backslash in the generating script, which is correct inside a
JavaScript string but wrong in plain HTML text). Scanned both this file and
README.md for the same pattern outside `<script>` blocks: found and fixed
10 instances in glossary.html (all in this section) and 11 in README.md
(all in the "12th edition" entry two sections above). theories.html had
zero — that file's equivalent text was written correctly the first time.

**Verified:** re-scanned both files after the fix with the same pattern
match — zero remaining outside script blocks; the 3 inline `<script>`
blocks in glossary.html still parse cleanly in Node; div/p/details/summary/
span/button tag counts balanced (37/20/2/2/14/7 open vs. close).


## Change log — glossary.html chip-click behavior corrected (17 Jul 2026)

Chips were behaving as additive filters: clicking one added it to whatever
was already active, so clicking chips on several entries in a row built up
a progressively narrower intersection — not the intent. A clicked chip is
supposed to feature that one category on its own.

**Fix.** New `featureChip(k,v)` helper clears every facet's active
selections first, then activates only the clicked value, before calling the
existing `render()`. Both the click and keydown (Enter/Space) handlers on
`#results` now call this instead of setting `active[k][v]=true` directly.
The sidebar's own checkboxes are unchanged — they still combine, by design;
only the chip-click path was resetting incorrectly.

Chip tooltips reworded from "Filter by [Facet]: [value]" to "Feature
[Facet]: [value]" to match the corrected behavior, and the "Chips are
filters" paragraph in "How to use this glossary" rewritten to "Chips
feature a category," now explicit that chips replace the current selection
rather than add to it, and that the sidebar checkboxes are the mechanism
for building up a combined filter.

**Verified:** `featureChip` defined once; both listeners call it; JS syntax
clean in Node; tag balance unaffected by this change (no HTML structure was
added or removed, only the function body and tooltip/doc text).


## Change log — map-intersections.html: stale tooltip after second click fixed (17 Jul 2026)

Reported symptom: click one domain, its tooltip is correct; click a second
domain, the floating tooltip still showed the first domain's name and
description instead of the second's.

**Root cause.** `onNodeHover` and `onEdgeLeave` both opened with
`if(activeNode !== null) return;` — a guard meant to keep the transient
hover tooltip out of the way once a domain is selected. It over-applied:
once *any* node had been clicked, every later `mouseenter`/`mouseleave` on
every node became a no-op, so the tooltip could never update or hide again
— it just stayed frozen on whatever it last rendered, which was always the
first domain clicked in that session, no matter what you hovered or clicked
afterward.

**Fix.** `onNodeHover` now always sets the tooltip's content on hover — no
guard. `onEdgeLeave` now always hides the tooltip immediately, but only
clears the edges' `highlighted`/`dimmed` classes when nothing is selected.
That split matters: those two classes are shared between the edge-hover
preview and the persistent selection highlighting drawn by
`renderHighlight()`; clearing them unconditionally on every mouse-leave
would have wiped a domain's highlighted connections the instant the cursor
left a node, even though it was still selected. `onEdgeHover`'s own guard
was left untouched — hovering an edge while a node is selected still
defers to the panel and the persistent highlighting rather than overwriting
it with a one-off edge tooltip, which was already correct and wasn't part
of the reported bug.

**Verified:** traced the fixed sequence by hand for click A → move to B →
click B — tooltip now shows B correctly at every step, and A's highlighted
connections aren't touched while the cursor is merely passing between
nodes with nothing yet selected differently. Confirmed `nodeEls` is built
inside `domains.map((d,i)=>...)`, so each node's click handler closes over
its own `i` correctly — ruled out a closure bug as a contributing cause
before concluding the guard was the sole issue. Single `<script>` block
(17,713 chars) parses cleanly in Node after the edit; div/svg tag counts
unaffected (no HTML structure changed, only two function bodies).


## Change log — map-intersections.html: "Design Process" label clipping fixed (17 Jul 2026)

Reported symptom: the "Design Process & Strategy" node's label reads as
just "Process" (or similar) — "Design" is cut off.

**Root cause, confirmed by calculation, not guesswork.** Labels sit at
`labelR` (324) from center, `text-anchor` chosen by which side of the wheel
they're on (`start`/`end`/`middle`), so `start`/`end`-anchored labels
extend outward by their full text width rather than being centered on
their anchor point. This domain sits at exactly 180° — the single position
with the least horizontal margin to the old viewBox edge (56px, vs. 150px+
for the other angled `end`-anchored labels) — carrying "Design Process" as
its first line, about 102px wide at the page's 12.5px/600-weight label
font. 102px of leftward text against 56px of margin overflows by roughly
46px, clipped by the SVG's `0 0 760 760` viewBox, which crops anything
outside it by default. Wrote a small script replicating the page's own
`polar()` and label-wrap functions for all 8 domains to compute this
rather than eyeballing it, and it surfaced a second, unreported case:
"Print & Editorial Design" (0°, `start`-anchored) runs about 75px past the
same old right edge for the same reason — not yet visibly complained
about, but the same bug.

**Fix.** Widened the `viewBox` from `0 0 760 760` to `-170 -170 1100 1100`
— 170px of margin added symmetrically on all four sides, keeping it
square (so `height:auto` doesn't stretch the wheel into an oval) and
leaving `CX`/`CY`/`R` and every position formula untouched, since they're
already centered in the original 760×760 space, which itself is unchanged
inside the new, larger canvas.

**Verified:** the replication script confirms all 8 labels now fit with
margin to spare — the tightest, "Design Process & Strategy," lands 124px
inside the new left edge; "Print & Editorial Design" lands 95px inside the
new right edge. JS untouched by this fix (attribute-only change); single
`<script>` block still parses clean in Node.


## Change log — map-intersections.html: diagram scaled to match legend text size (17 Jul 2026)

Side effect of the previous fix: widening the viewBox from 760 to 1100
(unit-space, to stop labels clipping) made every SVG user-unit map to
fewer rendered pixels at the same page width, so the labels — sized in
those same units — rendered visibly smaller than before, and smaller than
the panel's own `.key-item` legend text (11.5px).

**Why this lever and not a font-size bump.** SVG text size is set relative
to the viewBox, not in absolute page pixels, so there are two independent
ways to make it bigger: raise the `.node-label` font-size number (which
would grow the text alone, against unchanged circles and spacing), or
enlarge the rendered SVG itself (which scales text, circles, edges, and
spacing together, preserving the original design's proportions). Asked to
"scale the image," the second is the literal and the more coherent choice
— nothing about the diagram's internal geometry (`R`, `NODE_R`, `labelR`,
font-size, the 1100 viewBox) needed to change at all.

**Fix.** `.wrap`'s `max-width` raised from 1180px to 1380px. The graph
column is `minmax(0,1fr)` inside a grid with a fixed 320px panel and 22px
gap, so it absorbs the extra width directly; the SVG (`width:100%;
height:auto`) then renders proportionally larger, carrying every
unit-sized element — including the label font — up with it. Solved
algebraically for the exact number: current graph-column content width
(816px, after the card's 10px padding + 1px border on each side) gives a
scale of 816/1100 against the viewBox, so the label's nominal 12.5-unit
font-size was rendering at 9.27px; hitting 11.5px needs a scale of 0.92,
which needs 1012px of content width, which needs a 1380px `.wrap`.

The header and both intro paragraphs have their own narrower `max-width`
caps (640px, 720px) well inside even the old 1180px, so they don't
stretch or reflow from this — only the graph/panel grid, which is what was
asked to be sized differently, actually changes.

**Verified:** recomputed algebraically rather than eyeballing — 1380px
yields an effective label size of 11.545px against an 11.5px target
(0.045px over, imperceptible). This holds at viewport widths ≥ roughly
1420px, where `.wrap` reaches its new cap; narrower windows get a smaller
but still-positive improvement over the pre-fix size, proportional to
however much of the extra 200px their viewport can actually fit. JS
untouched (CSS-only change); single `<script>` block still parses clean in
Node.


## Change log — glossary.html: checkbox styling added; crossover-link report investigated (17 Jul 2026)

Reported from the "See this crossover as a glossary term →" link on
map-crossovers.html's field cards (landing on `glossary.html?q=<field>`):
sidebar filter checkboxes looked "oddly selected," some with white
borders, some gray; and Crossover-imported terms seemed to lack a
Collection chip. Three separate claims, checked independently rather than
assumed to be one bug.

**The checkbox appearance — real, but not what it looked like.** Traced
`?q=` end to end: it only sets the search box and calls `render()`; nothing
in that path touches `active` (confirmed by reading the URL-param handler,
`matches()`, and `renderFacets()` in full). No checkbox was actually being
checked. What *was* happening: this site has never had any custom
checkbox CSS — every box was 100% unstyled native browser rendering — and
`renderFacets()` applies a `.zero{opacity:0.35}` class to any facet value
with zero matches under the current search. A short, specific search
(a single field name) sends most of the sidebar to zero at once, so a
dozen-plus native checkboxes suddenly render at two different opacities
side by side with no actual checked box anywhere to compare them against —
exactly the conditions that would make "available vs. exhausted" read as
"selected vs. not."

**Fix:** custom checkbox styling — `appearance:none`, a bordered
`var(--card)` box unchecked, filled `var(--ink)` with a `var(--card)`
checkmark when actually checked, plus a `:focus-visible` outline so
keyboard navigation isn't lost. Checked state is now a distinct fill +
checkmark that reads the same regardless of the `.zero` opacity sitting on
top of it, which is what the guess about "white background, black
check marks" was pointing at — implemented with the site's own palette
variables rather than literal white/black so it still works if the page's
dark-mode variant is ever active.

**The missing Collection chip — investigated, not reproduced.** Pulled
`entryHtml`, `esc`, `COLLECTION_DESC`, and the real `DATA` array out of the
page and ran the actual function in Node against a real Crossover-imported
entry ("Fine Art & Studio Practice"): it emits a fully-formed
`chip col chip-filter` span, correct data-value, correct tooltip text.
Checked the data itself — all 25 Crossover Map import entries carry a
non-empty `col`; checked the `col` facet's value list — it's built by
scanning live `DATA`, not a hardcoded list, so it isn't missing from the
sidebar either. Checked whether any of the 27 crossover fields generates a
search query that fails to exact-match its own glossary term (which would
land on the wrong entry or an empty result) — zero mismatches across all
27. Checked for a second rendering path that might skip the chip (an
alphabetical vs. grouped view, say) — both views call the identical
`entryHtml`. Every angle checked out, so this one is logged as
investigated-but-unreproduced rather than fixed; noting it here rather
than silently dropping it. If a specific term shows this, that's the fastest
way to pin it down.

**Verified:** JS syntax clean in Node (3 script blocks); div/p/details/
summary/span/button tag counts balanced (37/20/2/2/14/7); the direct
Node execution of `entryHtml` against live data is itself the verification
for the chip claim, not a visual assumption.


## Change log — glossary.html 13th edition: Collection and Provenance filters removed (17 Jul 2026)

Removed both facets from `FACETS` (down to Domain, Kind, Medium, Scope),
removed their per-entry chips and the `entry-prov` row from `entryHtml`,
deleted the now-unused `COLLECTION_DESC` lookup and its dead reference in
`renderFacets`, and removed the now-unused `.chip.col`/`.chip.prov`/
`.entry-prov` CSS. "How to use this glossary" and the masthead stats
("6 facets" → "4 facets") updated to match; index.html's glossary
description and stats list updated the same way, and this README's
structure table bumped to 13th ed.

**What this did not touch.** Every entry's `col` and `p` fields are still
in the data — this removed the filter and the display chip, not the
provenance record itself. Nothing was asked about the underlying data, and
deleting it from 1,802 entries would be a much larger, harder-to-reverse
change than the one requested, so it was left alone. If the data itself
should go too, that's a separate, explicit instruction.

**Verified:** JS syntax clean in Node (3 script blocks); zero remaining
references to `COLLECTION_DESC`, `chip col`, or `chip prov` anywhere in
the file; div/p/details/summary/span/button tag counts balanced
(36/20/2/2/12/7 — span dropped by 2, matching the two removed chip
templates). index.html's own script blocks (none present) and tag balance
(div/p/li/ul) unaffected by its edit.


## Change log — glossary.html: chips broken after arriving via ?q= links, fixed (18 Jul 2026)

Reported from the Crossover Map's "See this crossover as a glossary term →"
links (e.g. Photography): after landing on the glossary, clicking a chip on
the entry did not show the chip's full collection.

**Root cause.** Those links land on `glossary.html?q=<term>`, which fills
the search box. `featureChip()` cleared every *facet* selection before
featuring the clicked value — but not the *search text*. `matches()` ANDs
facets with the query, so the result was chip-value ∩ leftover-search-text,
and since the search text is a full term name, that intersection was
essentially just the entry the user came from. The chip appeared to do
nothing. Same latent bug applied to any hand-typed search followed by a
chip click — the crossover links just made it reliably visible because
they always arrive with a full term name in the box.

**Fix.** `featureChip()` now also clears `query` and empties the search
input, so a chip click is a complete reset to that one category — matching
the documented behavior ("clears whatever filters were active and features
every term sharing that one value alone"), which the code contradicted
whenever a search was present.

**Verified by simulating the exact reported journey**, not by reading the
code: ran the page's full script in Node with a DOM stub, set
`query = "Photography (Commercial & Editorial)"` (the ?q= arrival state),
then clicked the Domain chip both ways. Old behavior: 1 visible term (the
bug as reported). Fixed behavior: 80 terms — exactly the true size of the
"Photography, Video & Audio" Domain collection, counted independently from
the data. Kind chip cross-checked the same way: 594 shown vs. 594 true.
All 3 script blocks still parse clean in Node.


## Change log — glossary.html: zero-dimming removed; standard facet counting adopted (18 Jul 2026)

The screenshot symptom: feature one Domain and nearly the whole sidebar
drops to 35% opacity with 0-counts — arithmetically correct (counts were
computed against the already-filtered result set, and no term lives in two
domains) but useless for navigation, and easily misread as a styling bug.

**Two changes.** (1) The `.zero{opacity:0.35}` dimming and the `zero`
class assignment in `renderFacets` are removed entirely — no filter option
is ever dimmed now, per instruction. (2) Counting switched to the standard
faceted-search convention: each facet group's counts are computed with
that group's *own* selections ignored (new `matchesExcept(r, skipKey)`
helper — same logic as `matches` minus one facet), while other facets'
selections and the search query still apply. With a Domain featured, the
other 17 domains now show their real pivot counts instead of a wall of
zeros; Kind/Medium/Scope remain constrained by the selected domain, which
is the correct cross-facet behavior. The visible *results* are untouched —
`matches()` is unchanged; only the sidebar numbers are computed
differently.

**Verified by simulating the screenshot scenario** (feature "Social
Practice & Ethics") in Node with the page's full script: Domain group now
shows 85 / 187 / 67 / 106 / 80 / 220 … for the other domains (previously
all 0), the featured domain shows its 29, Kind shows the same honest
12/7/9/1 split the screenshot showed, and visible results are still
exactly 29. Zero remaining references to the `zero` class anywhere in the
file; all 3 script blocks parse clean.


## Change log — glossary.html: previous entry reverted at editor's direction (18 Jul 2026)

The zero-dimming removal and facet-counting change directly above were
reverted in full, on reflection that the dimmed state carries real
information (a dimmed option = checking it yields nothing under the
current view). Restored: `res`-based counts in `renderFacets` (counted
against the filtered result set), the `zero` class assignment, and the
`.facet-opt.zero{opacity:0.35}` CSS rule — all identical to their
pre-change text. Removed: the `matchesExcept` helper, now unused (zero
references remain). Both entries are kept in this log rather than
collapsed, per the named-corrections practice: the change and its
reversal are both deliberate edits.

**Verified by re-running the same screenshot simulation:** featuring
"Social Practice & Ethics" again yields 29 visible results, and
Typography's count against the filtered set is 0 (old semantics restored —
it would have been 85 under the reverted counting). All 3 script blocks
parse clean; checkbox styling from the earlier fix is untouched and the
checked state remains distinct from the dimmed state, which was the
original complaint that started this thread.


## Change log — glossary.html: instructions phrase cut; "How to use" typography matched to theories.html (18 Jul 2026)

Removed ", not an added narrowing on top of what you already had selected"
from the chips paragraph, as directed.

**Typography.** The `.sec`/`.note` CSS had been copied from theories.html
verbatim in an earlier session, yet still rendered differently — the rules
were identical but the *inherited* font wasn't: theories.html's `body` is
set in the serif, so its `.sec` heading inherits Source Serif; the
glossary's `body` is mono, so the same rule rendered the heading in Source
Code Pro. Fixed by making the heading's `font-family:var(--font-serif)`
explicit rather than inherited. Also carried over theories.html's
`.note strong` rule (10px uppercase mono labels in `--gold`, displayed as
block lead-ins), which the earlier copy had missed — the paragraph labels
("Search and browse.", "The Concept Map.", …) now render as the same small
gold caps that theories' note labels use, instead of inline bold sans.
`--gold` confirmed present in the shared theme for both light and dark
variants.

**Verified:** phrase absent from the file; both new CSS rules present;
all 3 script blocks parse clean in Node.


## Change log — glossary.html: roots-vs-Kind claim in "How to use" corrected (18 Jul 2026)

Editor questioned "Six upper-ontology roots … matching the glossary's own
Kind vocabulary" against the Kind filter's eleven values. Checked the graph
directly rather than picking a number: the taxonomy has exactly 6
parentless root nodes (Tools, Concepts, Method, Event, Place, Eras), while
Kind carries 11 values — so "six roots" was right, but "matching the Kind
vocabulary" had been false since the 7th edition made Kind an 11-value
classification.

**A first correction was itself wrong, caught in verification.** The
initial rewrite claimed the five non-root Kinds (Framework, Discipline,
Role, Format, Metric) were "all refinements under Concepts." Tracing every
such term's actual trails to its roots disproved this: all five Kinds
reach multiple roots (Framework terms trace to Method and Tools; Discipline
even to Place). Kind is assigned per-term from its position, not inherited
from one root's subtree. The shipped sentence states that accurately: the
eleven Kinds are a finer per-term classification, and several cut across
more than one root. Logged rather than silently absorbed, per the named-
corrections practice — verification exists to catch the editor's errors
and this project's own in equal measure.

**Verified:** root count (6) and Kind count (11) computed from the live
CMETA/DATA, not recalled; the multi-root claim for all five Kinds
confirmed by exhaustive trail-tracing per term; all 3 script blocks parse
clean in Node.


## Change log — sitemap.xml added (18 Jul 2026)

New `sitemap.xml` at the site root, sitemaps.org 0.9 protocol, base URL
`https://taxonomy.dan-wong.com/`. All 8 pages in site reading order:
the root URL (index), glossary, intersections, field atlas, crossovers,
theories, research processes, pedagogy atlas. `lastmod` values taken from
each file's actual current modification date (18 Jul for index/glossary,
17 Jul for the rest), not a single blanket date. `changefreq` weekly for
the hub and glossary (the most actively edited pages), monthly elsewhere;
`priority` 1.0 hub, 0.9 glossary, 0.8 atlases/theories, 0.7 maps.

Maintenance note: this file is now part of the deliverable set — when a
page is edited in a future session, its `lastmod` entry should be updated
in the same session. Deployment side (not doable from here): reference it
in `robots.txt` as `Sitemap: https://taxonomy.dan-wong.com/sitemap.xml`
and/or submit it in Google Search Console.

**Verified:** parses as well-formed XML (ElementTree); 8 URL entries;
every `loc` corresponds to a real file in the package (or the root, for
index.html).


## Change log — glossary.html: mobile search fixed (18 Jul 2026)

Reported: search doesn't work on mobile; the word "design" can't be found.
Checked the second claim against the data first: "Design" exists as an
exact glossary term, and searching "design" matches 553 entries — so the
find-failure is a symptom of the mobile-search failure, not a data gap.

Two real causes found in the code, both fixed:

**1. Search box buried below the filters on phones.** The ≤860px layout
stacked the sidebar *first*: all four facet groups — dozens of checkbox
rows — sat above the search input, which was effectively undiscoverable
without scrolling past the entire filter list. Fixed with CSS `order` in
the existing media query: `main` (search, controls, results) now renders
first on mobile, the filter sidebar second, its divider flipped from
border-bottom to border-top to match its new position. Desktop layout
unchanged.

**2. No debounce on the search input.** Every keystroke rebuilt the full
results HTML; typing "design" fired six renders, the first ("d") matching
~1,500 entries of a 1.2 MB document — multi-second freezes per keystroke
on a phone, which presents as "search doesn't work." Added a 200 ms
debounce (`setTimeout`/`clearTimeout`) so rendering happens once per
pause, not once per keystroke. The `?q=` deep-link arrival path dispatches
an `input` event and therefore flows through the same debounce — verified
by simulating a keystroke through the real handler in Node: render fires,
query set, 553 matches returned.

**Verified:** all 3 script blocks parse clean; the debounced handler
end-to-end simulated (not assumed); "Design" exact-match presence and the
553-match count computed from live data; sitemap.xml `lastmod` for
glossary.html already reads 2026-07-18, so no sitemap update needed.


## Change log — glossary.html: entries unsorted within groups, fixed (18 Jul 2026)

Editor's screenshot showed the alphabetical D section jumping from "DEI"
straight to "Design Activism" with no standalone "Design" between them —
where it belongs.

**Root cause.** Both views group entries (by letter, or by domain) but
never sorted *within* a group: each group rendered in raw `DATA` array
order, which is edition-import order. The original consolidated corpus
happened to be roughly alphabetical, masking the defect; every later
edition's imports (7th–11th) were appended at each group's end. "Design"
arrived with the 8th edition's Concept Taxonomy import, so it rendered
~100 entries below its alphabetical position — past any reasonable
scroll. The screenshot's search highlighting also confirmed the page can
apply a query (the deep-link path works); the missing term was a sort
bug, not a search or data failure.

**Fix.** Case-insensitive `localeCompare` sort applied within each letter
group in the alphabetical view, and within each domain group in the By
Concept view — the identical defect existed there, with imported terms
trailing each domain in arrival order.

**Verified by reproducing the screenshot state** (query "design",
alphabetical view) in Node with a DOM stub and reading back the rendered
order: standalone "Design" now sits at position 130 of 553, directly
between "DEI (Diversity, Equity & Inclusion)" and "Design & Cultural
Probes"; the full unfiltered D section (141 terms) verifies as strictly
sorted with zero out-of-order pairs. All 3 script blocks parse clean.

**On the continued iPhone search failure:** the screenshot's live URL is
the deployed site, which predates the mobile fixes two entries above
(layout reorder + debounce) — those exist in the delivered package but
can't take effect until the new build is deployed. Retest after
deploying; if typing in the search box still fails on iOS after that,
that's new information pointing to something device-specific.


## Change log — glossary.html: search bar above all, collapsible filters, iOS focus-zoom fixed (18 Jul 2026)

Editor confirmed everything working after deployment, then requested:
filters and search above the terms on mobile, with minimizable filter
lists; and a fix for the iPhone zooming in when the search box is focused
and never snapping back.

**Search bar moved above the whole layout.** The `.controls` div (search
input + view toggle) moved out of `<main>` to sit above the
sidebar/results grid as a full-width bar with a bottom rule. This gives
the requested order on mobile — search, then filters, then terms — from
natural DOM order alone (the previous media-query `order` swap is
removed), and on desktop puts the search above both columns rather than
only the results column.

**Filter groups are now collapsible.** `renderFacets` emits each facet
group as `<details data-key>` with a `<summary>` toggle styled identically
to the old `h3` headers (plus hover + the native disclosure marker).
Because the sidebar is rebuilt on every render (every keystroke), open/
closed state is held in a `facetOpen` map and re-applied on each rebuild,
with a `toggle` listener writing user changes back — verified by
simulation that a group opened by the user stays open across a re-render.
Defaults: all open on desktop, all collapsed on ≤860px screens
(`matchMedia` at load, guarded for non-browser contexts).

**iOS focus-zoom.** Root cause: Safari auto-zooms any focused input whose
font-size is under 16px, and `#search` was 0.7rem (~11px); the zoom then
doesn't reverse on blur, leaving the page "floating." Standard fix
applied: `#search{font-size:16px}` in the mobile media query. Desktop
keeps the original type scale. Mobile also gets tightened padding
(1.5rem side gutters instead of 3rem) on the bar, sidebar, and main,
which the old 860px query had left at desktop widths.

**Verified:** all 3 script blocks parse clean; simulated mobile load shows
all four groups collapsed by default; simulated open-then-rerender shows
state persisting; DOM order confirmed controls → layout → aside → main;
the 16px rule present in the mobile query. sitemap.xml lastmod for
glossary.html already 2026-07-18.


## Change log — map-intersections.html: diagram enlarged; tooltip edge-cutoff and drag added (18 Jul 2026)

Requested: a slightly bigger diagram on desktop, a more noticeably bigger
one on mobile; a fix for the floating tooltip getting cut off for
left-side nodes on mobile; and the ability to drag that tooltip on mobile.

**Desktop, slightly larger.** `.wrap` max-width raised 1380px → 1480px
(the same lever used for the earlier legend-font-size match). The graph
column absorbs the full 100px since the panel and gap are fixed widths;
SVG content width goes from 1016px to 1116px, about 10%. Side effect worth
noting: the node-label font, previously tuned to land at exactly 11.5px to
match the legend, now renders at ~12.7px — slightly past that match, which
is the expected consequence of asking for a bigger diagram, not a
regression of that earlier fix.

**Mobile, more.** The single-column mobile layout already gives the graph
the full content width, so the only remaining lever is the padding around
it. Added a mobile override: body side padding 20px→8px, `.graph-card`
padding 10px→6px. On a 390px-wide phone that's roughly 30px of reclaimed
width, on top of the layout already being full-width — proportionally
larger than the desktop bump, as asked.

**Tooltip cutoff — real gap in the code, not a one-off.** `moveTooltip`
clamped the *right* and *bottom* edges only (checked directly: two `if`
guards, both pushing the tooltip back toward the cursor, neither one
guarding low `x`/`y`). Nothing stopped it rendering with a negative
coordinate near the left or top edge — exactly what "cut off on the left"
looks like for nodes positioned there. Added the missing symmetric
guards. Also gave the tooltip `max-width: min(260px, calc(100vw - 32px))`
on coarse-pointer (touch) devices specifically, so even if positioning
were ever off again, the box itself can't be wider than the screen.

**Dragging.** `.tooltip` had `pointer-events:none` unconditionally — by
design, so it wouldn't intercept the continuous mousemove-follow behavior
on desktop. Added `pointer-events:auto` inside `@media (pointer:coarse)`
only, so desktop hover-follow is untouched and touch devices can grab the
tooltip directly. New pointerdown/pointermove/pointerup handlers on the
tooltip element reposition it by cursor/finger delta while dragging (a
`.dragging` class disables the opacity transition and deepens the shadow
for feedback), and a small ⠿ glyph in the corner signals it's grabbable —
shown only on coarse pointers, so desktop users don't see an affordance
for an interaction that isn't there for them.

**Verified:** single `<script>` block parses clean in Node; style-block
brace count balanced; div/svg tag counts unaffected (77/77, 1/1 — no
structural HTML changed, only CSS and function bodies); recomputed the
label effective font-size algebraically for both old and new `.wrap`
widths rather than asserting a number.

---

## 2026-07-19 — Bibliography (14th-edition change set): APA citations system-wide + canonical bibliography.html

**What was asked.** Insert the verified citations as individual citations and
references throughout the Reference System; architecture confirmed as
"in-place upgrade + a canonical Bibliography page," in **APA (7th ed.)**
rather than the Chicago style used in the working document.

**Verification basis.** A full bibliographic research pass (19 Jul 2026)
completed publisher, date, translator/editor, edition-history, and
volume/issue/page data for ~170 works across the system's six priority
tiers, checked against publisher records (e.g., Wiley's BSTJ DOI record for
the Shannon 1948 two-part split), library catalogs (WorldCat, Open Library,
publisher/press pages), and primary documents. Nothing was completed from
memory alone; two organizational items that could not be resolved to a
single citable work (Kilian; SEGD) are flagged, not filled.

**New document: bibliography.html.** Ninth document in the system. Complete
APA reference list in six priority tiers plus Periodicals, Standards &
living web resources, and Flagged sections; alphabetical within tiers;
italic notes carry edition histories and genuine source conflicts. Carries
its own strip-down guarantee: removing every italic note leaves only
catalog-verified bibliographic facts (plus the two explicitly flagged
entries). Uses the shared theme system (assets/theme.css/theme.js, CSS
custom properties only — no hardcoded colors) and the standard cdrs-nav.
Note: APA omits place of publication, so verified place data appears only
in notes where a conflict makes it relevant.

**In-place upgrades.**
- theories.html: "Consolidated sources" rewritten to full APA with per-entry
  conflict notes; the old "verify … before formal citation" disclaimer
  replaced by a verified-date statement and a Bibliography link. Compact
  "Key texts" lines kept compact by design (one dating adjusted, below).
- atlas-research.html: Frayling completed to 1(1), 1–5; Zimmerman et al.
  completed to CHI '07, 493–502; VERIFIED/CANONICAL badge system untouched;
  biblio lede links to the Bibliography.
- map-crossovers.html, atlas-field.html, atlas-pedagogy.html: sourcing
  notes link to the Bibliography; compact panel/pa-cite citations left
  compact by design.
- index.html: source-corpus note links to the Bibliography; new "Eighth —
  What it cites" document card added. Known limitation, disclosed: the
  hub's SVG system map was NOT modified to add a ninth node (SVG layout
  change deferred rather than risked in this pass).
- Navigation: "Bibliography" added to cdrs-nav on all eight existing pages
  (regex-replaced nav block; verified exactly one nav per page afterward).
- sitemap.xml: bibliography.html added (lastmod 2026-07-19).

**Corrections and named conflicts (not silent fixes).**
- Foss, "Theory of Visual Rhetoric" (Handbook of Visual Communication):
  GENUINE CONFLICT PRESERVED, not resolved. An earlier CD·RS verification
  pass recorded 2004 (reading 2005 as a later printing); the 19 Jul 2026
  pass's records support 2005. Inline keytext now reads 2004/2005; the
  provnote, the sources entry, and the Bibliography entry all state both
  readings and direct users to the copyright page of the copy consulted.
  Her distinct 2004 chapter ("Framing the Study of Visual Rhetoric," in
  Defining Visual Rhetorics) is disambiguated in the same notes.
- Drucker & McVarish, 1st ed.: recorded as ©2009 (issued Feb 2008, WorldCat
  OCLC 180852081); the previously verified 2nd-ed. date of 2012 stands.
- Meggs 7th ed.: full author string recorded as Meggs, Purvis, Maxa, &
  Sanders (Wiley, 2025); the "Maxa & Sanders 2025" shorthand remains valid
  and is explained in the entry note.
- Other preserved conflicts: Wölfflin 1932 English publisher (G. Bell vs.
  Holt); Norman 1988 publisher (Basic Books vs. Doubleday reissues); Warde
  1930 lecture date/venue (vs. minority 1932/STD attribution);
  Müller-Brockmann place (Niederteufen 1981 vs. Sulgen reprints — moot in
  APA display, retained in provenance record); Horkheimer/Adorno name order
  (Verso reissues); Schaefer's parallel UK/US titles; Forty's parallel
  UK/US imprints.

**Verification of this change set.** All nine HTML files parse clean
(Python html.parser: zero stray/unclosed tags on the three most-edited
files; nav count exactly 1 per file); bibliography.html carries 184 APA
entries + 66 notes; every internal bibliography.html link target exists;
no hardcoded hex colors introduced (all styling via CSS custom properties).

**Strip-down guarantee (this change set).** Removing bibliography.html and
reverting the sources-section rewrites restores the prior compact-citation
state exactly; no definitional or structural content elsewhere depends on
the new page.

---

## 2026-07-19 (later) — Ninth SVG node + site-wide verification sweep

**Ninth node added.** The hub's system-map SVG now shows "8 · Bibliography"
(rect 244,398 · 180×54, second row beside Research Processes) with an edge
from the Published scholarship source node routed through the gap between
the data-layer nodes (M640 114 C520 170 445 300 350 398) to avoid crossing
either data rect. Sub-label deliberately shortened to "APA 7th ed. · 6
tiers" after a width computation flagged the longer version as borderline
at .nsub's 9.5px — a lesson applied from this project's earlier
label-clipping fix. The SVG aria-label now says eight documents and names
the bibliography. Verified by rasterizing the SVG (cairosvg, stand-in
colors for the CSS custom properties) and visually inspecting: no node
overlaps, no clipping, all rects inside the 1060×470 viewBox (also checked
programmatically).

**Stale content found and corrected during the verification sweep** (each a
genuine inconsistency, not cosmetic):
- glossary.html <title> said "(11th ed.)" — the document's own edition
  history and the README both put it at the 13th. Corrected to 13th.
- index.html hero thesis said "Seven interlinked documents" — corrected to
  eight, with the bibliography named in the list.
- index.html hero fact said "1,802 glossary terms · 7 facets" — the live
  filter set is four (Domain, Kind, Medium, Scope; Provenance and
  Collection removed as filters in the 13th ed.). Corrected to "4 facet
  filters."
- index.html SVG glossary node said "7th ed. · 7 facets" — corrected to
  "13th ed. · 4 filters."
- index.html glossary card kind said "11th edition" — corrected to 13th.
  (The card body's historical references to what the 7th and 9th editions
  did are left as history, deliberately.)
- Published-scholarship source node sub updated to record both verification
  passes: "SRC tier 9 Jul · full APA pass 19 Jul 2026."
- Source-corpus feeds: the four published-scholarship groups (theory canon,
  design research literature, artistic-research literature,
  participant-cited works) now also list "· Bibliography" as a destination.
- bibliography.html "Back to top" targeted #top with no such id — id="top"
  added to its nav. (Caught by the automated anchor check.)
- Bibliography card stat "~170 works" made precise: "184 entries."

**Verification suite run across all nine HTML files** (scripted, results
clean unless noted): HTML tag balance via parser (0 errors); every internal
file link and #anchor resolves (1 failure found and fixed: the #top case
above); no duplicate element ids; every inline <script> block plus
assets/theme.js passes `node --check` (0 syntax errors); no literal \uXXXX
escapes outside <script> blocks (all in-script occurrences are legitimate
JS string escapes in embedded JSON); sitemap.xml entries ↔ files match
1:1 in both directions; exactly one cdrs-nav per page, all nine links
present, current-page marker correct on every page; SVG doc-node geometry
checked programmatically (8 nodes, zero overlaps, all within viewBox) and
visually via rasterization.

**Not changed, on purpose:** the glossary card's historical narrative of
prior editions; compact inline citations across all documents (compact by
design); the pedagogy atlas's SRC/CAN/GEN apparatus; glossary provenance
chips (course-material sourcing, out of scope for the scholarly
bibliography).

---

## 2026-07-19 (third change set) — Citation hyperlink layer + external-link policy + verification sweep

**What was asked.** Hyperlink all source references to the Bibliography;
link to canonical external webpages where appropriate, opening in a new
tab; and re-verify content and coding site-wide.

**Bibliography anchors.** Every entry now carries a stable id
(`#ref-<key>`, 186 entries), with a `:target` highlight so arriving at an
entry visibly marks it. Internal citation links across the system resolve
to these anchors and open in the same tab; only external links open new
tabs (all carry `target="_blank" rel="noopener noreferrer"` and a ↗ mark).

**Link layer, by document (320+ internal citation links total):**
- theories.html — all 76 compact key-text citations link to their
  Bibliography entries; all 69 consolidated-sources entries carry a
  "→ bib" jump to their tier placement and notes; the Tlostanova DOI is
  now a live link.
- atlas-research.html — 32 reference-list author heads link to their
  entries (badges untouched); 12 pre-existing external links (RCA, DRS
  library, Taylor & Francis DOIs, OAPEN, etc.) were missing the new-tab
  policy and now carry it.
- atlas-pedagogy.html — 9 citations whose works appear in the Bibliography
  link there (Schön, Simon, Cross, Rittel & Webber, Jones, Papanek, IDEO
  Field Guide, Garland, Gropius); the three plain-text DOIs and the HBR
  design-thinking URL are now live external links. Citations to works NOT
  in the Bibliography (Kolb, Vygotsky, Lave & Wenger, Shulman, Dorst,
  etc.) are left as full inline citations — adding ~40 pedagogy-only works
  to the Bibliography is a separate decision, not silently made here.
- map-crossovers.html — 91 source references inside the panel data now
  link to Bibliography entries (rendered via the existing innerHTML path;
  all script blocks re-verified with node --check).
- atlas-field.html — the named-publication cells (Bennett essay, Davis,
  Jones, Garfield) link to their entries.

**External canonical links added (19 in the Bibliography):** W3C WCAG 2.1
and 2.2 TR pages, NN/g heuristics, Google PAIR guidebook, Material Design,
Lightning Design System, Vitsœ (Rams), atomicdesign.bradfrost.com, IDEO
designkit.org, ISO 14040:2006 catalog page, Ellen MacArthur Foundation
report page, Benjamins (IDJ), Taylor & Francis (Design and Culture), OUP
(JDH), Communication Arts, Slanted, Eye on Design, and doi.org links.
The five less-obvious URLs were verified by live search before linking;
none were written from memory.

**Two omissions caught and fixed (named, per policy):** the IDEO Field
Guide and Lorenc/Skolnick/Berger's *What Is Exhibition Design?*
(RotoVision, 2007) were in the verified citation set but had been dropped
from the generated Bibliography — the first by an incomplete tier list,
the second missed entirely. Both found by automated audits (a
data-vs-page orphan check; a docx-vs-data surname sweep), both inserted
alphabetically in Tier 6. Entry count corrected 184 → 186 everywhere it
appears. One keytext correction: theories' Drucker & McVarish key text
updated 2008 → 2009 to match the verified ©2009 first-edition record.

**Process disclosure.** During this change set a build-script import
accidentally re-executed the generator, which re-ran the previous change
set and briefly (a) reverted three hand-applied wording patches
(re-applied and re-verified: the Foss-conflict language in two files and
the Bibliography's #top anchor) and (b) duplicated one sentence in the
research atlas's lede (deduplicated). The generator is now guarded
(`__main__`) and its cluster lists extracted to an import-safe module, so
the class of error cannot recur. All three files were re-diffed after
remediation.

**Verification (final, all nine HTML files):** tag balance clean; zero
nested anchors (checked — the wrap-everywhere strategy makes this the key
regression risk); every internal link, #anchor, and cross-file
#ref-anchor resolves; every external link carries target+noopener; every
inline script block passes node --check (including the heavily edited
crossovers data script); no literal escapes outside script blocks; sitemap
↔ files 1:1; one nav per page with Bibliography present.

---

## 2026-07-20 — Adweek verified as advertising-glossary source, Domain Intersection Map margins reduced, Pedagogy Atlas citations added to Bibliography

**Adweek Glossary of Marketing Terms verified and applied (14th glossary edition).**
Live-verified at adweek.com/glossary (retrieved 19 Jul 2026). Matched by exact
title against the Advertising & Persuasion domain: 7 terms upgraded from
general-knowledge-only to sourced — Brand Awareness / Brand Recall (partial:
Adweek verifies "Brand Awareness" specifically, not the compound term's
"Brand Recall" half, noted in the definition), Brand Safety, Influencer
Marketing, Native Advertising, Programmatic Advertising, Public Relations
(PR), and Retargeting. Provenance (`p`) and display (`s`) fields rebuilt to
match the site's existing named-source-before-General-knowledge display
convention. No new terms added — verification only, as instructed. Source
registered on the hub's Reference glossaries source node and its SVG
sub-label. Edition markers bumped 13th → 14th throughout (title, hub SVG
node, hub card, README document table).

**Domain Intersection Map (map-intersections.html): margins reduced,
diagram enlarged.** The SVG's viewBox margin was cut from 170px to 70px per
side (viewBox now `-70 -70 900 900`, was `-170 -170 1100 1100`), enlarging
the whole diagram — and, since font sizes are defined in the SVG's own
coordinate space, all of its text — by roughly 22% at a fixed container
width. The new margin was not guessed: label bounding-box extents were
computed at the live node-label font size (12.5px) for all eight domain
labels, using the same polar-coordinate and text-wrapping logic as the
page's own script. Worst-case overshoot beyond the 760×760 content canvas
was ~52px (right edge, "& Editorial Design" off "Print & Editorial Design"
at 0°, text-anchor start) and ~41px (left edge, "Design Process" at 180°,
text-anchor end); top and bottom labels stay inside the canvas with no
overshoot. 70px keeps an 18px+ safety margin over the tightest measured
side. Verified by rasterizing a coordinate-accurate static replica of the
diagram at the new viewBox before editing the live file — no clipping.
Comment above the `<svg>` tag rewritten to record the calculation so a
future edit to a domain name re-checks this margin rather than assuming it
still clears.

**Pedagogy Atlas citations added to the Bibliography — new Tier 7.** 41
works added as "Tier 7 · Design pedagogy & learning theory": foundational
learning theory (Dewey, Kolb, Polanyi, Vygotsky, Lave & Wenger, Wenger,
Meyer & Land), the design-methods and design-thinking literatures and
their critiques (Alexander, Rittel, Rowe, Brown, Johansson-Sköldberg et
al., Iskander, Vinsel), participatory and critical design traditions (Ehn,
Greenbaum & Kyng, Dunne & Raby, Dunne, Sanders & Stappers, Irwin,
Costanza-Chock), and the IDEO/Stanford process lineage (the HCD Toolkit,
Method Cards, the Kelley trade books). Bibliography entry count: 186 → 227.
39 citations across the Pedagogy Atlas now link to their Bibliography
entries; two already-linked Field Guide references were left untouched
rather than double-wrapped.

Verification tier, by entry: journal volume/issue/page and DOI facts for
Shulman (2005), Kapur (2008), Sanders & Stappers (2008), Irwin (2015),
Johansson-Sköldberg et al. (2013), Iskander (2018), Vinsel (2018),
Costanza-Chock (2020), ISO 9241-210 (2019, 2nd ed.), and Mignolo & Walsh
(2018) were checked live against publisher/journal records this pass.
Dorst & Cross (2001), Dorst (2011), Brown (2008), and the two IDEO
toolkits were ported from figures the Pedagogy Atlas had already verified
in-document (DOIs, ISBNs, publisher records) rather than re-verified from
scratch. The remaining ~20 entries — well-established monographs such as
Dewey, Kolb, Polanyi, Vygotsky, Lave & Wenger, Wenger, Rowe, Alexander,
Ehn, Greenbaum & Kyng, the Kelley trade books, and both Design Council
reports — are marked as standard bibliographic attributions not
independently re-verified this pass, the same disclosure the site already
uses for "The Kelley lineage" entry in the Pedagogy Atlas itself. The
Design Council's Eleven Lessons entry preserves the atlas's own named
three-way date conflict (2004 per the Design Council's site, 2005 per
scholarly convention, 2007 as commonly cited for the report itself) rather
than resolving it.

**Nikon photography glossary — evaluated, not yet integrated.** Dan asked
Claude to consider nikonusa.com/learn-and-explore/photography-glossary as
a verification source for the Photography, Video & Audio domain (80
entries, 76 GEN-only). Live-fetched and reviewed; the source is
overwhelmingly Nikon-branded hardware and software terminology (camera
model features, proprietary AF/metering systems, in-camera modes) rather
than general photographic-discipline vocabulary. Against the portion
retrieved (roughly A–I of an extensive multi-page glossary), three exact
title matches were confirmed: Aspect Ratio, Depth of Field, and Histogram.
Given the low yield and the source's composition, this was surfaced to Dan
as a finding rather than applied — no glossary edits were made. Fetching
the remaining letters (J–Z) to check for further matches (candidates worth
checking: Rule of Thirds, White Balance, Frame Rate, RAW Format) is a
straightforward next step if wanted.

**Verification of this change set.** Full sweep re-run across all nine
HTML files: tag balance clean; zero nested anchors; every internal link,
#anchor, and cross-file #ref-anchor resolves; every external link carries
target="_blank" and rel="noopener noreferrer"; every inline script block
passes `node --check`; sitemap ↔ files 1:1; one cdrs-nav per page with
Bibliography present and the current-page marker correct.

---

## 2026-07-20 (later) — Pedagogy citations fully linked, Tier 7 repositioned, Theories links audited

**Pedagogy Atlas: second citation apparatus linked.** The 20 July pass linked
the Pedagogy Atlas's chapter-content citations (chapters I–V prose) to the
Bibliography, but missed the atlas's second, glossary-style citation
apparatus (the `pa-g` blocks powering its search/filter index) entirely —
61 of 63 citations there had no link. All 61 are now linked; the remaining
2 are genuinely uncitable ("Editorial definition.", no source) and stay
unlinked correctly, alongside 9 other pa-g entries already identified as
editorial-only. Four more chapter-content citations were also found
unlinked on this pass — Dorst & Cross (2001) and Dorst (2011)'s full
in-text citations (previously only their DOI was a live link, not the
author-name head), plus "Meyer & Land (2003/2006)" and the "Cross… /
Jones…" pointer in the design-methods retraction entry — all four now
link. Pedagogy Atlas bib-jump link count: 117.

**New Bibliography entry: Tuck & Yang (2012).** Auditing turned up a
citation cited three times in the Pedagogy Atlas and once in Theories'
sources list, but never added to the Bibliography itself: Tuck, E., &
Yang, K. W. (2012), "Decolonization is not a metaphor," *Decolonization:
Indigeneity, Education & Society* 1(1), 1–40. Added to Tier 5a
(alphabetically between Tschichold and Tunstall, alongside the rest of the
decolonial-design cluster) and linked from all four citing locations.
Bibliography entry count: 227 → 228.

**Tier 7 moved.** The 20 July pass appended the new "Tier 7 · Design
pedagogy & learning theory" section in the wrong place — after
Periodicals, Standards, and Flagged, rather than immediately following
Tier 6 as the numbering implies. Moved to sit directly after Tier 6 and
before Periodicals; the table of contents already pointed there correctly,
only the section body was out of order.

**Theories.html link audit.** Checked every keytext block, every
consolidated-sources `<li>`, and every existing bib-jump href against the
live Bibliography. Two gaps found and fixed: Barthes' 1964 *Elements of
Semiology* was named in a keytext line but only the adjacent 1957
*Mythologies* citation was linked; and the Tuck & Yang sources-list entry
(above) was unlinked because it didn't yet exist in the Bibliography. One
item confirmed correctly unlinked on inspection: Meggs (1997), "Is a
Design History Canon Really Dangerous?" — its own note already states the
publication venue was never independently verified, so it stays
uncitable rather than being linked to a guessed source. All 184 other
bib-jump/href targets in theories.html resolve to real Bibliography ids;
zero broken links found.

**Verification.** Full sweep re-run across all nine HTML files: tag
balance clean, zero nested anchors, every internal link/#anchor/#ref
resolves, every external link carries target="_blank" and
rel="noopener noreferrer", every inline script passes `node --check`.

---

## 2026-07-20 (final) — "Connects →" cross-reference cards: 17 unlinked citations found and fixed

Dan flagged that the adjacent-disciplines cards seemed to have unlinked
references and asked whether that was correct. It wasn't — this was a real
gap, distinct from the map-crossovers.html domain cards (whose `co.sources`
field was already fully linked in an earlier pass). The gap was in
theories.html's 32 "Connects →" / "Contested →" notes — the short
cross-reference line appended to every keytext block describing how that
framework relates to its neighbors, one of which literally reads "Adjacent
to but not synonymous with design justice (Costanza-Chock)." These notes
routinely name a scholar in passing (a contested attribution, a shared
lineage, a parallel critique) without the formal citation apparatus a
keytext or sources-list entry gets, and none of them had ever been linked.

Audited all 33 "connect" divs by cross-matching every mention against the
228 Bibliography surnames. Found and linked 17 previously-bare mentions
across 16 divs: Hall, Kress, Barthes (three separate mentions), Shannon–
Weaver, Saussure, Peirce, Itten, Albers, Weingart, Arnheim, Tschichold,
Bourdieu (twice), Appadurai, Miller, Scotford (twice), Costanza-Chock,
Smith, Lupton & Miller, Tuck & Yang, and Tunstall. One false positive
correctly excluded: "Material Culture" contains the word "Material" but
isn't a citation to the Material Design standards entry. Re-verified
afterward that zero bib_data surnames remain unmatched anywhere in the
connect apparatus. theories.html now carries 208 total links to the
Bibliography, up from 184.

**Also fixed as originally requested:**
- Pedagogy Atlas: its second, glossary-style citation apparatus (63
  entries powering the atlas's own search index) was entirely unlinked in
  the prior pass — 61 of 63 fixed; the remaining 2 are genuinely
  uncitable editorial definitions. 4 more chapter-content citations
  (Dorst & Cross, Dorst 2011, Meyer & Land, a Cross/Jones pointer) caught
  in the same audit.
- New Bibliography entry: Tuck & Yang (2012), cited four times across
  Theories and Pedagogy but never added — now Tier 5a, entry 228.
- Tier 7 moved from after Flagged to directly after Tier 6, matching the
  table of contents (which already pointed there correctly).
- Two further theories.html gaps closed: Barthes' 1964 *Elements of
  Semiology* (only the adjacent 1957 citation was linked) and the
  sources-list Tuck & Yang entry (unlinked because the Bibliography entry
  didn't exist yet).

Full verification suite re-run clean: tag balance, zero nested anchors,
every link/#anchor/#ref resolves, every external link carries
target="_blank" and rel="noopener noreferrer", every inline script passes
`node --check`.

---

## 2026-07-20 (recheck) — Crossover map: 16 more unlinked citations found in the pop-up panels

Dan reported still seeing unlinked sources in the Crossover map's adjacent-
disciplines pop-up (the panel that opens from a domain card). Rechecked
and found the real bug: many of the 27 crossover entries pack more than
one citation into a single `sources` field, separated by semicolons — and
the earlier linking pass had only linked the first (or some) citation in
each multi-citation string, leaving the rest bare. All three rendering
surfaces (the pop-up panel, the field-map cluster view, and the sources
list) read from the same underlying field, so this bug was visible in all
three, though the pop-up is what Dan was looking at.

Audited every entry by splitting its sources string on semicolons
(carefully excluding the semicolons inside HTML entities like &amp; and
&ndash;, which produced false positives on the first pass) and checking
each resulting chunk for a link. Found 16 unlinked citations across 13
entries. 11 matched existing Bibliography entries and were linked
directly: Ehses (Rhetoric & Communication Theory), Norman's *Design of
Everyday Things* (Cognitive Psychology), Card, Moran & Newell (HCI),
Cairo's *Functional Art* (Data Science), Salesforce Lightning and Google
Material Design (Computer Science — both already registered as Standards
entries), Eye on Design (AI & Machine Learning), Olins and Neumeier
(Marketing & Consumer Research), Foster (Economics & Political Economy),
and Williamson (Media Studies & Visual Culture).

5 works had no Bibliography entry at all and were verified live before
being added — Heller & Arisman's *The Education of an Illustrator* (2000,
Allworth Press), Sean Hall's *This Means This, This Means That* (2007,
Laurence King), Kahneman's *Thinking, Fast and Slow* (2011, Farrar,
Straus and Giroux), Nielsen & Pernice's *Eyetracking Web Usability* (2010,
New Riders — copyright page dated 2010, though some catalog listings give
first printing as December 2009, noted), and Norman's *Emotional Design*
(2004, Basic Books — hardcover first issued 2003, noted). All 5 added to
Tier 6, alphabetically. Bibliography entry count: 228 → 233.

3 mentions were checked and correctly left unlinked, as no specific
citable work exists behind them: "professional practice literature on
editorial art direction" (Photography), "IDEO Human-Centered Design
methods literature" as a general pointer rather than a specific title
(Sociology & Anthropology), and "packaging design professional literature
(Pentawards, Dieline)" (Industrial & Product Design).

Re-verified after fixing: zero unlinked citation chunks remain in any of
the 27 crossover entries. Full site verification suite re-run clean.

---

## 2026-07-20 (audio/video sourcing) — Four glossaries evaluated, two foundational textbooks added

**Web glossaries evaluated for Photography, Video & Audio domain sourcing** (Dan's follow-up after Nikon and Bext scored poorly): No Film School, PetaPixel, B&H eXplora, and Sweetwater's inSync glossary — plus Ocvirk's *Art Fundamentals* and Stewart's *Launching the Imagination*, added directly to the Bibliography as verified sources at Dan's request. No glossary edits were made this pass; the web-source evaluations are findings for Dan's review, not applied changes.

- **No Film School** (nofilmschool.com/filmmaking-terms, updated Jun 2025) — independent film-production trade press. Strongest of the four: 13 domain terms covered by exact or fully-compound matches — Rule of Thirds, Depth of Field, Foley, Sound Design, Non-Linear Editing (NLE), Compositing, Aspect Ratio, Voiceover, Montage/Jump Cut (both halves), Color Grading vs. Color Correction (both halves), Coverage & Shot List (both halves), Frame Rate & Resolution (both halves), Chroma Key/Green Screen (Green Screen half). No Film School also publishes companion glossaries (Editor, Film Theory, Cinematographer) not yet checked, which likely add more.
- **PetaPixel** (petapixel.com/photography-terms-glossary, updated Sep 2024) — independent photography journalism, not a retailer. 8 matches: Photogram, Exposure Triangle, Product Photography, Rule of Thirds, White Balance, Depth of Field, Histogram, Photography. Has companion Lighting Terms and Videography Terms glossaries not yet checked.
- **B&H eXplora** (bhphotovideo.com, last updated 2016) — neutral multi-brand retailer, but this glossary is hardware/spec-focused and dated. 4 matches: Aspect Ratio, Depth of Field, Histogram, White Balance. B&H has other topic glossaries (e.g. Lighting Terms) not yet checked.
- **Sweetwater inSync** (~4,900 terms since 1997, still actively maintained) — professional audio retailer with real trade-press standing. Structured as ~4,900 individual pages rather than one consolidated glossary, so only spot-checked: confirmed "Mixing" as an exact match; did not exhaustively check Mastering, Sound Design, Podcast, Voiceover, or the Sonic Logo/Production Audio compounds.

Ranking for future integration, if Dan wants to proceed: No Film School first (clear best fit, highest yield), PetaPixel close second, Sweetwater worth a fuller pass given its scale, B&H weakest of the four (thin, dated, hardware-oriented) — comparable to Nikon rather than to Adweek.

**Two foundational design textbooks added to the Bibliography, Tier 6** (peripheral), at Dan's explicit request:
- Ocvirk, O. G., Stinson, R. E., Wigg, P. R., Bone, R. O., & Cayton, D. L. (2012). *Art Fundamentals: Theory and Practice* (12th ed.). McGraw-Hill Education. First published 1962; now in its 12th edition — cite the edition consulted.
- Stewart, M. (2019). *Launching the Imagination: A Comprehensive Guide to Basic Design* (6th ed.). McGraw-Hill Education. Published January 2018, 2019 copyright; split-volume 2D/3D editions also exist.

Both verified via publisher/bookseller records (multiple editions confirmed for each; most recent edition cited per project convention). Neither is yet cited by any specific passage in the site — they are registered Bibliography entries only. No glossary term, theories.html keytext, or crossover-map source currently points to either; that linking is a separate step if Dan wants these integrated into content rather than just held as reference entries. Bibliography count: 233 → 235.

---

## 2026-07-20 (glossary, 15th edition) — Four production-craft glossaries applied to Photography, Video & Audio domain

Following the source-evaluation work in the prior session, Dan asked whether
the compound domain terms (e.g. "Color Grading vs. Color Correction",
"Coverage & Shot List") should be split into atomic entries to match how
No Film School structures its glossary. Recommended against it and Dan
agreed: inspecting the actual entry data showed every compound term's
definition is written as a genuine comparison — "correction normalizes...
grading then applies...", not two unrelated terms bundled for convenience.
Splitting would delete that comparative content, and several entries carry
a `cid` tracing to the original crowdsourced concept data (tag_concept.xml),
so splitting would also mean inventing concept identities the source data
doesn't have. Compound terms were verified and cited as-is, using the same
partial-match/caveat pattern already established for Brand Awareness/Brand
Recall (Adweek, 19 Jul).

**24 terms upgraded**, all verified by exact or full-compound title match
against four glossaries: No Film School (nofilmschool.com — five separate
glossary pages fetched in full: Filmmaking Terms, Editor Glossary, Film
Theory Terms, Cinematography Terms, Production Assistant Glossary),
PetaPixel (petapixel.com/photography-terms-glossary), B&H eXplora
(bhphotovideo.com — digital photography terms), and Sweetwater's inSync
glossary (individual pages spot-checked; not a single consolidated list).

Full matches (21): Rule of Thirds, Depth of Field, Foley, Sound Design,
Non-Linear Editing (NLE), Compositing, Aspect Ratio, Voiceover, White
Balance, Photogram, Product Photography, Histogram, Continuity Editing,
Cinematography, Montage / Jump Cut, Color Grading vs. Color Correction,
Coverage & Shot List, Frame Rate & Resolution, Codecs & Containers,
Lens: Prime / Zoom & Focal Length, Exposure Triangle (Aperture / Shutter /
ISO). For the multi-part compound terms, No Film School defines both
halves separately (e.g. Montage and Jump Cut are each their own headword),
so these count as full verification, not partial.

Partial matches (3), noted in the entry's definition text exactly as the
Brand Awareness/Brand Recall precedent established: Chroma Key / Green
Screen (No Film School verifies "Green Screen/Blue Screen" specifically,
not "Chroma Key" as its own headword), Photography (Commercial &
Editorial) (PetaPixel verifies the general term "Photography," not the
commercial/editorial application scoping), and Mixing & Mastering
(Sweetwater verifies "Mixing" as its own dedicated glossary entry;
"Mastering" is covered extensively in Sweetwater's articles but has no
dedicated glossary headword there).

No new glossary terms were added — verification only. Domain effect:
Photography, Video & Audio's GEN-only share fell from 76/80 to 54/80.
Glossary edition: 14th → 15th. Sources registered on the hub's Reference
glossaries node and SVG sub-label ("UX, Adweek, NFS + 3"), width-checked
at 152px against ~196px available before committing, per the labeling
discipline established during the Domain Intersection Map margin fix.

**Verification.** glossary.html's embedded JSON re-parsed clean (1,802
entries intact); HTML tag balance clean on glossary.html and index.html;
edition markers synced across glossary.html (title, h1), index.html (SVG
node, card), and README's document table.

## Change log — thesis integration across all nine documents (21 Jul 2026)

**What changed.** A project thesis was added to the Overview (index.html) and
woven, as an introduction, into every section document. The thesis derives from
two project-held author documents: Wong, *The Need for a Classification System
in Communication Design* (proposal) and the companion abstract draft *The Need
for an Open Source Taxonomy to Identify Unique Research Concepts in
Communication Design*.

**Status disclosure — the proposal was rejected.** The proposal was submitted
for publication and not accepted. It is therefore presented site-wide as the
system's *founding position statement*, never as published scholarship; the
Overview's thesis-provenance note and the Bibliography entry both state this
explicitly. Its scholarly citations retain their own standing independent of
the proposal's status.

**Per-document changes.**
- index.html — thesis statement (`.thesis-statement`, anchor `#thesis`) and a
  provenance note (`.thesis-src`) inserted in the hero above the existing
  descriptive paragraph. New styles use theme variables only.
- glossary.html — `.doc-thesis` intro (concept-over-term principle,
  disambiguation, specific-concept aim) between masthead and "How to use this
  glossary." Term data untouched; **edition not bumped** (the edition log
  tracks glossary content; this is a document-frame change, recorded here
  instead — reverse this call if the edition log should own it).
- map-intersections.html — intro paragraph (interdisciplinarity, overlaps made
  visible) + source line, above the existing interaction note.
- atlas-field.html — thesis-woven deck paragraph (field expansion, map of the
  discipline's territory) + `.thesis-src` source line.
- map-crossovers.html — `.doc-thesis` intro (cross-disciplinary term
  divergence, disambiguation; the proposal's own information-design /
  interaction-design examples) between masthead and view tabs.
- theories.html — lead paragraph in `.intro` (classical / prototype /
  part-whole frames; choice of frame as theoretical commitment) + source line.
- atlas-research.html — intro paragraph in mast (industry rigor + secrecy,
  thin methods training, open vs. proprietary search logic) + source line.
- atlas-pedagogy.html — `.pa-thesis` intro; the extension of the
  classification to pedagogy is explicitly flagged **GEN** in the source line
  (the proposal establishes the pedagogical problem but does not itself claim
  teaching as part of the record).
- bibliography.html — intro lead sentence; new **Thesis sources** section
  (anchor `#thesis-sources`, TOC entry) with 8 entries. Verification labels
  per entry; this group was added 21 Jul 2026 and was not part of the 19 Jul
  verification pass.
- sitemap.xml — all lastmod dates bumped to 2026-07-21.

**Strip-down audit.** Every sentence in the thesis and the nine intros traces
to the two named documents; source lines appear on each. One claim is tagged
GEN (pedagogy extension, above). Excluded from all site copy as failing the
guarantee: the proposal's English-overtook-German-after-WWI claim (sole source
harrowhouse.com, unverifiable), its internet-as-pubescent-being editorial
passages, and its dated Wikipedia "multiple issues" snapshot (retrieved
1/1/2020).

**Named corrections found during verification (21 Jul 2026).**
1. Winston, Chaffin & Herrmann (1987) — verified against the project-held full
   text (*Cognitive Science* 11, 417–444): the proposal's reference misspells
   "Herrmann" as "Herrman" and attributes all three authors to Trenton State
   College; the paper's byline places Herrmann at Hamilton College. Corrected
   in the Bibliography entry with a note.
2. Bruno & Richmond (2003) — the proposal's reference omitted the article
   title; recovered by live verification: "The Truth About Taxonomies,"
   *Information Management Journal* 37(2), 44–53 (ARMA, Mar/Apr 2003).

**Verification steps.** (1) All eight FullBleed proposal pages and both
companion documents read in full; every intro claim mapped to a page or
document before writing. (2) Winston full text opened and byline/journal facts
confirmed. (3) Bruno & Richmond title confirmed via two independent live
sources. (4) Each edited page checked for theme-variable-only styling (no new
hardcoded colors) and for the shared nav remaining intact.

## Change log — "What kind of system is this?" self-classification (21 Jul 2026)

**What changed.** A short self-classification section added to the Overview
(index.html, `#kind-title`), between Methodology and the Sources Index. It
locates CD·RS on the standard KOS spectrum: a faceted classification system
carrying a controlled vocabulary at its base and an encyclopedic apparatus
above it; descriptively sourced, normatively structured, research-oriented in
purpose; synchronic rather than historical in view. It explicitly disclaims
two labels — formal ontology (no axioms or machine subsumption; noted as the
same line the tabled six-vs-eleven-roots question sits on) and knowledge graph
(graph-shaped, but rendered for humans, not a queryable semantic store).

**Sourcing.** KOS-spectrum framing: Hodge (2000), live-verified 21 Jul 2026
against CLIR's own record (pub91, April 2000); Zeng (2008), canonical, not
re-verified against the journal. Classification/nomenclature vocabulary:
Vandamme (2015). Facet apparatus: Bruno & Richmond (2003). Placement rule and
concept-over-term principle: the project thesis. The application of these
categories to this system itself is flagged GEN in the section's source line.

**Bibliography.** Hodge and Zeng entries added to Thesis sources with notes
stating they are cited only by the self-classification section, not by the
thesis proposal. The Thesis sources tier-intro updated to say so, and the
section's entries reordered to comply with the page's alphabetical-within-tier
rule (the two Wong documents lead; scholarly works follow A–Z).

**New styles.** `.kindsec`, `.kind-p`, `.kind-src` — theme variables only.

## Change log — polyhierarchy diagram added to glossary guide (21 Jul 2026)

**What changed.** An inline SVG diagram added to glossary.html's "How to use
this glossary" guide, directly after the "Why a term can have more than one
Trail" paragraph, as its visual companion. It draws one real entry — Graphic
Design — with every edge type the glossary supports: two parent Trails to the
Concepts root (Concepts › Design › Communication Design › Graphic Design, and
the shorter Concepts › Design › Graphic Design), four facet assignments
(Domain, Kind, Media, Scope), and dashed lateral edges (involves/related;
cross-references). Styles are theme-variable only (`.pv-*` classes); the SVG
carries role="img" and an aria-label.

**Counts verified against the 15th-edition dataset (21 Jul 2026):** 1,802
concepts · 1,881 parent edges · 77 concepts with 2+ parents (zero cycles) ·
154 involves + 62 related lateral edges · 174 entries with xrefs · facets
Domain 18, Kind 11, Media 7 (24 entries multi-valued), Scope 2. Six roots
confirmed from the concept map: Tools, Concepts, Method, Event, Place, Eras.

**Named correction (chat-side, recorded here for the record).** An earlier
in-conversation sketch of this diagram described the taxonomic spine as
mono-hierarchical with a single placement per term, and cited "834 typed
relationships." Both were wrong against the built glossary: the taxonomy is a
DAG with 77 multi-parent concepts (as the guide's own prose already states),
and 834 is the relationship count of the *source* XML (638 concepts), not the
built 1,802-concept map, whose lateral edges number 154 + 62. The site diagram
reflects the verified figures.

**Provenance.** The diagram is editorial synthesis (GEN) rendered from the
glossary's own CMETA concept map and entry facet data; both caption lines
state this and the verification date. Glossary term data untouched; edition
not bumped (same reasoning as the thesis-intro entry above).

## Change log — Domain Intersection Map: Theoretical Basis & Provenance section + measured link layer (21 Jul 2026)

**What was asked.** A scholarly argument for the eight-domain diagram — its
theory, its relationships' origin, its authorship — and implementation of an
automatically updating empirical layer for its edges (Dan's framing adopted
verbatim in the display copy: counts "concretize" the relationships; the
glossary is not exhaustive, so they are not a measure of true strength).

**Origin investigation (#3), answered by elimination.** The eight-domain set
was checked against every candidate source. Four of the eight names (Visual
Communication; Environmental & Spatial Design; Design Process & Strategy;
Theory, History & Criticism) appear nowhere in tag_concept.xml, whose actual
top level is the six upper-ontology roots; the others exist there only as
narrower concepts (Branding, Advertising, Interactive Design), never as an
eight-way partition. The founding proposal defines the field discursively and
enumerates no domains; the Field Atlas categories are the workshop rooms' own
groupings and don't match. Conclusion, stated in the new section: the set is
an editorial synthesis (GEN) produced in working dialogue — general knowledge
of the field's professional/curricular organization, shaped to cover the
corpus — consistent with what the map's interaction note has always
disclosed. Origin is distinguished from warrant.

**The warrant (new section content).** The section argues the
academic–pedagogical case Dan proposed, made precise: six of the eight are
the field's recognizable practice areas; the distinctive academic move is
elevating Design Process & Strategy and Theory, History & Criticism to
coordinate rank — in practice they are overhead and optional; in the academy
they are taught and examined as subjects. Theoretical footing: domain
analysis (Hjørland & Albrechtsen 1995 — classification is adequate relative
to the discourse community it serves, and this corpus's communities are the
design academy's), purpose-relativity per the KOS literature already cited by
the Overview (Hodge 2000; Zeng 2008), and the 7±2 top-tier span from Bruno &
Richmond 2003 (a consistency, not a derivation). The count of eight itself is
defended empirically (coverage/balance) and flagged GEN and revisable.

**Measured link layer implemented (Cross-domain relationship counts).**
map-intersections.html now fetches the deployed glossary.html on every page
load, extracts DATA and CMETA via a balanced-bracket scanner, and counts the
taxonomy relationships (child/involves/related) whose endpoint concepts carry
*different* glossary Domain values, aggregated to the eight diagram domains
via DOMAIN_TO_GLOSSARY. Counts appear in the edge tooltip, in the selected
domain's panel per intersection, in a third center label (total), and in a
method note under the legend carrying Dan's caveat. Fully automatic: deploy a
new glossary and the numbers update on next load; no build step. Graceful
degradation: if the fetch or parse fails, the map renders exactly as before.

**Methodological decision, disclosed.** Relationships between two concepts in
the SAME glossary domain are excluded even where that domain maps to two
diagram domains: Layout, Composition & Editorial maps to both Visual
Communication and Print & Editorial Design, and counting intra-Layout
relationships as cross-domain evidence inflated that pair from 27 to 206 in
testing. The exclusion is documented in the page's code comment and the
section.

**Domain assignments (three added, one refused).** Per Dan's instruction to
attempt all four unmapped glossary domains: Photography, Video & Audio →
Visual Communication; Business, Legal & Professional Practice → Design
Process & Strategy; Social Practice & Ethics → Theory, History & Criticism.
Tools & Technology is deliberately left unmapped — its tool set spans print
(InDesign, Quark) and digital (After Effects) production equally, so any
single assignment would distort the counts; flagged as the anticipated
difficulty, reversible with a one-line change if Dan prefers assignment.
Disclosed side effect: DOMAIN_TO_GLOSSARY also drives openVocab(), so the
three domain panels' "Browse this domain's terms" links now include the newly
assigned glossary domains — coherent with the assignments, not independently
requested.

**First computation (21 Jul 2026): 325 cross-domain links across 24 of 28
pairs.** Strongest: Process & Strategy × Theory/History/Criticism (50);
Print & Editorial × Theory (43); Visual Communication × Theory (42). Four
pairs measure zero: Visual×Environmental, Identity×Digital,
Identity×Environmental, Advertising×Environmental. **Named divergence,
preserved not resolved:** Identity & Branding × Digital & Interactive is
tiered *core* editorially (design systems as digital identity) but measures
zero links — a claim about contemporary practice the taxonomy's current
relationships do not record. Stated in the section as a finding about the
record, not a verdict on the relationship. Tiers remain editorial throughout.

**Bibliography: 4 new entries in Thesis sources (235 → 239), all
live-verified 21 Jul 2026, each noted as cited only by the map's Theoretical
Basis section:** Ranganathan 1933 (Colon Classification, Madras Library
Association — verified via LIS reference sources) and 1937 (Prolegomena,
Madras Library Association / Edward Goldston — verified via an Internet
Archive scan; 3rd ed. 1967); Hjørland & Albrechtsen 1995 (JASIS 46(6),
400–425, DOI confirmed via Wiley and ERIC EJ507058); Callon, Courtial,
Turner & Bauin 1983 (Social Science Information 22(2), 191–235, DOI
confirmed via SAGE; title-variant conflict "From translation(s)" preserved,
publisher's plural adopted). Tier intro updated. Rosch 1978 and Winston,
Chaffin & Herrmann 1987 already present; the section links them.

**Also synced:** hub Intersections card (description + sources note) records
the section and measured layer; sitemap lastmod bumped for index,
map-intersections, bibliography; the map's synthesis method-note gains a
pointer to the new section. Section and note styling via theme variables
only.

**Verification.** The injected counting JS was executed in Node against the
real glossary.html and reproduces the independent Python computation exactly
(325 total; all 24 per-pair values identical). The map's inline script
(28,040 chars) passes node --check. Tag balance verified on all four
modified HTML files; every new bibliography.html#ref-* anchor target
confirmed present; DOMAIN_TO_GLOSSARY values re-verified against the
glossary's actual 18 Domain facet values (Tools & Technology the sole
intentional exclusion).

## Change log — node 6 renamed "Design Research, Process & Strategy"; 3-line label wrap (21 Jul 2026)

**Rename, at Dan's direction, ampersand form confirmed.** The eight-domain
taxonomy's node 6 "Design Process & Strategy" is now "Design Research,
Process & Strategy" — surfacing in the diagram's own labels the research
content the node already subsumes (the glossary's entire Research Methods &
Epistemologies domain, 128 entries, alongside Design Process & Strategy's
89), and making the academic-pedagogical warrant visible in the taxonomy
rather than only in the Theoretical Basis prose. Alignment verified before
executing: "Design Research" is the Research Processes atlas's named
tradition I; the intersections category card is already titled "Design
Process, Research & Strategy Methods"; nothing on the site uses the term in
a conflicting sense.

**Scope boundary, held deliberately:** the rename applies to the diagram
node only. The glossary's Domain facet value "Design Process & Strategy"
(89 entries, a ?dom= deep-link parameter, and a DOMAIN_TO_GLOSSARY key)
is untouched — the node name is a superset label over three facet values,
and renaming the facet would cascade through the glossary for no gain.
Verified after editing: exactly one occurrence of the facet string remains
in map-intersections.html (the mapping array), as intended.

**Surfaces changed:** map-intersections.html (domains array; mapping-array
comment; Theoretical Basis warrant paragraph; viewBox measurement comment)
and map-crossovers.html (display name in its domain data — matching there
is by numeric id and the "Process" short label is unchanged, so no
crossover-entry references were affected).

**3-line label wrap.** The label-wrapping logic now breaks a name at its
comma, in addition to the established break before "&", when the pre-"&"
segment exceeds 16 characters — yielding "Design Research," / "Process" /
"& Strategy" at the wheel's tightest (180°, text-anchor:end) position while
leaving "Theory, History & Criticism" (pre-"&" segment 15 chars) and every
other label on its existing pattern, confirmed by running the shipped wrap
code against all eight names in Node. The tag sub-label offset generalizes
to 14px x line-count.

**Measurement, per the discipline the viewBox comment itself mandates.**
First measured with a conservative proxy (DejaVu Sans Bold 13px), which
flagged two borderline extents; rather than accept proxy uncertainty, the
actual typeface (Source Sans 3 SemiBold, fetched from Adobe's GitHub
release) was measured at the true 12.5px: tightest extents are 34.8px
(left, "Design Research," at 180°) and 30.8px (right, "& Editorial Design"
at 0°) inside the viewBox — clear of the 18px+ standard set by the 20 Jul
margin fix, so no viewBox change was needed. Figures recorded in the SVG
comment.

**Verified:** inline script passes node --check; the measured-link-layer
harness re-run reproduces 325/24-pair counts exactly (rename touches no
counting path — facet strings unchanged); wrap output confirmed per-name in
Node; tag balance clean.

## Change log — Domain Intersection Map: standpoint introduction added (21 Jul 2026)

Two introductory paragraphs added above the diagram (after the interaction
note, before the synthesis disclosure), stating the map's academic–
pedagogical standpoint and its support. Language drafted in working dialogue
and approved by Dan; edited only for site voice (third person; "the project
thesis" for "your paper"; "not a label coined here" for "not a label we
invented") and given linked citations: Hjørland & Albrechtsen 1995 (anchor
claim, live-verified), Hodge 2000 and Zeng 2008 (purpose-built KOS, per the
Overview's self-classification), Bruno & Richmond 2003 (7±2 top tier, from
the thesis), and Frayling and Cross via the Research Processes atlas
(design research as an established scholarly formation). The paragraphs keep
the two guardrails the argument depends on: six of the eight are industry's
own practice areas (the claim is "industry's territory plus the academy's
apparatus," not "unlike industry" wholesale), and the grouping is stated as
editorial and revisable, with the full warrant in Theoretical Basis &
Provenance. All bibliography anchors verified; tag balance clean.

**Named correction (build-side):** the first insertion attempt matched
against a stale copy of the interaction paragraph (class remembered as
"intro"; the file uses "sub") and failed its assertion, but the build script
continued and produced one package without the paragraphs while this README
entry already described them. Caught immediately, the insertion was redone
against the file's actual markup and the package rebuilt; this note stands
in place of silently repairing the sequence.

## Change log — standpoint intro revised; header banner reconciliation; named corrections (21 Jul 2026)

**Revision at Dan's direction.** The two standpoint paragraphs added earlier
today were removed (Dan correctly noted the second duplicated the
Theoretical Basis section's content); the single introductory blurb now
stands alone, placed after the thesis source note and styled per the
Research Processes page's .doc-thesis intro treatment (66ch / 15.5px / 1.6,
soft ink), adapted to this page's theme variables. Citation and section
links retained. Style correction on Dan's catch: the first port copied only
the metrics — the Research Processes page sets its body in the serif, so its
intro renders in Source Serif 4, while this page's body is sans; the class
now sets font-family:var(--font-serif) and uses the same --ink-soft color
token the research page uses (confirmed present in the shared theme), with a
24px bottom margin for this page's flow.

**Substantive reconciliation, flagged for Dan's review.** The uploaded build
contains a header provenance banner (added outside this working thread)
whose live-verified claim is a five/three split: five domains correspond to
practice areas in AIGA's *Types of Design Practice* (SRC), while Visual
Communication, Design Research/Process & Strategy, and Theory/History/
Criticism are the framework's editorial elevations (GEN), with Frascara 2004
as CAN framing. The approved blurb and the Theoretical Basis warrant
paragraph said "six practice areas / two academy additions" — a factual
contradiction on one page. Resolved toward the *sourced* side: the blurb now
reads "Five are the field's named areas of practice," with Visual
Communication named as the shared-craft elevation, and the warrant paragraph
matches, deferring to the banner for the split's sourcing. The
academic-pedagogical argument is unchanged — it never depended on the count,
only on the elevation of research and theory. Reversible if Dan prefers to
revise the banner instead.

**Named correction 1 (schema inspection).** The Theoretical Basis section
was integrated earlier today without reading the file's header region, so
the banner — and its five/three sourcing — went unseen while section prose
asserting "six" was written. The inspect-before-integrating rule exists for
exactly this; logged rather than smoothed over.

**Named correction 2 (rename completeness).** The node-6 rename verified
completeness by grepping the raw string "Design Process & Strategy" and
missed two HTML-escaped ("&amp;") occurrences: one in the banner, one in the
section's elimination sentence. Both updated; completeness checks now cover
raw and escaped forms, and the glossary facet string (raw, one occurrence,
intentional) is re-verified as preserved.

**Build-process note.** Two consecutive build runs this session chained the
README append and packaging unconditionally after an edit script, so a
failed edit twice produced a package and changelog describing unapplied
changes (first: a stale-markup match; second: a self-broken assertion that
double-counted overlapping patterns while the edit content was in fact
correct). Both caught immediately; this run gated all writes and packaging
on full verification passing, and that gating is the standing practice.

## Change log — Intersections header matched to Research Processes page; provenance banner relocated (21 Jul 2026)

Five header changes at Dan's direction, each matched against the Research
Processes page's actual CSS rather than approximated: (1) the provenance
banner moved from the top of the page to directly below the diagram, above
"Theoretical Basis & Provenance" — its per-node "named below" references
still point forward correctly; (2) the title and all introductory paragraphs
are wrapped in a .mast-inner column using the research page's .wrap metrics
(1080px centered, 24px side padding), giving the same left margin, while the
diagram keeps the page's wider 1480px wrap; (3) the opening paragraph
("Communication design is inherently interdisciplinary…") restyled as
.standfirst per the research page — clamp(16px,2vw,19px), italic, serif,
ink-soft, 64ch; (4) the "Communication Design — Reference Framework" eyebrow
matched to the research page's: letter-spacing .32em (was .14em), color
--ink-faint (was --core/gold, tokens confirmed in the shared theme for both
modes), 18px bottom margin; (5) the h1 matched to the research page's title:
clamp(34px,6vw,62px), line-height 1.02, weight 500, letter-spacing −.015em,
15ch max width. Banner extraction verified div-balanced; document order
verified against markup positions (diagram → banner → section — a first run
of this check falsely failed by matching the .prov-banner CSS selector
rather than the markup, and was corrected; the write gate held, so no
package was produced from the failed run); tag balance clean.

## Change log — Visual Communication node sourced to Frascara; three Bibliography entries; dangling citation closed (22 Jul 2026)

Dan asked for a source claiming visual communication is part of communication
design. Found and live-verified a three-publication chain from the field's
own naming authority:

1. **Frascara (1988), "Graphic Design: Fine Art or Social Science?,"
   *Design Issues* 5(1), 18–29, DOI 10.2307/1511556** — full text retrieved;
   the working definition is "the activity that organizes visual
   communication in society." Citation facts confirmed via the JSTOR issue
   record and the author's own later citation. SRC.
2. **Frascara (2004), *Communication Design: Principles, Methods, and
   Practice*, Allworth Press** — the book that names the field; publisher
   record verified (Allworth, New York, 207 pp.). Previously cited on the
   map's banner as CAN with **no Bibliography entry** — a dangling citation
   from the banner's parallel session, now closed.
3. **Frascara (2022), "Revisiting 'Graphic Design: Fine Art or Social
   Science?'—The Question of Quality in Communication Design," *She Ji*
   8(2), 270–288, DOI 10.1016/j.sheji.2022.05.002** — open access; the
   title itself re-situates the 1988 visual-communication definition inside
   communication design. Volume/issue/pages/DOI confirmed against the
   article and multiple citing records; a minority "8(1)" variant in one
   secondary source noted and not adopted. SRC.

**Nuance preserved:** Frascara's claim is stronger than "part of" — visual
communication is the field's central subject matter. Accordingly the
banner's characterization of the Visual Communication node was refined, not
flipped: its *inclusion* is now sourced (Frascara 1988/2022, linked); its
*coordinate-rank elevation* alongside the AIGA practice areas remains the
framework's editorial act (GEN), and the tierline chip ("GEN · 3
meta-domains") remains accurate for the elevations. The Theoretical Basis
warrant paragraph gained the parallel sentence with the quoted eight-word
definition and both links.

**Bibliography:** 3 entries added to Tier 6, alphabetically between Franchi
and Frost (239 → 242); the banner's CAN framing line now links to the 2004
entry. Anchor resolution, alphabetical placement, and tag balance verified
on both modified files; all writes and packaging gated on checks passing.

**Base:** this change set was applied to Dan's 22 Jul upload
(7-22-26-855am-Archive.zip), which includes his own parallel styling
refinements (site-wide serif body, unified 1080px wraps) — adopted as the
authoritative base; all prior session work confirmed present in it.

## Change log — Visual Communication badged SRC; coordinate structure declared editorial for all eight (22 Jul 2026)

Dan's decision, on the question of why Visual Communication still carried
GEN after the Frascara sourcing: badge it SRC for symmetry with the five
AIGA domains, present the evidence, and let the reader judge — "we are
making an argument for others to consider and accept or reject."

**Implemented with the distinction preserved, not erased.** The banner now
badges six domains SRC while naming the two different sourcing modes:
enumerative for the five AIGA practice areas (presence on the field's own
list) and constitutive for Visual Communication (presence in the field's
definition — Frascara 1988/2022, linked). The remaining two meta-domains
stay GEN elevations with the per-node disagreement note intact.

**Asymmetry repair, applied per the discussion:** the banner now states
that the eight-way coordinate structure is editorial for all eight nodes —
no source partitions the field into these eight — resolving the prior
inconsistency where the five AIGA domains were quietly held to an
inclusion standard while Visual Communication was held to an elevation
standard. The partition is stated as the framework's argument, offered for
the reader to accept or reject, in Dan's own framing. Tierline chips
updated ("SRC · 6 domains, two sourcing modes"; "GEN · 2 elevations +
coordinate structure + tiers"). The Theoretical Basis warrant and the
standpoint blurb were checked against the new banner and remain consistent
(both already framed Visual Communication as the sourced craft foundation
and the grouping as editorial and revisable). Tag balance and anchor
resolution verified; packaging gated on checks.

## Change log — Full-SRC decision propagated into the diagram's per-node layer (22 Jul 2026)

Dan caught that the diagram itself still showed Visual Communication as
GEN. Root cause: the per-node provenance layer added in the parallel
session (tier / src / conflict fields on the domains array, rendered as
badges in the overview key and as citation-or-conflict blocks in each
node's click panel) had not been touched by the banner rebadging — a
missed sync between two provenance surfaces on the same page.

Fixed in the node data itself: Visual Communication is now tier SRC with a
src line carrying the constitutive sourcing (Frascara's 1988 definition,
reaffirmed 2022) *and* the former conflict note's substance as a caveat —
AIGA's list enumerates outputs with no parent visual-communication domain,
and coordinate rank is editorial for every node — so the panel presents
the evidence and the caveat together, per Dan's let-the-reader-decide
rationale. The overview key's legend line now attributes SRC to "AIGA
practice areas; Frascara for Visual Communication," and the synthesis
method-note's five/three phrasing is corrected to six/two with both
sourcing modes named. Nodes 6 and 7 remain GEN with their named conflicts.

Verified: domains array carries exactly 6 SRC / 2 GEN with matching
src/conflict fields; inline script passes node --check; measured-link
harness re-run returns 325 across 24 pairs (counting path untouched); tag
balance clean.

**Flagged for Dan, not changed:** node 6's own conflict note records that
AIGA lists "Design Research, Strategic Design & Design Management" as
distinct practice types. Node 3 (Digital & Interactive) is badged SRC
precisely on the ground that it *consolidates* several AIGA types (UX, IX,
UI, Web, Software & Multimedia). By that same consolidation standard,
node 6 could arguably be SRC as a consolidation of AIGA's three
research/strategy types — which would also strengthen the academic-warrant
argument. Left as-is pending Dan's call, since it would reduce the GEN
elevations to one (Theory, History & Criticism) and materially change the
banner's story.

## Change log — Design Research, Process & Strategy rebadged SRC by the consolidation standard (22 Jul 2026)

Dan's decision on the flagged parallel: node 6 "basically is the same as
AIGA" — rebadge SRC. Justification applied on every surface: the node is
sourced as a consolidation of AIGA's Design Research, Strategic Design &
Design Management practice types, explicitly on the same standard already
used to badge Digital & Interactive (which consolidates AIGA's UX,
Interaction, Interface, Web, Software & Multimedia types). The former
conflict note's substance is preserved inside the node's src line as a
caveat (Frascara places methods & planning in the knowledge-base; grouping
and coordinate rank remain editorial), per the evidence-plus-caveat
pattern established for Visual Communication.

Surfaces synced in the same pass: banner rewritten to 7 SRC / 1 GEN with
the consolidation standard stated and Theory, History & Criticism named as
the sole elevation; tierline chips updated; synthesis method-note updated
to seven/one; the standpoint blurb revised ("Six are the field's named
areas of practice — one of them … gathering research-and-strategy types
the field's own enumeration lists separately"); and the Theoretical Basis
warrant recast — the distinctive academic move is now stated as the
coordinate rank given to the reflexive apparatus: research/strategy
gathered from AIGA's scattered types into a single Method domain, and
Theory, History & Criticism added outright. The argument sharpens rather
than weakens: the academy's one pure addition is the critical-historical
lens.

Verified: domains array 7 SRC / 1 GEN with matching src/conflict fields;
inline script passes node --check; measured-link harness returns 325
across 24 pairs; tag balance and bibliography anchors clean; packaging
gated on all checks.

## Change log — AIGA "Types of Design Practice" added to Bibliography; Intersections hyperlinked (22 Jul 2026)

Closes the map's last dangling citation: six SRC node badges and the
banner rested on an AIGA verification with no Bibliography entry behind
it. Added to "Standards & living web resources" (alphabetically first,
entry 242 → 243) as a living web resource with URL and the
cite-with-retrieval-date convention; URL re-verified live 22 Jul 2026
(aiga.org/resources/types-of-design-practice), with the Strategic Design
entry's presence on the page confirmed — corroborating the consolidation
basis for node 6's SRC badge. The entry's note records its role: the
enumeration against which six of the map's eight domains are
source-badged, four directly and two as consolidations.

Hyperlinks added on the Intersections page, all resolving to the new
anchor: the banner's "AIGA's Types of Design Practice" mention; all six
per-node src lines in the diagram's click panels (JS strings rendered via
innerHTML — links verified to parse; single-quoted HTML attributes inside
the double-quoted JS strings); and the first AIGA mention in the
Theoretical Basis warrant. External linking follows site convention: the
internal citations link to the Bibliography; the Bibliography links out to
aiga.org in a new tab.

Verified: exactly 6 JS-string replacements (asserted, not assumed); inline
script passes node --check; measured-link harness returns 325 across 24
pairs; tag balance clean on both files; every bibliography.html#ref-*
target on the map resolves; packaging gated on all checks.

## Correction — Frascara links added to node source lines (22 Jul 2026)

Dan caught that node 0 (Visual Communication)'s panel source line cited
Frascara without links — it was written before the linked-citation pattern
was established on the six AIGA node lines, and the AIGA linking pass
checked only the AIGA string. Fixed: node 0's Design Issues 5(1), 1988 and
She Ji 8(2), 2022 citations now link to their Bibliography entries. The
same-class check found one more: node 6's caveat mentions Frascara's
knowledge-base placement (the 2004 book) unlinked — now linked to
ref-frascara2004. Every per-node source line now links every source it
names. Script re-passes node --check; anchors verified; packaging gated.

## Change log — Theory, History & Criticism sourced (Design Issues + NASAD); map fully sourced at inclusion level (22 Jul 2026)

Dan asked for a citation justifying the last GEN node's inclusion and
approved adding NASAD alongside the proposed Design Issues chain. Both
live-verified 22 Jul 2026:

1. **Design Issues (MIT Press, 1984–present)** — the publisher's standing
   scope statement, originating in the journal's 1984 founding editorial:
   "the first American academic journal to examine design history, theory,
   and criticism." Confirmed across MIT Press and JSTOR records; the node's
   name is the journal's scope near-verbatim. Bonus gap closed: the
   most-cited journal in this system (Buchanan 1992, Buckley 1986, Dilnot
   1984, Ehses 1984, Frascara 1988 are all its articles) had no Periodicals
   entry of its own — added, entry 243 → 244.
2. **NASAD Handbook 2021–22 (Oct 2022 addendum)** — verified against the
   official PDF on nasad.arts-accredit.org: professional baccalaureate
   curricular guidelines allocate studies in art and design history
   ("history and theory" in relevant majors) at 10–15% of the total
   program; verified verbatim for the Illustration and Digital Media
   standards, with the structural pattern uniform across professional
   majors — stated with that scope in the entry note rather than
   overclaimed for graphic design specifically. NASAD's authority basis
   (sole USDE-recognized accreditor for art/design higher education)
   verified. Added to Standards & living web resources, 244 → 245.

**Node 7 rebadged SRC** under a third sourcing mode — institutional and
pedagogical (presence in the field's scholarly and curricular record) —
joining enumerative (AIGA list) and constitutive (Frascara definition).
The evidence-plus-caveat pattern holds: the node's panel line preserves
that THC is not on AIGA's practice list and that Drucker & McVarish
organize the material chronologically as history (both linked), with
coordinate rank editorial as for every node.

**The map is now fully sourced at the inclusion level: 8/8 SRC, three
named modes, zero conflict fields.** GEN retreats to exactly what is
genuinely this framework's own: the eight-way coordinate structure and
the core/applied/adjacent tiers — stated as the argument offered for the
reader to accept or reject. Banner, tierline chips ("SRC · 8 domains,
three sourcing modes"; "GEN · coordinate structure + intersection
tiers"), synthesis note, overview legend, and the Theoretical Basis
warrant (which gains the institutionalization sentence) all synced. The
renderPanel conflict branch is now unreachable but retained as harmless
fallback code.

Verified: domains array 8 SRC / 0 GEN, 8 src / 0 conflict fields; inline
script passes node --check; measured-link harness returns 325 across 24
pairs; tag balance clean on both files; every bibliography anchor on the
map resolves; packaging gated on all checks.

## Correction — practice-based/practice-led definitions re-sourced to Candy; Skains added (22 Jul 2026)

Dan supplied two practice-research sources and asked whether they belonged
in the Glossary and the Research Processes atlas. Inspection reversed the
premise of the question: **Candy was already fully integrated** — cited
VERIFIED in the Artistic Research (Fine Art) section (stage 01's
research-vs-pure-practice demarcation, via her Scrivener-derived
"culturally novel apprehensions" argument), named in the
practice-based/practice-led/practice-as-research debate entry, and
carrying a full APA record at `ref-candy`. Adding her would have
duplicated verified content. Two genuine gaps were found instead.

**1. Provenance correction — three Glossary entries carried Candy's
distinction as unattributed general knowledge.** This is a GEN-should-be-SRC
error of exactly the kind the strip-down guarantee exists to surface: the
definitions would have vanished under a strip-down despite being traceable
to a real source. All three re-sourced (definitions rewritten to Candy's
own formulation, `p[]` replaced, `xrefs` extended to the Artistic Research
section). No entries added; count holds at 1,802.

- **Practice-Led Research** (cid 1699) — its wording reproduced Candy's
  binary near-exactly while crediting "general knowledge (supplied),
  17 Jul 2026." Now: practice concerned with the *nature* of practice,
  results describable in text without a creative work, often falling
  within action research.
- **Practice-Based Research** (cid 1491) — placeholder category-node
  definition ("research conducted through and grounded in creative
  practice") replaced with Candy's: original investigation to gain new
  knowledge *partly by means of practice and the outcomes of that
  practice*, artefact as basis of the contribution, full understanding
  obtainable only with direct reference to the outcomes.
- **Practice-Based / Practice-Led Research** (cid 1492) — Field Atlas
  added-layer entry; Candy appended to the existing participant-adjacent
  provenance rather than replacing it. Gains her two caveats: the terms
  are often used interchangeably but denote different claims, and the
  vocabulary is not yet agreed across the fields using it. Also gains her
  domain-difference finding — in **design research** the emphasis falls on
  knowledge about the nature of practice, whereas in the **visual arts**
  the artefact plays a vital part. That asymmetry is a sourced claim about
  where design sits in the taxonomy, previously asserted on Frayling alone.

**2. Skains (2018) added — absent from all 18 files.** Peer-reviewed,
where Candy's guide is a university research report; the tier note now
says so in both places. Added as: a tenth method in the Artistic Research
methods rail (**Practitioner Model of Creative Cognition** — the
practitioner-researcher's creative cognition instrumented and documented,
so making becomes examinable data rather than retrospective narration); a
VERIFIED key-source cite; an extension to the terminological-field debate
(Skains treats the proliferation of labels as the condition to be worked
in rather than resolved, answering it methodologically rather than
lexically); numbered reference 55, linked to `ref-skains`; and a full APA
record in bibliography.html Tier 5, filed between Simon and Smith & Dean.

**Citation trap recorded in both bibliographies.** *Media Practice and
Education* 19(1), 82–97 renamed mid-run; several repository records —
including the author's own institutional listing — still give *Journal of
Media Practice* for the same DOI and pagination. Students reliably
reproduce the stale title. Both entries instruct citing the current one.

Both sources live-verified 22 Jul 2026: Candy's guide fetched in full from
creativityandcognition.com (CCS Report 2006-V1.0); Skains confirmed via
Semantic Scholar, Bangor's repository, and RMIT's practice-research guide
after Taylor & Francis blocked direct fetch.

**Pre-existing issue found, not fixed, flagged here:** numbered reference
40 (Sullivan 2005, *Art Practice as Research*) is listed in the Artistic
Research key sources but never cited by number anywhere in the document.
It was already uncited before this pass — confirmed against the prior
build — so it is reported rather than silently patched. Fixing it means
either citing Sullivan at the point his argument is used or demoting him
to key-sources-only; that is an editorial call, not a typo.

Verified: glossary DATA re-parses at 1,802 entries with no schema
deviation and CMETA untouched; atlas bibliography 54 → 55 with zero
dangling citations; tag balance clean on all three modified files; every
new bibliography anchor resolves.

## Correction — Sullivan cited at the point his argument is used (22 Jul 2026)

Follow-up to the flagged issue in the entry above: numbered reference 40
(Sullivan, *Art Practice as Research*) sat in the Artistic Research key
sources and the numbered bibliography without ever being cited in the
document's argument. Dan chose the substantive fix over demotion.

**Locating the gap.** Every other stage in the Artistic Research section
already had a named theorist carrying its claim — Candy at 01
(demarcating research from everyday making), Barrett & Bolt at 02
(material thinking), Haseman at 03 (the performative paradigm), Frayling
and Nelson at 04 (exegesis), Nelson and Elkins at 05 (the two-venue
collision). Sullivan was the only key source with no argument attached.
The reason turned out to be that his distinctive claim was *present in the
section but unattributed*: stage 05's failure mode already warned against
"demanding laboratory criteria that dissolve the art" — which is
Sullivan's position, uncredited.

**His argument, verified 22 Jul 2026:** legitimate research goals can be
reached by methods other than those the social sciences supply; art
practice is better theorized from inside the visual arts than by importing
frameworks from adjacent fields; rigor and systematic inquiry are the
common denominator that keeps the claim honest. The operative figure is
the **artist-theorist** — the practitioner whose theorizing is carried out
through practice rather than applied to it from outside.

Cited in two places, both where the argument is actually doing work:

1. **Section lede** — added as the tradition's claim to *methodological
   self-sufficiency*, following Borgdorff on the terminological field. The
   lede previously established artistic research as distinct from design
   research without stating why it need not borrow social-science method.
2. **Stage 05 failure mode** — Sullivan named as the direct rejoinder to
   the venue-substitution error's second half, so the warning now carries
   its source.

Reference 40's annotation was rewritten from the generic "theorized as a
rigorous form of inquiry with its own frameworks" to state the actual
claim and name the artist-theorist figure.

**Two Glossary terms added (1,802 → 1,804), both under Critical Frameworks
Supplement:** *Artist-Theorist* (Sullivan) and *Practitioner Model of
Creative Cognition* (Skains) — the latter closing a gap opened by the
previous entry, which added the Practitioner Model to the methods rail
without a corresponding term. Every other term on that rail (Performative
Research, Material Thinking, Exegesis, Exposition, Arts-Based Research)
already had one; these two now match. The rail item gains its
`→ Glossary` xref accordingly.

Verified: atlas bibliography **55 entries, zero dangling, zero uncited** —
the first fully-cited state for this document; glossary re-parses at 1,804
with no schema deviation and CMETA untouched; strip-down guarantee holds
(removing Critical Frameworks Supplement leaves 1,793); tag balance clean;
all bibliography anchors resolve.

## Change log — glossary 16th edition: upper-ontology roots renamed on ontological grounds (22 Jul 2026)

**What changed.** Four of the six upper-ontology root display terms were renamed
at the editor's direction, following the root-level review documented in the
peer-review response report (Draft 4.3a):

- Tools → **Artifacts** — the root holds all material entities (tools of
  production, media substrates, produced objects), not only instruments; the
  source data's own `singular` field reads *physical thing*.
- Method → **Practices** — the root holds activities and processes broadly
  (methods, workflows, forms of practice, teaching, critique), not the narrower
  category of methods; the `singular` field reads *activity*.
- Event → **Events**, Place → **Places** — repluralized for consistency with
  Artifacts, Concepts, Practices, and Eras.

Concepts and Eras are unchanged. This is the second root rename; the first
(16 Jul 2026, Physical Things/Activities/Events/Locations → the Kind
vocabulary) remains on the record above.

**Grounding.** The renames implement an upper-ontology review: the six roots
are a local instance of the partition shared by the general upper ontologies —
BFO (continuant/occurrent; material vs. immaterial entity; spatial regions as
immaterial continuants; temporal regions as occurrents), DOLCE
(endurant/perdurant/quality/abstract), CIDOC CRM v7.1.3 (E70 Thing / E22
Human-Made Object; E5 Event / E7 Activity; E28 Conceptual Object; E52
Time-Span; E53 Place), and Schema.org (Thing with Action, CreativeWork, Event,
Intangible, Organization, Person, Place, Product among its direct subtypes).
Keeping ontological type at the roots and functional type at the Kind facet is
the structural argument recorded in the report's Drafts 4.3/4.3a.

**Deliberately not changed.**
1. The Kind facet's eleven values (Tool, Method, etc.) — Kind carries
   *functional* types; the roots now carry *ontological* categories. The two
   vocabularies diverged with this edition **by design**, superseding the 7th
   edition's roots-renamed-to-Kind-vocabulary alignment. Guide and hub prose
   updated to say so.
2. The two pre-existing concepts sharing old root names: Tools (id 171, slug
   `tool`, child of Artifacts) and Method (id 581, slug `method`, child of
   Concepts). The renames dissolve both root-level name collisions.
3. Every `singular` field and slug, per the standing rename-fossil convention
   (7th ed.): the source data's original vocabulary remains readable in place.

**Files touched.** glossary.html (4 taxonomy records; guide prose list; SVG
root-strip labels; edition bump 15th → 16th in title, masthead, diagram
caption; new edition-history entry), index.html (SVG node label, card kind
line, glossary card prose, source-corpus data-layer line),
data/tag_concept_extended.xml (4 term fields; header comment extended),
sitemap.xml (lastmod), this file.

**Verification steps.** (1) Root records confirmed renamed by id+slug key
(1/things, 3/activity, 4/event, 5/location); collision concepts 171 and 581
confirmed untouched. (2) Full graph re-verified after the rename, 22 Jul 2026:
1,802 concepts, 1,881 parent edges, 77 multi-parent concepts, 154 involves +
62 related lateral edges, zero cycles — identical to the 15th edition, as a
display-term change should leave them. (3) Kind facet chips in atlas-field.html
confirmed to be facet values, not root references (untouched). (4) Site-wide
sweep for residual old-name root references in prose/SVG: none remain outside
historical changelog/edition entries, which stay per the append-only rule.

**Named corrections — ontology citations verified live (22 Jul 2026).** The
report's Draft 4.3a carried [VERIFY] tags on every upper-ontology claim; the
SRC pass found and corrected the following before any of it entered the site:
1. **BFO placement of regions.** The draft described spatial and temporal
   regions as "generic-dependent constituents." Wrong: in BFO, spatial regions
   are immaterial entities on the continuant side, and temporal regions are
   occurrents. Corrected. (Verified against BFO 2.0 reference documentation
   and Arp, Smith & Spear 2015, MIT Press; BFO is also ISO/IEC 21838-2:2020.)
2. **CIDOC CRM E22.** The draft cited "E22 Man-Made Object" — the class was
   renamed **E22 Human-Made Object** as of v7.0; current version verified as
   7.1.3 at cidoc-crm.org. Corrected throughout.
3. **DOLCE and regions.** DOLCE's "region" categories sit under Abstract as
   quality spaces, so citing "DOLCE's region" for the Places and Eras roots
   overreached. DOLCE citations retained only where solid (physical endurant
   for Artifacts; perdurant for Practices/Events; abstract for Concepts) and
   dropped from Places/Eras, which rest on BFO and CIDOC CRM.
4. **Schema.org top classes.** The draft's phrasing implied Intangible/Action/
   Event/Place sit beside Thing; corrected to: Thing is the single root, with
   Action, CreativeWork, Event, Intangible, Organization, Person, Place, and
   Product among its direct subtypes (823 types in the current vocabulary).
Full citations verified: Arp, Smith & Spear (2015), *Building Ontologies with
Basic Formal Ontology*, MIT Press; Gangemi, Guarino, Masolo, Oltramari &
Schneider (2002), "Sweetening Ontologies with DOLCE," EKAW 2002, LNCS 2473,
Springer, 166–181, doi:10.1007/3-540-45810-7_18; CIDOC CRM v7.1.3
(cidoc-crm.org); Schema.org type hierarchy (schema.org/docs/schemas.html).

**Scope note.** The six root scope notes drafted in the report (4.3a) are NOT
yet on the site — they remain drafts pending the editor's review of this
verified revision. Only the renames and the prose/edition updates above shipped.

## Correction — hub glossary card: 7th-edition description shifted to past tense (22 Jul 2026, same session as 16th ed.)

**What changed.** In `index.html`, the paragraph in the glossary card that
narrates the 7th-edition rebuild used narrative present tense ("rebuilds",
"unifies", "Kind now carries"). That reading was accurate when the 7th
edition was current; with the 16th edition superseding, a first-read visitor
could briefly believe Tools/Method/Event/Place were still the current root
names before reaching the 16th-edition sentence.

Verbs shifted to past tense — "rebuilt", "unified", "Kind was rebuilt to
carry" — and the connective from "In the 16th edition (22 Jul 2026) the
roots were re-grounded" to "The 16th edition (22 Jul 2026) then re-grounded
the roots", so the sequence of edition states reads unambiguously. Also
clarified that Kind "keeps the functional vocabulary from the 7th edition,"
naming the source of Kind's current values.

**How this was found.** A post-rename site sweep against the shipped
`cd-reference-system_35.zip` looked for any prose that could misrepresent
the current state. All other hits resolved to legitimate uses: atlas-field's
"Method" chip labels (Kind facet values, correctly unchanged); README's
older changelog entries (append-only historical record); the
tag_concept_extended.xml header comment (which now records both renames in
sequence); and the retained id 171 "Tools" / id 581 "Method" collision
concepts. Only this one paragraph needed a wording fix.

**Files touched.** index.html (one paragraph), this file.

**No content change.** No entries, sources, or provenance markers touched.
No edition bumped — this is a same-session hub-copy correction to the 16th
edition's own hub description.

## Change log — v37 batch: Governance section, root scope notes + structural defense published, Kind Eras→Era, bibliography sources added (22 Jul 2026)

Executes response-report items 1, 2, 3, and 5, plus the note-to-editor
revision (item 4) which is a report-side change tracked in the report record.

### 1. Governance section published on the hub (index.html)

**Placement.** New top-level `<section class="kindsec" id="gov-title">` between
"Provenance, everywhere" and "What kind of system is this?" — so the reading
order is now: reading-order cards → Provenance (constitution) → Governance
(stewardship) → Self-classification (identity) → Source corpus (materials).

**Framing.** The section states the current state (single editor, complete
audit trail); what is policy now (permanent versioning, deprecated content
preserved, conflicts coexist, provenance tiered); what is invited now (a
challenge-and-revision pathway with SRC/CAN evidence standards and logged
disposition); and **what is proposed — under review**. The proposal names
**Design Incubation** as the prospective institutional host, on the grounds
that Design Incubation's Communication Design Educators Awards and its
scholarly-workshop practice supplied the founding corpus for this system's
tag taxonomy and Field Atlas. The governance model itself is stated as
under active consideration pending (a) further peer review of the system's
editorial rules and taxonomy — including the current review this response
report addresses — and (b) the establishment of a governance council or
committee constituted to steward the reference on behalf of the community
it serves. Contact route for challenges is flagged as to be specified
alongside the council pathway.

**Footer refreshed.** The hub footer previously read "Seven documents"; the
system has since grown to nine. Updated. Also added a `System` column with
links to Governance (`#gov-title`) and Self-classification (`#kind-title`).

### 2. Design Incubation named as prospective institutional host

Documented in the Governance proposal paragraph (see §1) with a rationale
grounded in Design Incubation's demonstrated relevance: the workshop
transcripts and educator community that supplied the founding corpus. This
is a proposal, not a commitment on Design Incubation's part — the section
explicitly frames it as under review, and the founding-corpus rationale is
factually attested in the source corpus already documented on the hub.

### 3. Kind facet: "Eras" → "Era" (singular alignment)

The Kind facet vocabulary was inconsistent: ten values in singular (Concept,
Discipline, Event, Format, Framework, Method, Metric, Place, Role, Tool) and
one plural (Eras). Corrected to singular (Era) throughout the glossary data
and the `KIND_ORDER` UI vocabulary. 14 entries were affected in the data;
the `KIND_ORDER` array was updated in one place. The root "Eras" (id 6) is
unchanged — roots stay plural per the 16th-edition ontological convention,
Kind values stay singular per the functional-type convention; the two
vocabularies diverge by design, and this correction clarifies the pattern.

### 4. Draft 4.3 — six-vs-eleven roots position removed per editor direction

*Report-side change* (not a site edit): in the response report, the middle
two sentences of the "Why six upper roots and not eleven" paragraph were cut
per the note to the editor. The paragraph now names the six roots and states
the six-vs-eleven-roots-vs-Kind alignment question as an open architectural
question, without arguing for the current partition. The published version
of "Why this taxonomy" on the glossary guide (see §5) reflects this cut.

### 5. Drafts 4.3 + 4.3a published on the glossary guide

**Placement.** New collapsible section titled *"Why this taxonomy — the
structural choices, defended"*, anchored `#taxonomy-defended`, positioned
between the "How to use this glossary" details (which contains the
polyhierarchy diagram with the SIX UPPER-ONTOLOGY ROOTS strip) and the
"Method & provenance — edition history" details. This preserves the guide's
reading order: how to use → why this structure → edition history.

**Contents.** The section merges Drafts 4.3 and 4.3a from the response
report into one flow: (1) the opening commitments statement; (2) the
upper-ontology warrant (BFO, DOLCE, Schema.org, CIDOC CRM sources); (3) the
partition argument (ontological type at roots, functional type at facet);
(4) six one-paragraph scope notes (Artifacts, Concepts, Practices, Events,
Places, Eras — each with source correspondences and boundary cases);
(5) the structural-choice arguments (polyhierarchy, six-roots-as-open,
four facets, medium as facet not root, non-adoption of existing schemes);
(6) a source line naming all four verified upper-ontology citations and the
verification date, with the six-vs-eleven question flagged as open in the
changelog.

**Cross-link from the hub.** The self-classification section's mention of
"the open question of whether the six upper roots should align with the
eleven Kind values" now links to the guide's Why-this-taxonomy anchor, so
the epistemological framing on the hub and the structural defense on the
guide are connected in both directions.

**Bibliography adds.** Four new references appended to the Thesis-sources
section (which already houses references cited only from specific
meta-sections of the site):
- Arp, Smith & Spear (2015), *Building ontologies with Basic Formal Ontology*
  (MIT Press; BFO is also ISO/IEC 21838-2:2020).
- Gangemi, Guarino, Masolo, Oltramari & Schneider (2002), "Sweetening
  ontologies with DOLCE," EKAW 2002, LNCS 2473, pp. 166-181, Springer,
  doi:10.1007/3-540-45810-7_18.
- CIDOC Conceptual Reference Model, v7.1.3, cidoc-crm.org.
- Schema.org type hierarchy, schema.org/docs/schemas.html.
The Thesis-sources tier intro was updated to acknowledge the addition.
All four were live-verified 22 Jul 2026 with the corrections documented in
the 16th-edition changelog entry above (BFO regions, CIDOC CRM E22 rename,
DOLCE region scope, Schema.org root structure).

### Files touched (v37)

- index.html: Governance section inserted; footer refreshed;
  self-classification cross-link added
- glossary.html: KIND_ORDER updated to Era; 14 entries kind:Eras → Era;
  new "Why this taxonomy" methodnote block added
- bibliography.html: four upper-ontology sources added to
  Thesis-sources tier; tier intro updated
- sitemap.xml: lastmod bumped to 2026-07-22
- README.md: this entry

## Correction — Kind facet Eras→Era rename: entry-list field also updated (22 Jul 2026)

**Problem.** The v37 batch renamed Kind "Eras" → "Era" in the taxonomy
structure's `kind` field (14 entries) and in the `KIND_ORDER` UI vocabulary,
but missed the parallel `ty` field on the flat entry list. The glossary
stores each concept twice: once in the taxonomy structure (with a `kind`
field for the derived Kind value) and once in the flat entry-list used by
the filter UI (with a `ty` field carrying the same Kind value). The filter
chips read from `ty`. So after the incomplete rename, the "Era" filter chip
(sourced from KIND_ORDER) had no `ty="Eras"` matches to surface, and the 14
affected entries — Art Deco, Art Nouveau, and other movement/period entries
— were unreachable via the Kind filter.

**Fix.** All 14 `"ty":"Eras"` occurrences updated to `"ty":"Era"`. Post-fix
verification: `ty` and `kind` vocabularies are now identical (11 values:
Concept, Discipline, Era, Event, Format, Framework, Method, Metric, Place,
Role, Tool); the 14 affected entries have Era in both fields; zero residual
"Eras" in either field. The Kind filter chip "Era" now surfaces those 14
entries as expected.

**Legitimate residual "Eras" occurrences retained** (verified):
1. Root strip SVG label — the *root* is still named Eras (plural,
   ontological convention).
2. The concept titled "Eras" (definition: "A distinct span of time…") —
   its own term is Eras; its `kind` field is Era (functional type).
3. Root-6 taxonomy record — term "Eras" (root name, plural), kind "Era"
   (functional type, singular). This is exactly the 16th-edition
   root/Kind divergence.

**Root cause.** The 22 July `Eras → Era` rename swept the `kind` field but
not `ty`. The two fields exist in parallel because the glossary UI needs a
flat entry list for filtering while the taxonomy structure needs a nested
polyhierarchy for trail rendering. Any future Kind vocabulary change must
touch both fields, plus KIND_ORDER; a sweep helper would prevent this class
of miss.

**Files touched.** glossary.html only. No other document references the
`ty` field.

## Change log — Crossover Map: sourcing note replaced, field-attestation tiers published, "What this map asserts" added (22 Jul 2026)

Executes the four-part follow-up to the Crossover Map provenance review:
(a) sourcing-note replacement, (b) per-field corpus attestation with
deep-links, (c) this log entry, (d) "What this map asserts" section.

### Correction to the preceding analysis

The chat-side analysis that motivated this batch first ran against an
approximated 27-field list and reported "24 of 27 fields attested," which
was imprecise on two counts: the field list didn't match the live data
exactly, and "attested" collapsed two different strengths of match into
one number. Re-run against the actual `CROSSOVERS` array in
map-crossovers.html and matched term-by-term against
`tag_concept_extended.xml`, the corrected finding is:

- **10 fields strongly attested** — the field name (or, for compound
  names, a majority of its parts) matches a named concept in the corpus
  closely: Fine Art & Studio Practice, Photography, Film & Cinema Studies,
  Philosophy & Aesthetics, Cognitive Psychology, Data Science & Statistics,
  Marketing & Consumer Research, Architecture & Urban Design, Media Studies
  & Visual Culture, Sound Design & Music.
- **12 fields partially attested** — one half of a compound field name
  matches a corpus concept, the other does not (or matches only a broader,
  looser sense): Illustration & Craft (Illustration), Linguistics &
  Semiotics (Semiotics), History & Cultural Studies (History), Rhetoric &
  Communication Theory (Visual Rhetoric), Sociology & Anthropology (Design
  Anthropology), Neuroscience & Perception Studies (Perception), Computer
  Science & Software Engineering (Software Development), Human-Computer
  Interaction / HCI (Interaction Design), Interior Design & Exhibition
  Design (Exhibition Design), Industrial & Product Design (Industrial
  Design), Journalism & Publishing (Publishing, Photojournalism),
  Mathematics & Geometry (Mathematics).
- **5 fields are editorial completions**, not attested in the corpus in
  any form: Behavioral Economics & Decision Science, Artificial
  Intelligence & Machine Learning, Organizational Strategy & Management,
  Economics & Political Economy, Environmental Science & Ecology.

10 + 12 + 5 = 27. This is the number now shipped to the site; the earlier
"24/27" figure from the chat-only analysis is superseded by this entry and
should not be cited going forward.

### (a) Sourcing note replaced

The Sources tab's single-paragraph note ("this map is an original
synthesis, not a reproduction of a single published framework...") is
replaced with five tiered paragraphs: SRC (the thesis's disambiguation
methodology), SRC (field selection, with the 10/12/5 breakdown above), SRC/
CAN (the disciplinary claims — 102 Bibliography-linked citations across 27
panels, unchanged from the 19 July verification pass), and GEN (the 8
category groupings, the 5-point strength scale, and per-crossing domain
assignment — none of these derive from a published source). The previous
note's honesty about originality is preserved; what's added is the
attestation layer the previous note didn't have evidence for yet.

### (b) Per-field attestation tiers + deep-links, all three render surfaces

Each of the 27 `CROSSOVERS` entries gained two fields: `corpusTier`
("strong" / "moderate" / "none") and `corpusTerms` (the matched corpus
concept name(s), empty for "none"). Rendered in:

1. **Detail panel** (`openPanel`) — a tier badge ("Corpus-attested" /
   "Partially corpus-attested" / "Editorial completion") next to the
   existing strength badge, plus a note naming the matched corpus term(s)
   as links to `glossary.html?q=<term>` (reusing the existing deep-link
   mechanism rather than inventing a new one — 25 of the 27 matched terms
   resolve directly to a glossary entry; "Photography" and "Illustration"
   resolve via their full glossary titles, confirmed before shipping:
   "Photography (Commercial & Editorial)" and "Illustration").
2. **Sources tab list** (`buildSources`) — the same tier badge inline next
   to each field name.
3. **Field Map / cluster view** — unchanged; the tier is available on the
   data object for a future pass if a visual indicator is wanted there too
   (not added now, to keep this batch scoped to the panel and Sources tab).

### (c) This entry

### (d) "What this map asserts" published

New collapsible section between the thesis-derived intro (`.doc-thesis`)
and the nav bar, in the idiom of the Intersections map's "Theoretical
Basis & Provenance" section but scoped to this map. Covers: what a
crossover is: what a dot asserts and does not (absence is not a claim of
no relationship); how the 27 fields were selected (corpus attestation,
thesis examples, editorial completions, in that order of authority); and
a source line. Follows Draft 4.4a from the peer-review response report,
revised with the verified 10/12/5 breakdown in place of the draft's
unverified "three-source selection account."

### Verification

- All inline `<script>` blocks pass `node --check`.
- Tag balance confirmed (div/p/details/summary/nav/button all balanced).
- `corpusTier` and `corpusTerms` present on all 27 entries; tier
  distribution in the shipped file confirmed as 10/12/5.
- Every `corpusTerms` value confirmed to resolve to a real concept id in
  `tag_concept_extended.xml` before shipping.
- `#thesis` anchor on index.html confirmed to exist for the intro's
  cross-link (pre-existing, unchanged).

### Files touched

map-crossovers.html only (sourcing note, 27 data entries, `openPanel`,
`buildSources`, new "What this map asserts" section). No other document
references the Crossover Map's internal data structure.

## Change log — structural-rationale notes extended to the remaining four documents (22 Jul 2026)

Extends the Crossover Map provenance review (previous entry) to the rest of
the system, per editor direction ("do it all in one pass"). Survey finding
that motivated the scope: after the Crossover batch, the Intersections map
and glossary carried structural defenses ("Why these eight"; "Why this
taxonomy"), but four documents explained their sourcing without explaining
their structure — why *these* sections, clusters, or traditions.

### atlas-field.html — "What this atlas preserves, and what it imposes"

Ships Draft 4.4b from the peer-review response report (drafted 22 Jul,
previously unshipped) as the closing paragraph of "A note on sources":
what the atlas preserves (the corkboards' own groupings, respondent
language verbatim), what the combined edition imposes (the two-workshop
merge; the purple/gold added layers, already labeled), and why the form is
an atlas rather than a hierarchy (the corpus is testimony; the system's
hierarchical claims live in the glossary's taxonomy, cross-linked).
Source line: editorial self-description (GEN) tracing to the tier
documentation already on the page. One deviation from the report draft:
the source line uses the page's existing .thesis-src class (the draft's
proposed class did not exist in this document's CSS — caught in the
double-check pass).

### theories.html — "Why six clusters, why these thirty-two"

New .note block after the sourcing note. Content: the clusters group by
the question each body of theory answers, not by discipline of origin
(discipline-based grouping was the rejected alternative — the same
discipline feeds multiple questions; semiotics verified present in all six
clusters, 7/2/6/3/1/3 mentions); the count of 32 is where verified
coverage stands, not a canonical number, and has grown on the record
(Cluster 6 addition, documented in the adjacent sourcing note); selection
is editorial (GEN) with two documented anchors — the thesis's three
classification frames and the canon inherited from the two source
editions including the former Field Atlas theory chapter. Cross-links to
glossary "Why this taxonomy."

### atlas-research.html — "Why these five traditions"

New paragraph pair (.doc-thesis + .thesis-src) after the thesis intro.
Content: the atlas partitions by epistemic culture (the epistemic-profile
apparatus each section already carries), not by method; a methods-based
taxonomy (qual/quant/mixed) was the rejected alternative because methods
travel across traditions while epistemic commitments do not; the
culture-based cut is grounded in Cross's "designerly ways of knowing"
third-area argument, which the atlas's own Design Research section
documents; the set of five is open on the record (Artistic Research added
in the 4th edition, per the masthead); the Decolonial Critique section is
named as the standing internal challenge to the partition, kept inside
the atlas so frame and critique are read together. Rationale is GEN; the
Cross grounding is CAN via the section's existing citations.

### atlas-pedagogy.html — "Why these five sections"

New .pa-warn block after the Disclosure block in Methodology & Provenance.
Content: the I–V sequence follows the lifecycle of design teaching
(institutional settlements → theory of the learner → process → practice →
assessment) rather than a taxonomy of topics; a topic-based cut was the
rejected alternative because topics recur inside every lifecycle stage —
the lifecycle cut keeps each entry in one place, the same placement rule
the glossary's taxonomy follows. Frame is GEN, stated as such.

### glossary.html — hash-open handler added

All four new notes (plus the hub's self-classification section) cross-link
to glossary.html#taxonomy-defended, which is a collapsed <details> block —
arriving readers would land on a closed section. Added a small script
before </body>: on load and on hashchange, if the hash target contains or
sits inside a <details>, open it and scroll to it. Applies to all
methodnote anchors generally, not just #taxonomy-defended.

### Verification (double-check pass)

- Every factual claim in all four notes checked against the live
  documents before shipping: theories (cluster-1 question phrasing,
  Cluster 6 addition, three thesis frames, two-source merger, 32-entry
  count, semiotics-across-clusters example verified per cluster);
  research (epistemic-profile apparatus fields, Cross citation presence,
  4th-edition masthead, Decolonial Critique section); pedagogy (all five
  section titles verbatim, section-I framing); field atlas (verbatim-
  preservation claim, purple/gold tier documentation, pure-transcription
  claim all present upstream of the new note).
- Each note confirmed to appear exactly once (no double insertion).
- Every CSS class used confirmed defined in its document (one fix: field
  atlas source line moved from a nonexistent class to .thesis-src).
- Tag balance confirmed on all four documents (div/p/details/summary/
  section/nav/span/header/button).
- All non-empty script blocks pass node --check (pedagogy tabs script;
  all five glossary scripts including the new handler).
- glossary.html#taxonomy-defended confirmed to exist as link target.

### Files touched

atlas-field.html, theories.html, atlas-research.html, atlas-pedagogy.html,
glossary.html (handler only), sitemap.xml (lastmod), this file.

### Structural-defense coverage, post-batch

Every content document now carries both a sourcing account and a
structural rationale: glossary (Why this taxonomy), Intersections (Why
these eight + Theoretical Basis), Crossovers (What this map asserts +
tiered sourcing), Field Atlas (note on sources + preserves/imposes),
Theories (sourcing note + six-clusters rationale), Research (sourcing
counts + five-traditions rationale), Pedagogy (tier methodology +
five-sections rationale). The reviewer's Concern 7 (interpretive theory)
and the structural half of Concern 6 are now answered document-by-document
rather than only at the system level.

## Correction — hub cards brought current with this week's document changes (22 Jul 2026)

**Problem.** The Overview's reading-order cards carry per-document Sources
summaries, and two had gone stale as their documents moved:

1. **Crossover Map card** still carried the superseded "original synthesis,
   not a reproduction of a single published framework" language that the
   map's own Sources tab replaced earlier today with the tiered account.
2. **Theories card** still reported "Fourteen entries cross-checked
   (9 July 2026)... remaining references flagged for verification" — in
   three places: the stats chip ("14 verified entries"), the card-src
   summary, and the card body paragraph — when the document itself has
   recorded all 32 entries verified (14 on 9 Jul + 18 on 17 Jul, with the
   Drucker & McVarish correction) since the combined edition shipped.

**Fix.** Crossover card-src replaced with the tiered summary (thesis
methodology SRC; field attestation 10 strong / 12 partial / 5 editorial
completions; 102 Bibliography-linked citations SRC/CAN; grouping and
grading GEN), and its prov-flag updated from "Synthesis disclosed" to
"Field attestation tiered per panel; citations per crossover." Theories
card updated in all three places to the all-32-verified state with both
pass dates and the named correction.

**Sweep.** The full hub was swept for other claims outdated by this week's
batches: "original synthesis" (0 remaining), stale verification counts
(0 remaining), old document counts (0), old edition numbers (0), and the
rename history (already carries the 16th-ed followup). The ATLP/ATLI
mentions on the Pedagogy card are correctly historical ("were retired
16 Jul 2026") and stand.

**Root cause, for the record.** This is the second same-week instance of
a hub summary lagging its document (the first: the "Seven documents"
footer, corrected in the v37 batch). The hub's card summaries duplicate
state that lives authoritatively in each document; any document-level
provenance change should include a hub-card check as a standard
verification step going forward.

**Files touched.** index.html, this file.

## Correction — Field Atlas workshop provenance: independent corroboration found and published (23 Jul 2026)

**What changed.** Per editor request, searched for independent corroboration of
the two source workshops before relying on recall. Found substantially more
than expected: both workshops are documented on Design Incubation's and AIGA
DEC's own public event pages, not merely inferred.

**Confirmed facts (SRC, live-verified 23 Jul 2026):**
- The two workshops were **sequential phases of one named Design Incubation
  initiative** ("map current activities in Communication Design Research and
  Scholarship") — not two independent events, as the atlas previously stated.
- **Phase one**: DRS Festival of Emergence 2021, a distributed virtual event
  (Moments format) running through mid-September 2021; the specific session's
  exact date could not be pinned down from search alone (a minor date
  inconsistency between the festival's official end-date and AIGA DEC's "last
  month" phrasing is noted rather than resolved).
- **Phase two**: *Collective Mapping of Communication Design Research and
  Scholarship*, AIGA Design Educators Community, **November 12, 2021, 3–4pm
  EST, virtual (Zoom)**. Organized by Design Incubation Chairs **Jessica
  Barness, Liz DeLuna, Heather Snyder Quinn, and Dan Wong**; moderated by
  **Rebecca Tegtmeyer**. A public recording exists: youtu.be/GpntHPDqivI.
- A follow-up session, *Exploring the Research Map*, ran at the CAA 110th
  Annual Conference, **March 3, 2022**, with the same four Design Incubation
  Directors discussing the map's development trajectory.
- **"FoE" now has a confirmed expansion**: Festival of Emergence (not "Field
  of Everything," which the unexpanded filename left ambiguous).

**Not yet confirmed** (flagged explicitly on the page rather than assumed):
the exact prompts given at each station, participant counts, and whether
notes were written individually or through group discussion. The publicly
available AIGA DEC recording may resolve the prompts question without
relying on recall at all — noted on the page as a next step.

**Site changes.** Three locations corrected to match the confirmed record:
1. "A note on sources" — new paragraph with full dated, named, and linked
   account (four external URLs: DRS event page, AIGA DEC event page, the
   YouTube recording, and the CAA follow-up page), replacing the previous
   assumption-based framing.
2. The page footer's source line — "two independent... apparently produced"
   replaced with "two sequential-phase... from one Design Incubation
   initiative," backlinked to the full account above.
3. The AIGA DEC / DRS FoE Venn-diagram legend — "both apparently produced by
   Design Incubation" replaced with "sequential phases of one Design
   Incubation initiative."

One unrelated near-miss checked and left alone: "two independent facets"
(kind/source) and "independently, two rooms... converged on nearly identical
clusters" both use "independent(ly)" in senses unrelated to event
organization — the first about taxonomy structure, the second an accurate
claim about participant outcomes (different people, convergent results) that
doesn't conflict with the now-corrected claim about event coordination. Left
unchanged.

**Verification.** Tag balance confirmed (div/p/span/a/footer/h2 all
balanced). New `id="sources-box"` added so the footer's backlink resolves
(previously referenced a class, not an id — caught before shipping). All
four external URLs confirmed present exactly once each. Named facts
(date/time, all five names, follow-up date) confirmed present verbatim
against search findings. Full "apparently" and stale "two independent
events" sweep confirmed zero remaining instances outside the corrected text
and the two unrelated legitimate usages noted above.

**Files touched.** atlas-field.html only, this file.

## Change log — Field Atlas: session transcript located and published, with one caught misattribution (24 Jul 2026)

**What happened.** The editor supplied a PDF (browser print-capture of the
AIGA DEC session's YouTube watch page, transcript panel expanded) after
direct video/audio access proved unreachable in this environment (YouTube
URLs are not fetchable unless returned as a top-level search result, and no
audio/video transcription tool is available here). The PDF's text layer
extracted cleanly via `pdftotext`, yielding YouTube's full auto-generated
captions for the entire session: 0:00–59:55, all 462 clean timestamped
lines (two trailing lines were video-scrubber chapter-marker artifacts, not
speech, and were discarded).

**What the transcript resolved.** All three items flagged as "not yet
confirmed" in the previous entry:
- **The exercise structure and prompts.** A Miro board, three timed blocks
  ("questions for all groups," seven questions, 5 min; "research-based
  questions," 5 min; "practice-based questions," 5 min), then open category
  bubbles (practice, history, funding sources, movements, products and
  artifacts, research theories and philosophies) that participants extended
  live with new categories.
- **Individual vs. group format.** Confirmed individual: participants typed
  their own notes simultaneously onto a shared board, not group-negotiated.
- **Why two phases.** Confirmed as a deliberate, iterative redesign of one
  tool, not merely two runs of one exercise — the board evolved through
  several abandoned forms (lists, post-its, an abandoned Venn-diagram
  attempt) after the organizers hit a stated methodological obstacle
  ("research and scholarship is very sensitive... people feel a lot of
  ownership... especially very discipline specific"), with the DRS phase
  happening at the bubbles-and-post-its stage and the AIGA DEC phase
  deliberately reset to blank categories for a US-specific audience.

**What remains open:** participant counts. Not stated or countable from the
recording alone.

**A misattribution caught before shipping.** The first draft of this
addition attributed the session's opening tenure-and-promotion origin story
to "co-chair Jessica Barness." Re-checking the transcript against the
verification pass (per standing practice: check every claim against the
source before publishing) found the opening speaker refers to "jess" in the
**third person** twice ("jess... came to Design Incubation and said...";
"jess's diagram") — meaning the narrator is not Barness. Internal evidence
(Liz DeLuna and Heather Snyder Quinn both self-identify by name later in the
recording) narrows the opening speaker to one of the other two chairs, but
does not confirm which — self-identification never occurs for that speaker
on the recording. Rather than guess or ship a bracketed placeholder, the
published text describes the origin story without naming its speaker, states
that Barness is independently confirmed as *not* the speaker (she's
described in the third person), and leaves identification for the editor to
confirm directly if wanted.

**Editorial line held: participant privacy.** The recording contains named
voices beyond the four chairs (workshop participants speaking casually in
what was framed as a semi-informal community Zoom session). None of these
names were added to the site. The sticky-note corpus this atlas transcribes
is anonymous by design; importing names from the video to attribute casual
remarks would break that convention for content the anonymity policy was
built to protect, even though the recording itself is public. Participant
remarks are drawn on only in aggregate, for methodology, never attributed to
an individual.

**One quote required disclosure.** A direct quote ("there really is a
consensus...") omits a spoken "um" mid-sentence. Standard transcription
practice, but per this project's citation rigor, the source line now
discloses that filler words are silently removed from direct quotes and
nothing else is altered.

**Verification.** Tag balance confirmed (div/p/span/a). Six direct quotes
checked against the raw transcript; all six confirmed present verbatim (one
required checking the continuous-prose join rather than the per-line file,
since timestamp boundaries split some phrases across lines — not a content
error, a checking-method artifact, resolved by re-verifying against a
flowing-text version of the same source). Zero bracketed placeholders or
TODO markers remain in the shipped file. No duplicate insertion. The
misattributed paragraph was rewritten, not left in place with a caveat.

**Files touched.** atlas-field.html only, this file.

## Correction — appendix table had the workshop order reversed (24 Jul 2026)

**What was wrong.** The editor flagged that the site had the two workshops'
order backwards. Checking against the "A note on sources" paragraph shipped
earlier today (which correctly states DRS Festival of Emergence 2021 as
phase one, AIGA DEC November 12, 2021 as phase two) found the error was not
in that paragraph, but in a pre-existing table the day's earlier passes
hadn't touched: the appendix's "Institutions & organizations named" table
had it backwards in both directions —
- **AIGA / AIGA DEC** was labeled "Host community for the **first**
  workshop" (wrong; AIGA DEC was the second, later phase).
- **Design Research Society (DRS)** was labeled "Host of the **second**
  workshop" (wrong; DRS Festival of Emergence 2021 was the first, earlier
  phase).

Both corrected. AIGA / AIGA DEC now reads "Host community for the second
workshop (November 12, 2021)"; DRS now reads "Host of the first workshop,
Festival of Emergence 2021" — both dated for clarity, consistent with "A
note on sources" above.

**A fourth surviving hedge, found in the same pass.** The adjacent Design
Incubation row still read "apparent producer of the workshop materials" —
the same "apparently" hedge corrected in three other locations in the
previous session's pass (the sources note, the footer, the Venn-diagram
legend) but missed here, since this table wasn't touched in that sweep.
Corrected to "confirmed organizer of both workshops."

**Why this happened.** This table is part of the atlas's original appendix
content, written before any of the independent-corroboration work in this
session. It was never in scope for the earlier passes because those edits
targeted the sources note, footer, and legend specifically — this table
wasn't searched. Lesson for future batches touching shared facts: search
the *entire* document for every instance of the fact being corrected, not
just the locations already known to reference it.

**Verification.** Full-document sweep for "first workshop," "second
workshop," and "apparent" confirms exactly one instance of each ordinal
phrase (both now correct) and zero remaining hedge instances related to
workshop attribution (the two remaining "apparent" hits are unrelated
glossary entries — apparent size in typography, apparent contrast in image
sharpening — left untouched). Tag balance confirmed (tr/td/table/span/div
all balanced).

**Files touched.** atlas-field.html only, this file.

## Change log — four editor corrections: FoE date, chronological ordering, edition-history sort, Intersections secondary source (24 Jul 2026)

### 1. DRS Festival of Emergence date corrected

Editor supplied the exact date: **September 7, 2021**. The site previously
said "a distributed virtual event held across September–October 2021; the
exact date of this specific session is not yet pinned down" — a hedge
introduced because the public DRS festival page gave a window, not a session
date. Now stated precisely, with the source line distinguishing tiers: event
details remain archive-verified (23 Jul 2026), while the FoE session date is
attributed to the editor, who co-organized both sessions. This is the
"organizer's account" tier discussed in the peer-review response report,
applied narrowly to a single fact rather than adopted wholesale.

### 2. Workshop presentation order made chronological (DRS → AIGA DEC)

The prose already had the order right, but the *presentation* order put AIGA
DEC first throughout — an artifact of the AIGA DEC PDF having been the first
file worked with. Corrected in nine locations:

**atlas-field.html (six):** Venn-diagram legend chips; the I–III edition tab
labels (with the default `checked` tab moved from AIGA to DRS, so the page
now opens on the earlier workshop); the atlas legend keys; the "Both
uploaded PDFs are the source" filename order; the page footer filename
order; and the footer's inline date, now "DRS Festival of Emergence,
September 7, 2021, then AIGA DEC, November 12, 2021."

**index.html (three, plus one hedge):** the hero eyebrow ("DRS / AIGA DEC
workshop corpus"); the system-diagram source node (DRS line above AIGA);
the Field Atlas document node ("DRS + AIGA DEC, combined"); the Field Atlas
card's Sources line, reordered and given both dates; and the source-corpus
"Workshop material" list, reordered with dates added to both entries. The
card's Sources line also still carried "both apparently produced by Design
Incubation" — a fifth surviving instance of the hedge corrected elsewhere on
23 Jul, missed because the earlier sweep covered atlas-field.html only.
Corrected to name the confirmed initiative and both dates.

Note on the tab reordering: the tab CSS uses `for=`/`id=` matching with
general sibling selectors (`#tab-d:checked ~ .panel-d`), so reordering the
labels and moving `checked` does not require reordering the panels
themselves — verified before editing.

### 3. Glossary edition history re-sorted

The Method & provenance edition history ran 16, 15, 14, 13, 12 (descending),
then jumped to 3, 4, 5 … 11 (ascending) — the tail was an older ascending
list that newer entries had been prepended to without re-sorting. Now
strictly descending, 16 → 3, so the newest edition is always first.

Method: each `<p><strong>Nth edition …</strong> … </p>` block was extracted
by boundary detection, re-sorted, and rewritten in place. Verified after:
all fourteen editions (3–16) present exactly once, strictly descending, tag
balance preserved, and spot-checks confirming block content survived intact
(upper-ontology renames, No Film School, Adweek, Collection/Provenance
filters, usability pass, taxonomy unification, anonymization pass).

### 4. Intersections map — secondary source found for the practice-area domains

Editor asked for corroboration of what AIGA does in establishing the six
practice-area nodes. Found: **AIGA and NASAD's joint advisory "Making
Choices About the Study of Communication Design"** — a second AIGA document,
differently authored and differently purposed from the *Types of Design
Practice* gallery, prepared with the body that accredits university design
programs.

It independently enumerates where communication designers work (print-based
design; environmental applications including exhibition, retail, wayfinding,
signage; packaging; broadcast media; interactive media) and the titles the
field's work carries (graphic, visual, visual communication, advertising,
brand, information, interaction, user experience, software design).

**Scope of corroboration, stated precisely on the map rather than
overclaimed:** it corroborates five of the six practice-area domains — Print
& Editorial, Environmental & Spatial, Identity & Branding, Advertising &
Persuasion, Digital & Interactive — plus Visual Communication (already
sourced constitutively via Frascara). It does **not** corroborate Design
Research, Process & Strategy, which continues to rest on the *Types of
Design Practice* enumeration alone; the map now says so explicitly. The
eight-way coordinate structure remains editorial for all eight nodes, as
before — a second source for the domains is not a source for the partition.

Added to bibliography.html as `ref-aiga-nasad` under Standards & living web
resources, adjacent to `ref-aiga-types`, with its corroboration scope and
its limit both recorded in the refnote. Live-verified 24 Jul 2026.

### Verification

All four tasks checked programmatically before packaging: the Sept 7 date
present and the stale hedge gone; all eleven reordering points confirmed in
chronological order across both files; glossary editions confirmed strictly
descending with all fourteen present exactly once; the NASAD anchor
resolving from map to bibliography; and tag balance (div/p/span/a/label/
td/tr) confirmed on all five touched files.

### Files touched

atlas-field.html, index.html, glossary.html, map-intersections.html,
bibliography.html, sitemap.xml (lastmod), this file.

## Correction — "run independently" claim and remaining AIGA-before-DRS orderings (24 Jul 2026)

**What the editor caught.** The Field Atlas card on index.html still read
"run independently at AIGA's Design Educators Community and a Design
Research Society conference" — wrong on both counts: the order was
reversed, and "run independently" contradicts the confirmed finding
(23 Jul, from Design Incubation's and AIGA DEC's own event archives) that
the two workshops were sequential phases of one initiative.

**Second instance of the same sentence.** A whole-corpus sweep found the
same claim, near-verbatim, in atlas-field.html's own thesis-derived intro:
"run independently at two venues — AIGA's Design Educators Community and a
Design Research Society conference." Both now read "run in two sequential
phases of one Design Incubation initiative — first at a Design Research
Society conference, then at AIGA's Design Educators Community."

Note that atlas-field.html has therefore carried *contradictory* claims
since 23 Jul: its "A note on sources" panel said "sequential phases... not
two independent events," while its page intro two screens above still said
"run independently at two venues." The 23 Jul pass corrected the sources
note, footer, and Venn legend but not the intro, because the intro was not
among the locations searched.

**Two further ordering instances, in files not previously swept.**
- theories.html: "Relative to the AIGA DEC / DRS workshop corpus" →
  "DRS / AIGA DEC workshop corpus."
- map-crossovers.html (two places): "the crowdsourced AIGA DEC and DRS
  workshop data" and "638 concepts sourced from AIGA DEC and DRS workshop
  mapping" → both reordered to DRS-first.

**Root cause, third occurrence.** This is the third consecutive session in
which a shared fact was corrected in the locations already known to
reference it, while further instances survived in locations not searched
(23 Jul: appendix table; 24 Jul: index card; 24 Jul: this batch, four more
across three files). The prior entries noted the lesson; this one applies
it — the sweep for this batch covered **every HTML file plus README**, not
only the files being edited, and was run as a regex sweep for the *claim
pattern* rather than for known strings. That is now the standing method for
any correction to a fact that appears in more than one document.

**Left unchanged, deliberately:** two AIGA-before-DRS strings in README's
own historical changelog entries (the reading-order table's original
document title, and the 23 Jul entry describing what was fixed that day).
Both are historical record under the append-only rule; rewriting them would
falsify the log. Also unchanged: several uses of "independent(ly)" across
the site that have nothing to do with workshop organization — "two
independent facets" (glossary taxonomy structure), "two independent routes
to the same object" (research atlas triangulation), "the corpus does not
independently attest" (crossover map), and "Event details independently
confirmed" (atlas-field source line). All were checked and are correct in
their own contexts.

**Verification.** Whole-corpus regex sweep confirms zero remaining "run
independently" claims and zero remaining AIGA-before-DRS ordered pairs in
any HTML file; tag balance confirmed on all four touched files; new wording
confirmed present in both index.html and atlas-field.html.

**Files touched.** index.html, atlas-field.html, theories.html,
map-crossovers.html, sitemap.xml (lastmod), this file.

## Change log — Related systems section published; TGDT examined in full (24 Jul 2026)

### Related systems published to index.html

Draft 4.6 from the peer-review response report, verified 22 Jul 2026, is now
live as a hub section (`#related-title`), placed between "What kind of system
is this?" (self-classification — what this *is*) and "The source corpus"
(what it's *built from*). The reading order is now: system map → documents →
editorial method → governance → self-classification → **related systems** →
source corpus.

Content: general-purpose vocabularies (Getty AAT, LCSH) reach the field's
objects, not its research concepts; discipline-owned schemes (ACM CCS,
PhilPapers) are the structural models; adjacent thesauri (ERIC) stop at
adjacent borders; and one genuine near-miss precedent (TGDT) engaged
honestly rather than omitted. Cross-links to the governance section (the
succession problem TGDT illustrates), the Intersections map (AIGA practice
taxonomy), and the Bibliography.

### TGDT examined in full and added to the Bibliography

The editor supplied the TGDT PDF. Examined in full (144 pp.) rather than
relying on the search-result summary used for the 22 Jul verification.
Findings that refine what the 22 Jul verification could establish:

- **Scale confirmed:** 1,923 preferred terms and 189 guide terms parsed from
  the systematic listing, matching the stated "approximately 1,900 preferred
  terms" plus ~600 lead-in terms.
- **Nine facets**, not previously enumerated on the site: Activities &
  Processes (249), Communication/Information/Language (436), Entities (56),
  Places (28), Objects & Materials (179), Properties & Concepts (212), Styles
  & Periods (78), Visual Elements (326), Created Works (359).
- **Standards-conformant:** built to ANSI/NISO Z39.19-2005, with documented
  deviations. Full BT/NT/RT relations, scope notes, and disambiguating
  qualifiers.
- **Monohierarchical by admission:** "no term may occur in more than one
  position… future revisions may allow… polyhierarchical." Those revisions
  never came — v1.1 (May 2006) is the last release.
- **Licence: CC BY-SA 2.5**, permitting derivative use with attribution and
  share-alike. This materially changes the incorporation question, which the
  22 Jul verification could not have known.
- **Scope is narrower than this system's**, and deliberately so: it indexes
  vocabulary for cataloging works *about* typography and graphic design, "not
  of the products of typography and graphic design."

Added to the Bibliography as `ref-tgdt` under Standards & living web
resources, with facets, standard, licence, and dormancy recorded.

### Overlap analysis against the glossary (analysis only — no terms imported)

Normalized comparison (case-folded, qualifiers stripped, singular/plural
matched) of TGDT's 1,923 preferred terms against the glossary's 1,804:

- 200 exact matches, 57 singular/plural matches — **13.4% overlap**
- 1,666 TGDT terms absent from the glossary

The low overlap is a *scope* finding, not a coverage gap: the bulk of the
non-overlapping terms are book-arts and print-production vocabulary (Created
Works: front matter, colophons, signatures), fine-grained typographic
measures (em/en/hair/thick spaces, negative leading), business-of-design
terms (accounts receivable, amortization, overhead), and general-purpose
categories the glossary has no reason to carry (elementary schools, high
schools). Spot-check confirmed genuine candidate gaps in typographic
micro-vocabulary — the glossary carries Leading, Kerning, Tracking, Serif,
Ascender, Descender, Widow, Orphan but not Letterspacing, Baseline,
X-Height, Ligature, Counter, or the space measures.

**No terms were imported.** Incorporation options were put to the editor as
a decision, per standing practice on scope changes.

### Files touched

index.html, bibliography.html, sitemap.xml (lastmod), this file.

## Change log — Draft 4.5 lineage convention documented; thesis dates added (24 Jul 2026)

### Intellectual-lineage convention (Draft 4.5) — reader-facing documentation added

Context: the *mechanism* for lineage notes already existed from earlier work
— the `.entry-lin` CSS class, the `r.lin` render in the entry template, and
four entries carrying a `lin` field (Icon / Iconography, Symbols,
Figure/Ground Relationship, Wicked Problems). What was missing was the
*documentation* of the convention: nothing in the guide told a reader what
the Lineage line means or how it differs from the Source line.

Added a new subsection, **"The Lineage line,"** at the end of the "How to
use this glossary" methodnote (immediately after the "structure, drawn"
diagram). It explains: the Lineage line records where an entry sits in a
named theoretical tradition, distinct from the Source line (wording origin)
— a definition can be worded from a course handout while the concept
descends from Peirce or Gestalt; lineage notes carry the same SRC/CAN/GEN
tiers as any claim; where a tradition has a Theories entry, the Lineage line
points to it; and the four current entries are named as the initial
application, extending outward from entries that already cross-reference
Theories.

Placement rationale: the convention is documented where the Lineage line
actually appears (the glossary guide, reader-facing), not on the hub. The
hub's Methodology section describes provenance as prose principles, not a
numbered rule list, and the SRC/CAN/GEN tier system it already documents
governs lineage notes without needing a separate "rule 9." The report's
Draft 4.5 proposed adding it as a methodology rule; in the built site the
natural home is the guide, since that is where a reader meets the line.

The four worked examples from Draft 4.5 were already applied (in an earlier
session) and were verified here against the guide's new description: all four
present, well-formed, correctly tiered (three CAN, one SRC/CAN), and the
`DATA` array re-confirmed to parse as valid JSON (1,804 entries, 4 with
lineage).

### Thesis dates added

Editor supplied confirmed dates for the two founding documents:
- *The Need for a Classification System in Communication Design* —
  **January 1, 2020**
- *The Need for an Open Source Taxonomy to Identify Unique Research Concepts
  in Communication Design* — **May 16, 2018**

Added in two places:
- **index.html**, the "Thesis provenance" note, where both titles are named
  together — dates appended in parentheses after each title.
- **bibliography.html**, the two Wong entries, changed from "(n.d.)" to
  "(2020)" and "(2018)". Notably, the bibliography had already *inferred*
  these dates from internal evidence (a "retrieved 1/1/2020" Wikipedia note;
  a May 2018 citation access date) and flagged them as circa; the refnotes
  now state the dates as author-confirmed, consistent with that prior
  internal evidence. One stray fragment from the old refnote wording ("ft
  circa 2020") was caught and removed during the edit.

### Verification

Lineage convention present exactly once; four `lin` fields intact; `DATA`
parses (1,804 entries); both thesis dates present on index; both
bibliography entries redated with zero remaining "Wong, D. (n.d.)" and no
leftover fragment; tag balance confirmed on all three files.

### Files touched

glossary.html, index.html, bibliography.html, sitemap.xml (lastmod), this
file.

## Change log — Editorial method section published (Draft 4.1); lineage convention added as rule 9 (Draft 4.5) (25 Jul 2026)

### Editorial method — "How the system is edited" (Draft 4.1)

Published on the hub as a new section, `#methodology`, kicker "Editorial
method", title "How the system is edited". Eight numbered rules per Draft 4.1
(selection, exclusion, synonyms and variants, competing definitions, authority
of sources, who decides, revisions and versioning, integrity auditing), plus
rule 9 below.

**Placement — decided against the draft's own instruction.** Draft 4.1
specified placement "between 'Provenance, everywhere' and 'What kind of system
is this?'". By the time it shipped, the Governance section (22 Jul) already
occupied that slot. The section was placed *after* `#method-title` and *before*
`#gov-title` rather than after Governance, for two reasons internal to the
copy: Governance's closing paragraph already states that "its editorial rules
are recorded above and in the changelog", which is only true if the method
section precedes it; and rule 6 forward-references Governance for the challenge
pathway. Reading order is now: provenance tiers → editorial rules → governance
→ self-classification → positioning.

**Changelog link resolved to `README.md`, not `changelog.html`.** Draft 4.1
carries a `[link: Changelog]` placeholder, and report §3.2 recommendation 1
offers two ways to close it: render `changelog.html` from this file via the
build scripts, or "link the .md file directly." No `changelog.html` exists in
this build, so the direct `.md` link was used — in the section's opening
sentence, in its source line, and as a new footer entry under "System". This is
the first link to this file from any page of the site; before today, the
methodology was the best-documented and least visible part of the system, which
was §3.2's central finding. **Open:** `changelog.html` remains the better
long-term answer, since a raw `.md` renders as plain text in a browser.

**The 13 Jul audit is named in rule 8 but not linked.** Report §3.2
recommendation 3 flags that `audits/glossary-plagiarism-audit.md` retains one
evidentiary URL which the audit file's own anonymization note (15 Jul 2026)
says should keep the folder out of public deployment. Rule 8 therefore
describes the audit and its method without linking the file. **Open, and
carried forward from §9:** the `audits/` folder is still present in the
distributed bundle. It should be excluded from deployment, or the URL resolved,
before that folder ships.

### Rule 9 — intellectual lineage (Draft 4.5), and a reversal of the 24 Jul placement rationale

Rule 9 states the lineage convention on the hub. This **reverses, in part, the
placement rationale logged on 24 Jul 2026**, which declined to add it as a
methodology rule on the stated ground that "the hub's Methodology section
describes provenance as prose principles, not a numbered rule list." That was
accurate when written. Publishing Draft 4.1 removed the condition it rested on:
the hub now has a numbered rule list, so the reason for the exclusion no longer
obtains. Both directions are on the record.

The 24 Jul decision is **not** otherwise reversed. The reader-facing
explanation stays in the glossary guide, where a reader actually meets the
Lineage line; rule 9 is the terse statement of policy and links to it. Rule 9
also states the rollout count (four entries) rather than implying general
application, and its source line notes that entries without a lineage note are
not thereby claimed to lack one.

Anchor added: `glossary.html#lineage-line` on the existing "The Lineage line"
paragraph, so rule 9 has a target. No wording in that paragraph changed.

### Not done — companion items from the drafts

- Draft 4.5's rollout order (174 cross-referenced entries, then the semiotic,
  Gestalt, design-methods, and rhetoric families) is **not** started. Four
  entries carry lineage notes, unchanged from 24 Jul.
- Draft 4.5's three worked examples were already applied in an earlier session
  and were not re-edited here.
- `changelog.html` not generated (see above).
- `audits/` not excluded from the bundle (see above).

### Verification

`#methodology` present exactly once; anchor order confirmed as method-title →
methodology → gov-title → kind-title. Tag balance re-checked on index.html and
glossary.html (no unclosed elements, no mismatches). No new hardcoded hex
colors introduced — the section reuses `.kindsec`, `.sec-head`, `.sec-kicker`,
`.sec-title`, `.kind-p`, and `.kind-src`, all of which resolve through the
theme custom properties. No literal `\u` escape sequences in the added markup
(the recurring escape-sequence bug). All five links in the added copy resolved
against the build: `README.md`, `#gov-title`, `bibliography.html#ref-hodge`,
`bibliography.html#ref-zeng`, `bibliography.html#ref-bruno-richmond`,
`glossary.html#lineage-line`.

Factual claims in the copy checked against this file before publishing, since
the section asserts its own practice: the three excluded founding-proposal
passages (21 Jul entry — the harrowhouse.com English/German claim, the
internet-as-pubescent-being passages, and the dated Wikipedia snapshot) —
confirmed, and the count of three is exact; the misspelled byline in rule 7
(Winston, Chaffin & Herrmann, corrected 21 Jul) — confirmed; the 13 Jul
citation-integrity audit and its distinctive-phrase method — confirmed; and
*Form (Composition)* / *Form (Print Production)* exist as separate glossary
entries as rule 4 claims — confirmed. Rule 4's Double Diamond example was
already documented as a standing conflict.

Rule 4's two disambiguated entries are linked to `glossary.html` without a
per-entry anchor, because glossary entries are rendered from the `DATA` array
at runtime and have no stable ids. **Open:** per-entry anchors would let the
hub deep-link the example.

### Files touched

index.html (new section, footer System links, footer build line),
glossary.html (`#lineage-line` anchor only), sitemap.xml (lastmod on `/` and
`/glossary.html`), this file.

## Change log — Wheeler, *Designing Brand Identity* (5th ed.) added as a source; 14 glossary entries cited (25 Jul 2026)

### Bibliography entry added

`bibliography.html`, Tier 6, anchor `#ref-wheeler`, placed alphabetically between
White and Williamson — alongside Aaker (1991), the other brand-domain anchor in
that tier.

Wheeler, A. (2018). *Designing brand identity: An essential guide for the entire
branding team* (5th ed.). John Wiley & Sons.

**Verification.** Imprint facts read directly off the book's own copyright page
and Library of Congress CIP data (SRC), not from a retailer listing. This is a
stronger footing than the catalogue-verified entries elsewhere in Tier 6 and is
labelled as such.

**Two named conflicts, preserved rather than resolved.**

1. *Subtitle.* The printed title page and the LOC CIP record both read "for the
   **entire** branding team." The publisher's own catalogue listing and all
   retailer metadata checked read "for the **Whole** Branding Team." The book's
   own wording is used in the entry; the discrepancy is recorded in the refnote.
   This is publisher metadata contradicting the publisher's own book.
2. *Date.* The imprint carries ©2018; the 5th edition was released in late 2017
   per publisher and retailer records. Same imprint-versus-issue pattern already
   documented for Drucker & McVarish (©2009 imprint, issued February 2008), and
   cross-referenced to it in the refnote.

### Source material and pagination

Consulted as two volumes of page images (Kindle screenshots, no text layer;
OCR'd for reading). Volume 1: 45 images. Volume 2: 53 images. Together they
cover **print pp. 2–92 — the whole of Part 1, with no gap.** Parts 2 and 3 were
not consulted, and the entry says so.

Print pagination was established by **reading printed folios**, not inferred:
volume 1 PDF p. 40 carries folio 34 and PDF p. 41 carries folio 35, giving
print = PDF − 6; volume 2 PDF p. 15 carries folio 54, PDF p. 16 carries 55, and
PDF p. 17 carries 56, giving print = PDF + 39. Each mapping was then checked at
ten further points against the book's own contents listing. All citations below
therefore carry real print page numbers.

**Correction to an earlier claim in this session.** Volume 1 was first reported
as ending at print p. 38 and as leaving the whole Brand ideals block unsourced.
Both were wrong: it ends at p. 39, and print p. 35 ("The ideals") carries
short-form definitions of the ideals, with p. 34 carrying a named Functional
criteria list. The error was in inference from spread titles before folios were
read; folios were read afterward and the mapping corrected.

### Glossary citations — 14 existing entries, no new entries

Per editor direction this pass: citations only, no new terms. Each entry below
gained a Wheeler source-line segment and a provenance chip. Twelve of the
fourteen were previously sourced to "General knowledge" alone or near-alone.

| Entry | Page(s) | Note |
|---|---|---|
| Branding | 6 | |
| Co-Branding | 6 | from the Types of branding sidebar |
| Personal Branding | 6, 90 | |
| Brand Governance | 8 | |
| Brand Strategy | 10 | |
| Brand Equity | 12 | **partial** — discussed as a company asset, not defined |
| Customer Experience (CX) | 18 | |
| Brand Architecture | 22–23 | incl. monolithic / endorsed / pluralistic typology |
| Naming | 26–27 | incl. the seven named qualities of an effective name |
| Tagline / Slogan | 28 | |
| Big Idea | 32 | |
| Brand Mark / Symbol | 54–55 | p. 55 synonym set recorded in the source line |
| Logo / Logotype / Wordmark | 54, 56 | p. 54 defines Signature |
| Dynamic / Flexible Identity | 66 | Wheeler's term is Dynamic marks |

**Deliberately not cited, though Wheeler touches them.** *Symbols* — Wheeler's
p. 24 sense is brand symbols; the glossary entry is semiotic and carries a
Peircean lineage note. Citing Wheeler there would be a category error.
*Brand Values*, *Brand Promise* — Wheeler mentions both in passing (pp. 16, 22)
without defining either. *Place Branding* — Wheeler's sidebar term is "country
branding," which is narrower; a partial match not worth asserting as a citation.
*Trademark Clearance* — the Intellectual property spread (p. 116) is in Part 2
and was not consulted.

### On "Topology of marks" (p. 55)

Per editor direction, the term is left alone and treated as a probable
typographical error for *typology*. It does not appear in any site copy: no
entry was created for the page, and the source lines cite page numbers rather
than the page's title. Recorded here so the decision is on the record rather
than invisible.

### Open — the p. 55 synonym set is recorded but not yet operative

Wheeler's p. 55 gives a published synonym set — Brandmark, Trademark, Symbol
mark, Identity, Logo — for the concept the glossary currently splits across
*Brand Mark / Symbol*, *Logos*, and *Logo / Logotype / Wordmark*. That set is
recorded in the *Brand Mark / Symbol* source line but **no variant tags were
added and no entries were merged.** Doing so is a consolidation decision, not a
citation, and is out of scope for this pass. See the note below.

### Open — variant-tag mechanism is narrower than the published rule claims

Discovered while answering an editor question this session. The methodology
section published earlier today (rule 3) states that "synonyms and variant
spellings fold under a preferred concept via variant tags." The mechanism
exists — the `tags` field, the `.entry-tags` CSS class, and the render at
glossary.html — but:

- only **110 of 1,804** entries carry it, and just **one** in the Branding &
  Identity domain (*Brand Narrative*);
- it renders under the fixed label **"DI source tags:"**, which scopes it to
  the Design Incubation tag corpus rather than presenting it as a general
  synonym apparatus;
- it is not searchable — the search filter reads title and definition only.

So the rule as published overstates what the glossary does. This is a
rule-versus-implementation gap, not a wording error, and it is left open rather
than patched: closing it means either broadening the mechanism and relabelling
it, or narrowing rule 3 to describe actual practice. Editor decision.

### Verification

`DATA` re-parses as valid JSON, 1,804 entries, unchanged count. The array was
confirmed to round-trip byte-identically before editing, so the diff is
confined to the fourteen entries touched; verified that all bytes preceding the
`DATA` array are unchanged. Exactly 14 entries carry a Wheeler source segment;
none carried one before. No entry titles, definitions, domains, Kinds, or
lineage fields were altered. `#ref-wheeler` present exactly once. No literal
`\u` escape sequences introduced. No hardcoded hex colors introduced.

### Files touched

glossary.html (14 source lines and provenance chips), bibliography.html (one
Tier 6 entry plus refnote), sitemap.xml (lastmod on `/glossary.html` and
`/bibliography.html`), this file.

## Build 50 — "practice" added to the thesis scope enumeration (27 Jul 2026)

### The change

`index.html`, thesis statement. The system's stated scope read "a
classification of the field's research, theory, history, and pedagogy."
It now reads "...research, theory, history, practice, and pedagogy."
Editor direction, 27 Jul 2026.

"Practice" is inserted before "pedagogy" rather than appended, to match
the grouping already used in the Pedagogy, Process & Practice Atlas
title.

### Why — the statement lagged the content

This aligns the scope statement to what the system already contains; it
does not extend scope. Practice was present throughout the documents
while absent from the sentence declaring what the system classifies:

- Glossary: Design Process & Strategy (89 terms), Business, Legal &
  Professional Practice (45), Social Practice & Ethics (29). The Kind
  facet's second-largest value is Method (431), behind Concept (594).
- `atlas-pedagogy.html` carries "Practice" in its document title.
- `atlas-field.html` already describes "History, practice, and pedagogy
  of design" in its own field descriptions.

The omission was noticed while reviewing the Design Incubation CAA
Affiliated Society meeting of 12 Feb 2021 ("Connecting Scholars,
Building Community, Design Research Network(ing)"), whose panel question
offered five categories — design theory, design history, design
practice, design research, design pedagogy — and closed with "something
else?". The thesis sentence carried four of those five.

### Provenance status — open question, not yet answered

The index page presents the thesis as coming from two author documents.
The list of what the system classifies is part of that thesis. So the
list should be traceable to one of those two documents.

It isn't — or at least, not yet:

- *The Need for an Open Source Taxonomy to Identify Unique Research
  Concepts in Communication Design* (16 May 2018). Checked in full.
  The word "research" appears 12 times. The words "theory", "history",
  "pedagogy" and "practice" do not appear at all. The list did not come
  from this document.
- *The Need for a Classification System in Communication Design*
  (1 Jan 2020). Not available when this build was made. Not checked.

So the list's origin is currently unknown, and this build does not
pretend otherwise.

There are two possible answers, and they call for different follow-ups:

1. **The list is in the 2020 proposal.** Then the original four words
   are properly sourced, and "practice" is an addition by the editor.
   It should be marked as an editorial addition where it appears.

2. **The list is not in the 2020 proposal.** Then the editor wrote all
   four words, and the page has been presenting them as if they came
   from the source documents. That is a separate error, and it needs
   its own correction entry.

To settle it: open the 2020 proposal and search for "theory", "history",
and "pedagogy". Whichever answer comes back gets written down here.
Neither is fixed quietly.

### Verification

- Scanned all nine HTML documents for the enumeration: exactly one
  occurrence, in `index.html`. No other document repeats it, so no
  cascade into the eight document introductions woven from the thesis.
- Post-edit string confirmed present once; no other text in `index.html`
  altered.

### Not done in this build (carried, unchanged)

- `index.html` states 1,802 glossary terms in five places; the live
  `DATA` array holds 1,804. Not touched here — out of scope for a
  single-sentence edit, and it wants its own correction entry.
- `changelog.html` still does not exist while `index.html` refers to the
  changelog in prose.
- `audits/` remains in the public bundle.
- Package structure follows build 49 (files at archive root, no `site/`
  wrapper) so that this build differs from its predecessor only in the
  logged change.

### Files touched

- `index.html` — one sentence.
- `README.md` — this entry.

### Build 51 — note on this entry's wording (27 Jul 2026, same day)

The "Provenance status" section above was rewritten for clarity on the
day it was written, at the editor's request, because the first version
was hard to follow. Nothing in its substance changed: the same two
documents were checked, the same one came back negative, and the same
two possible answers remain open. Recorded here because the changelog is
append-only and a rewrite — even a same-day one for legibility — should
not pass unremarked.

## Build 52 — thesis lineage extended to three documents; scope enumeration now fully traceable; two corrections (27 Jul 2026)

### The open question from the previous entry is answered

The previous entry left open where the thesis scope enumeration came
from, and named two possible answers. The actual answer was neither.

*The Need for a Classification System in Communication Design*
(1 Jan 2020) was supplied by the editor and checked in full. It contains
the sentence:

> We need an easily searchable record of design practice, research,
> theory, and history.

and uses the three-term form ("design research, theory, and history")
elsewhere. The word "pedagogy" does not appear in it at all, and does
not appear in the 2018 abstract draft either.

So the enumeration was partly sourced and partly not:

- **research, theory, history** — in the 2020 proposal.
- **practice** — in the 2020 proposal.
- **pedagogy** — in neither document. Editor-supplied, and until now
  presented as though thesis-derived.

### Correction to the 27 Jul 2026 entry above ("practice" added)

That entry recorded the addition of "practice" as an editorial change of
unconfirmed provenance, and asked whether it might be an editorial
extension requiring a flag at the point of use. It was not. "Practice"
is in the source sentence; the published enumeration had dropped it.
**The change was a restoration, not an extension**, and the earlier
entry's framing of it is corrected here by addition rather than by
rewriting.

The term whose provenance actually needed resolving was "pedagogy",
which that entry did not question.

### Resolution — third document added to the thesis lineage

At editor direction, *Adapting a Communication Design Program in the Era
of Shrinking Enrollment and a Constantly Changing Design Landscape*
(submitted to the SEGD Conference, 9 Mar 2020) joins the thesis lineage.
It is a program-development document — curriculum architecture,
enrollment data 2015-2019, and the restructuring of a degree from a
siloed concentration model to a combinatorial one. It is the source for
"pedagogy".

All five terms in the scope enumeration are now traceable to named
documents, and `index.html` states the derivation explicitly rather than
asserting it. No editorial-extension flag is required, because there is
no longer an editorial extension.

### Bibliography

- New entry `#ref-wong-program`, placed third in Thesis sources.
- `#ref-wong-classification` renumbered **Wong, D. (2020a)**; the new
  entry is **Wong, D. (2020b)**. Both are 2020 author documents, so APA
  disambiguation applies. Checked first: no in-text references to either
  exist anywhere in the nine documents, so the renumbering has no
  dependents.
- Section intro updated from "two Wong documents" to "three".
- The refnote records the non-acceptance, the declined invitation to
  resubmit, the reason (the pandemic), and the internal date evidence
  (PDF created 10 Mar 2020 03:22 UTC = the evening of 9 Mar in New
  York), consistent with the treatment of the other two documents.

### A separate correction — an error of mine on a published page

While preparing a retrospective summary for Design Incubation
Colloquium 1.0 (5 Jun 2014), I asserted that abstracts were not
collected for that event. That claim was false and reached the published
page before being caught. Abstracts for the other presenters were
collected and published on 19 Jul 2014; they are in the site's abstracts
category, which I did not check before writing. The editor had said
abstracts were not *reviewed*, which is true; "not collected" was my
inference from the colloquium page listing none. Corrected wording has
been supplied. Recorded here because the rule covers errors introduced
during this work, not only errors found in sources.

### Verification

- Scope enumeration confirmed present once in `index.html`; no other
  document repeats it.
- Source sentence located and quoted from the supplied 2020 proposal;
  "pedagogy" confirmed absent from both prior lineage documents by full-
  text search.
- Cross-reference check run across all nine HTML documents before
  renumbering; zero dependents found.
- `index.html` and `bibliography.html` re-parsed after editing.

### Not done in this build (carried)

- The source corpus section on `index.html` still lists no author
  documents at all, though the thesis now names three. Flagged
  previously; unchanged, and out of scope for this pass.
- 1,802 vs 1,804 glossary term count; `changelog.html` absent;
  `audits/` still in the bundle; archive-root packaging retained.

### Files touched

- `index.html` — thesis provenance paragraph.
- `bibliography.html` — one new entry and refnote, one year
  disambiguation, one intro word.
- `README.md` — this entry.

## Build 53 — DRS Festival of Emergence: date corrected against the published programme; co-authors credited; workshop sources and three references added (27 Jul 2026)

### 1. Correction — the FoE session date was wrong

The site said **September 7, 2021**. The correct date is **Friday,
September 10, 2021, 8:00am EDT**.

Source: the published *DRS Festival of Emergence* programme, v7, p. 37,
supplied by the editor. It lists the session at **EDT 08.00**, with local
dates NZST 11 September 00.00 and AEST 10 September 22.00. NZST is
UTC+12, so NZST 11 Sep 00.00 = UTC 10 Sep 12.00 = EDT 10 Sep 08.00. The
project-held session agenda ("Friday, Sept 10, 2021 8am EDT / 7am CDT")
and the editor's CV (9/10/2021) both agree independently.

**This supersedes the correction logged 24 Jul 2026**, which replaced an
honest hedge ("the exact date of this specific session is not yet pinned
down") with September 7, 2021 supplied by the editor from recollection.
That entry recorded the attribution correctly and applied the
"organizer's account" tier narrowly and deliberately. The tier
nonetheless produced a wrong fact on its first use, and the hedge it
replaced was closer to the truth than the precision that replaced it.
That is worth carrying forward as evidence about the tier, not only
about this date.

Corrected in four places: `index.html` (Field Atlas card Sources line;
source-corpus Workshop material list) and `atlas-field.html` (sources
box; footer). The superseded date is named at the point of correction in
`atlas-field.html` rather than removed.

### 2. Co-authorship recorded — three lists, all preserved

The workshop was credited to nobody; it appeared only as a photographed
corkboard. Three author lists exist and none is wrong:

- **Proposed by** Jessica Barness, Heather Snyder Quinn, Dan Wong, and
  Aaris Sherin (project-held proposal).
- **Listed in the published programme** as Barness, Snyder Quinn, and
  Wong (programme p. 37).
- **Presented by** Jessica Barness, Liz DeLuna, Heather Snyder Quinn,
  and Dan Wong (editor's account, 27 Jul 2026).

Sherin proposed but did not present; DeLuna presented but appears in
neither document. All three are now stated in the source corpus. The
presenter list rests on the editor's account — the same tier that
produced the wrong date above — and should be upgraded when the session
recording's transcript is available.

### 3. Three sources added to the workshop group

- **Proposal for DRS Festival of Emergence, 2021** (project-held). States
  the six questions put to participants, from which the sticky-note
  corpus was generated. The Field Atlas has until now recorded the notes
  without recording what they were answers to.
- **DRS Festival of Emergence programme, v7, p. 37** (published). The
  only published document in the workshop group; establishes the date,
  abstract, agenda, duration, and platforms.
- **DI slide template for DRS; session agenda (working doc)**
  (project-held). Slide 4 states the workshop is **project phase 1** and
  names its possible outcomes: "interactive database, white papers,
  resources for faculty/scholars." This reference system is that
  interactive database. The workshop is therefore not an external source
  the system happens to draw on — it is the system's own first phase.

### 4. Three references added, unverified

`#ref-corazzo2020`, `#ref-davis2016`, `#ref-zimmerman2017`, placed in
Tier 5b. All three are cited by the DRS proposal.

**None is live-verified.** They are transcribed from the proposal's own
reference list, with its author strings, page ranges, and DOIs
reproduced as given — including the spelling "Teixiera," which has not
been checked against the published article. Each refnote says so. Two
near-collisions are named: Davis (2016) is a different work from Davis
(2012) already listed, and Zimmerman et al. (2017) is a different work
from Zimmerman, Forlizzi, & Evenson (2007) already listed.

Tier placement is an editorial judgment and is flagged in the Corazzo
refnote: these are works about the institutional condition of design
research, not research traditions, and the tier intro does not describe
them. Worth revisiting.

### 5. Open — an unattributed account in atlas-field.html is now attributable

`atlas-field.html` records, from the AIGA DEC session transcript, that
"one of the four chairs opened the session with their own
tenure-and-promotion story — professional practice work that went
uncounted as research at their institution," and reasons that the
speaker must be one of the three chairs other than Barness. The editor
has since confirmed in session that this account is his own. Not changed
in this build; recorded here so the identification is not lost.

### Verification

- Date arithmetic checked from the programme's own timezone table; three
  independent documents agree on 10 September.
- All four "September 7" instances located and corrected; the one
  remaining instance in `atlas-field.html` is the deliberate naming of
  the superseded date.
- `index.html`, `atlas-field.html`, and `bibliography.html` re-parsed
  after editing.
- Reference count 264 → 267.

### Not done in this build

- Nothing drawn from the DRS session recording; its transcript is not
  yet available. The AIGA DEC recording was reviewed 24 Jul 2026 and is
  already documented in `atlas-field.html`.
- The Design Incubation Faculty Census 2018 (Sherin, Korenblat, Ganci,
  Wong) was not reachable; browser tooling was unavailable this session.
- Carried: 1,802 vs 1,804 term count; `changelog.html` absent; `audits/`
  in the bundle; archive-root packaging.

### Files touched

- `index.html` — two dates; workshop source group expanded from three
  entries to six.
- `atlas-field.html` — two dates; sources-box provenance note rewritten.
- `bibliography.html` — three new entries with refnotes.
- `README.md` — this entry.

## Build 54 — correction: two attribution errors about named third parties (27 Jul 2026)

Both concern the DRS / AIGA DEC mapping project, and both were published
in the entry immediately above (build 53) or carried from 24 Jul 2026.
Corrected here by addition.

### 1. Aaris Sherin was recorded as a proposer; she was not involved

Build 53 stated "Proposed by Jessica Barness, Heather Snyder Quinn, Dan
Wong, and Aaris Sherin." That followed the project-held proposal
document, which does list her. The editor states she was not involved in
the mapping project.

Checked against the AIGA DEC session recording's transcript: she is not
named anywhere in connection with the project. (The auto-transcript does
render a name as "aries"/"eris" twice, both times discussing writing
groups, not the mapping work.)

The source-corpus entry now records that the proposal document names
her, and that the editor states she was not involved &mdash; a
discrepancy in the document, not a claim of participation. Asserting
authorship of a named person who did not participate is a different
order of error from a wrong date, and the document is not sufficient
warrant for it.

### 2. "Barness brought the idea" over-read the recording

`atlas-field.html` stated, from the AIGA DEC transcript, that the
remarks "describe co-chair Jessica Barness separately bringing the idea
to Design Incubation." The transcript does not say that.

What the opening speaker says, at 4:56, is that Barness came to Design
Incubation reporting a problem she kept hearing &mdash; that people did
not understand what communication design research and scholarship is
&mdash; and that a discussion began from there. That is an account of
how a conversation started, not of who originated the project. The
earlier wording converted a reported concern into origination of the
work, and attached it to a named colleague.

The editor states the mapping project was his idea. That is recorded as
his account, explicitly not as a finding of the recording. The recording
independently shows the speaker describing his own prior work on the
question over "seven years or ten years," which is consistent with it
but does not establish it.

### 3. The unattributed opening speaker is identified

The same passage previously reasoned that the opening narrator "is one
of the other three chairs." He is the editor, Dan Wong, confirmed 27 Jul
2026. The recording corroborates the identification independently: the
speaker describes a psychology background, a poster presented at the
Decipher conference, and a diagram deriving design theory through
inductive research &mdash; all three matching documents this project
holds (the 1990 BSc, the 2018 Decipher poster, and that poster's central
diagram).

The participant-anonymity convention is unaffected: it covers workshop
participants, and this is a named session chair speaking about his own
work in a published recording.

### A note on method

Both errors came from treating a single document as sufficient: the
proposal for the author list, the transcript paraphrase for the
origination claim. In both cases a second source was available and not
consulted &mdash; the recording named neither Sherin nor an originator.
The rule already in force ("inspect before integrating") applies to
claims about people at least as strongly as to file schemas.

### Files touched

- `index.html` &mdash; workshop source entry, author attribution.
- `atlas-field.html` &mdash; sources-box passage on project origin.
- `README.md` &mdash; this entry.

## Build 55 — mapping project recorded as a group initiative; changelog entries numbered (27 Jul 2026)

### 1. Origination claim withdrawn entirely

Build 54 recorded, as the editor's account, that the mapping project was
his idea. At the editor's direction that is withdrawn. The project is
now recorded as a **Design Incubation group initiative, with no
individual named as having initiated it.**

This supersedes both earlier positions on the question, which were:

- 24 Jul 2026 — that Barness brought the idea to Design Incubation
  (an over-reading of the AIGA DEC transcript; withdrawn in build 54).
- Build 54 — that the editor originated it (his account; withdrawn
  here).

The recording's own account is unchanged and still stands: Barness came
to Design Incubation reporting a problem she kept hearing, a discussion
began, and the opening speaker describes his own prior work on the
question over "seven years or ten years." What the system no longer does
is convert any of that into a claim about who originated the work. No
claim of individual origination is made in either direction.

Related and unchanged: the four session chairs are named, and the
opening speaker's identification as the editor stands.

### 2. Changelog entries now carry build numbers

Entries were headed only by description and date. Five entries share the
date 27 Jul 2026, so there was no way to map an entry to the zip it
shipped in. Builds 50-54 are now numbered in their headings. Earlier
entries are left as they are; renumbering them retrospectively would
require build records that do not exist for them.

**Convention from here:** every changelog heading begins `## Build N —`,
matching `cd-reference-system_N.zip`.

### Files touched

- `atlas-field.html` — two sentences in the sources-box passage.
- `README.md` — five headings numbered; this entry.

## Build 56 — Sherin removed from the site; construction-process corrections withdrawn from reader-facing text (27 Jul 2026)

### 1. Sherin removed entirely from the site

Searched all nine HTML documents plus `data/`. She appeared in exactly
one place: the Workshop material entry in the source corpus on
`index.html`, added in build 53 and qualified in build 54. Removed.

The entry now reads only: presented by Barness, DeLuna, Snyder Quinn,
and Wong; the published programme lists Barness, Snyder Quinn, and Wong.

The programme/presenter discrepancy stays because it is a discrepancy in
a **published** document, independent of this system. The proposal
discrepancy goes because the proposal is a project-held draft and the
error was ours: a name in a draft was published as an authorship claim
about a person who was not involved. Retained in this changelog only.

### 2. New editorial distinction, applied retroactively

At the editor's direction, two kinds of change are now separated:

- **Corrections in the system's development** — changes readers need to
  understand a source, a conflict, or a claim. These stay on the site.
- **Errors and misinterpretations by editor or assistant** — mistakes
  made while building the system, with no existence outside it. These go
  in the changelog and **not** on the site. Readers do not need to
  reconstruct our process, and the source references should carry only
  discrepancies witnessed outside this system's making.

Removed from `atlas-field.html` under this rule:

- The "Corrected 27 Jul 2026 / this passage previously read..." block
  narrating the Barness over-reading. The corrected account of what the
  recording says remains; the account of what we got wrong does not.
- The clause recording that September 10, 2021 superseded a September 7
  date supplied from recollection. The programme sourcing stays, since
  that is where the date comes from; the story of the earlier error
  does not.
- "at the editor's direction, 27 Jul 2026" and similar internal
  timestamps within the passage.

Retained on the site, as external and reader-relevant: the corrected FoE
date and its programme source; the published programme's omission of a
presenter; the AIGA DEC recording as the source of the origin account;
the identification of the opening speaker; and the statement that the
system makes no claim of individual origination.

### Boundary cases, for consistency later

Under this rule, the following remain reader-facing because the conflict
exists outside this system: the Foss 2004/2005 and Drucker & McVarish
date conflicts; the Meggs author string; the Wheeler subtitle; the
Decipher draft-vs-published pagination. What moves to changelog-only is
anything whose only existence was a claim this system briefly made.

Not yet applied: earlier reader-facing correction notes predating build
50 have not been audited against this rule. They should be, in a
dedicated pass.

### Files touched

- `index.html` — one clause removed from the workshop source entry.
- `atlas-field.html` — one block and two clauses removed.
- `README.md` — this entry.

## Build 57 — site-wide scrub of construction-process narration (27 Jul 2026)

Applies the rule established in build 56 across all nine documents:
changes with no existence outside this system's making belong in the
changelog, not on the site.

### Removed (14 edits, 7 documents)

**Dated internal-addition notes**, reader-facing:
- `atlas-field.html`, `atlas-research.html`, `atlas-pedagogy.html` —
  "Added 22 Jul 2026." (three separate documents)
- `index.html` — "Sections added 25 Jul 2026 in response to peer
  review."
- `index.html` footer — "(governance section added 22 Jul 2026;
  editorial-method section added 25 Jul 2026)"
- `bibliography.html` — "Added 21 July 2026 ... this group was not part
  of the 19 July pass" (reduced to "Verification status is stated per
  entry."); "Added 20 July 2026:" prefix on the Tier 7 intro; "added
  22 July 2026," inside a parenthetical (the "all live-verified" claim
  retained, being sourcing)
- `theories.html` — "Structural rationale added 22 Jul 2026 (GEN; the
  Cluster 6 addition and two-source merger it cites are documented in
  the sourcing note above and the project changelog)" reduced to
  "Structural rationale: GEN."

**Internal restructuring history:**
- `index.html`, Theories card — "This edition merges what were
  previously two documents..." The verification sentence that followed
  it is retained.
- `index.html`, Glossary card — "Prior editions merged the Consolidated
  Glossary (771 entries, six sources) with..." The card's own Sources
  line already lists those sources, so nothing is lost.
- `map-intersections.html` — "Consolidated 16 Jul 2026: this section
  previously duplicated the Combined Field Atlas's own glossary verbatim
  (99.8% identical text)." The rationale that followed — documents
  rebuild from shared datasets so corrections propagate rather than fork
  — is retained, since it explains the present design rather than a past
  mistake.

**Our own error, named on the site:**
- `atlas-pedagogy.html`, IDEO / Double Diamond correction — the clause
  "and in an earlier draft of this atlas" removed. The correction itself
  stays in full: the claim is widely repeated in design-education
  sources, which makes it external and worth naming. Only our having
  once repeated it was ours.

**Tier-history note:**
- `bibliography.html`, Frascara 2004 refnote — "previously carried as
  CAN without a Bibliography entry" removed.

### Deliberately retained

- **Verification dates and scope qualifiers** — "live-verified 21-22
  July 2026," "not individually re-verified in this build," "sources
  checked during this build," "77+ concepts in this build have multiple
  parents." These state what was checked and when. They are the
  strip-down guarantee's working parts, not change narration.
- **Glossary `s` fields** — 937 entries carry a date, but these record
  when a definition was authored or verified, which is GEN/CAN/SRC
  provenance. Audited by pattern; only 46 contain any process verb
  ("folded from", "superseding"), and those record where a definition's
  wording came from or that its tier was upgraded, both of which a
  reader checking sourcing needs. Left in place.
- **Methodology statements** — rule 7's "superseded definitions and
  reversed decisions remain in the record as named corrections," and the
  editorial-method section's pointer to the changelog. These describe
  standing policy, not particular changes.
- **External conflicts** — the IDEO/Double Diamond correction, the
  Foss and Drucker & McVarish date conflicts, the Meggs author string,
  the Wheeler subtitle, the ISO 9241-210 supersession, the theories.html
  1944/1945 publication correction. All exist independently of this
  system.

### Not done

- CSS and JS comments carrying dates ("/* PROVENANCE STATUS BANNER
  (added 21 Jul 2026) */" in `map-intersections.html`; an anchor-opening
  comment in `glossary.html`). Not reader-facing; left alone.
- `index.html` still states 1,802 glossary terms against a live count of
  1,804; `changelog.html` still absent; `audits/` still in the bundle.

### Files touched

`index.html`, `atlas-field.html`, `atlas-pedagogy.html`,
`atlas-research.html`, `theories.html`, `map-intersections.html`,
`bibliography.html`, `README.md`.

## Build 58 — glossary card rewritten; term count corrected to 1,804 (27 Jul 2026)

### Why

The editor asked what had happened to Eras in the upper roots. Nothing
had. The question was prompted by the glossary card on `index.html`,
which said "six upper-ontology roots" and then listed four, twice:

> the taxonomy's six upper-ontology roots were renamed to the glossary's
> own vocabulary (Physical Things → Tools, Activities → Method, Events →
> Event, Locations → Place) ... The 16th edition then re-grounded the
> roots ontologically and renamed them again — Tools → Artifacts, Method
> → Practices, Event → Events, Place → Places

Concepts and Eras were absent from both lists because they were never
renamed. A reader counting roots in that paragraph finds four. The
paragraph also walked through Events → Event → Events, a name that
changed and changed back.

This is rename chronology — construction narration that build 57 should
have removed and did not. It was missed because the same paragraph also
carries genuine structural content (the ontological/functional
divergence), and the two were interleaved.

### The rewrite

The card now states the structure rather than its history: 1,804 terms,
four facets, every term linked into a 1,627-concept polyhierarchy with
1,706 parent edges and zero cycles; the six roots named in full —
Artifacts, Concepts, Practices, Events, Places, Eras — as ontological
categories per BFO, DOLCE, and CIDOC CRM; Kind's eleven values as
functional types assigned per term, with the divergence stated as
deliberate and five named Kinds cutting across roots.

Removed: both rename sequences, edition numbers and dates (7th, 9th,
13th, 16th), "up from 638", "43 terms folded in", and "retired in favor
of direct links". Retained: everything describing what the glossary is
and how it relates to the other documents.

### Term count corrected: 1,802 → 1,804

`index.html` stated 1,802 in five places — hero facts strip, system-map
SVG label, glossary card, card prose, and the stats list. The live
`DATA` array holds 1,804 objects with 1,804 unique term strings, and the
glossary renders its count from `DATA.length`, so the page and the
document had been contradicting each other in public. All five corrected
(four remain after the rewrite absorbed one).

Long-standing open item, flagged since build 50 and repeatedly carried;
closed here because the same paragraph was already being edited and
leaving a known-wrong figure in a paragraph under revision was not
defensible.

### A named error of mine, no site impact

Investigating the editor's question, I reported that five of the six
roots had acquired parents and that only Artifacts remained parentless —
concluding that the roots did not partition, that Places was a child of
Eras, and that the BFO/DOLCE grounding was therefore unsupported. All of
that was wrong.

The `tag_concept_relationship` table carries three edge types: 1,706
`child`, 154 `involves`, 31 `related`. I counted all 1,891 rows as
hierarchy edges. The apparent parents of the five roots were `related`
edges — lateral sibling cross-references, the dashed layer the glossary's
own polyhierarchy diagram legend describes.

Filtering to `child` edges gives exactly six parentless concepts:
Artifacts (10 direct, 524 descendants), Concepts (62 / 983), Practices
(24 / 195), Events (9 / 12), Places (24 / 67), Eras (8 / 13). The
published figures — 77 multi-parent concepts, zero cycles — hold.

Nothing reached the site and no files were changed by the error. Logged
because the rule covers errors introduced during this work. Note that the
18 Jul 2026 entry records an almost identical failure — a first
correction that reasoned about the graph without tracing actual trails,
caught in verification. Same mistake, same graph, nine days apart.

### Files touched

- `index.html` — glossary card paragraph replaced by four paragraphs;
  five term-count figures corrected.
- `README.md` — this entry.

## Build 59 — "How to use this glossary": tier abbreviations expanded, four counts corrected (27 Jul 2026)

Editor reported the copy read as garbled near the SRC/CAN/GEN passage.
It did, for a specific reason, and checking the surrounding figures found
three wrong numbers.

`glossary.html` had been byte-identical to build 49 for this entire
session; nothing here was introduced by recent work. The Lineage
subsection dates from 24 Jul 2026.

### 1. Undefined abbreviations in reader-facing prose

The passage read: "a lineage is **SRC** or **CAN** where the attribution
is verified or a standard scholarly ascription, and **GEN** where it is
editorial inference."

SRC, CAN, and GEN are never expanded anywhere in `glossary.html`. They
occur 17, 5, and 3 times, but almost entirely inside entry-level source
strings in the data; in reader-facing prose they appear three times and
never with a definition. The tier vocabulary is defined on `index.html`,
a different document.

"CAN" compounds it by being an English modal verb: *"a lineage is SRC or
CAN where the attribution is verified"* parses on first read as "can
where," which is what made the sentence look broken rather than merely
unexplained.

Now expanded on first use: SRC (source-verified), CAN (canonical), GEN
(general), each with its condition stated.

### 2. Three wrong figures in the diagram caption

| Stated | Actual |
|---|---|
| 1,802 concepts | 1,627 taxonomy concepts / 1,804 glossary terms |
| 1,881 parent edges | 1,706 |
| 62 related lateral edges | 31 |
| 174 entries cross-reference | 177 entries, 183 links |

Correct and unchanged: 77 multi-parent concepts, zero cycles, 154
involves edges, Domain 18, Kind 11, Media 7 (24 multi-valued), Scope 2.

The caption also conflated glossary terms with taxonomy concepts in a
single sentence ("1,802 concepts carry 1,881 parent edges"), which is
what let a wrong figure sit unnoticed: the two entities have different
counts and the sentence read as though they were one. Rewritten to state
them separately.

Note on "62": the actual related-edge count is 31, exactly half. The
figure appears to have counted each lateral relation in both directions.
The same "154 + 62" figure appeared inside the SVG diagram and is
corrected there too.

### 3. A correct count that did not read as one

"Four entries carry a Lineage line" is accurate — Figure/Ground
Relationship, Icon / Iconography, Symbols, Wicked Problems, verified
against the `lin` field in `DATA`. But the sentence grouped "Icon /
Iconography and Symbols (Peircean semiotics)" as one item, so the list
scanned as three. Re-punctuated as four semicolon-separated items, each
with its own attribution.

This is the second instance today of a stated count not matching what a
reader counts in the adjacent list; the first was "six upper-ontology
roots" followed by a four-item rename history (build 58). Worth a
targeted pass: wherever the copy states a number and then enumerates,
the enumeration should be countable.

### Verification

- All figures recomputed from `data/tag_concept_relationship_extended.xml`
  (1,706 child / 154 involves / 31 related) and the live `DATA` array.
- `DATA` intact at 1,804 entries after editing; all 5 script blocks parse
  clean in Node; document parses clean.

### Files touched

- `glossary.html` — SVG caption figure, prose caption sentence, tier
  sentence, lineage list punctuation. No change to `DATA`.
- `README.md` — this entry.

## Build 60 — DRS session recording added as a source; phase-one framing and polyhierarchy link sourced to it (27 Jul 2026)

Editor supplied the YouTube transcript of the DRS Festival of Emergence
mapping workshop (10 Sep 2021). Six changes were drafted and reviewed;
three were approved and executed. The other three are recorded below as
declined, not as pending.

### Executed

**1. Phase-one framing upgraded from slide to recording.**
`index.html`, Workshop material, DI slide template entry. The claim that
the workshop was project phase 1 with an "interactive database" among its
outcomes was sourced to the slide deck alone. Both statements are made
aloud in the recording, which also describes the project's aim as
generating "a living visual document." Now sourced to both.

**2. The recording added as a source.**
`index.html`, Workshop material, new entry after the programme. Recorded
as a YouTube auto-generated transcript, uncorrected, with transcription
artifacts stated plainly, since anything quoted from it carries that
caveat. Workshop group now seven entries.

**3. Polyhierarchy link documented.**
`atlas-field.html`, sources box, following the bubbles-and-post-its
passage. The recording captures a participant unable to decide whether an
item belonged under research or output, observing that things are "not in
one place necessarily" and that some "seem like methods too," and noting
this could not be visualized on the board. The glossary's polyhierarchy
is stated as this system's answer to that limit.

This is an interpretive claim linking the workshop to a system feature.
It was flagged as such in review and approved on that basis.

### Declined by the editor, not executed

- **Presenter attribution left on the editor's account.** The recording
  has all four presenters introducing themselves by name, institution,
  and DI role, which would have moved the attribution off the editor's
  own account onto the recording. Not done.
- **Question-set provenance left as published.** The source corpus states
  that the proposal's six questions were those "the workshop put to
  participants, from which the sticky-note corpus was generated." The
  recording shows the board carried three frames of questions and that
  participants were invited to add their own ("Can I add a question?"
  "Yes, of course... it's pretty free form here"), so the corpus answers a
  set only partly authored in advance. The published claim overstates
  what the proposal governed. Left standing at the editor's direction;
  recorded here so the discrepancy is on file.
- **Participant suggestion on hosting not added.** A participant proposed
  that outcomes sit apart from the Design Incubation homepage with
  readers directed to a separate repository. Germane to the hosting
  question and not used.

### Not a change: Miro

The transcript renders the board tool variously as "mirror board,"
"mirrorboard," and once "mural board." The editor confirms it was
**Miro**, matching the published programme and the session agenda. These
are artifacts of uncorrected YouTube auto-transcription. Recorded so the
question is not reopened from the transcript later.

### Verification

- Both edited documents re-parsed clean.
- Workshop source group confirmed at seven entries.
- All quoted phrases checked against the supplied transcript.

### Files touched

- `index.html` — one entry amended, one entry added.
- `atlas-field.html` — one passage extended.
- `README.md` — this entry.

## Build 61 — concept taxonomy attributed to its creator; DI keyword corpus correctly described; three misattributions corrected (27 Jul 2026)

### Trigger

The editor stated that he created the `tag_concept` and
`tag_concept_relationship` documents over a number of months, and,
separately, that the Design Incubation tags are **keywords submitted by
the researchers presenting at DI colloquia to describe their own work** —
not editorially assigned, and not workshop output.

Both facts were absent from the system, and their absence had propagated
into claims about where the Crossover Map's warrant comes from.

### 1. New source-corpus group: Datasets & controlled vocabularies

Two entries moved out of groups they did not belong to.

**Concept Taxonomy** was filed under *Published scholarship*, alongside
the theory canon and the design-research literature, with no author. It
read as an external vocabulary the system had adopted. It is now
attributed to Dan Wong, described as the structural spine of the system
rather than an adopted vocabulary, and its source figures (638 concepts,
834 relationships) are stated separately from this project's extension
of it (1,627 / 1,891).

**Design Incubation keyword corpus** (formerly "tag supplement") was
filed under *Workshop material* beside the DRS and AIGA DEC corkboards.
It is not workshop material. Now described as keywords submitted by
presenting researchers describing their own work, author-supplied rather
than editorially assigned.

Rename applied across `index.html` (corpus entry, glossary card sources
line, system-map SVG label) and `glossary.html` (3rd-edition note).

### 2. PLACEHOLDER — creation dates outstanding

The creation period for `tag_concept` / `tag_concept_relationship` is
not yet known. Visible text reads "created by Dan Wong prior to this
project *(creation period to be confirmed)*", and an HTML comment marks
the exact insertion point in `index.html`:

    <!-- TODO: creation date range for tag_concept /
         tag_concept_relationship to be supplied by the editor -->

**Open item: replace both when the dates are supplied.**

### 3. Crossover Map — corrected misattribution of its own warrant

`map-crossovers.html` stated, in two places, that field selection rested
on "the Design Incubation tag corpus (tag_concept.xml, 638 concepts
sourced from DRS and AIGA DEC workshop mapping)" — collapsing three
distinct sources into one.

Tested rather than assumed: each of the 27 fields carries the exact terms
it was matched on (31 terms). **29 are exact term matches in
`tag_concept_extended.xml`**; the remaining two are matches once encoding
and inflection are accounted for ("Placemaking &amp; Urban Design"
appears with an HTML entity; "Illustration" appears as "Illustrations"
and in six compound forms). Tier counts recomputed from the data — 10
strong, 12 moderate, 5 none — match the published claim exactly.

So the attestation work is sound; only the label was wrong. Both
passages now name the concept taxonomy and credit the editor. The same
stale phrasing was also corrected in the Crossover Map card on
`index.html`.

Incidental support: three matched terms — "Fine Art Faculty,"
"Musicians," "Consumers" — name populations rather than research
concepts, which is what a vocabulary built to tag presentations contains
and what workshop notes about research activity generally would not.

### 4. Rule 1 — the corpus is now defined where it is invoked

The selection rule admitted "the Design Incubation tag corpus" as a
named source without saying what it was. Now: "the Design Incubation
keyword corpus (keywords supplied by presenting researchers to describe
their own work)."

### 5. Beyond the approved scope — governance section

Not among the four changes approved, found during execution and
corrected because it is the same error: the Governance section stated
that DI's *Communication Design Educators Awards* and its
scholarly-workshop practice "supplied the founding corpus for this
system's tag taxonomy and its Field Atlas." The Awards supplied neither.
Now: the colloquium keyword corpus supplied a founding vocabulary for
the glossary, and the workshop practice supplied the Field Atlas.

Flagged here for the editor's review as an unapproved change.

### Verification

- Zero stale references to "tag supplement", "Design Incubation tag
  corpus", or "sourced from DRS and AIGA DEC" remain in any document.
- Attestation counts independently recomputed from the taxonomy data.
- `index.html`, `map-crossovers.html`, `glossary.html` re-parsed clean.

### Files touched

`index.html`, `map-crossovers.html`, `glossary.html`, `README.md`.

## Build 62 — publication status moved off the index into the bibliography (27 Jul 2026)

### The change

`index.html`, Thesis provenance note. Two sentences removed at the
editor's direction:

> The first was submitted as a proposal and **not accepted for
> publication**; it is presented here as the system's founding position
> statement, not as published scholarship. The third was also not
> accepted; an invitation to resubmit the following year was declined
> owing to the pandemic.

The thesis provenance note sits directly beneath the system's opening
statement and is among the most-read text on the site. Detailed
publication history of three individual source documents does not need
that position.

### Nothing is lost

Both facts were already recorded in full in `bibliography.html`, in the
refnotes checked before removal:

- `#ref-wong-classification` — "Submitted as a proposal and not accepted
  for publication; presented in this system as its founding position
  statement, not as published scholarship."
- `#ref-wong-program` — "Not accepted; the author was invited to resubmit
  the following year and declined owing to the pandemic."

The index sentences were duplication. The existing link to Bibliography →
Thesis sources now states that publication status for each of the three
is recorded there, so a reader following provenance reaches the same
facts one click away rather than being handed them unasked.

### What the index still says

"Derived from three **project-held** author documents" — retained
deliberately. That phrase carries the load the removed sentences were
carrying: it tells a reader these are unpublished working documents, not
published scholarship, without recounting each one's submission history.
Removing it would have made the omission a misrepresentation rather than
a relocation.

### Files touched

- `index.html` — two sentences removed, one clause added to an existing
  link.
- `README.md` — this entry.

## Build 63 — Field Atlas source notes: DRS phase documented from its own recording and placed first (27 Jul 2026)

### Why

The source notes carried one detailed account of the workshop exercise,
headed "The exercise, from the recording itself," describing the **AIGA
DEC** session. That was the only recording available when it was written.
With the DRS recording now supplied, the editor asked that the DRS event
carry the emphasis.

### Not a relabelling — the two sessions ran different exercises

Checked against both transcripts before writing:

**Phase one (DRS, 10 Sep 2021).** Miro board carrying an existing bubble
diagram — output/artifact/product, practice, missions, others — with
three frames of questions beside it (all-participant, research-based,
practice-based). Small breakouts. Participants invited to add their own
questions. Post-its movable between the question frames and the bubble
map, and moved live, so participants placed responses into existing
categories.

**Phase two (AIGA DEC, 12 Nov 2021).** Board reset to blank category
bubbles. Three timed five-minute blocks. Participants typing
simultaneously, no breakouts, each note attributable to one person.

Phase one sorted notes into an existing structure; phase two built the
structure from nothing. That is the difference the section's existing
"iterative redesign" passage describes, now documented from both sides
rather than inferred from one.

### Changes

1. **New block added and placed first**: "The exercise, phase one, from
   the DRS session recording." DRS is phase one, so leading with it is
   chronologically correct as well as the requested emphasis.
2. **Existing block retitled**: "The exercise, from the recording
   itself" → "The exercise, phase two, from the AIGA DEC session
   recording." With two recordings in evidence, "the recording" was
   ambiguous.
3. **Pointer above corrected**: "documented below, from the session
   recording itself" → "documented below for each phase, from the two
   session recordings."
4. **AIGA DEC content retained in full.** It is accurate, sourced, and
   the only record of phase two. Emphasis was rebalanced by addition and
   ordering, not by deletion.
5. **Origin remarks left attributed to AIGA DEC.** The
   tenure-and-promotion account comes from that session's opening; the
   DRS opening is participant introductions. Already correct.

### A quoted detail worth noting

The phase-one block records an organizer, asked what the "missions"
bubble covered, replying that it was not defined — "that sort of place to
put those things" — and that missions "may or may not be the right way to
categorize that… by all means add to it, change it." This is included
deliberately: it shows the categories were held provisionally at phase
one, which is what makes the phase-two reset to blank bubbles legible as
a design decision rather than a restart.

### Files touched

- `atlas-field.html` — one block added, one heading changed, one pointer
  sentence corrected.
- `README.md` — this entry.

## Build 64 — the eight reference works are now "volumes"; Concept Taxonomy named and attributed in the glossary card (27 Jul 2026)

### 1. "Documents" → "volumes"

Editor's decision. Each of the eight is a complete reference work rather
than a page or section, and "volume" is the standard term for the parts
of a multi-part reference work. It also reads as citable — "the Research
Processes volume."

**This settles a count inconsistency rather than papering over it.** The
site previously said "Eight interlinked documents" in the hero, "Nine
documents · one navigation" in the identity block, and "eight documents
in reading order" in the system-diagram aria-label. Under the new term
the hub is not a volume — it is the front matter — so the count is
**eight volumes plus the hub**, consistently.

24 replacements across six files: `index.html` (14), `glossary.html` (4),
`atlas-research.html` (4), `theories.html` (4), `map-intersections.html`
(1), `atlas-field.html` (1).

### What was deliberately NOT renamed

"Document" does several unrelated jobs on this site, and only one of them
was the system's own works. Left untouched:

- **Source documents** — "three project-held author documents", "[Unpublished
  proposal]. Project-held document", "the three Wong documents", "four
  external documents", "the corpus documents", "primary documents",
  "the second document", the AIGA document, the Word reference document
  behind Theories, the RTP criteria document, and the quoted phrase "a
  living visual document."
- **Glossary and atlas definitions** — PDF, EPS, page numbering, digital
  asset management, page-layout software, the brief, the sign schedule,
  and the taxonomy terms Documents / Documenting / Documentary / UX
  Documentation.
- **The verb** — "the recording documents the limit", "this map documents
  those crossings", "the exegesis literature documents decades of…".
- **JavaScript** — every `document.getElementById`, and the `kindsrc:
  "document"` data value on 1,693 glossary entries.

Raw counts made this look far larger than it was: 1,772 hits in
`glossary.html`, of which four were in scope.

### 2. Concept Taxonomy named and attributed in the glossary card

The card's body named the raw table names — "the full tag_concept /
tag_concept_relationship polyhierarchy" — with no indication of what they
were or who made them. Worse, the card's **Sources** line omitted the
taxonomy entirely, listing only the Consolidated Glossary, the DI keyword
corpus, and the CityTech coursework. The one source that structures all
1,804 terms was the only one the glossary card did not credit.

Now:

- **Body**: "linked to a concept in the **Concept Taxonomy** — a register
  of 638 concepts and the typed relationships between them, created by
  Dan Wong and extended here to 1,627 concepts and 1,706 parent edges,
  zero cycles. The facets describe a term; the taxonomy is what positions
  it." The name links to the source corpus, which no card previously did.
- **Sources line**: Concept Taxonomy listed first, ahead of the term
  sources, since it is the structural source rather than a term source.

### 3. Naming convention for the taxonomy

Established here: **"Concept Taxonomy" in prose; the file names as a
technical identifier in one place.** This is not a new coinage — it is
already the name used in the corpus entry and in the source line of every
glossary entry derived from it ("Concept Taxonomy (tag_concept) — term;
definition supplied…"). The bare table names in reader-facing copy were
the anomaly.

The two parts are described functionally — a register of concepts and the
typed relationships between them — so a reader never needs to know there
are two files. `tag_concept` / `tag_concept_relationship` survive in the
source-corpus entry title and in `map-crossovers.html`'s sources panel,
where a technical identifier belongs.

### Files touched

`index.html`, `glossary.html`, `atlas-research.html`, `theories.html`,
`map-intersections.html`, `atlas-field.html`, `README.md`.

## Build 65 — index links the taxonomy description to the structure diagram (27 Jul 2026)

### The change

`index.html`, glossary card. The paragraph describing the six
upper-ontology roots and the roots-vs-Kind divergence now ends:

> The taxonomy is drawn in full — one real entry with every kind of edge
> the glossary supports — in **The structure, drawn**.

linking to `glossary.html#structure-drawn`.

`glossary.html`: the `pv-fig` figure containing that diagram had no id.
Added `id="structure-drawn"`. No other change to the figure.

### Why no new JavaScript was needed

The figure sits inside `<details><summary>How to use this glossary</summary>`,
which is closed by default, so a naive anchor would have landed on a
hidden element in browsers that do not auto-expand `<details>` on
fragment navigation.

`glossary.html` already carries a shim for exactly this, added 22 Jul
2026: it reads `location.hash`, resolves the element, walks to the
enclosing `<details>` via `closest()`, sets `open = true`, and scrolls
the target into view — bound to both `hashchange` and `DOMContentLoaded`.
Checked before writing any new code. The link works because that
mechanism already exists; only the id was missing.

### Note

This is the second cross-volume link from a card body on the hub. The
first, added in build 64, points from the same card to the Concept
Taxonomy entry in the source corpus. Both were added because the card
named a structure it could not show; between them the glossary card now
resolves to the taxonomy's attribution and to its diagram.

### Files touched

- `index.html` — one sentence appended to the glossary card.
- `glossary.html` — one id attribute.
- `README.md` — this entry.

## Build 66 — deep link into the collapsed methodnote hardened (27 Jul 2026)

### Reported

Clicking "The structure, drawn" on the hub navigated to `glossary.html`
but left the enclosing section collapsed, so the diagram was not visible.

### What was checked and ruled out

- **Nested anchors.** The new link sits at `section.docs > div.wrap >
  div.doc-row > article.card > div.card-body > p > a`. Parsed with a real
  HTML parser: not inside another `<a>`. The `#src-title` link added in
  build 64 is likewise clean.
- **DOM ancestry.** `#structure-drawn` resolves to
  `div.pv-fig > div.note > details > div.methodnote > body`. Exactly one
  `<details>` ancestor, correctly nested. `closest('details')` would have
  found it.
- **Competing scripts.** The only other code touching `<details>` builds
  the facet sidebar and tracks its own open state; it does not reach the
  methodnote.
- **Reachability.** The shim is the last script before `</body>` and all
  five script blocks parse clean under Node.

None of these was the fault, and the cause could not be reproduced here.
Rather than guess further, the mechanism was hardened against every
remaining plausible cause.

### The hardened shim

Previously: nearest-`details` only, via `closest()`; bound to
`hashchange` plus `DOMContentLoaded`; immediate `scrollIntoView()`.

Now:

- **Walks the full ancestor chain** and opens every `<details>` on it,
  rather than the nearest one only. Also opens any `<details>` inside the
  target.
- **Binds every timing hook**: `hashchange`, `DOMContentLoaded`, `load`,
  an immediate call when `readyState` is already past loading, and a
  250 ms backstop. Repeat invocation is harmless — the function is
  idempotent.
- **Defers the scroll** to `requestAnimationFrame`, so it runs after the
  newly opened section has laid out rather than racing it, with a direct
  call as fallback.

The enclosing `<details>` also now carries `id="how-to-use"`, giving a
second, coarser anchor if a fine-grained one ever fails again.

### If it still fails

The remaining candidates are environmental rather than structural: an
older browser, or a cached copy of the previous build. If it recurs, the
browser and version would narrow it. The guaranteed fix is to give that
`<details>` an `open` attribute by default, or to move the diagram out of
the collapsed block — both change how the glossary reads, so neither was
done unilaterally.

### Files touched

- `glossary.html` — shim replaced; one id added to the `<details>`.
- `README.md` — this entry.

## Build 67 — two live deep links into the glossary (27 Jul 2026)

### 1. The diagram's Graphic Design node is now a link

`glossary.html`, "The structure, drawn". The `<g class="pv-term">` node
carrying Graphic Design is wrapped in an SVG `<a href="?q=Graphic+Design">`,
with a `<title>` for accessibility and the label underlined so it reads
as a link. Clicking it reloads the glossary with the search box already
filtered to that term.

Deliberately a plain href rather than a scripted handler: it works
without JavaScript, and the existing `?q=` parameter handler already
does the rest. The diagram illustrates one real entry, and the entry is
now reachable from the illustration.

### 2. The hub's "◈ Concept map" reference opens the live concept map

`index.html`, glossary card. "A ◈ Concept map button" now links to
`glossary.html?q=Graphic+Design&cid=12`, which lands on the glossary with
Graphic Design searched, its definition rendered, and the concept map
overlay open on that concept — breadcrumb trail, both parent Trails,
narrower/involves/related zones, and the word-family view.

### The `cid` parameter, added to support it

The concept map is opened by a delegated click handler on
`.lens-btn[data-cid]`; `openLens()` itself is closed inside an IIFE and
not reachable from outside. Rather than expose internals, the new
parameter finds the rendered button and clicks it.

Timing mattered here. The search input is **debounced 200 ms**
(`setTimeout(render, 200)`), so the filtered list does not exist when the
parameter script runs. The handler therefore waits 350 ms for the
filtered render, then polls every 100 ms for up to six seconds until the
button appears. Idempotent, and silent if the concept is not found.

Graphic Design is `cid 12`, confirmed from the `DATA` array rather than
assumed.

### Verification

- Both documents parse clean; all five script blocks in `glossary.html`
  parse clean under Node.
- SVG anchor confirmed by parser to wrap the `pv-term` group rather than
  splitting it.
- The `&` in the hub link is written `&amp;` as required in HTML.

### Files touched

- `glossary.html` — SVG node wrapped in an anchor; `cid` parameter
  handler added.
- `index.html` — one phrase linked.
- `README.md` — this entry.

## Build 68 — Domain Intersection Map card rewritten as description, not development history (27 Jul 2026)

### Why

Two of the card's three sentences narrated how the volume came to be
rather than what it is: that its 596-term vocabulary had been a verbatim
duplicate of the Field Atlas glossary and was consolidated on 16 Jul
2026, and that a Theoretical Basis section was added on 21 Jul 2026. A
reader deciding whether to open the map learns nothing from either.

This is the same rule applied in build 57, reaching a card the scrub
missed because its process narration was load-bearing sentences rather
than dated tags.

### What the card now describes

Checked against `map-intersections.html` before writing, so every figure
is the volume's own:

- **Eight domains, each with a one-word role** — read from the `domains`
  array: Visual Communication (Craft), Identity & Branding (System),
  Print & Editorial (Publication), Digital & Interactive (Interface),
  Advertising & Persuasion (Message), Environmental & Spatial (Space),
  Design Research (Method), Theory & History (Lens).
- **28 intersections**, each carrying a written account of what links the
  two domains. Counted from the `edges` array.
- **Three edge tiers** — 12 core, 14 applied, 2 adjacent — so the
  strength of each claim is visible on the map's face. This was not
  mentioned on the card at all before.
- **Eighteen domain vocabularies** linking into the Unified Glossary,
  pre-filtered by domain.
- **The measured layer** — cross-domain concept-link counts computed live
  from the glossary taxonomy on page load, described as what it is for:
  the drawn edges can be checked against the underlying data.
- **Theoretical Basis & Provenance** described by what it answers — what
  nodes and edges assert, why these eight domains, what survives a
  strip-down — rather than by when it was added.

### Stats list

`8 domains · network diagram · 18 categories · links to Unified Glossary`
became `8 domains · 28 intersections · 3 edge tiers · 18 vocabularies`.
"Network diagram" duplicated the first line of the body copy, and "links
to Unified Glossary" is a relationship rather than a measure.

### Sources line

Left in place — every card carries one, and it is provenance rather than
development history. One residual word removed: the intersection
descriptions were "**now** paired with a measured link layer," which
dated the pairing rather than stating it.

### Files touched

- `index.html` — card body replaced, stats list replaced, one word in the
  Sources line.
- `README.md` — this entry.

## Build 69 — Theories and Research Processes cards rewritten as description (27 Jul 2026)

Same treatment as build 68, applied to two more volume cards. Both
carried development history where a reader needed features.

### Theories

**Removed:** "The 32 entries badged Verified carry publication facts
confirmed against live sources — fourteen on 9 July 2026, the remaining
eighteen on 17 July 2026 — each with its verification note inline.
Relative to the workshop corpus the whole canon is added domain
knowledge…"

The two-pass verification dates are real provenance, but they belong in
the card's Sources line, where they already appear in full. Repeating
them in the body spent a third of the card on when the checking happened.

**Added,** from `theories.html` rather than from the old copy:

- Key texts link **directly into the Bibliography** — every entry uses
  `bib-jump` anchors. The card said "its key texts" without saying they
  are live links.
- The <em>Connects</em> box described by what it does: what a framework
  draws on, opposes, and shares a foundation with.
- **The five throughlines** — the meaning axis, the active-reader thread,
  the functionalism–expression tension, the perception substrate, the
  critical/ethical frame — plus the historiographic frame running beneath
  all six clusters. This is the volume's own organizing argument, stated
  in its "How the clusters interconnect" section, and the hub had never
  mentioned it.

Stats: `32 verified entries · verification notes inline` replaced by
`5 throughlines · key texts linked to Bibliography`. The verified count
duplicated "32 frameworks" directly beside it.

### Research Processes Across Disciplines

**Removed:** "The 4th edition adds Artistic Research as tradition II,
drawn from the practice-as-research literature with eight live-verified
sources." Edition history; the tradition itself is already named in the
sentence before it.

**Added:**

- The epistemic profile spelled out — logic, object, warrant, validity,
  output — rather than named abstractly.
- **The comparison matrix**, "read across, not down," which lets the same
  question be put to all five traditions. Not previously on the card.
- The interdisciplinary section described as covering where traditions
  grind rather than combine.
- **The critique section**, which turns the volume's apparatus on itself
  and is placed as a challenge to the volume rather than a chapter within
  it. This is the most distinguishing feature of the volume and the card
  did not mention it at all.

Stats: `process arcs · live debates · methods + key sources` replaced by
`epistemic profiles · comparison matrix · 55 sources`. The old entries
restated body copy; the source count is a measure.

### Incidental

One character corrected: the Theories body had U+2044 FRACTION SLASH in
"critical⁄ethical", replaced with a plain solidus.

### Remaining

Five volume cards have not had this pass: Unified Glossary, Combined
Field Atlas, Interdisciplinary Crossover Map, Design Pedagogy Atlas,
Bibliography. The glossary card was rewritten in build 58 for other
reasons and is largely clean.

### Files touched

- `index.html` — two card bodies, two stats lists, one character.
- `README.md` — this entry.

## Build 70 — The Disciplines Compared: first-column labels now wrap responsively (27 Jul 2026)

### Cause

Two rules combined to make the matrix behave badly on narrow screens:

- `.mtable tbody th { white-space:nowrap; }` — the row labels could not
  break at all. "A claim is good if", "Generalizes by", "Starts from" and
  "Researcher is" each held the first column open to their full single-line
  width.
- `.mtable { min-width:760px; }` — the table forced horizontal scroll on
  any phone regardless, and the unbreakable first column made that scroll
  longer than it needed to be.

The eight row labels are: Logic, Starts from, Evidence is, A claim is
good if, Stops when, Generalizes by, Researcher is, Fails when.

### Fix

**Base rule** — `white-space:nowrap` replaced with
`white-space:normal;overflow-wrap:break-word`. No visible change on
desktop, where the first column is wide enough that these labels do not
wrap anyway; it simply removes the prohibition.

**At 720px and below** — table `min-width` reduced 760px → 600px, cell
padding tightened, row-label and column-header type stepped down, and
`hyphens:auto` enabled (the document declares `lang="en"`, so hyphenation
resolves correctly).

**At 480px and below** — `min-width` dropped entirely and the table set
to `width:100%`, so it fits the viewport with no horizontal scroll at
all. The first column is constrained to `5.5em` with `word-break:
break-word`, which is enough for "A claim is" / "good if" to stack rather
than push the data columns off-screen.

Both breakpoints match those already used in this document (720px) and
sit inside the existing stylesheet rather than adding a new one.

### Verification

- Document parses clean; CSS braces balanced.
- Only `atlas-research.html` touched; the same `.mtable` class does not
  appear in any other volume.

### Files touched

- `atlas-research.html` — one declaration changed, two media blocks added.
- `README.md` — this entry.

## Build 71 — matrix row labels break between words only (27 Jul 2026)

### Reported

On iPhone the first column of The Disciplines Compared was breaking
inside words rather than between them.

### Cause — three separate permissions added in build 70

1. `word-break:break-word` at 480px. Does exactly what it says: permits a
   break at any character.
2. `width:5.5em;max-width:5.5em` at 480px. Too narrow for the longest
   label token. "Generalizes" is 11 characters of monospace, roughly
   6.6em at that size, so it could not fit whole and the break-word rule
   split it.
3. `overflow-wrap:break-word` on the base rule, and `hyphens:auto` at
   720px. Both are last-resort mid-word breaks; hyphenation would also
   have split "Generalizes" as "General-izes".

Build 70 added all three trying to make the labels fit a narrow column,
when the correct answer was to let the column be as wide as its longest
word.

### Fix

Every mid-word break permission removed. Verified: no `word-break`,
`overflow-wrap`, or `hyphens` declaration remains on any `.mtable` rule.

- **Base**: `white-space:normal` alone. Wraps between words, never inside
  one.
- **720px**: type stepped down only.
- **480px**: the width cap is gone; the label font steps down again to
  9.5px so the longest token needs less room, and the browser sizes the
  column to fit it.

Multi-word labels still stack as intended — "A claim is / good if",
"Generalizes / by" — which was the original request. Single long words
now set the column's minimum width instead of being split.

### Note

The 480px rule keeps `min-width:0` on the table, so the label column's
intrinsic width is set by "Generalizes". On the narrowest phones this
leaves slightly less room for the five data columns than build 70 did.
That is the intended trade: a wider label column is preferable to broken
words.

### Files touched

- `atlas-research.html` — three declarations removed, one added.
- `README.md` — this entry.

## Build 72 — heading anchors across all volumes (27 Jul 2026)

Prerequisite for site-wide search: a search result can only point at a
heading that has an id. Before this pass, of 224 headings across the nine
volumes, **8 had ids** — all of them on `index.html`. A hit anywhere in
Theories or the Field Atlas could only link to the top of the file.

### What was added

**213 ids**, one per previously unanchored heading:

| volume | added | total ids |
|---|---|---|
| theories.html | 58 | 67 |
| atlas-field.html | 42 | 49 |
| atlas-research.html | 29 | 39 |
| map-intersections.html | 27 | 36 |
| atlas-pedagogy.html | 23 | 32 |
| index.html | 20 | 29 |
| bibliography.html | 13 | 294 |
| glossary.html | 1 | 23 |
| map-crossovers.html | 0 | 13 |

### How slugs were generated

Lowercase ASCII, punctuation to hyphens, capped at 60 characters. Four
things stripped before slugging, each found by inspection rather than
anticipated:

- **Verified badges.** `<span class="verified-badge">` sits inside every
  theory heading; without stripping, ids read
  `shannonweaver-model-information-theory-verified`.
- **Footnote superscripts**, which would have appended reference numbers.
- **Leading enumeration** — "1 · ", "IV. " — so that renumbering a
  cluster does not invalidate its anchor.
- **HTML entities**, decoded before transliteration, so `&amp;` does not
  become a literal "amp" in the slug.

### Script blocks masked

The first dry run produced ids like `trails-u2014-every-path-to-a-root`
and `esc-c-term` — headings inside JavaScript template strings in the
glossary's concept-map renderer, not markup. Inserting attributes there
would have corrupted the strings.

Script and style blocks are now masked before headings are matched.
This changed the counts materially: `glossary.html` from 8 candidates to
1, and `map-crossovers.html` from 3 to 0.

### Verification

- All nine documents parse clean.
- **Zero duplicate ids** in any document, checked per file against ids
  already present.
- `DATA` intact at 1,804 entries; all script blocks in the four
  script-bearing volumes parse clean under Node.
- No `id` was inserted inside any script block, confirmed by re-scan.
- **All internal anchors across the site still resolve — 0 broken.**

### Useful beyond search

Every heading is now individually linkable, which the changelog and
cross-volume references can use immediately. The build 65 pattern —
linking the hub to a specific figure — is now available for any section
in any volume rather than requiring an id to be added first.

### Files touched

All nine HTML volumes; `README.md`.

## Build 73 — opaque anchors given meaning before the index is built (27 Jul 2026)

Build 72 resolved slug collisions by appending a number. That produced 14
anchors carrying no information about where they point — a defect worth
fixing before a search index bakes them in permanently.

### atlas-research.html — 10 renamed

Each of the five traditions has "Methods & approaches" and "Key sources"
subsections, so the collision handler produced `methods-approaches-2`
through `-5` and `key-sources-2` through `-5`. A search result pointing at
`#key-sources-3` told a reader nothing.

Each is now prefixed with the tradition's own section id, read from the
DOM rather than assumed: `design-`, `art-`, `social-`, `human-`,
`science-`. So `#social-key-sources` instead of `#key-sources-3`.

### atlas-field.html — 6 renamed

"Naming the Work", "The Why Beneath…", and "The Making of Things" each
appear twice, once per workshop edition, under a single h1 — so neither
ancestor nor preceding heading disambiguated them.

Reading the surrounding markup showed the first set follows "AIGA Design
Educators Community — crowdsourced workshop" and the second follows
"Design Research Society conference — Focus on Educators workshop".
Prefixed `dec-` and `drs-` accordingly. Worth noting the source order is
the reverse of the tab labels, which read DRS first.

### theories.html — 2 renamed

`design-theories-philosophies-2` and `design-history-historiography-2` sit
in the consolidated sources section rather than in their clusters. Now
`sources-design-theories-philosophies` and
`sources-design-history-historiography`.

### Two redundant anchors removed instead of renamed

`atlas-pedagogy.html#glossary-2` and `bibliography.html#thesis-sources-2`
were headings sitting 21 and 25 characters after sections carrying the
same id. A second anchor for the same destination is not worth having;
the heading remains addressable through its section.

### Verification

- All nine documents parse clean; no duplicate ids in any document.
- **Zero numbered-suffix anchors remain** anywhere on the site, excluding
  the bibliography's `ref-` identifiers.
- All internal anchors still resolve — 0 broken.

### Files touched

`atlas-research.html`, `atlas-field.html`, `theories.html`,
`atlas-pedagogy.html`, `bibliography.html`, `README.md`.

## Build 74 — search index built; Crossover Map made addressable (27 Jul 2026)

### The indexer

`build-search-index.py` walks the nine volumes and writes
`data/search-index.json`. Build tooling, delivered alongside the bundle
rather than inside it — the script is not deployed, the index it writes
is.

**2,309 records — 728 KB raw, 187 KB gzipped.** Four kinds, each with its
own route, so search never has to reimplement navigation that already
exists:

| kind | count | routes to |
|---|---|---|
| section | 211 | `volume.html#anchor` |
| concept | 1,804 | `glossary.html?q=<term>&cid=<n>` |
| ref | 267 | `bibliography.html#ref-…` |
| crossover | 27 | `map-crossovers.html?field=<name>` |

Glossary records carry their domain, Kind, and **provenance array**, so a
result can show its tier rather than flattening the distinction the rest
of the system maintains.

The index is derived data. It is regenerated, never edited; the script
says so in its own docstring.

### The Crossover Map produced zero sections

Build 72 added no anchors to `map-crossovers.html` because every heading
in it lives inside a JavaScript template string. Correct at the time, but
it left one of the eight volumes with nothing indexable: its 844 words of
static prose are the nav, the title block, and one intro paragraph. All
of its substance — 27 fields, each with a category, a crossover strength,
and a prose body — is in the `CROSSOVERS` array.

Two changes fix it:

1. **The indexer reads `CROSSOVERS` directly.** It is a JavaScript object
   literal rather than JSON, so the fields are extracted by pattern
   rather than parsed. 27 records, verified as all 27.
2. **`map-crossovers.html` gained a `?field=` parameter.** The panel was
   only reachable by clicking; `openPanel()` took an object and nothing
   addressed it from outside. The handler matches on field name and
   opens the panel, bound to `load` so the map's own init has populated
   the views first. Same pattern as the glossary's `?cid=`, added in
   build 67.

### Verification

- All three script blocks in `map-crossovers.html` parse clean under
  Node; the document parses clean.
- Record counts match the addressable-target count established in build
  73: 211 sections + 267 refs + 1,804 terms, plus 27 crossovers found
  here.
- Script and style blocks are stripped before indexing, so no JavaScript
  source enters the index.

### Next

`search.html` to consume the index, then a search box in the shared nav.

### Files touched

- `data/search-index.json` — new, generated.
- `map-crossovers.html` — `?field=` handler.
- `build-search-index.py` — new, delivered separately as build tooling.
- `README.md` — this entry.

## Build 75 — site-wide search (27 Jul 2026)

`search.html` is new. A Search entry now sits at the end of the shared
navigation in all nine volumes, so search is reachable from any page.

### How it works

The page fetches `data/search-index.json` once and matches client-side.
No server, no third-party service, no CDN, no build step at read time —
consistent with a system whose argument is that its claims are
inspectable.

**Every token must appear somewhere in a record** before it scores, which
keeps two-word queries precise. Ranking favours an exact title match,
then a title prefix, then a title substring, then body text, with a bonus
for the whole phrase and a small bias toward defined terms over
mentions of them. Results group by volume in reading order.

Tested against the real index: `abduction` → 4 hits led by the glossary
entry; `wicked problems` → the glossary term, then Buchanan 1992 in the
bibliography; `frascara` → all three Frascara references; `artistic
research` → the Research Processes section, then Borgdorff.

### Routing reuses what already exists

Search invents no navigation. Each result kind opens through a mechanism
already built:

| kind | opens |
|---|---|
| Glossary | `glossary.html?q=<term>&cid=<n>` — term filtered, concept map open |
| Section | `volume.html#anchor` — build 72's anchors, build 66's shim expands collapsed blocks |
| Reference | `bibliography.html#ref-…` |
| Crossover | `map-crossovers.html?field=…` — build 74's parameter |

**All 2,309 routes verified to resolve**: 478 section and reference
anchors checked against the ids actually present in each document, 27
crossover field names checked against the `CROSSOVERS` array, 1,804
concept ids checked against the glossary `DATA`. Zero unresolvable.

### Results carry provenance

Glossary results show domain, Kind, and provenance sources, with
general-knowledge-only entries labelled as such. A reader can see that a
hit rests on editorial knowledge rather than a cited source without
opening it. Search that returned undifferentiated text would have
quietly undone the distinction the rest of the system maintains.

Type filters — Glossary, Section, Reference, Crossover — are generated
from the index rather than hardcoded, so they cannot drift from it.

### Deliberate limits

- **300 results shown**, with the true total stated. Beyond that the list
  stops being useful.
- **The query is mirrored into the URL**, so a search is linkable and the
  back button behaves. `history.replaceState` rather than `pushState`, so
  typing does not fill the history stack.
- **No browser storage** of any kind.
- **Opened from the file system, the page will say so.** `fetch` of a
  local JSON file is blocked by browsers; the error message explains this
  and notes the volumes are unaffected. Over http it is fine.

### Files touched

- `search.html` — new.
- All nine volumes — one nav link each.
- `data/search-index.json` — regenerated.
- `README.md` — this entry.

## Build 76 — build step documented at the top of this file (27 Jul 2026)

Editor asked whether the search index would be regenerated in a future
session. The honest answer is: not reliably, unless the instruction lives
somewhere it cannot be lost.

`data/search-index.json` is now the only derived file in the bundle.
Everything else is authored directly, so this is a new class of
obligation for the project — and a stale index fails silently rather than
erroring, which makes it the wrong thing to leave to recollection.

Three places now carry it:

1. **The top of this README**, before the structure table, marked as a
   build step rather than buried in the changelog.
2. **The script's own docstring**, which states that the index is derived
   data and must be regenerated rather than edited.
3. **Assistant memory for this project**, so a future session begins
   knowing the step exists.

Also corrected in the README preamble: "eight interlinked reference
documents" → "eight interlinked reference volumes ... plus a search
page", matching the terminology settled in build 64, and a note that
search must be served over http.

### Files touched

- `README.md` — preamble rewritten, build step added, this entry.
- `data/search-index.json` — regenerated.

## Build 77 — full-width navigation (27 Jul 2026)

### What the nav was doing

Links sat left-aligned at their natural widths, with the system tag
pushed right by `margin-left:auto` and dead space between. On a wide
screen the bar was mostly empty.

### What it does now

From **1200px up**, the ten links share the full browser width:

    .cdrs-nav a:not(.cdrs-brand){flex:1 1 auto;justify-content:center;min-width:0}

`flex:1 1 auto` rather than `1 1 0` on purpose — links grow from their
content width, so "Research Processes" keeps more room than "Search"
rather than all ten being forced equal. Labels stay centred and on one
line.

### Why 1200px, measured rather than guessed

The ten labels total 108 characters. At 12px Source Code Pro that is
roughly 780px of text, plus 26px of padding each (260px), plus the brand
and the theme button injected by `theme.js` — about 1160px before any
distribution is possible. Below that the links would overflow rather than
spread, so the existing left-aligned scrolling behaviour is kept between
720px and 1199px.

Below 720px nothing changed: `theme.css` already hides the links and
shows the burger menu, which `theme.js` populates from the bar.

### One visible loss

The system tag — "Communication Design Reference System" — is hidden from
1200px up. At 12px mono it occupies roughly 250px, which is a quarter of
the space the links need to distribute across. Keeping it would push the
breakpoint past 1450px and leave most desktop widths unimproved.

The brand still reads CD·RS and every page carries its own h1, so nothing
is unidentified. If the tag should be kept, the alternative is to raise
the breakpoint to 1450px; that is a one-number change.

### Applied consistently

The nav CSS is inline in each document rather than in `theme.css`, in
three near-identical variants (8 volumes, `index.html`, `search.html`).
The rules were appended to all ten at the same insertion point, so the
variants stay in step.

### Verification

- All ten documents parse clean.
- `<style>` blocks brace-balanced in all ten, checked separately from
  JavaScript. A whole-file brace count is unreliable here: it reports an
  off-by-one in `map-intersections.html` that predates this build and
  comes from a brace inside a JS string.
- All inline scripts parse clean under Node.
- Search index regenerated.

### Files touched

All ten HTML documents; `data/search-index.json`; `README.md`.

## Build 78 — search on every page, from one shared engine (27 Jul 2026)

### What was added

A search overlay, built by `theme.js` and styled by `theme.css` — both
already loaded by every volume, so all ten get it from one file rather
than ten copies. Opening it:

- clicking any link to `search.html` (the nav entry and its burger-menu
  clone, by event delegation, so future links work too)
- pressing **`/`**, unless the caret is already in a field

Arrow keys move, Return opens the highlighted result, Escape closes, and
Return with nothing highlighted falls through to `search.html?q=…` for the
full linkable page. Focus returns to wherever it was on close. No browser
storage.

### Cost

| | raw | gzipped |
|---|---|---|
| `theme.js` | 3.4 → 11.9 KB | 1.2 → 4.0 KB |
| `theme.css` | 4.7 → 7.6 KB | 1.9 → 2.6 KB |

**About 3.5 KB gzipped, once, cached** — not per page. The index (187 KB
gzipped) is fetched only on first open and then served from cache on
every subsequent page, so visitors who never search pay nothing for it.

### A correction to my own claim

When proposing this I said it would "reuse the routing logic from
`search.html` rather than duplicating it." The first implementation did
duplicate it. Diffing the two copies of `href` and `score` showed the
differences were only whitespace and comments — identical weights,
conditions, and returns — but identical-by-coincidence is precisely what
drifts apart on the next edit.

Fixed properly: `theme.js` now exposes `window.CDRSSearch` with `esc`,
`href`, `tokens`, `score`, `mark`, and `KINDS`. `search.html` binds to
those instead of defining its own; its only remaining local function is a
one-line wrapper supplying the volume list to `href`.

So ranking and routing genuinely cannot diverge between the overlay and
the search page. Verified: zero local copies of `score`, `tokens`, or
`mark` remain in `search.html`.

### Note on where this lives

This is the first feature to live in `theme.js` rather than in a volume.
That is what makes it cheap — and it also means a fault there shows up on
all ten pages at once. Worth knowing when editing that file.

### Verification

- `theme.js` parses clean standalone; `search.html`'s inline script parses
  clean; all documents parse clean.
- `theme.css` braces balanced.
- Routes generated for all 2,309 records without error, one sampled per
  kind.
- Index regenerated.

### Files touched

`assets/theme.js`, `assets/theme.css`, `search.html`,
`data/search-index.json`, `README.md`.

## Build 79 — navigation ladder; burger raised to 880px (27 Jul 2026)

### The problem with build 77

Build 77 distributed the links from 1200px up and left everything between
720px and 1199px on the old left-aligned scrolling behaviour. That middle
band is where most laptops sit, so in practice the nav still did not show
all ten volumes across the width — the change only helped very wide
screens.

### Measured, not chosen

The ten labels total 108 characters of Source Code Pro; the bar also
carries the brand and the theme button `theme.js` injects, about 108px.
Width required to fit without scrolling:

| type / padding | needs |
|---|---|
| 12px / 13px | 1146px |
| 11px / 10px | 1021px |
| 10.5px / 9px | 968px |
| 10px / 8px | 916px |

So the type steps down as the viewport narrows, and each step turns on at
the width where it actually fits:

- **≥1180px** — 12px, full padding
- **1050–1179px** — 11px
- **960–1049px** — 10.5px
- **880–959px** — 10px
- **<880px** — burger menu

The links share the full bar from 880px up, which now covers every common
laptop and tablet-landscape width.

### Burger raised from 720px to 879px

`theme.css`. Below 880px the links cannot fit even at 10px, so they are
replaced by the menu rather than left to scroll — a cramped scrolling bar
is worse than a menu, and the menu already existed and was already
populated from the bar.

The consequence worth naming: widths between 720 and 879px now get the
burger where they previously got a scrolling bar. That is deliberate.

### System tag

Now hidden by default and shown only **above 1500px**, where 1146px of
links plus roughly 250px of tag fit together. Build 77 hid it from 1200px
up and showed it below, which was backwards — it appeared exactly where
space was tightest.

### Verification

- All ten documents parse clean; `<style>` blocks brace-balanced in each,
  checked separately from JavaScript.
- The same five breakpoints — 880, 960, 1050, 1180, 1500 — present in all
  ten, so the three inline variants stay in step.
- No stale `@media(max-width:720px)` nav rules remain in any document or
  in `theme.css`.
- Index regenerated.

### Standing note

The nav CSS is still duplicated inline across ten documents. This is the
second consecutive build to touch all ten for one change. Consolidating it
into `theme.css`, which every volume already loads, would make the next
one a single edit.

### Files touched

All ten HTML documents; `assets/theme.css`; `data/search-index.json`;
`README.md`.

## Build 80 — search made visible in the navigation (27 Jul 2026)

### The fault

Build 78 put site-wide search behind two invisible triggers: a text link
that navigated nowhere but silently opened an overlay, and an undocumented
`/` shortcut. Nothing in the interface indicated a search feature existed.
The editor reported not seeing it, correctly — it was working and
undiscoverable, which for a reader is the same as absent.

### The fix

A magnifier button (⌕) now sits in the bar beside the theme toggle, on
every page, injected by `theme.js` so no volume markup changed. It carries
an `aria-label` and a tooltip naming the `/` shortcut, so the keyboard
route is discoverable from the visible one.

The `Search` text link stays in the markup: `theme.js` clones nav links
into the burger menu, so keeping it means narrow screens still get a
labelled "Search" entry by name. CSS hides it in the bar from 940px up,
where the button is doing that job.

### Ladder recalibrated, again

The button is fixed-width chrome, so the arithmetic changed. Nine text
links in the bar rather than ten (102 characters instead of 108), against
brand 64px + theme 44px + search 44px = 152px of chrome:

| type / padding | needs |
|---|---|
| 12px / 13px | 1120px |
| 11px / 10px | 1005px |
| 10px / 8px | 908px |

- **≥1150px** — 12px
- **1040–1149px** — 11px
- **940–1039px** — 10px
- **<940px** — burger menu

Burger raised 879px → 939px in `theme.css` to match. Three type steps
instead of four; the 10.5px step was dropped as unnecessary once Search
left the bar.

### Note on churn

This is the third consecutive build adjusting these breakpoints — 1200px
in build 77, then 880px in 79, now 940px. Each revision was driven by a
real measurement changing (which widths distribute, then a button entering
the bar), but the underlying cause is that the numbers are hand-derived
from character counts in a comment rather than computed. They will need
redoing if a volume is renamed or added.

### Verification

- All ten documents parse clean; `<style>` blocks brace-balanced.
- The same four breakpoints — 940, 1040, 1150, 1500 — in all ten files.
- `theme.css` balanced; burger confirmed at 939px; button styled; text
  link confirmed hidden in the bar at ≥940px.
- `theme.js` parses clean, exposes `open()`, injects the button, and skips
  injection on `search.html` itself.
- Index regenerated.

### Files touched

All ten HTML documents; `assets/theme.js`; `assets/theme.css`;
`data/search-index.json`; `README.md`.

## Build 81 — iPhone fixes: dead nav band, invisible button, viewport height (27 Jul 2026)

Search reported as not working on iPhone. Three faults, two of them mine
from the previous two builds.

### 1. A dead navigation band, 721–939px

`theme.css` suppressed the burger *menu* at `min-width:721px`, but builds
79 and 80 raised the burger *button* to 939px without moving it. Between
those widths the button appeared and opened nothing, while the volume
links were already hidden.

**iPhone landscape is 844–932px.** That band was entirely broken — no
links, and a burger that did nothing.

Menu suppression moved to `min-width:940px`, so it now tracks the button
exactly. Verified programmatically: burger shows below 939px, menu
suppressed at and above 940px, the two agree.

This is the cost of the breakpoint churn noted in build 80. Three
revisions to one number, and a second rule that referenced it silently
fell out of step.

### 2. The button was probably invisible

The magnifier was the character `⌕` (U+2315). Source Code Pro does not
reliably carry it, and on iOS it would render blank or as tofu — a button
that cannot be seen is a button that does not work.

Replaced with an inline SVG circle and handle: font-independent, scales
with the button, inherits `currentColor` so it follows the theme, and
carries `aria-hidden` since the button already has an `aria-label`.

### 3. Viewport height and the keyboard

At ≤600px the overlay panel was `height:100vh`. On iOS `100vh` excludes
neither the toolbars nor the keyboard, so opening the overlay and tapping
the field could push the input out of view — indistinguishable from
nothing happening.

Now `100dvh` with a `100vh` line first as fallback, plus
`padding-bottom:env(safe-area-inset-bottom)` for the home indicator, and
`overscroll-behavior:contain` on the results list so scrolling does not
chain to the page behind.

Also added explicit `top/right/bottom/left` before the `inset` shorthand,
which older Safari does not support.

### Verification

- `theme.css` braces balanced; `theme.js` parses clean.
- Burger and menu breakpoints confirmed adjacent (939 / 940).
- No rule anywhere hides `.cdrs-search-btn`.
- Index regenerated.

### Untested

I have no iPhone here. These are fixes for three identified causes, not a
confirmed reproduction. If it still fails, the useful detail would be
whether the magnifier is visible in the bar at all, and whether the
overlay appears when it is tapped — those separate a rendering fault from
a fetch fault.

### Files touched

`assets/theme.css`, `assets/theme.js`, `data/search-index.json`,
`README.md`.

## Build 82 — reported faults corrected (27 Jul 2026)

All verified against the build before changing anything.

### F1 — two conflicting graph-count sets in `glossary.html`

Confirmed. The 16th-edition changelog entry read "1,802 concepts, 1,881
parent edges, 77 multi-parent, 154 involves + 62 related lateral edges …
identical to the 15th edition."

Every figure but the multi-parent count was wrong, and the sentence
conflated two different things: 1,802 was a stale *glossary term* count
(now 1,804) standing in for the *taxonomy concept* count (1,627). Build
59 corrected the same three figures in "The structure, drawn" and did not
reach this entry.

Corrected to 1,627 / 1,706 / 154 / 31, recomputed from
`tag_concept_relationship_extended.xml`. Now agrees with the diagram, the
index card, and the source-corpus entry, whose 1,891 total is
1,706 + 154 + 31.

"Identical to the 15th edition" changed to "unchanged by the rename" —
the claim being made is that a display-term change leaves the graph
alone, which is true; the earlier wording asserted equality with figures
that were themselves wrong.

### F3 — three versions for the Pedagogy Atlas

Confirmed, and there were more than reported. Authority: the page
masthead reads **Version 1.3 · 2026-07-16**, and `data/data.json`
`meta.version` is **1.3**. Both agree, so 1.3 is correct.

- `index.html` carried **four** stale `v1.2` references, not two: the
  system-map SVG label, the volume card (`v1.2 · 2026-07-12` — the date
  was stale too, now `2026-07-16`), the shared-data-spine paragraph, and
  the footer.
- `README.md` carried v1.1 in two table rows.

All now 1.3.

### Hero strip claimed five provenance tiers

Confirmed. The methodology section is headed "Three-tier provenance
system from the Design Pedagogy Atlas" and defines exactly SRC, CAN, GEN.
The hero fact read 5. Corrected to 3.

### `map-crossovers.html` had no `<h1>`

Confirmed — the only volume without one. Its masthead title was a
`<div class="masthead-title">`. Converted to `<h1>` with the same class,
plus `margin:0` on the rule so the layout is unchanged, and given the id
`communication-design-adjacent-disciplines`.

This also closes a gap in the search index: the Crossover Map previously
contributed no section records at all, only its 27 crossovers.

### README structure table

Was behind the build and incomplete. Now: glossary 15th ed./1,802 →
16th ed./1,804; Crossover Map "8 × 24" → 8 domains × 27 fields;
Intersections given its 28 intersections; Theories and Research Processes
given their counts; pedagogy v1.1 → v1.3. Added the missing
**bibliography.html** row, plus **search.html** and
**data/search-index.json**, the latter marked as generated.

### The four stray files are not from this bundle

`index-copy.html`, `test.html`, `__MACOSX/`, and `_notes/dwsync.xml` do
not exist in any build produced here. This bundle contains 21 files:
ten HTML documents, `README.md`, `sitemap.xml`, `assets/` (2), `data/`
(4), `audits/` (1).

`__MACOSX/` is created by macOS when compressing, and `_notes/dwsync.xml`
by Dreamweaver; both are local artifacts. `index-copy.html` and
`test.html` are unknown to this project. They should be deleted from the
server rather than from here, and `audits/` — a known open item — should
go with them.

### Files touched

`glossary.html`, `index.html`, `map-crossovers.html`, `README.md`,
`data/search-index.json`.

## Build 83 — "See all results" was being intercepted (27 Jul 2026)

Reported: on iPhone, search disappears after a first result.

### The fault

The overlay's footer link reads "See all N results" and points at
`search.html?q=…`. The delegated opener intercepts **any** click on
`a[href^="search.html"]` — including that one, inside its own panel. So
tapping it called `preventDefault()` and re-opened the overlay instead of
navigating.

`open("")` leaves the field alone when the prefill is empty, so the result
was a tap that visibly did nothing. On a phone, where the keyboard
dismisses on tap and the panel is full-screen, that reads exactly as the
search having vanished.

The delegation was written to catch the nav link and its burger-menu
clone. It caught a third link nobody had thought about, in the one place
interception was wrong.

### Fixed

**Links inside the overlay are never intercepted.** One guard:
`if (overlay && overlay.contains(a)) return;`. The See-all link now
navigates to the full results page, as its text promises.

**Backdrop dismiss now requires press and release on the backdrop.** It
was bound to `mousedown` alone, so on touch a drag beginning on the
padding around the panel could close the overlay mid-gesture. Now a
`pointerdown` flag plus a `click` check, so only a deliberate tap on the
backdrop dismisses.

**Button injection made timing-resilient.** It ran only on
`DOMContentLoaded`; it now also runs immediately if the document is
already parsed, and again on `load`. The function returns early when the
button is already present, so the extra passes cost nothing.

### Note

This is the second fault in three builds caused by the search feature
reaching across the whole document — first the burger-menu breakpoint,
now a link the delegated handler was never meant to see. Broad delegation
is what makes one file serve ten volumes, and it is also what makes the
blast radius wide. Worth remembering when editing `theme.js`.

### Verification

`theme.js` parses clean; all four changes confirmed present by string
check. Index regenerated.

### Files touched

`assets/theme.js`, `data/search-index.json`, `README.md`.

## Build 84 — plain-language copy pass, 11th-grade target (1 Aug 2026)

The prose of `index.html` and of all eight volume introductions has been
rewritten to a target reading level of 11th grade (Flesch–Kincaid
10.0–12.0), following an approved proposal reviewed across five drafts.
**No fact, figure, date, citation, tier label, or file path changed.**
Technical vocabulary was deliberately preserved in full — *ontological*,
*upper-ontology roots*, *polyhierarchy*, *subsumption*, *epistemic
culture*, *historiographic*, *lexicographic*, *monohierarchical*,
*synchronic*, *periodizing*, *discursively*, *disambiguation*.

### What drove the rewrite

The prior text averaged Flesch–Kincaid grade 17.0, at 34–42 words per
sentence. Almost every sentence stacked two or three qualifications
inside itself using em dashes. Splitting those into separate sentences
did most of the work: the result averages grade 11.4 at 15.9 words per
sentence. Sentences of thirty words or more fell from 46 to 10.

An earlier draft targeted 8th grade and was rejected: reaching it
required glossing or replacing the terms of art, which misstates the
claims. Grade 11 is the level at which the terminology survives intact.

### Three grammatical passes, applied on top

1. **No sentence ends in a participial phrase.** A scan found fourteen
   trailing participials across the affected text. Four were genuine
   danglers — the implied subject was a preceding clause, not an
   adjacent noun — and each fix converts an implied subject into a
   stated one:
   - Pedagogy card: "…were retired 16 Jul 2026 — … — *leaving* a
     three-tier system" → "…because they held no entries: Design
     Incubation transcriptions were never supplied. The retirement
     leaves a three-tier system…"
   - Research card: "…inherits compromised foundations, *placed* as a
     challenge…" → "…and the section sits as a challenge…"
   - Related systems (ERIC): "…filed under 'Graphic Arts' … instead,
     *confirming* that…" → "That absence confirms that…"
   - Related systems (TGDT): "*Engaged* honestly rather than omitted,
     it sharpens…" → "Honest engagement with the TGDT sharpens…"

2. **No prose sentence is a fragment.** Every proposed sentence was
   parsed for a finite verb. Four of the eight volume cards opened as
   noun phrases and five source lines ran as a label plus an
   unpunctuated list; all now carry a stem verb. Labels, eyebrows, stat
   strips, and bold run-in headings are deliberately left as fragments.

3. **No stranded prepositions.** Nine were found and recast by
   pied-piping — "the frameworks *with which* it shares a foundation",
   "the framework *to which* the concept belongs", "the reference works
   *against which* it measures itself", "the measure *by which* it asks
   to be judged". Two instances of "built upon" became "extended by
   later work". Phrasal-verb particles (*papered over*, *marked
   throughout*) were not touched, since they are not stranded
   prepositions. This is a house-style choice rather than a correctness
   fix; the prohibition on terminal prepositions is prescriptive
   convention, not a rule of English grammar.

### How it was applied

98 assert-guarded exact-string replacements, each required to match
exactly once or abort. Verified after the pass: paragraph, anchor,
heading, and `id` counts are identical to build 83 in every file, and
all script blocks still parse under Node.

### A note on the indexer used for this build

`build-search-index.py` is not in this bundle, per the standing rule
above, and the copy used for this build was a **reconstruction** rather
than the original. The original was unavailable at build time, so the
indexer was rebuilt from the shipped index and the build 74
specification, then validated before use: run against the unmodified
build 83 tree it reproduced `data/search-index.json` exactly — all 2,309
records, field for field, in order.

Reproducing the output exactly is strong evidence of equivalence on this
content, but it is not proof of equivalence on future content. **The
original script remains authoritative.** If it is still to hand, prefer
it; the reconstruction is a fallback and a cross-check, not a
replacement. Rules that had to be recovered by inference, and that any
comparison should check first: strip only `nav.cdrs-nav` and not
`nav.toc`, `nav.legend`, or `nav.pa-tabs`; exclude HTML comment nodes;
skip headings carrying `class="sec-title"`; retain SVG text; truncate
section, ref, and crossover text at 400 characters and concept text at
220.

### The search index was stale in build 83 — now corrected

`data/search-index.json` as shipped in build 83 was dated 2026-07-30 and
did carry that build's v1.3 and glossary-count corrections. But it
contained **no section record for the new `<h1>` on
`map-crossovers.html`** — the heading added in build 83 to give that
volume a document outline. Every other volume's `h1` was indexed; that
one was not, because the index was generated before the heading landed.

The Crossover Map had therefore had zero section records since build 74.
It now has one, and the index totals 2,310 records rather than 2,309.
This is exactly the silent-staleness fault the build-step note warns
about: a stale index does not error, it just answers for an older site.

### Out of scope, and left alone

Two passages outside the rewritten sections now differ slightly in
wording from their rewritten counterparts. Both are body text rather
than introductions, and neither is wrong; they are recorded here rather
than changed, because this pass was scoped to `index.html` and the eight
volume introductions:

- `glossary.html`, *The Lineage line* guide: "the *Lineage* records
  whose *framework* the concept belongs to." Rule 9 on `index.html` now
  reads "the framework to which the concept belongs."
- `atlas-research.html`, Decolonial Critique body: "the panel is placed
  as a challenge to the volume rather than as a chapter within it." The
  subject is stated here, so this is not a dangler.

### Still open

- **Bibliography count mismatch.** The Card 8 stat strip on
  `index.html` reads "186 entries". `bibliography.html` contains 267
  elements carrying the `ref` class, and the structure table above
  describes the volume as 267 references. The 186 figure appears only
  on the index card. It is carried forward unchanged in this pass, per
  the no-fact-changed rule, but it is very likely wrong. Note that 186
  is not a plausible typo for 267, so it may be an accurate count of
  something narrower — priority-tier entries only, excluding
  periodicals, standards, and flagged items — in which case the label
  rather than the number needs correcting.
- `changelog.html` still does not exist. Both changelog references on
  `index.html` are now real links to `README.md`, and the footer names
  it explicitly.
- `audits/` still ships in the public bundle, contrary to the audit
  file's own note.

### Files touched

- `index.html` — 78 replacements.
- `glossary.html`, `map-intersections.html`, `atlas-field.html`,
  `map-crossovers.html`, `theories.html`, `atlas-research.html`,
  `atlas-pedagogy.html`, `bibliography.html` — 20 replacements across
  the eight volume introductions.
- `data/search-index.json` — regenerated (2,310 records).
- `sitemap.xml` — `lastmod` advanced to 2026-08-01 on all nine changed
  pages.

The bundle keeps its top-level `site/` folder and contains no build
tooling, per the rule above. An earlier packaging of this build placed
`build-search-index.py` inside the zip alongside `site/`; that
contradicted the project's own stated convention and was corrected. The
script is delivered separately, as build 74 specifies.
- `README.md` — this entry.

## Build 85 — orphaned period after the Lineage label (2 Aug 2026)

**Reported:** in *How to use this glossary*, the sentence "…labeled
**Lineage**. It records…" rendered on a narrow screen with the period
pushed onto its own line, preceded by a visible gap.

**Cause.** Not a typo and not malformed markup. The source read
`labeled <strong>Lineage</strong>. It records`, with the period
immediately after the closing tag and no whitespace between them. Per
spec that is not a line-break opportunity, but at the inline-element
boundary some mobile browsers introduce one anyway, and the period
orphans to the next line. It only surfaces when the emphasized run
happens to land at the end of a line, which is why it appears on a
phone and not on a desktop.

**Fix.** The label and its period are now bound together:

    labeled <span class="nb"><strong>Lineage</strong>.</span> It records

with a new utility rule beside the existing `.note` rules:

    .nb{white-space:nowrap}

Visible text is byte-identical to build 84; paragraph and `id` counts
are unchanged. Only `glossary.html` was touched.

### Scope: deliberately not applied site-wide

The pattern of punctuation immediately following an inline emphasis
element occurs **388 times** across the nine pages — 147 in the
Bibliography alone. It is standard typographic markup, not a defect,
and mass-editing it would be wrong.

Restricting the count to the narrow note columns, where a phone is most
likely to wrap, leaves **36** instances: 20 in the Bibliography, 11 in
the glossary, 4 in the Field Atlas, 1 in the Intersections map. Thirty-five
of these were left alone on purpose. Almost all are italicised
publication titles — *Proposal for DRS Festival of Emergence, 2021*,
*Concerning the spiritual in art*, *Typografische Monatsblätter* —
and wrapping a long title in `white-space:nowrap` would push it past
the right edge of a phone screen. The cure would be worse than the
symptom.

`nowrap` is safe here only because "Lineage." is eight characters.

**If the same symptom is reported elsewhere**, the correct general
remedy is a word joiner (`&#8288;`, U+2060) between the closing tag and
the punctuation. It forbids the break without preventing the title
itself from wrapping internally. It was not adopted pre-emptively
because it inserts an invisible character into the text layer, which
would then appear in `data/search-index.json` and could affect
exact-phrase matching in site search. That trade is worth making per
reported instance, not speculatively across 36.

### Files touched

- `glossary.html` — one binding span, one CSS utility rule.
- `data/search-index.json` — regenerated (2,310 records, unchanged
  content; the span is structural and adds no text).
- `sitemap.xml` — `lastmod` advanced to 2026-08-02 for `glossary.html`.
- `README.md` — this entry.

## Build 86 — `.note strong` was styling mid-sentence emphasis as a block label (2 Aug 2026)

**Correction to build 85.** Build 85 diagnosed this wrongly and patched
the symptom. That patch is reverted here and the real cause is fixed.

**What was actually happening.** In *How to use this glossary*, this rule

    .note strong{font-family:var(--font-mono);font-size:10px;
      letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
      display:block;margin-bottom:7px;font-weight:600;}

was written for the run-in label that opens each note paragraph —
"SEARCH AND BROWSE.", "THE LINEAGE LINE." — but its selector matched
**every** `<strong>` inside `.note`, including mid-sentence emphasis.
So "…labeled **Lineage**. It records…" put *Lineage* on its own line as
an uppercase gold monospace block, and the period that followed it began
the next line. The same paragraph did it to **SRC**, **CAN**, and **GEN**.
It was never a wrapping problem, and it was never mobile-specific.

**Fix.** The selector is scoped to the leading label:

    .note strong:first-child{ … }

Verified against the live DOM: 11 labels keep the block styling
(6 glossary, 3 Theories, 2 Bibliography); the 4 mid-sentence uses now
render as ordinary inline bold. Applied in `glossary.html`,
`theories.html`, and `bibliography.html`, which each carry their own copy
of the rule. No unscoped `.note strong` remains anywhere in the build.

**One more instance found by the same check.** `theories.html` had the
same defect on "Meggs 7th edition (Sept. 2025)" mid-sentence in a
sourcing note. It is fixed by the same selector change. `bibliography.html`
had no mid-sentence cases but its rule is scoped too, so the defect
cannot reappear there.

**Build 85's patch is reverted.** It wrapped the phrase in
`<span class="nb">` with `.nb{white-space:nowrap}`. That treated a
symptom that was not occurring — a `display:block` element cannot be
held on the line by `nowrap` — and it would have left misleading markup
in the source. Markup in all three files is now byte-identical to
build 84; the change in this build is CSS only.

**Why build 85 got it wrong, recorded so the method is corrected too.**
The rule was searched for with a line-based `grep`, and the declaration
spans two lines with the selector on the first. The pattern never
matched, so the conclusion was that no CSS was promoting `strong` to a
block — and the symptom was then attributed to browser line-breaking
behaviour instead. Stylesheets must be extracted and parsed whole, not
grepped line by line. A screenshot settled in one look what four rounds
of source inspection had missed.

### Files touched

- `glossary.html` — selector scoped; build 85 span and `.nb` rule removed.
- `theories.html`, `bibliography.html` — selector scoped.
- `data/search-index.json` — regenerated (2,310 records, text unchanged).
- `sitemap.xml` — `lastmod` 2026-08-02 for the three pages.
- `README.md` — this entry.

---

## Build 87 — Synonym & related-term layer, first release (7 Aug 2026)

**What changed.** The Design Incubation tag corpus attached to 110 glossary entries
(696 strings) was triaged into three categories — synonym, related term, discard —
and the results are now structural fields in the glossary.

**Corpus triage (high + medium confidence only; 355 low-confidence strings held
back, untriaged, and still displayed as "DI source tags (pending review)"):**
- 51 strings became synonyms across 32 concepts (`syn` field)
- 198 strings became related terms across 71 concepts (`rel` field)
- 94 strings discarded (self-references, duplicates, and 4 editor discards)

**Editor decisions applied (both directions on the record):**
- 9 prior overrides moved machine-proposed synonyms to related or discard
  (systemic thinking, affect, Racism, archives, immersive, environment, justice,
  sociology → related; visual arguments → discard)
- 7 promotions to synonym: haptics; augmented reality; virtual reality; design for
  social change; design for social good; public interest design; sustainable design
- 2 discards: abstract submission; racism using transformative justice
- 1 replacement: "beginning students" discarded, replaced by editorial coinage
  "beginner students" (GEN — not a DI corpus string)
- Capitalization corrected in 6 strings (AI, CFP, STS, 3D)

**Provenance.** Synonym/related strings are sourced from the DI keyword corpus
(author-assigned submission keywords); the equivalence and relatedness judgments
are editorial (GEN). Per the two-label rule these are distinct claims. The full
triage record, including per-row overrides, is in the editorial working files
(tag-assignments-final-v2.csv), not shipped in this bundle.

**Mechanics:**
- glossary.html: DATA entries gained `syn` (32), `rel` (71), and `pend` (69)
  fields; raw `tags` field retained unchanged as corpus record. entryHtml renders
  "Also known as" (synonyms, search-highlighted) and "Related terms". Filter now
  matches synonym strings. New .entry-syn/.entry-rel styles.
- assets/theme.js: site-wide search scorer now matches a `syn` field (+18/token).
- data/search-index.json: 32 concept records gained `syn`. Record count unchanged
  (2,310). **⚠ Patched in place, not regenerated: build-search-index.py (held
  outside the bundle) must be updated to emit `syn` from glossary DATA for
  concept records, or the next regeneration will silently drop synonym search.**

**Not done, deliberately.** The `synonym` relation type in the taxonomy database
remains empty (glossary-layer variant control only — see methodology §6.1). The
355 low-confidence strings await a second triage pass. The strip-down question —
synonym search now depends on GEN-tier judgments — is noted for governance.

**Verification.** DATA round-trip parse (1,804 entries, all prior fields
byte-identical); instructed discards confirmed absent from syn/rel/pending;
capitalization spot-checked (AI, CFP, STS); index record count unchanged;
scorer patch confirmed.

---

---

## Build 88 — Related-term fallback in search (7 Aug 2026)

**Problem.** After build 87, a query matching only a *related term* — e.g.
"community design," a related term on Participatory Design — returned "No terms
match the current filters." The string was in the system but unreachable: the
glossary filter deliberately matches title, definition, and synonyms only,
because related terms assert proximity, not equivalence, and matching them as
ordinary hits would present a neighboring concept as the answer.

**Fix — glossary (two-step search).** Step 1 is unchanged: title, definition,
synonym matching. Step 2 runs only when step 1 returns nothing: entries whose
related terms contain the query render in full beneath an explicit banner —
"No entry matches “…” directly. It appears as a related term on:" — so the
reader reaches the neighborhood without the system claiming equivalence. The
query is now highlighted inside the "Related terms" line (previously
unhighlighted), so fallback results show *why* they surfaced. Entries render
complete: definition, chips, source, concept-map button. Filter-only dead ends
(no query) and true misses are unchanged.

**Fix — site-wide search.** The 71 concept records in `data/search-index.json`
gained a `rel` field; the scorer in `assets/theme.js` matches it at +3 per
token — below synonyms (+18) and definitions (+6) — so related-term matches
surface but rank beneath genuine hits. No banner on search.html; the labeled
fallback is a glossary behavior. Record count unchanged (2,310).

**⚠ build-search-index.py** must now emit both `syn` and `rel` for concept
records (from glossary DATA), or the next regeneration silently drops both
synonym search (build 87) and this fallback's site-wide half.

**Styling.** New `.rel-fallback-note` (gold left border, paper-2 ground). All
custom properties verified against assets/theme.css as a whole — no hardcoded
hex introduced.

**Verification.** Simulated: "community design" → fallback → Participatory
Design; "systemic thinking" → fallback → Systems Thinking; "haptics" → primary
(unchanged); "zzzz" → empty (unchanged). All inline scripts and theme.js pass
`node --check`. Index counts asserted (2,310 records; 32 syn; 71 rel).

---

## Build 89 — Chip filters made legible: pressed state, toggle, banner (7 Aug 2026)

**Problem.** Facet chips (Domain, Kind, Medium, Scope) behave categorically:
clicking one clears all filters and features every term sharing that value.
Clicking the same value from another entry re-renders an identical list — a
working control with zero feedback, which reads as a dead link. On narrow
screens the sidebar facets start collapsed, so no indication of the active
filter existed anywhere. Reported against the Scope chip ("Related field"),
where the categorical answer is also weakest: all 69 imports share the label
without being related to one another.

**Changes (glossary.html only):**
1. **Pressed state.** Chips matching the currently active filter render filled
   in their facet color with `aria-pressed="true"`; tooltip flips to
   "Clear filter: …". Implemented via a single chipEl() helper replacing the
   four inline chip builders.
2. **Toggle.** Clicking a pressed chip clears that filter and returns to the
   full glossary; clicking an unpressed chip features its value as before.
3. **Scroll.** Featuring a chip scrolls the results container into view, so
   the change is on-screen even when clicked mid-list.
4. **Banner.** When exactly one chip filter is active and no query is present,
   results open with a framing statement (`.feature-note`, cobalt accent):
   Scope — "These terms are related fields — concepts drawn from neighboring
   disciplines rather than native to communication design."; Domain/Kind/
   Medium — "These terms belong to the domain / share the kind / are used in
   the medium …". Each closes with "Select the highlighted chip again to
   return to the full glossary."

The chip's categorical meaning is unchanged; this build makes its state
visible rather than altering what it filters. The relational question ("what
relates to this term?") remains answered by the entry's Related terms line,
concept map, and cross-references.

**Verification.** Patch base verified byte-identical (md5) to the shipped
build 88 bundle before editing; the finished build differs from build 88 in
glossary.html only. All inline scripts pass `node --check`. Behavior
simulated against DATA: first click features 69 Related-field terms with
banner; second click toggles off, restoring 1,804; Domain click features 85
Typography & Letterforms terms with domain banner. All custom properties
verified against assets/theme.css as a whole; no hardcoded hex introduced.
No data, index, or theme.js changes.

---

## Build 90 — Scope chip repointed: category filter → per-term related view (7 Aug 2026)

**Change of meaning, by editorial decision.** The "Related field" chip on a
glossary entry no longer features all 69 Related-field terms (the categorical
behavior of builds ≤89). It now answers the question a reader is actually
asking when they click it: *what relates to this term?*

**Behavior.** Clicking the chip on entry X opens a related view: a banner —
"Showing terms and connections related to X" — with a direct link to X's
crossover-field treatment where one exists; then X's own entry in full
(chip rendered pressed, aria-pressed, click again to return); then every
glossary entry linked to X through the related-term layer (build 87),
resolved in both directions — X's related strings that name other entries,
and other entries whose related strings name X. Entries with no recorded
relations show an honest note: "No related terms have been recorded yet for
this entry in the glossary." Any search input, facet change, or other chip
click exits the view. Domain, Kind, and Medium chips keep their build-89
categorical behavior; the Scope *sidebar checkbox* also still filters
categorically — only the entry-face chip is repointed.

**Mechanics (glossary.html only).** Title-resolution index (titles, slash
components, paren-stripped forms) and a bidirectional relation index built
from the rel fields at load; scope chip moved from the chip-filter delegate
to a new chip-relv delegate with click + keyboard handlers; related view
renders through the existing entryHtml, feature-note, and group-head styles.

**Coverage, measured.** Of the 69 Related-field entries: 40 open a non-empty
view or carry a crossover link; 29 show the empty note. Richest current
views: Social Science Methods & Fields (4 related), Peer Review (3),
Pedagogy (2). Mathematics & Geometry — the reported case — shows the empty
note plus its Crossover Map link.

**Named editorial task (open).** Populate the related layer for the 29
empty entries, seeded from the Crossover Map's shared-topics data, so the
view answers with glossary entries rather than only the crossover link.

**Verification.** Base verified byte-identical to the shipped build 89
bundle before editing. All inline scripts pass `node --check`; declaration
order and single-script hoisting confirmed. Behavior simulated against
DATA for empty (Mathematics & Geometry), sparse, and rich (Social Science
Methods & Fields) cases. No data, index, or theme.js changes.

---

## Build 91 — Glossary audit integration: recategorizations + relations (7 Aug 2026)

**Source.** `glossary-audit-v2.xlsx` / `-v3.xlsx`, Duplicates & Consolidation and
Recategorization sheets, editor-reviewed across three rounds. Full per-row
decisions and reasoning are in the editorial working file, not shipped in
this bundle.

**Recategorization — 7 domain reassignments applied, 7 rejections logged.**
Applied: Broadcasting (Photography, Video & Audio → Advertising & Persuasion);
Calligraphers (Print Production & Materials → Typography & Letterforms);
Documents (Print Production & Materials → Theory & Criticism); Highlights
(Illustration, Image & Digital Graphics → Color); Polls (Research Methods &
Epistemologies → Theory & Criticism); Presenters (Education & Academy →
Theory & Criticism); Researching (Theory & Criticism → Research Methods &
Epistemologies).
Rejected, domain unchanged, reviewed and confirmed distinct — not silently
dropped: Blender (proper noun, unrelated to Blend/Blends); Concepting
(unrelated to Concept); Frames (unrelated to Framer); Iconography & Iconology
(unrelated to Icon/Iconography); In-line (unrelated to By Line); Leading
(unrelated to Leaders); Scripts (unrelated to Scripting — see note below).

**Relations — 135 glossary entries gained or extended a `rel` list; 186 edges
added.** Sourced from the audit's `related` and mirrored `involves`/`involved by`
decisions, folded into the existing flat `rel` field (build 87). Includes a
7-member Anatomy clique (Arachnid/Bird/Fish/Insect/Mammal/Mollusk/Reptile,
each cross-linked to all six others), the primary-color triad (Blue/Red/
Yellow), 26 agent/activity pairs (e.g. Editors–Editorial, Calligraphers–
Calligraphy), and one taxonomy hierarchy pair (Peer Review–Peer Review
(Double-Blind/Invited)).

**⚠ Simplification, disclosed.** The audit recorded direction (`involves`
vs `involved by`) and hierarchy (`parent`/`narrower (child)`) as distinct
relationship types — matching the taxonomy schema's four declared types.
The glossary's `rel` field is flat and undirected; this build folds all of
it in as plain "related terms," so direction and the one parent/child edge
are not distinguished on the entry face. The directional and hierarchical
data is preserved in the editorial working file for a future taxonomy-XML
edit (`data/tag_concept_relationship_extended.xml` + CMETA regeneration),
which is separate, larger work not attempted here.

**Synonym — 1 pair, both entries kept.** "Medical devices" and "Medical
Equipment" cross-referenced via `syn` (not merged — the audit decision was
explicitly 'synonym', distinct from 'merge').

**Search index.** `data/search-index.json`: 2 records gained `syn` (34 total,
was 32), 135 records gained or extended `rel` (200 total, was 71). Record
count unchanged (2,310). **⚠ build-search-index.py still needs updating**
(flagged since build 87–88) — this build widens the gap.

**Held back, not applied this round:**
- **10 merge pairs** from the Duplicates sheet — deletion is irreversible;
  proposed survivors sent to the editor for confirmation before execution.
- **4 groups left unresolved by the audit** (Design System family — Systems
  Design still undecided; the 5-member Print family; Programmers/Programming;
  Scripting/Scripts — the last directly conflicts with the Recategorization
  answer for Scripts, logged above as "unrelated").
- The Related Candidates sheet (2,031 rows, 56 decided) — out of scope for
  this integration; not touched.

**Verification.** DATA round-trip parsed (1,804 entries, unaffected entries
byte-identical); every relation and recategorization term resolved against
the live glossary before writing; recategorized entries' prior domain
asserted before overwrite. All inline scripts pass `node --check`. Search
index record count and syn/rel counts confirmed post-patch.
