> For the complete documentation index, see [llms.txt](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/phases/phase_29/prd_phase_29.md).

# PRD Phase 29: Trend Finder TrendingAI Comparison Adoption

**Status**: Complete **Sessions**: 18 (initial estimate) **Estimated Duration**: 6-10 days

**Progress**: 18/18 terminal outcomes recorded (100%); Session 17 deferred by Session 16; Session 18 complete and validated.

***

## Overview

Phase 29 adopts the objective improvements mapped from the TrendingAI vs. Trend Finder feature/capability comparison into Trend Finder. The consolidated comparison plan was captured on 2026-06-18 with every Trend Finder claim re-verified against actual source, not extension docs, and is now folded into this phase. Per-candidate rationale, key-file lists, and TrendingAI source pointers live in each session stub; the cross-cutting analysis (verification note, comparison baseline, coverage audit, the repeating derived-field shape, the full session map, do-not-regress guardrails, and the source-pointer index) is preserved in the "Folded Comparison Plan (Reference)" appendix at the end of this PRD. This phase (PRD plus session stubs) is now the single source of truth for the opportunity backlog; the former standalone planning docs are retired.

The comparison concluded that Trend Finder already leads on history, calibration, provenance, scoring rigor, operational surfaces, and privacy, while TrendingAI leads on editorial synthesis quality, reception/sentiment analysis, and single-artifact presentation polish. This phase borrows editorial sharpness and aggregate-safe reception analysis without borrowing TrendingAI's source risk or statelessness.

The plan maps 13 backlog candidates across three tiers plus several Tier 3 workflow/presentation ideas into 17 work sessions (A-Q). This PRD maps those 17 sessions onto numbered Sessions 01-17 in their existing dependency-respecting order and adds Session 18 as the documentation/validation/release closeout that every recent phase ends with.

Most Tier 1/Tier 2 sessions add a deterministic derived field that walks the same path: derive in a narrow runtime module, validate/default in the Zod schema, score/cap, sanitize for browser safety, surface in live and static Brief, prove with tests, and document. Every session keeps a deterministic fallback for AI-produced output, keeps Engine Replay sanitization and the static-Brief privacy scan green, keeps the browser payload within budget, and flips the matching backlog and session-map rows on ship.

Two boundaries are explicit. Broader social reach (X/TikTok/Instagram/Bluesky) is a documented non-goal under the current ToS/PII posture, not a collector session; it gets a known-coverage-gap paragraph in Session 01. Podcast media work is split: Session 16 is a compliance/documentation gate only, and Session 17 (podcast-themes implementation) must not start unless Session 16 explicitly approves the source/media boundary.

***

## Progress Tracker

| Session | Name                                 | Status                 | Est. Tasks | Validated  |
| ------- | ------------------------------------ | ---------------------- | ---------- | ---------- |
| 01      | Editorial Quick Wins                 | Complete               | \~12-25    | 2026-06-19 |
| 02      | Attention Pattern And Polarity Grid  | Complete               | \~12-25    | 2026-06-19 |
| 03      | Reception Signal Aggregate-Only      | Complete               | \~12-25    | 2026-06-19 |
| 04      | Corroboration Gate                   | Complete               | \~12-25    | 2026-06-19 |
| 05      | Per-Evidence Rationale               | Complete               | \~12-25    | 2026-06-20 |
| 06      | Cross-Topic Substrate Narratives     | Complete               | \~12-25    | 2026-06-20 |
| 07      | Per-Stage Validation Narration       | Complete               | \~12-25    | 2026-06-20 |
| 08      | Required-Derived-Field Closeout Gate | Complete               | \~12-25    | 2026-06-20 |
| 09      | Source-Death Baseline Alarm          | Complete               | \~12-25    | 2026-06-21 |
| 10      | Seed-Candidate Review Artifact       | Complete               | \~12-25    | 2026-06-21 |
| 11      | Industry-Events Rollup               | Complete               | \~12-25    | 2026-06-21 |
| 12      | Security Lens                        | Complete               | \~12-25    | 2026-06-21 |
| 13      | Static Brief Archival And Richness   | Complete               | \~12-25    | 2026-06-21 |
| 14      | One-To-Watch Surface                 | Complete               | \~12-25    | 2026-06-21 |
| 15      | Pre-Run Estimate                     | Complete               | \~12-25    | 2026-06-21 |
| 16      | Podcast Compliance Package           | Complete               | \~12-25    | 2026-06-21 |
| 17      | Podcast Themes Enrichment            | Deferred by Session 16 | \~12-25    | 2026-06-21 |
| 18      | Documentation Validation And Release | Complete               | \~12-25    | 2026-06-21 |

