Philosopher’s Glossary

Standard Philosopher Update Process

Standard Philosopher Update Process

Use this runbook for every philosopher. Abu Hamid al-Ghazali and Abu Nasr al-Farabi are the current formatting and publishing references. The rule is simple: build evidence first, then write tables, then publish every affected surface, then validate.

0. Non-Negotiable Scope Rules

  • Work one philosopher at a time.
  • Do not rewrite unrelated philosophers, unrelated hubs, unrelated templates, or global layout code.
  • Do not begin profile prose until images, Other Voices, and directly authored works have been researched.
  • Every changed page or table must be traceable to the current philosopher and to the approved evidence pack.

1. Research Pack And Approval Gate

  • Create a philosopher research pack before DB or WordPress content changes, unless the task is explicitly a formatting-only repair.
  • The pack must contain proposed profile fields, image rows, Other Voices rows, direct works, proposed work-page slugs, and affected listing surfaces.
  • Do not treat old generated analysis as trusted evidence. Keep useful URL/title/provider spine data only when it is rechecked.
  • Wait for approval when the work is a content build. Formatting bug fixes may proceed if they leave content facts unchanged.

2. Snapshot And Rollback Setup

  • Before any change, snapshot SQL rows for the philosopher, images, Other Voices rows, works, work pages, and affected hub/listing page records.
  • Snapshot raw WordPress content for the profile, Other Voices page, work pages, Philosophers hub, Other Voices hub, Works of Philosophy hub, and affected taxonomy/listing pages.
  • Snapshot WordPress media-library search results for the philosopher slug/name before uploads, replacements, or cleanup.
  • Record rejected images, duplicate crops, source failures, and any image shortfall in the evidence artifact before publishing.
  • Do not overwrite rollback snapshots. Store before and after artifacts separately.

3. Images First

  • Research images before profile prose. Target 6-20 truthful, useful, non-duplicate images; do not stop at six when stronger material is available, and do not pad with weak or wrong images.
  • Search all relevant source surfaces: Other Voices sources, encyclopedias, museums, libraries, archives, university pages, publisher pages, audio/video pages, newspapers, and source-site galleries. Do not limit research to Wikimedia.
  • Every accepted image must visibly teach something about the philosopher, a work, a dated event, a place, a manuscript, an artifact, reception, or intellectual context.
  • Ordinal 1 is the card image and must be the strongest truthful identifying image. Do not use a map or weak context image first when a better identifying image exists.
  • Before any upload, search WordPress media by filename stem and accept existing WordPress-suffixed filenames such as name-1.jpg. Reuse the existing media ID when the intended local path matches the SQL LocalPath.
  • Do not upload a new attachment just because source URL, source image URL, caption, description, alt text, or evidence metadata changed. Update the existing attachment metadata and SQL row in place.
  • Captions must identify what the viewer sees. Do not publish provider-only captions such as IEP profile image, Wikipedia portrait, Britannica image, or profile image. Source facts belong in source fields and the evidence artifact.
  • Update Philosophy.[Images Master] only after the media URL returns 200. Gallery descriptions stay hidden on the profile; no ordinal prefixes or source housekeeping text may appear in the visible gallery.

4. Other Voices Second

  • Add curated source rows before the profile rewrite.
  • Classify sources under the seven public hubs: Stanford Encyclopedia of Philosophy, Internet Encyclopedia of Philosophy, Wikipedia (Philosophy portal), Project Gutenberg, Perseus Digital Library, Marxists Internet Archive, and Minor Voices.
  • Each row must preserve provider, source site, domain, title, URL, source type, entry type, date text, evidence note, and direct philosopher link JSON.
  • Each public card must link to the external source and show clean source metadata plus a short evidence note.
  • No tag chips, no random source groupings, no empty standalone Minor Voices row, and no unlinked hub headings.
  • Other Voices pages must use the canonical Other Voices shell: dz-philo__ov-header, dz-philo__ov-title, dz-philo__ov-actions, and dz-philo__ov-main. Do not use the profile-page identity header, profile title class, profile card-title rows, image gallery markup, or work/profile card renderer on an Other Voices page.
  • Each non-empty source section heading must link to its public hub page. Empty hubs do not render as standalone cards or sections.
  • Before publishing, validate the target Other Voices page has zero dz-philo__identity headers, zero dz-philo__card-title source headings, zero image tags, zero chip/tag elements, linked source URLs, and source-row counts matching Philosophy.[Other Voices Source Pages].

