Version 1.8.1
This platform release connects authoritative SPM content to the Search Database through validated, repeatable ingestion. Stable source identity, transactional writes, explicit synchronization, audit records, and zero-write preflight checks make updates safer and easier to verify.
Release Highlights
Repeatable Source Updates
Existing search records can be updated by stable source identity instead of creating duplicates.
Validate Before Writing
Records and identities are checked before database access, with transactions protecting multi-table changes.
Transactional Search Upserts
Source Type and Source ID
spm-search-upsert.php identifies each record through the combined source_type and source_id. A known identity updates its search record; a new identity creates one.
Normalized Records Checked First
Required values and controlled fields are validated before database access, preventing malformed records from beginning a write operation.
One Transaction, Full Rollback
Core content, search text, credits, tags, metadata, and locations are written within one transaction. A failure rolls the operation back instead of leaving a partially synchronized item.
Controlled Field Synchronization
Only Supplied Collections Change
Search text, credits, tags, metadata, and locations synchronize only when the incoming normalized record explicitly provides them. Omitted collections are not silently erased.
No Unrelated Bulk Mutation
The service updates the requested identity only. It does not archive other records, reconcile an entire source, or perform unrelated bulk changes as a side effect.
Controlled Publication States
The ingestion contract recognizes draft, published, and archived states so search visibility can follow an explicit source status.
Editorial Engine Adapter
One Story, One Search Sync
spm-editorial-search-sync.php provides the SpmEditorialSearchSyncService, connecting an approved editorial HTML file to search under the spm_editorial source type.
Identity Must Match Expectations
The adapter extracts and validates the Story ID. Missing or unexpected identities are rejected before the transactional upsert is allowed to proceed.
Success and Failure Remain Traceable
Synchronization produces an audit or failure record, preserving what was attempted and whether the source reached the search index.
Preflight and Dry-Run Safety
Inspection Without Mutation
Preflight checks can inspect and classify proposed source work with zero database writes. They do not upsert, synchronize, batch-update, archive, or reconcile production records.
Focused Test Sets Passed
Selected preflight suites reported 5 of 5 and 12 of 12 checks passing, confirming the intended read-only boundary for those runs.
Normalized Content Contract
The ingestion service supports article, video, gallery, gallery item, music, radio, TV, page, news, and gaming records. Type-specific details can travel through the structured metadata, credit, tag, and location collections established in version 1.8.0.
This shared contract lets different source adapters produce one dependable search shape without requiring each source system to understand the internal database-writing sequence.
Known Limitations
This release does not claim complete production coverage
Version 1.8.1 establishes safe ingestion and source integration. The complete site inventory, readiness classification, and remaining coverage work are documented in version 1.8.2.
Each source still requires a trustworthy adapter
The upsert service expects normalized records. A source adapter must accurately map its native content, identity, status, relationships, and metadata into that contract.
Preflight success does not perform ingestion
A zero-write PASS proves that the proposed operation can be inspected safely. It does not mean the records were inserted or updated.
Automatic archival is intentionally excluded
A single-record upsert does not infer that missing source items should be archived. Bulk archival and reconciliation require a separate, explicit process with their own safeguards.