***

## Completed Sessions

* Session 01: Editorial Quick Wins - Completed 2026-06-19.
* Session 02: Attention Pattern And Polarity Grid - Completed 2026-06-19.
* Session 03: Reception Signal Aggregate-Only - Completed 2026-06-19.
* Session 04: Corroboration Gate - Completed 2026-06-19.
* Session 05: Per-Evidence Rationale - Completed 2026-06-20.
* Session 06: Cross-Topic Substrate Narratives - Completed 2026-06-20.
* Session 07: Per-Stage Validation Narration - Completed 2026-06-20.
* Session 08: Required-Derived-Field Closeout Gate - Completed 2026-06-20.
* Session 09: Source-Death Baseline Alarm - Completed 2026-06-21.
* Session 10: Seed-Candidate Review Artifact - Completed 2026-06-21.
* Session 11: Industry-Events Rollup - Completed 2026-06-21.
* Session 12: Security Lens - Completed 2026-06-21.
* Session 13: Static Brief Archival And Richness - Completed 2026-06-21.
* Session 14: One-To-Watch Surface - Completed 2026-06-21.
* Session 15: Pre-Run Estimate - Completed 2026-06-21.
* Session 16: Podcast Compliance Package - Completed 2026-06-21.
* Session 18: Documentation Validation And Release - Completed 2026-06-21.

***

## Deferred Sessions

* Session 17: Podcast Themes Enrichment - Deferred by Session 16 on 2026-06-21; no Phase 29 podcast implementation session remains.

***

## Objectives

1. Raise editorial quality of creator-facing copy with an anti-AI-trope voice guard and fold a reviewed engagement-farming hype-pattern set into existing noise scoring; document the social-reach non-goal.
2. Add a deterministic `attentionPattern` axis and a compact per-topic polarity/attention grid across the run.
3. Add an aggregate-only `receptionSignal` (endorsed/contested/ratioed/mixed/ unavailable) with a `contested-reception` flag and act-now caps, without ever reading comment bodies.
4. Add a `corroboration` gate that quarantines single-origin signals distinct from `single-source-signal`, reusing reviewed identity sources.
5. Add bounded per-evidence `evidenceRationale` and let weakly justified evidence drop from topic rendering without deleting raw rows.
6. Add bounded cross-topic substrate narratives over already-generated topics, validator-checked against real topic/evidence IDs.
7. Add reliability guardrails: retry-once-then-degrade enrichment narration in Engine Replay, a required-derived-field closeout gate, and a private source-death baseline alarm.
8. Add current-source Tier 2 lenses: a private seed-candidate review artifact, an industry-events rollup over news adapters, and a security lens with severity and named action items.
9. Add Tier 3 operator polish: static Brief run archival and richness, a One-to-Watch surface over existing prediction/retro/calibration records, and a pre-run spend/cadence/wall-clock estimate.
10. Gate podcast media work behind a compliance package (Session 16); Session 16 deferred the boundary, so Session 17 is skipped in Phase 29 unless a future source-specific approval replaces this decision.
11. Document, validate, security-review, and release the phase, then update the phase session map and coverage audit and keep the social-reach non-goal recorded.

***

## Prerequisites

