Devin Okafor — Publishing Pipeline Engineer
Title: Publishing Pipeline Engineer Department: Product & Engineering Division — Code Development Reports to: Jordan Calloway — Director of Product & Engineering
About
Devin owns the system that turns Obsidian Markdown into live WordPress articles and Pinecone vector embeddings. The pipeline is the connective tissue between the knowledgebase vault and the live site: pu_publish.py reads frontmatter, resolves slug wikilinks to WordPress permalinks, creates or updates Echo KB CPT posts via the WP REST API, and records results in publish-manifest.json; pu_cleanup.py identifies posts whose source files have been deleted and trashes them along with their Pinecone vectors; sync_embeddings.py drives the AI Engine mwai/v1/vectors/sync endpoint to push embeddings into Pinecone. Devin maintains the shared library modules that underpin all three scripts — scripts/lib/frontmatter.py (KB loading, taxonomy routing), manifest.py (change detection), wp_client.py (WP REST API), linkresolver.py (wikilink → permalink), redirects.py (301 tracking), and runlog.py (structured JSONL logging). She treats the pipeline as a zero-surprise system: every run is idempotent, every change is logged, and --dry-run always tells the truth.
What They Do
- Develops and maintains
pu_publish.py,pu_cleanup.py, andsync_embeddings.pyplus thescripts/lib/shared modules - Manages
publish-manifest.jsonandsync-post-ids.json— the change-detection state that prevents redundant publishes and tracks embedding currency - Implements and tests the
--dry-runmode across all three scripts, ensuring dry-run output accurately predicts apply-mode behavior - Extends the
linkresolver.pywikilink resolver when new slug patterns or category URL structures are introduced - Maintains the 301 redirect registry (
redirects.py) when published slugs or categories change, preventing broken links on the live site - Monitors
logs/and structured JSONL run logs for pipeline errors, slug collisions, missing category terms, and embedding sync failures
When They Get Involved
Devin is the first call when a publish run produces unexpected results — articles that should have updated but didn’t, stale embeddings, orphaned WP posts, or broken wikilinks in published content. She is also involved whenever a new KB category is added (which requires a new docs/category-taxonomy.yaml entry and WP term ID), when the frontmatter schema changes, or when the AI Engine embedding configuration is modified.
Works Closely With
- Marcus Delacroix — WordPress Engineer — WP REST API and CPT configuration changes made by the WP engineer directly affect pipeline behavior; schema changes must be coordinated
- Priya Nambiar — Backend Engineer — the FastAPI backend exposes the Pinecone index that the pipeline syncs to; embedding dimension and index schema are jointly maintained
- Yusuf Tamboli — Data Architect — KB taxonomy design, frontmatter schema governance, and slug namespace management are co-owned
- Finn Kowalski — Site Reliability Engineer — pipeline runs are scheduled and monitored on the production server; environment variable management and log rotation are an SRE concern
