Universal Writer & DAM
Sola Merlino pairs a multi-type, multi-model writing engine with the Ponmelli digital-asset catalog so every published post is grounded in a brand's own source content.
Six content types
The Universal Writer is a single engine that produces six distinct content types. Each type carries its own structure, scoring weights, and grounding behavior, but all share the same multi-model router and polish loop. For syndication, the social type does the heavy lifting; the others exist for adjacent SEO and content-network work.
social
Platform-adapted posts for twitter, linkedin, facebook, instagram, reddit, tiktok, and gmb, grounded in DAM source content.
/api/universal-writerseo-article
Long-form articles structured for search, with on-page SEO conventions and link-anchor support.
pbn
Posts written for private blog network properties within the syndication tier structure.
review
Review-format content with the conventions and framing expected of review pieces.
report
Report-style long-form output for structured, informational deliverables.
fiction
Narrative fiction output, supported as a content type by the same engine and router.
The social type
The social type is the bridge between a brand's source assets and its publishing fleet. It takes one prompt and emits a tailored variant for each target platform, so the same idea ships as a tweet, a LinkedIn post, a Facebook update, an Instagram caption, a Reddit submission, a TikTok caption, and a Google Business profile post — each respecting that platform's own character limits, style, and hashtag conventions.
Per-platform adaptation
Every platform carries its own defaults. Twitter and TikTok favor short, punchy copy; LinkedIn leans professional and longer-form; Facebook and Instagram balance narrative with hashtags; Reddit prefers a conversational, community-aware register; and gmb (Google Business) posts follow local-business conventions. The engine applies the correct character limit, tone, and hashtag style per platform automatically from a single source prompt.
Brand-voice override
A brand can supply its own voice, which overrides the platform defaults. Where the platform style and the brand voice disagree, the brand voice wins — keeping output consistent with the brand's identity across every network while still honoring each platform's hard limits.
RAG grounding from the DAM
Output is grounded, not invented. The engine pulls source content from the Ponmelli DAM via retrieval-augmented generation, so each variant is anchored to the brand's real assets. This keeps syndication factual and on-message — legitimate distribution of a brand's own content rather than fabricated copy.
One prompt, per-platform variants
The operator writes one prompt; the engine returns a coherent set of per-platform variants. Each variant supports link-anchor injection for inserting destination links, and the engine applies learned style rules derived from prior human edits, so output drifts toward the brand's preferences over time.
Quality scoring
Each social variant is scored against three weighted dimensions. The composite score drives the polish loop and gives operators a consistent signal for whether a variant is ready to syndicate.
| Dimension | Weight | What it measures |
|---|---|---|
| Hook Strength | 40% | How strongly the opening captures attention. |
| Platform Fit | 35% | Alignment with the target platform's limits, style, and conventions. |
| Engagement | 25% | Likelihood of driving interaction. |
Model router
The Universal Writer routes generation across multiple models in a defined cascade: GLM → Gemini → Claude. Output runs through a quality-scoring pass and a polish loop, so weaker drafts are refined or escalated rather than shipped as-is.
Generate
The router produces a draft, starting at GLM and cascading to Gemini and Claude as needed.
Score
The draft is scored on Hook Strength, Platform Fit, and Engagement.
Polish
The polish loop refines the draft against its score before the variant is finalized.
The engine is mounted at /api/universal-writer/*. Do not use /api/writer/* — that prefix belongs to Ponmelli's proxy, not the Universal Writer engine.
Ponmelli DAM
The Ponmelli DAM is the digital-asset catalog that feeds syndication. It is a SQLite asset store at data/ponmelli/assets.db holding 621 source assets, and it is the grounding source the social writer retrieves from. Its API surface lives at /api/ponmelli/* on port 44887.
Asset types
The catalog spans a range of asset types, each carrying its own format and downstream use.
Status lifecycle
Every asset moves through a controlled lifecycle gated by an operator approval queue, so nothing reaches publication without review.
| Status | Meaning |
|---|---|
| draft | Newly created, not yet submitted for review. |
| staged | Queued and awaiting operator review. |
| approved | Cleared by the operator approval queue. |
| deployed | Pushed into syndication. |
| archived / rejected | Retired from active use, or declined during review. |
Assets in staged sit in the operator approval queue. An operator promotes them to approved and on to deployed, or sends them to rejected — the human gate between source content and what the fleet actually publishes.
Sola Merlino · social syndication + account automation · documentation generated 2026-06-27