* Phase 28 completed and certified.
* Trend Finder browser-payload sanitizer, Engine Replay sanitization, and static-Brief privacy scan are green at baseline.
* This phase (this PRD plus its session stubs) is the single source of truth for the opportunity backlog and ordered session plan; the former standalone comparison planning docs are folded in here and retired.

***

## Technical Considerations

### Architecture

Trend Finder remains a repo-local compile-time extension. New behavior follows the established "new derived field" shape: derive in the narrow runtime module that owns the signal (usually `scripts/lib/ai-runtime/source-breakdown.ts` or a dedicated sibling), validate/default in `src/extensions/trend-finder/schema.ts`, wire score/cap in `scripts/lib/ai-runtime/scoring.ts` and risk flags in `scripts/lib/ai-runtime/risk-flags.ts`, confirm browser safety and update the payload boundary plus `measure-payload-size.ts`, surface in `static-brief-renderer.ts` and `view-model.ts`, prove with unit and e2e tests, and document in `docs/extensions/trend-finder-*.md`.

AI-produced output always has a deterministic fallback and validator gating that rejects invented IDs, URLs, dates, source names, and metrics. No new source/media boundary is collected, cached, or published before its compliance doc exists; Sessions 16-17 enforce this for podcasts.

### Technologies

* Bun runtime for scripts; React 19 + TanStack Start app surfaces.
* Zod schemas with `.default()` for backwards-compatible parsing.
* Existing Trend Finder runtime modules: source-breakdown, scoring, risk-flags, trend-analyst, topic-quality, competitor-matching, signal-identity, collector, engine-trace, spend-accounting, predictions, retros, backtests.
* Playwright e2e guards for user-visible surfaces (static Brief, Engine Replay, Signal Workbench, scheduler/run control).

### Risks

* **Aggregate-only reception drift**: A future request to read comment bodies would cross the privacy boundary. Mitigation: keep `receptionSignal` computed only from already-collected aggregate metrics; everything else stays `unavailable`; tests prove no comment body enters payload or trace.
* **Podcast boundary creep**: Audio download, transcription, and retention need a dedicated decision. Mitigation: Session 16 is a gate only; Session 16 deferred the boundary on 2026-06-21, so Session 17 is skipped in Phase 29 unless a future source-specific approval replaces this decision.
* **Payload budget pressure**: Many new derived fields and a denser static Brief could exceed the 1 MB budget. Mitigation: each session re-runs payload-size measurement and the privacy scan as exit criteria.
* **Editorial validator false positives**: A banned-phrase pass could reject legitimate copy. Mitigation: scope the pattern set to reviewed markers and cover with fixtures for both rejected and accepted copy.

### Relevant Considerations

* \[P02] **Extension payloads and labels stay bounded**: Keep the shared 1 MB payload limit and explicit live/fixture/fallback/degraded/blocked/unavailable states for every new derived field.
* \[P24] **Browser-safe export and triage boundaries**: Static Brief and Signal Workbench must keep local triage notes, private paths, and raw evidence out of exported or browser-visible output; Sessions 09-13 touch these surfaces.
* \[P27] **Deterministic fallback before AI enrichment**: Ship deterministic output before optional analyst fields for attention pattern, reception, corroboration, rationale, narratives, industry events, and security lens.
* \[P28] **Direct public source scope is narrow / deferred candidates remain gated**: Add no source by implication; the social-reach non-goal and the podcast boundary stay compliance-first.
* \[P28] **Trend Finder release validation is bundled**: Session 18 records reference docs, static Brief export, private-artifact scan, payload budget, dependency audit, and scoped formatting proof together.
* \[P00] **Do not document planned features as implemented**: Flip backlog and session-map rows only when a session actually ships.

***

## Success Criteria

Phase complete when:

