跳转到内容

2026-04-04-yomiya-home-v1-content-fill-backprop

Yomiya Home V1 Content Fill Backprop Implementation Plan

Section titled “Yomiya Home V1 Content Fill Backprop Implementation Plan”

For Claude: REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.

Goal: Freeze what the Yomiya homepage V1 needs to display, then back-propagate those frontend needs into concrete content-system object and field requirements.

Architecture: Treat homepage V1 as a fixed distribution surface made of a small number of curated modules, not a generic feed. Start from homepage modules and work backward into three layers: content item readiness, collection readiness, and homepage slot readiness.

Tech Stack: Markdown planning docs; current active docs in product/YomiyaContentSystem; current homepage wireframe snapshot


This plan only uses the current active docs plus the retained homepage wireframe snapshot:

  • product/YomiyaContentSystem/01-当前目标与范围.md
  • product/YomiyaContentSystem/02-当前系统现实.md
  • product/YomiyaContentSystem/04-内容样本池.md
  • product/YomiyaContentSystem/05-待决问题.md
  • product/YomiyaContentSystem/archive/snapshots/页面线框/home-wireframe.html

Key frozen assumptions:

  • Homepage V1 is a content platform homepage, not a learning-task homepage.
  • Homepage V1 should use a fixed structure.
  • Collection is required in Phase 1.
  • Distribution Eligibility must be distinct from visibility.
  • Tabs are display categories, not first-class content containers.
  • No ranking boards, no always-on special-topic zones, no empty placeholders.

Files:

  • Create: product/YomiyaContentSystem/archive/plans/2026-04-04-yomiya-home-v1-content-fill-backprop.md

Step 1: Freeze the homepage promises

Homepage V1 should be treated as a small set of user-facing promises, not as a list of internal modules:

  1. 今天这里有值得看的日语内容
  2. 我不用自己筛,已经帮我挑好了
  3. 我现在就能开始
  4. 我想听的时候,也能直接开始听
  5. 这里真的在更新,不是空货架
  6. 看完第一波以后,还能继续逛下去
  7. 如果第二梯队内容足够,还能看到更多可能想看的方向

Step 2: Freeze the homepage expressions of those promises

用户价值首页表达推荐承载对象V1 是否必需
今天这里有值得看的日语内容今日新闻速递Hero / 当日内容路由
我不用自己筛,已经帮我挑好了热门推荐 + 顶部方向 chipsCollection 列表 + 方向入口
我现在就能开始轻松入门轻量 Collection 或轻量内容线
我想听的时候,也能直接开始听播客精选播客向 Collection + 具体 item
这里真的在更新,不是空货架今天正在更新单个强 Collection + item 列表
看完第一波以后,还能继续逛下去还能继续逛合格 Collection feed
如果第二梯队内容足够,还能看到更多可能想看的方向更多你可能想看第二梯队 Collection 横滑流否,库存不足时隐藏

Step 3: Freeze current homepage content examples

V1 should assume these directions are already the first candidates:

  • NHK 今日要闻
  • 去日本旅行必备
  • 动漫日语精听
  • 日语播客精选
  • 日本文化冷知识

These are not all equal priority. The first three remain the required Top 3.


Task 2: Backprop homepage expressions into content objects

Section titled “Task 2: Backprop homepage expressions into content objects”

Files:

  • Create: product/YomiyaContentSystem/archive/plans/2026-04-04-yomiya-home-v1-content-fill-backprop.md

Step 1: Freeze per-module fill units

首页表达前端真正要填的单位最低数量说明
Search and Tabs展示分类4-6半固定,不追求一次补全
今日新闻速递Hero 卡2-4每张卡代表“今天值得看”的强入口
热门推荐合集卡4-6以合集为主,不是 item feed
轻松入门轻量合集卡4-8低门槛、好开始
播客精选单合集 + item 外露1 组合集,3-5 条 item不做第二个独立播客首页
今天正在更新单合集 + item 外露1 组合集,3-5 条 item用具体内容证明这个方向真的在更
还能继续逛续逛合集 feed3+回填前面未充分外露的合格合集
更多你可能想看次级合集卡4-8第二梯队内容充足时再显示

Step 2: Freeze per-module minimum fill fields

Minimum fields:

  • tab_key
  • tab_title
  • tab_rank
  • tab_active
  • mapping_scene_set or equivalent display mapping

