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
- Images Master: insert/update final image rows after WordPress media upload succeeds.
- Other Voices Source Pages: insert/update curated source rows and direct philosopher links.
- Philosophy Works Master: insert/update direct works.
- Philosophy Works Pages Master: register child work pages after WordPress page creation/update.
- Philosophers Master: update profile fields after sources and works are in place.
- 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
- Publish or update WordPress media.
- Publish work child pages.
- Publish the philosopher profile page.
- Publish the philosopher Other Voices page.
- Update the Philosophers hub card and Other Voices hub card.
- Update Works of Philosophy.
- 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.