* [x] All 18 sessions completed (or Session 17 explicitly deferred/rejected by Session 16's compliance decision).
* [x] Tier 1 editorial and signal sessions (01-06) ship deterministic derived fields with fallback, defaults, and validator coverage.
* [x] Reliability guardrails (07-09) narrate degraded enrichment, gate required derived fields, and alarm on source death without leaking private state.
* [x] Current-source Tier 2 lenses (10-12) and operator polish (13-15) render on their surfaces within the payload budget and privacy boundary.
* [x] Podcast work stays compliance-first: Session 16 lands an explicit approve/defer/reject decision; Session 17 honors it.
* [x] No comment body, raw transcript, prompt, provider response, token, or private cache path enters browser payload, Engine Replay, or static Brief.
* [x] Do-not-regress guardrails hold: history/memory, calibration honesty, provenance/privacy boundary, scoring rigor, compliance-first sourcing, and operational surfaces are preserved.
* [x] The phase session map and coverage audit (appendix below) are updated as sessions ship; the social-reach item stays a documented non-goal.

### Release Closeout Criteria

Session 18 closes the phase only after all of these are recorded together:

* Trend Finder manuals and Reference mode phrase checks describe shipped Phase 29 behavior, deferred Session 17, and the broader social non-goal.
* Static Brief dry-run export, private-artifact scan, payload/bundle budget, dependency audit, typecheck, script typecheck, Vitest, scoped formatting, and e2e proof are recorded with sanitized results.
* Phase 29 security/GDPR posture records no new runtime, credential, source, dependency, storage, schema, hosted, or admin-write surface.
* Session 18 validation and security artifacts are complete, validated, and archived with the phase.

***

## Dependencies

### Depends On

* Phase 28: Trend Finder Trends-Finderz Adoption (shipped scoring integrity, derived layers, action verdicts, watchlist pins, search, Brief QA, keyword packs, and direct source adapters that these sessions build on).

### Enables

* Future Trend Finder editorial and reception work; durable-store direction remains owned by `docs/ongoing-projects/sqlite-observation-store-transition-plan.md`.

***

## Folded Comparison Plan (Reference)

This appendix preserves the cross-cutting analysis from the retired `trendingai-comparison-implementation-sessions.md` consolidated plan (captured 2026-06-18; itself the fold target of a still-earlier standalone feature/capability opportunities backlog). Per-candidate rationale, key files, and TrendingAI source pointers now live in each session stub; the material below is the shared context that spans sessions. Treat this plan and the extension docs as planning aids, not the source of truth for implementation facts - re-verify against code before acting.

**Boundary intent.** Keep one source of truth for the opportunity backlog and ordered session plan without pre-approving any source or media boundary. Items that touch a new source/media boundary still require their compliance doc before any code collects, stores, or publishes that boundary.

### Verification Note

Every Trend Finder claim in this plan was checked against actual source on 2026-06-18, not only extension docs, which trailed the code by about two commits at capture time.

| Claim                                                                                                                   | Code evidence                                                                                                                                                                              | Verdict                                  |
| ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- |
| Six score-factor weights 20/15/20/15/15/15                                                                              | `scoring.ts:135-141` `OPPORTUNITY_SCORE_WEIGHTS`                                                                                                                                           | \[ok] exact                              |
| Hidden-gem criteria: score>=55, novelty>=70, evidence>=35, <=2 sources, <=5 evidence rows                               | `scoring.ts:160-166` `HIDDEN_GEM_CRITERIA`                                                                                                                                                 | \[ok] exact                              |
| Seven risk flags including `single-source-signal`, `research-only`; research share >=0.75, no adoption roles, stale=30d | `risk-flags.ts:15-22,143-254`                                                                                                                                                              | \[ok] exact                              |
| `camp` signal: 0.18 mainstream damping, early<=0.45, mainstream>=0.68                                                   | `camp-signal.ts:9-14,49-57`                                                                                                                                                                | \[ok] exact                              |
| `consensusRatio` computed and published                                                                                 | `source-breakdown.ts:258` `deriveConsensusRatioForTopic`; factory defaults to `null`, filled later                                                                                         | \[ok] real                               |
| Calibration, `signalAging`, `saturation`, and role shares                                                               | `retros.ts`, `scoring.ts`, `source-breakdown.ts`                                                                                                                                           | \[ok] real                               |
| Reception/RATIOED sentiment absent from Trend Finder                                                                    | Repo-wide grep: zero hits outside `EXAMPLES/`                                                                                                                                              | \[ok] genuinely absent                   |
| Tutorial-hype detection absent from Trend Finder                                                                        | Repo-wide grep: zero hits outside `EXAMPLES/`                                                                                                                                              | \[ok] genuinely absent                   |
| Anti-AI-trope copy discipline absent from Trend Finder                                                                  | `trend-analyst.ts:382-397` has evidence and opportunity rules but no voice/style guard                                                                                                     | \[ok] genuinely absent                   |
| Per-evidence "why this item" rationale absent from Trend Finder                                                         | Only competitor-match and prediction `rationale` fields exist; no evidence-level field                                                                                                     | \[ok] genuinely absent                   |
| TrendingAI history claim                                                                                                | `src/snapshots/write.ts`, `data/raw/` capture helpers, and `Workflows/Run.md` run-numbered HTML archival exist; `README.md` still marks trained prediction/cross-cycle velocity as roadmap | \[warn] corrected in Comparison Baseline |
| Source-death baseline alarm absent from Trend Finder                                                                    | TrendingAI `harvesters/orchestrator.ts` persists `data/.source-baseline.json`; Trend Finder collection health is current-run only                                                          | \[ok] genuinely absent                   |

### Comparison Baseline

TrendingAI and Trend Finder solve overlapping problems with different product shapes. Several "missing" Trend Finder features are deliberate architectural choices, not gaps.

| Dimension          | TrendingAI                                                                                                                                                                          | Trend Finder                                                                                                          |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| Delivery shape     | One-shot CLI pipeline -> single self-contained HTML report per run.                                                                                                                 | Persistent AI OS extension with live browser surfaces, scheduler, MCP, and static Brief export.                       |
| Unit of analysis   | Named lab feature, such as `/goal` or Claude Skills, corroborated cross-platform.                                                                                                   | Emerging AI topic/opportunity clustered from evidence and scored for a Creator Lens.                                  |
| AI synthesis model | Inline Opus turns in the Claude Code session, OAuth-billed with no API key.                                                                                                         | Optional configured AI runtime, OpenAI API or Codex account, with deterministic fallback for every stage.             |
| Determinism stance | Byte-identical re-render against unchanged harvest; synthesis is the non-deterministic layer.                                                                                       | Deterministic fallback plus bounded payload; AI output is validator-gated and history is private cache.               |
| Source posture     | Twelve aggressive sources including X, TikTok, Instagram, Bluesky, and podcasts.                                                                                                    | Compliance-gated public API/feed adapters and reviewed Apify sources; X/TikTok/IG are explicit non-goals or deferred. |
| History/memory     | Primitive archival: raw captures, optional daily item snapshots, run-numbered HTML reports, and source-count baselines. Trained prediction and cross-cycle velocity remain roadmap. | Mature snapshots, daily series, 12-week history, predictions, retros, calibration, and Story Log.                     |
| Privacy boundary   | Local report, defensive `ANTHROPIC_API_KEY` deletion, no formal payload sanitizer.                                                                                                  | Strict browser-payload sanitizer: no prompts, provider responses, raw rows, cache paths, or tokens.                   |

Net: Trend Finder is ahead on history, calibration, provenance, scoring rigor, operational surfaces, and privacy. TrendingAI is ahead on editorial synthesis quality, social/podcast reach, sentiment/reception analysis, and single-artifact presentation polish. Borrow editorial sharpness and reception analysis. Do not borrow source risk or statelessness.

### How This Plan Is Organized

The folded comparison backlog lists 13 feature candidates across three tiers, plus several Tier 3 workflow and presentation ideas, mapped into 17 work sessions (A-Q) plus one documentation closeout. Those 17 letters map onto the numbered Sessions 01-17 in this phase; Session 18 is the documentation/ validation/release closeout.

An earlier 12-session version covered the right backlog rows, but two sessions were too broad for the spec workflow and were split so each session keeps a single clear objective inside the 2-4 hour window:

* Pipeline reliability bundled three independent guardrails (now Sessions 07, 08, 09).
* Presentation and scheduler polish bundled four separate operator surfaces (now Sessions 13, 14, 15, plus archival richness in 13).

One candidate is intentionally **not** a build session. **2.4 Broader social reach (X/TikTok/IG/Bluesky)** is a documented non-goal under the current ToS/PII posture. It gets a known-coverage-gap paragraph in Session 01, not an implementation path.

Podcast work is split deliberately: Session 16 is a compliance/documentation gate only, and Session 17 is the bounded podcast-themes implementation, which must not start unless Session 16 explicitly approves the source/media boundary.

### Coverage Audit

This table is the index into where each backlog candidate's folded rationale now lives (the matching session stub's "Comparison Notes" section).