Inference:

  • Tabs should not require a new content object.
  • Tabs do require a stable display mapping layer.

Minimum fields:

  • slot_key
  • slot_rank
  • target_type (collection first, item only as exception)
  • target_id
  • hero_title
  • hero_subtitle or short positioning copy
  • hero_cover
  • hero_tag_list
  • cta_target
  • is_active

Inference:

  • Hero is a homepage slot object, not just a query result.
  • Hero copy and tag exposure should be configurable, not inferred only from content fields.

2.3 热门推荐 / 轻松入门 / 更多你可能想看 / 还能继续逛

Section titled “2.3 热门推荐 / 轻松入门 / 更多你可能想看 / 还能继续逛”

Minimum fields:

  • collection_id
  • collection_title
  • collection_subtitle
  • collection_cover
  • collection_type
  • collection_scene_hint
  • collection_level_hint
  • homepage_rank
  • is_visible
  • is_distributable
  • is_homepage_eligible

Inference:

  • These four modules all fundamentally need a formal Collection.
  • The difference is mostly slot grouping and ordering, not different base models.

Minimum fields:

  • All Collection fields above
  • item_query_strategy or equivalent selection rule
  • min_exposed_item_count
  • hide_if_insufficient

Exposed item minimum fields:

  • item_id
  • title
  • card_summary
  • cover
  • type
  • scene
  • level
  • duration or equivalent media-length hint
  • published_at or freshness hint
  • target_url

Inference:

  • A collection exposed on homepage needs both collection metadata and item-selection rules.
  • This is stronger than a plain collection list.

Task 3: Split requirements into three layers

Section titled “Task 3: Split requirements into three layers”

Files:

  • Create: product/YomiyaContentSystem/archive/plans/2026-04-04-yomiya-home-v1-content-fill-backprop.md

Step 1: Freeze the three required layers

Homepage V1 requires three different readiness layers:

  1. Content Item Readiness
  2. Collection Readiness
  3. Homepage Slot Readiness

This layer answers: can a single content item be safely shown on cards, detail entry points, and exposed collection modules?

Minimum requirement set:

  • stable id
  • stable title
  • usable type
  • usable level
  • usable scene
  • usable long-term channel
  • usable visibility status
  • usable distribution status
  • basic artwork or thumbnail
  • basic summary or excerpt
  • freshness signal
  • media length signal for audio/video

This layer answers: can a content direction become a frontstage discovery unit?

Minimum requirement set:

  • collection_id
  • title and one-line value proposition
  • cover art
  • item membership list
  • collection ordering
  • collection visibility
  • distribution eligibility
  • homepage eligibility
  • optional type hint such as news / travel / anime / podcast / beginner
  • optional freshness rule such as “must have recent items”

This layer answers: can a homepage module be operated without hardcoding product logic into the app?

Minimum requirement set:

  • slot key
  • module key
  • target object type
  • target object id
  • slot rank
  • show / hide switch
  • active time window
  • fallback rule

Task 4: Judge what already fits and what does not

Section titled “Task 4: Judge what already fits and what does not”

Files:

  • Create: product/YomiyaContentSystem/archive/plans/2026-04-04-yomiya-home-v1-content-fill-backprop.md

Step 1: Freeze current fit status

需求层当前支撑度结论
Content Item basic structurePartial fit已有正式 news / channel / level / scene / type / visibility / source,但还不等于首页就能直接喂卡
CollectionMissing目标里要求存在,但后端还没有正式 collections / collection_items
Homepage slot configMissing现有活跃文档没有正式承接对象
Distribution eligibilityPartial fit语义已明确,工程承接未冻结
Homepage eligibilityMissing只有概念边界,没有正式能力
Podcast content direction judgmentPartial fit04 已能判断方向,但样本主要还是研究层播客候选
Video homepage supplyMissing04 的视频样本区基本还是占位

Step 2: Freeze what already works

Current docs already support these judgments:

  • whether content belongs to a broad direction
  • whether content is audio / video / webpage
  • rough difficulty positioning
  • rough scene positioning
  • rough candidate collection direction
  • whether a source is promising for Phase 1

This is enough for:

  • research
  • intake judgment
  • sample ranking
  • rough collection planning