5. Direct Works Third

  • Identify directly authored or securely attributed works only.
  • Disputed, spurious, fragmentary, testimonia, and merely attributed works are noted in evidence but are not turned into work pages unless explicitly approved.
  • Fill Philosophy.[Philosophy Works Master] using the work-field rules above: title, original title, alternate titles, author, dates, language, tradition, disciplines, thesis, concepts, method, structure, arguments, influence, significance, and modern relevance.
  • Create one WordPress child page per approved work under the philosopher page and register it in Philosophy.[Philosophy Works Pages Master].
  • Work pages must link author, modern country where present, and disciplines. Work cards must show visible year/date and must not use bubble tags.

6. Profile Rewrite Fourth

  • Use the approved finished-profile layout without changing class names, metadata order, gallery behavior, work-card classes, or Other Voices link placement.
  • Render the fixed metadata fields in the established order and link taxonomy/country fields to the correct live pages.
  • Render profile images from approved SQL rows only. The visible gallery shows images and subject captions; descriptions remain lightbox-only.
  • Remove empty placeholders such as unlinked works text once approved works exist; do not invent works to fill an empty section.
  • Verify the lightbox opens the intended image set and that ordinal 1 is the same image used by cards and listings.

7. Table Write Order

  1. Images Master: insert/update final image rows after WordPress media upload succeeds.
  2. Other Voices Source Pages: insert/update curated source rows and direct philosopher links.
  3. Philosophy Works Master: insert/update direct works.
  4. Philosophy Works Pages Master: register child work pages after WordPress page creation/update.
  5. Philosophers Master: update profile fields after sources and works are in place.
  6. Philosopher Pages Master and Other Voices Pages Master: update only page IDs, slugs, URLs, or titles when the page registry itself changes.

8. Page Publish Order

  1. Publish or update WordPress media.
  2. Publish work child pages.
  3. Publish the philosopher profile page.
  4. Publish the philosopher Other Voices page.
  5. Update the Philosophers hub card and Other Voices hub card.
  6. Update Works of Philosophy.
  7. Update affected period, era, region, Terra Avita, Terra Region, and core-area listing pages.

9. Required Page Surfaces

  • Profile page.
  • Other Voices page.
  • All approved work child pages.
  • Philosophers hub, using image ordinal 1 and the bold location line.
  • Other Voices hub and every provider hub that has live source rows.
  • Works of Philosophy hub, with stale rows removed and each work listed once.
  • All affected period, era, region, Terra Avita, Terra Region, country, and core-area listing pages.

10. Validation Checklist

  • SQL: expected image count, distinct WpMediaId count, Other Voices source count, work count, work-page count, page IDs, no orphan works, no orphan work pages, no duplicate image ordinals, no duplicate local paths, no duplicate source image URLs, and no provider-only captions.
  • WordPress media: media search by philosopher slug/name matches the live SQL image set except explicitly documented shared media; stale duplicate attachments from failed runs are removed after confirming they are not referenced.
  • WordPress pages: profile, Other Voices page, work pages, media URLs, hub pages, and affected listing pages return 200.
  • Profile: approved layout, fixed metadata, linked taxonomy/country fields, correct ordinal-1 card image, working lightbox, no visible gallery descriptions, no ordinal captions, and no stale placeholder text.
  • Other Voices: canonical shell, linked provider headings, correct source counts, external source links, no image tags, no chips, no profile-card classes, and a clean empty state when no rows exist.
  • Works: visible years/date notes, correct parentage, linked title/author/country/disciplines, correct HasFullText behavior, and no fake full-text badge.
  • Browser: desktop and mobile checks show nonzero image dimensions, no horizontal overflow, bold location lines on cards/listings, and no stale gallery or hub content.

11. Stop Conditions

  • Stop before publishing if source evidence is weak, image provenance is unclear, work attribution is disputed, required page IDs cannot be found, or a script would affect unrelated pages.
  • Stop and roll back if a publish breaks layout, removes existing content unintentionally, creates orphan rows, loses media IDs, or changes a hub/listing outside the affected surfaces.

12. Final Report Format

  • State the philosopher, page IDs, and artifact folder.
  • Report DB counts: images, Other Voices rows, works, and work pages.
  • List all pages published or patched.
  • Report validation results, including public 200 checks and content checks.
  • Name any remaining gaps clearly. If there are no known gaps, say so.