| Backlog item                         | Session | Coverage note                                                                                                |
| ------------------------------------ | ------- | ------------------------------------------------------------------------------------------------------------ |
| 1.1 Reception / sentiment layer      | 03      | Shipped aggregate-only reception; no comment-body reads.                                                     |
| 1.2 Sentiment/polarity heat grid     | 02, 03  | Starts from movement/action/attention; absorbs `receptionSignal` in 03.                                      |
| 1.3 Cross-source corroboration gate  | 04      | Reuses reviewed entity/source-local identity.                                                                |
| 1.4 Editorial verdict vocabulary     | 02      | Implemented as deterministic `attentionPattern`.                                                             |
| 1.5 Tutorial-hype noise detection    | 01      | Folded into existing topic/evidence quality scoring.                                                         |
| 1.6 Anti-AI-trope copy discipline    | 01      | Prompt, fallback copy, and validator guard.                                                                  |
| 1.7 Per-evidence "why this item"     | 05      | Bounded rationale plus weak-evidence omission.                                                               |
| 1.8 Cross-topic substrate narratives | 06      | Shipped bounded run-level narrative rows.                                                                    |
| 2.1 Podcast themes                   | 16, 17  | Session 16 deferred the boundary; Session 17 is skipped in Phase 29 pending future source-specific approval. |
| 2.2 Industry-news extraction         | 11      | Current-source `industry-events` rollup, no transcripts.                                                     |
| 2.3 Security lens                    | 12      | Shipped existing-source classification and Workbench/Brief surface.                                          |
| 2.4 Social reach                     | 01      | Documented non-goal, not a collector session.                                                                |
| 2.5 Reply-driven seed discovery      | 10      | Private seed-candidate artifact from reviewed evidence only.                                                 |
| T3 run numbering/archive             | 13      | Static Brief artifact archival only; snapshots already preserve data history.                                |
| T3 per-stage validation narration    | 07      | Retry-once-then-degrade enrichment guardrail.                                                                |
| T3 staleness/field gate              | 08      | Shipped required-derived-field closeout check.                                                               |
| T3 One to Watch surface              | 14      | Presentation over existing prediction/retro records.                                                         |
| T3 pre-run estimate                  | 15      | Scheduler/run-control cost and cadence estimate before run.                                                  |
| T3 single-artifact richness          | 13      | Information density only; no media embeds.                                                                   |
| T3 source-death baseline             | 09      | Private last-good per-source count baseline.                                                                 |

