Content production and marketing pipeline: LTP report
Content production and marketing pipeline: LTP report
| Source | projects/2602-content-delivery-pipeline.md, publication-tracks.md, docs/plans/content-pipeline-evidence.md, Beads lip-93f.2 and children, lip-kv8.5, lip-1ie.3; plus a review session with Rufus (and Uriel for the goal tree and CRT) and the AI-usage thread, all 2026-10-20 |
| Digest | 6a266cfb…c4f3 project file · 421e4a48…95f5 tracks · c6168959…7c53 evidence (shasum -a 256; the project file had changed since the session started, line numbers are from the 2026-10-20 afternoon version) |
| Reading conditions | Markdown and Beads, read whole |
| Converted | 2026-10-20, ltp-project skill, staged view by view with Rufus |
| Candidate | content-pipeline.ltp.yaml; diagrams in crt.md |
| Validation | Not machine-validated. Hand-checked; attach it in the Reason Commons app to run the import check |
Read this first: the evidence
Most current-reality effects began as Rufus's reports, not verified. The first evidence pass (content-pipeline-evidence.md, 23 Sept) checked GitHub only. On 2026-10-20 the AI-usage thread read all 8 Asana projects (read-only): inventory, map. Eight evidence entities from that read are now in the CRT. They support the backlog, the missing SOP discipline (a leaky hand-off, three template versions) and the missing QC, release brief and follow-up steps. They add one cause: release waits on approvals requested one by one. The four Debold episodes are stuck on an unresolved branding and title decision.
Asana is not yet a source of truth (Rufus, 2026-10-20). It is incomplete, and much of the backlog is missing from it. GitHub project 38 is a better listing, though also out of date. Read Asana-derived counts as a floor, not an inventory. Uriel's Asana task "Develop Content Production Pipeline" intentionally duplicates this planning work in Asana; it is not where the work comes from.
What the file claims
201 propositions, 201 roles, 209 relationships, 30 assumptions, 9 assessments.
By view: goal 40 · current_reality 34 · conflict 56 · future_reality 22 · prerequisite 34 · transition 15. Counted with a stdlib regex check (PyYAML not installed, so preview_dashboard.py was not run).
The shape, in one view
- Goal: Life Itself reliably turns new and existing material into published, well-promoted content, at a quality and pace we can sustain, and keeps improving its production factory as it learns. Eight CSFs: ideas chosen (needed, not the bottleneck); timely decision on what a piece becomes, captured in a brief ◀; efficient production and post-production; quality fit per output with QC ◀; marketing materials per track ◀; released, announced and promoted ◀; pipeline written, followed, partly automated, visible and owned; track performance and learn. ◀ marks Rufus's and Uriel's view of where the bottleneck sits. 31 necessary conditions, including three from the AI-usage thread (fixed templates, corrections captured, facts checked) and "hosts are out of post-production".
- Current reality: 9 undesirable effects (material unreleased for months; April course undecided; Emergent Dialog destination unresolved; Dougald Hine under-promoted; post-production confusion; promo outputs wait; no view of the factory; performance unknown; hosts pulled into post-production). Three critical root causes, named by Rufus: no decision or brief on what a piece becomes before post-production; no release trigger (tied to unstated quality levels); SOPs missing, especially after post-production (QC, marketing, release).
- Conflict: seven clouds, each with Rufus's breaking injections: publish fast vs package well (tracks + AI packaging); AI speed vs taste (split by output type); host context vs host time (intake interview + high-touch flag, skills to keep it); backlog vs new (one-off triage first, batch fast releases); build vs ship (build by shipping + AI-drafted SOPs, critical part first); decide early vs keep options open (revisable default brief + two-stage brief); standardise vs host voice (SOP skeleton with per-format slots + tone skill per host).
- Future reality: 9 injections, 11 desired effects, 2 negative branches (the brief becomes a gate; the AI correction loop is slower than doing it by hand).
- Prerequisite: 8 implementation objectives, 13 obstacles, 13 intermediate objectives mapped to existing beads where they exist, and marked "(proposed)" where they do not.
- Transition: the existing beads chain only (lip-93f.2.11 → 2.1 → 2.4 → kv8.5; lip-1ie.3, unblocked 2026-10-20, → 2.3 → 2.2 → 2.5 → 2.6 → 2.7, with 2.10 in parallel). No new beads were created.
Goal tree (agreed 2026-10-20)
Built in three rounds with Rufus and Uriel, then one sub-agent critique whose eight changes were all accepted. Notable calls: ideation is kept as a CSF but marked "not the bottleneck"; marketing comes after post-production in the pipeline, but the CSF is worded as an outcome so marketing can start as soon as its inputs exist; owners are folded into the pipeline CSF; "templates and AI skills" was reworded as outcome conditions, at Rufus's insistence ("accept it fully").
Current reality tree (reviewed 2026-10-20)
Rufus's edits: the brief means essential context (how Rufus knows the guest, the promotion plan, the guest's own promotions, structure, timing, high-touch guests), not only a decision; the release owner is secondary; SOPs are "massive"; trackers going stale matters more than the split across tools, and is minor for now. A sub-agent critique then split R1, generalised the release-choices cause, added a pipeline-owner root and a learning UDE, and replaced the June "marketing is the major constraint" with an observable effect. Rufus accepted all eight changes.
Uriel has just taken on ownership of the pipeline. The no-pipeline-owner root is written as "until October 2026", and the project record's owner: null is out of date (see proposed tasks).
Evaporating clouds (2026-10-20)
| Cloud | D vs D′ | Breaking injections (Rufus) | Secondary |
|---|---|---|---|
| Publish fast vs package well | minimum packaging vs full package before release | publication tracks; templates and AI for packaging | promote step later (possible, e.g. Dougald Hine on Illich) |
| AI speed vs taste | AI end to end vs human makes or reworks each output | split by output type (layout in template, AI drafts words against a tone skill, code checks facts, humans review taste) | — |
| Host context vs host time | host involved throughout vs team and AI without host | intake brief interview via AI prompt; high-touch flag | judgment distilled into skills. Rufus: a crucial desire is that he and Sylvie are out of post-production |
| Backlog vs new | capacity to backlog vs capacity to new | one-off backlog triage (priority); batch fast releases | backlog fills cadence gaps (possible, but shuffles the backlog around) |
| Build vs ship | time building vs time shipping | build by shipping real releases; AI drafts SOPs and skills | critical part first (brief, post-production SOPs); regular system time, e.g. Asdra support |
| Decide early vs keep options open | decide use before post-production vs keep it open until reviewed | brief sets a revisable default (fast release); two-stage brief (light brief starts post-production, release package fixed before marketing) | — |
| Standardise vs host voice | standard SOPs and formats vs each host shapes their own | one SOP skeleton for the mechanics with per-format slots; tone skill per host trained by their corrections | — |
Evidence from the AI-usage thread is attached to the AI cloud: generating whole carousels end to end was costly and did not help; a Claude-built Canva template with the text entered by hand worked; a quote-existence test stopped invented quotes.
Considered and not given a cloud: fix the pipeline now vs wait for strategy (already decided: in parallel).
Relationships asserted
The skill's rule allows a link only where a source sentence asserts it. This model departs from that on purpose, and the departure needs stating:
- Goal tree
necessary_forlinks: the structure Rufus and Uriel agreed in chat. - CRT
causes(3):no-use-decision → postprod-confusionandquality-unstated → postprod-confusion. Rufus: unclear decisions and quality standards were "a bottleneck to getting post-production done at the right level. There was confusion all the time". Alsowork-split → no-factory-view, from the 13 Oct status note. - CRT
contributes_to(32): candidate causes Rufus approved in chat as plausible. None is verified. Read each as "Rufus thinks this contributes". - Cloud links: the standard cloud structure, plus
satisfiesfrom each injection Rufus said breaks or helps;supportsandchallengesfrom the AI-thread evidence. - FRT
causes: proposed effects of the injections, accepted by Rufus as a draft. They are predictions, not observations. - PRT and transition: the challenges, overcomes and necessary_for pattern from the precedent;
precedesfollows the existing bead dependencies only.
Deliberately omitted
| what | where | why |
|---|---|---|
| R5 (capacity) and the marketing sub-pipeline together cause promo outputs to wait | critique of CRT | joint causation the format cannot hold; written as two single links |
| Injections fixing current-reality effects (e.g. brief → less confusion) | all views | cross-view link the importer refuses; mirrored by FRT desired effects instead |
| "Marketing is the major constraint" (June drawing) | project file L153 | replaced by an observable UDE; kept as a hypothesis in the project file |
| The newsletter twice-monthly and YouTube daily targets | project file | outside the system boundary: historical inputs, not current targets |
| Rufus's "context vs time" cloud as a separate idea from the AI thread | chat | duplicate; became the host-context cloud |
| The 2R course videos' channel question | tracks "Open" | outside the system boundary for this pass; decided separately |
Judgment calls for the reviewer
- Three critical root causes, ranked. The role means "the one root cause that explains the rest". Rufus named three, and on 2026-10-20 ranked the brief (no decision before post-production) first, reframed as brief plus one approval pack per piece. The other two keep the role, ranked behind it.
- Is
sops-missinga root? It is drawn as a critical root cause, butno-pipeline-ownercontributes to it. That makes it technically intermediate. It stays a critical root cause because Rufus named it, and the owner gap has just been closed. - Promote step relegated. Rufus judged injection 2 (promote later) not that relevant to breaking cloud 1. It stays in the tracks SOP and the FRT monthly look, but not as a breaking injection.
- The beads chain was fully serial. The brief (lip-1ie.3) waited behind the audit → walkthrough → synthesis chain. Rufus agreed to unblock it, and the lip-kv8.5 dependency was removed on 2026-10-20. The transition view no longer has synthesis preceding the workflow.
- The publication tracks are out of date. They still describe stations, and the 5 Oct one-brand rebrand retired those names. The SOP checklists (lip-93f.2.10) should be written against numbered episodes.
Open questions for Rufus (answered 2026-10-20)
- Is the diagnosis safe to act on before anyone reads Asana? ✅ Yes, act on it now; read Asana in parallel (a read-only Asana pass was started the same day).
- Should lip-1ie.3 (the brief) be unblocked now? ✅ Yes. The dependency on lip-kv8.5 was removed on 2026-10-20.
- Who triages the backlog, and is archiving 2RCon material acceptable? ✅ Uriel leads the triage, checking in with Rufus. The 2RCon main talks should be released, not archived. Uriel first needs the backlog gathered in one place; today it sits mainly on a GitHub project board and possibly on Rufus's side.
- Does the project record's owner become Uriel? ✅ Yes. Ownership is resolved: Uriel.
- Which content types get SOPs next? ✅ First, light-touch YouTube production (the fast-release track, not the podcast episode track). After that, the newsletter, then white papers, then the magazine; none of these three is urgent.
- Which of the three critical root causes is number one? ✅ A, the brief: no decision or context captured before post-production. The brief settles branding and titles at intake and feeds one approval pack per piece.
Implementation beads (created and restructured 2026-10-20)
Rufus asked for a proper beads tree here first, with few higher-level beads (outcome and acceptance) and granular sub-beads under them; tasks may migrate to Asana later. Feature lip-93f.2.16 Implement content pipeline v1 from the LTP, under lip-93f.2, owned by Uriel:
lip-93f.2.16 Implement content pipeline v1 from the LTP
├─ .16.15 Brief and approvals
│ ├─ .16.1 Brief: intake interview prompt with high-touch flag (rufus; waits on lip-1ie.3)
│ ├─ .16.2 Episode package skill, one approval pack per piece (uriel; waits on .16.1)
│ └─ .16.3 Readiness standards and release trigger (uriel)
├─ .16.16 SOPs
│ ├─ .16.5 Revise publication tracks to numbered episodes (uriel)
│ ├─ .16.4 SOP: light-touch YouTube (fast release) (uriel; waits on .16.5)
│ ├─ .16.14 SOP: newsletter, due 3 Nov (uriel)
│ ├─ lip-93f.2.10 Episode and Promote checklists (narrowed) (waits on .16.5)
│ └─ .16.11 White papers, then magazine (deferred to 1 Dec) (uriel)
├─ .16.17 Backlog and visibility
│ ├─ .16.6 Gather the backlog in one place (uriel)
│ ├─ .16.7 One-off backlog triage (uriel; waits on .16.6)
│ └─ .16.8 Factory overview (uriel; waits on .16.6)
├─ .16.18 AI experiments
│ ├─ .16.9 Canva carousel template fill (uriel)
│ ├─ .16.12 Riverside MCP on one episode (rufus)
│ └─ .16.13 Auto-create social tasks at the hand-off (uriel)
└─ .16.10 Set the 2602 owner to Uriel (done)
Uriel may delegate .16.2 and .16.5 to Amanda. lip-93f.2.7 (adopt or revise the workflow) now waits on lip-93f.2.16.
Superseded and closed on 2026-10-20:
lip-93f.2.1(evidence audit) andlip-93f.2.4(walkthrough), replaced by .16.6.lip-93f.2.11(triage test), replaced by .16.7.- The pilot chain
lip-93f.2.2,.3,.5and.6, replaced by building the pipeline by shipping (.16).
Dropped or merged: the blurb-skill experiment (merged into .16.2), and extending the audit to Asana (folded into .16.6).
Validator output
Not machine-validated (no validator available in this setup). A stdlib regex check found no errors. It checked every view, role, relationship kind and assessment kind against vocabulary.md; that each role belongs to its entity's view; one flat ID namespace with no duplicates; a single from_entity_ids; same-view relationships; all references resolving; at most one assumption per relationship; and no vision, higher_level_objective, compound_and or alternative_or. preview_dashboard.py was not run because PyYAML is not installed. scripts/ltp_to_mermaid.py rendered all six views.
Not linked in their view (by design): c-e-pk-promote-later and c-e-bs-system-time, which are possible injections Rufus kept without saying what they satisfy, and t-e-sop-checklists (lip-93f.2.10), which runs in parallel and has no bead dependency.
Not in this file
- No verified current state. See the evidence gap at the top.
- No
negative_branch_mitigatedorimplementation_readyassessments. The mitigations are proposals, and nobody has concluded that they hold. - No new transition steps. Proposed work is listed above and not modelled as actions.
These are gaps in the evidence and in decisions not yet made, not gaps in the conversion.