This is not enough for:

  • stable homepage rendering
  • stable homepage configuration
  • stable exposed-collection logic
  • stable hide / show logic

Step 3: Freeze the biggest gaps

The biggest gaps are:

  1. No formal Collection model
  2. No formal CollectionItem relation
  3. No formal homepage slot model
  4. No formal Distribution Eligibility carrier
  5. No distinct Homepage Eligibility layer
  6. Research samples are still too podcast-heavy; homepage V1 also needs stable NHK / travel / anime / video supply

Task 5: Freeze which fields are already enough, and which must be added

Section titled “Task 5: Freeze which fields are already enough, and which must be added”

Files:

  • Create: product/YomiyaContentSystem/archive/plans/2026-04-04-yomiya-home-v1-content-fill-backprop.md

Step 1: Freeze fields that are already directionally correct

These fields or concepts are directionally correct and should be kept:

  • type
  • level
  • scene
  • channel_id
  • visibility
  • source
  • recommended_channel
  • recommended_collection_direction
  • series_candidate
  • phase1_fit

Reason:

  • They already help decide where content belongs.
  • They should continue to feed collection planning and homepage candidate selection.

Step 2: Freeze fields or abilities that must not be overloaded

These should not be overloaded to solve homepage V1:

  • source It only answers intake path.
  • visibility It only answers user visibility.
  • scene It can help with display mapping, but should not absorb all collection, tab, and homepage logic.
  • source_brand / series_unit They are still research-layer mapping fields, not formal homepage-serving fields.

Step 3: Freeze what must be added or formally carried

Required additions before homepage V1 can be treated as stable:

Minimum fields:

  • id
  • slug
  • title
  • subtitle
  • description
  • cover_image
  • collection_type
  • primary_scene
  • primary_level_hint
  • is_visible
  • is_distributable
  • is_homepage_eligible
  • sort_rank

Minimum fields:

  • collection_id
  • news_id
  • rank
  • is_pinned
  • reason_tag or editorial reason

At minimum, Phase 1 needs a stable answer to:

  • can this item enter frontstage distribution?
  • can this item appear in collection feeds?
  • can this item appear in homepage exposed modules?

This can be a field, state machine, or computed layer, but it must become queryable and operable.

Minimum fields:

  • module_key
  • slot_key
  • rank
  • target_type
  • target_id
  • editorial_title_override
  • editorial_subtitle_override
  • is_active
  • start_at
  • end_at

7. Phase 1 Execution Order Implied By Homepage

Section titled “7. Phase 1 Execution Order Implied By Homepage”

Files:

  • Create: product/YomiyaContentSystem/archive/plans/2026-04-04-yomiya-home-v1-content-fill-backprop.md

Step 1: Freeze the order

Recommended order:

  1. Freeze item-level minimum card fields
  2. Freeze Distribution Eligibility
  3. Build minimum Collection
  4. Build minimum CollectionItem
  5. Build homepage slot config
  6. Backfill first homepage collections
  7. Backfill exposed item pools
  8. Only then connect frontend fixed modules

Step 2: Freeze the first homepage content backfill targets

Backfill these first:

  1. NHK 今日要闻
  2. 去日本旅行必备
  3. 动漫日语精听
  4. 日语播客精选
  5. 轻松入门 candidates

Step 3: Freeze the minimum research backfill needed in 04

04-内容样本池.md still needs:

  • more item-level rows, not only brand / series
  • more non-podcast rows
  • more travel / anime / news / beginner supply
  • actual YouTube rows
  • actual Bilibili rows if they are still Phase 1 relevant

Files:

  • Create: product/YomiyaContentSystem/archive/plans/2026-04-04-yomiya-home-v1-content-fill-backprop.md

Step 1: Record the conclusion

Current Yomiya content requirements are:

  • already good enough for intake judgment
  • already good enough for research-layer classification
  • already good enough for rough collection-direction planning

Current Yomiya content requirements are not yet:

  • good enough for direct homepage V1 fill
  • good enough for stable homepage operating logic
  • good enough for collection-based frontstage distribution

The key reason is simple:

Homepage V1 is collection-led and slot-led, while the current formal system is still mainly item-led.

That means the current field judgment logic is not wrong, but it is still one layer short.

The missing layer is:

  • formal Collection
  • formal homepage slot config
  • formal distribution / homepage eligibility