### The Repeating "New Derived Field" Shape

Most Tier 1/Tier 2 sessions add a deterministic derived signal. They all walk the same path, defined once here and referenced per session:

1. **Derive** - compute the field in the narrow runtime module that owns the signal, usually `scripts/lib/ai-runtime/source-breakdown.ts` or a dedicated sibling module. Use an explicit `unavailable` state and no invented metrics.
2. **Validate/default** - add the Zod schema and `DEFAULT_*` literal in `src/extensions/trend-finder/schema.ts`.
3. **Score/cap** - wire any action-verdict cap in `scripts/lib/ai-runtime/scoring.ts` and any risk flag in `scripts/lib/ai-runtime/risk-flags.ts`.
4. **Sanitize** - confirm the field is browser-safe: no prompts, raw rows, tokens, cache paths, transcript bodies, or private provenance IDs. Update the payload boundary and `scripts/extensions/trend-finder/measure-payload-size.ts`.
5. **Surface** - render in the static Brief and live view model, normally `scripts/extensions/trend-finder/static-brief-renderer.ts` and `src/extensions/trend-finder/view-model.ts`.
6. **Prove** - add unit tests under the relevant `__tests__/`, plus e2e guards where a user-visible surface changes (`tests/e2e/trend-finder-*.spec.ts`).
7. **Document** - update the matching `docs/extensions/trend-finder-*.md` page and flip the backlog/session-map rows when the session ships.

### Standard Exit Criteria

Every session must satisfy these unless the session text says otherwise:

* Deterministic fallback exists for any AI-produced output.
* Engine Replay sanitization and static-Brief privacy scan still pass.
* Browser payload size remains within budget.
* Relevant docs are updated.
* The Coverage Audit row above and the Session Map row below get a status update.
* Tests covering the changed behavior are green.

### Session Map

Letters are the original comparison-plan session IDs (A-Q); numbers are this phase's sessions. "Depends on" is expressed in numbered form.

| #  | Session (orig.)                          | Backlog items                       | Effort  | Boundary risk | Depends on  | Status         |
| -- | ---------------------------------------- | ----------------------------------- | ------- | ------------- | ----------- | -------------- |
| 01 | Editorial Quick Wins (A)                 | 1.6, 1.5, 2.4 doc                   | Low     | None          | None        | Complete       |
| 02 | Attention Pattern + Polarity Grid (B)    | 1.4, 1.2                            | Medium  | Low           | 01          | Complete       |
| 03 | Reception Signal (C)                     | 1.1                                 | Medium  | Low           | 02          | Complete       |
| 04 | Corroboration Gate (D)                   | 1.3                                 | Medium  | Low           | None        | Complete       |
| 05 | Per-Evidence Rationale (E)               | 1.7                                 | Medium  | Low           | None        | Complete       |
| 06 | Cross-Topic Substrate Narratives (F)     | 1.8                                 | Medium  | Low           | 05          | Complete       |
| 07 | Per-Stage Validation Narration (G)       | T3 validation                       | Medium  | None          | None        | Complete       |
| 08 | Required-Derived-Field Closeout Gate (H) | T3 staleness gate                   | Low-Med | None          | 02-06       | Complete       |
| 09 | Source-Death Baseline Alarm (I)          | T3 source-death baseline            | Medium  | None          | 07          | Complete       |
| 10 | Seed-Candidate Review Artifact (J)       | 2.5                                 | Medium  | Low           | None        | Complete       |
| 11 | Industry-Events Rollup (K)               | 2.2                                 | Medium  | Low-Med       | 04          | Complete       |
| 12 | Security Lens (L)                        | 2.3                                 | Medium  | Low           | None        | Complete       |
| 13 | Static Brief Archival + Richness (M)     | T3 run numbering, artifact richness | Low-Med | None          | 03, 05      | Complete       |
| 14 | One-to-Watch Surface (N)                 | T3 One to Watch                     | Low-Med | None          | 03, 04      | Complete       |
| 15 | Pre-Run Estimate (O)                     | T3 cost/wall-clock estimate         | Low     | None          | None        | Complete       |
| 16 | Podcast Compliance Package (P)           | 2.1 gate                            | Medium  | High          | None        | Complete       |
| 17 | Podcast Themes Enrichment (Q)            | 2.1 implementation                  | High    | High          | 16, 04      | Deferred by 16 |
| 18 | Documentation Validation + Release       | closeout                            | Low-Med | None          | 01-16, 17\* | Complete       |

Sessions 01-06 front-load Tier 1 value. Sessions 07-09 add reliability guardrails. Sessions 10-12 cover current-source Tier 2 opportunities. Sessions 13-15 cover Tier 3 operator polish. Sessions 16-17 keep podcast media work compliance-first. (\*Session 18 depends on Session 17 being complete or explicitly deferred/rejected by Session 16.)

### Do-Not-Regress Guardrails

Trend Finder already does these better than TrendingAI; none may regress:

* **History and memory.** Preserve snapshots, daily series, 12-week history, topic-identity resolution across runs, and reviewed canonical seeds.
* **Calibration honesty.** Preserve `hitRate`, `brierScore`, and explicit avoidance of "100% hit rate with zero verified calls" style reporting.
* **Provenance and privacy boundary.** Preserve the browser-payload sanitizer, Engine Replay sanitization, and static-Brief privacy scan. TrendingAI mainly deletes an API key defensively; Trend Finder has a formal boundary.
* **Scoring rigor.** Preserve six weighted factors, post-factor adjustments, lifecycle multipliers, saturation, source-local lift, explicit `unavailable` states, and the documented no-invented-metrics boundary.
* **Compliance-first sourcing.** Preserve reviewed declarations, per-source caps, spend accounting, and source/media compliance gates.
* **Operational surfaces.** Preserve scheduler, MCP server, Workbench triage, visibility controls, Source Setup, and static Brief.

Borrow TrendingAI's editorial sharpness and reception analysis. Do not borrow its source risk or statelessness.

### Source Pointers

TrendingAI reference files that ground the folded opportunities (each is also repeated in the matching session stub):

| Idea                                  | TrendingAI file(s)                                                                                                   |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Reception / RATIOED                   | `src/harvesters/x-replies.ts`, `src/comment-sentiment.ts`, `prompts/feature-sentiment.md`                            |
| Cross-source confirmation gate        | `src/features-first.ts` (>=2 platforms x >=3 creators, lab-excluded)                                                 |
| Tutorial-hype detection               | `src/feature-sentiment.ts` (`TUTORIAL_HYPE_PATTERNS`), `scripts/classify-one-to-watch.ts` (`HUSTLER_FORMAT_MARKERS`) |
| Anti-AI-trope discipline              | Every file in `prompts/` with the ANTI-AI-TROPE block                                                                |
| Why-this-item justification           | `prompts/feature-sentiment.md` (`cited_items_why`)                                                                   |
| Cross-topic substrate narratives      | `prompts/cross-narratives.md`, `src/feature-sentiment.ts` (`runCrossNarrativePass`)                                  |
| Podcast themes                        | `src/podcast-themes.ts`, `prompts/podcast-themes.md`, `scripts/hydrate-ig-transcripts.ts`                            |
| Industry news                         | `src/industry-news.ts`, `prompts/industry-news.md`, `prompts/industry-news-merger.md`                                |
| Reply-driven seed discovery           | `src/seed-discovery.ts`                                                                                              |
| One to Watch prediction               | `scripts/classify-one-to-watch.ts`                                                                                   |
| Editorial verdicts                    | `prompts/feature-sentiment.md` (`dominant_pattern`), README GitHub verdicts                                          |
| Per-stage validation / staleness gate | `scripts/validate-synthesis.ts`, `.claude/skills/TrendingAI/Workflows/Run.md`                                        |
| Source-death baseline alarm           | `src/harvesters/orchestrator.ts` (`checkSourceDeath`)                                                                |
| Security lens                         | TrendingAI Security section (exploits, supply-chain, model-welfare, capability/policy)                               |

Trend Finder counterpart files are mapped in `docs/extensions/trend-finder-pipeline.md` under Implementation Map.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/phases/phase_29/prd_phase_29.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
