# 03R PRD Pivot — Guide/Tool Shell Continuation for Subnautica2Maps

- task_id: `t_b0732f4d`
- owner: 墨策
- date: 2026-05-20
- project_slug: `subnautica2maps`
- tenant: `site-rerun-subnautica2maps-20260520-clean`
- pivot_reason: `confirmed-data-insufficient`
- source_of_truth: Hermes Kanban

## 0. 结论先行

PRD pivot verdict: `GO_FOR_GUIDE_TOOL_SHELL_ONLY`.

原 03 PRD v1 的“confirmed marker SEO interactive map”主线上线条件不成立。05B3 已确认：`confirmed_count=0`、`launch_data_ready=false`、`seo_index_ready=false`。因此不得解锁原 05A 主线，不得上线 indexable marker-backed pages，不得把 05B2 fixture/demo marker 当成 confirmed data。

新的可继续交付版本是：

1. `guide/tool shell`：首页、合法 guide pages、地图交互壳、搜索/筛选/详情/路线/本地进度 UI。
2. `noindex fixture map`：可用 05B2 `needs_verification` fixture markers 做交互实现和 QA，但必须全程可见低置信提示。
3. `data collection plan`：另起 first-hand gameplay / licensed community submission 数据采集任务，满足 confirmed marker gate 后再恢复 marker-backed SEO。

上线范围必须拆成两层：

- 可以公开/可 index：非 marker-backed guide pages，以及满足工具可用、合规、QA 后的 `/`。`/map` 是否 index 取决于是否只展示 demo/fixture；只要仍依赖 fixture markers，默认 noindex。
- 不可 index：所有 resource/location/biome/marker detail/query/search/local-state/fixture marker-backed pages。

## 1. 必读输入与事实依据

| Input | Key facts used |
|---|---|
| `03-prd-v1.md` | 原方向为 fan-made interactive map + resource locator + route helper；P0 依赖 source/version/confidence marker data；thin/unverified pages noindex。 |
| `05b3-confirmed-data-report.md` | `confirmed_count=0`，`launch_data_ready=false`，`seo_index_ready=false`；不能生产 P0 launch-ready marker data。 |
| `05b2-data-contract.md` | 12 个 markers 只可作为 `needs_verification` UI fixture；frontend_unblock_ready 仅限交互壳，不支持 marker-backed SEO。 |
| `frontend-contract.md` | 前端可实现 search/filter/detail/route/local progress；必须显示 low-confidence warning；不得生成 sitemap entries。 |
| `02b-compliance.md` | 禁止复制官方/竞品数据和素材；必须 fan-made/no-affiliation；无真实数据页面 noindex。 |
| `02c-seo.md` | SERP 是 interactive-map intent；薄页失败；marker-backed 页面必须有 confirmed markers + source/update/confidence。 |

## 2. PRD 范围改写

### 2.1 原主线暂停

暂停项：`confirmed marker SEO map launch`。

暂停原因：没有合法 confirmed marker 数据来源。继续推进会导致三类风险：

1. 产品风险：用户以为坐标/路线可靠，但实际是 fixture/demo。
2. SEO 风险：未验证 marker-backed 页进入 sitemap，形成 thin/untrusted pages。
3. 合规风险：若为了补数据抓取/改写 MapGenie、GamesDB、Game8、IGN、Fandom、官方/社区坐标，会违反 02B 边界。

### 2.2 新 P0：Guide/Tool Shell

新 P0 目标不是证明“我们已有完整地图数据”，而是证明：

- 交互产品形态成立。
- 合规与 noindex 机制正确。
- 数据缺失时用户不会被误导。
- 后续 confirmed data 到位后，可以无缝切回 full map SEO 主线。

新 P0 产品形态：

| Module | Status | Requirement |
|---|---|---|
| Homepage `/` | allowed, potentially indexable after QA | 首屏说明 fan-made tool shell；CTA 到 `/map`；不得承诺 complete/all locations/confirmed coordinates。 |
| Map shell `/map` | allowed, default noindex while fixture-backed | pan/zoom/search/filter/detail/route/local progress 可实现；所有 marker 显示 `needs verification`；加数据采集中提示。 |
| Guide page `/guides/does-subnautica-2-have-a-map` | allowed, indexable if complete | 非 marker-backed；answer-first；说明 Early Access、官方地图状态、如何使用 fan-made tools；CTA 到 map shell。 |
| Guide page `/guides/how-to-find-coordinates` | allowed, indexable if complete | 非 marker-backed；解释坐标输入、路线 helper 概念、隐私边界；使用自制图示，不引用官方截图。 |
| Legal pages | required before public preview | `/privacy`、`/terms`、`/legal` or `/contact`，footer fan-made/no-affiliation。 |
| Data status/changelog block | required | 说明 marker data collection in progress；展示 verified_count=0 / fixture_count=12 / last reviewed。 |

## 3. allowed_frontend_scope

墨界可以继续做，但只能按下面范围：

```yaml
allowed_frontend_scope:
  app_shell:
    - homepage with map/search CTA
    - map page shell
    - guide pages
    - legal/footer pages
  map_interactions:
    - self-made schematic/vector/coordinate-grid map base
    - pan_zoom
    - search
    - category_filters: [Resources, Blueprints, Data Boxes, Wildlife, Plants, Biomes, Locations]
    - result_count
    - marker_detail_panel
    - route_helper_browser_side
    - current_position_input_validation
    - local_progress_localStorage
    - empty_state
    - no_results_state
    - low_confidence_state
    - mobile_bottom_sheet
  fixture_data_use:
    source: 05B2 markers.v20260520.json
    allowed_only_for: UI implementation, interaction QA, visual states, analytics event proof
    required_label: needs_verification
    required_copy: "This marker needs verification. Use it as a clue, not a final answer."
  analytics:
    - pageview
    - hero_cta_click
    - tool_start
    - tool_result
    - support_cta_click_or_pricing_cta_click_if_present
    - map_search
    - marker_open
    - filter_apply
    - detail_open
    - position_set_without_raw_coordinates
    - route_calculate_with_distance_bucket
    - progress_toggle
    - outbound_click
  seo_technical:
    - robots_meta_noindex_for_fixture_backed_pages
    - sitemap_excludes_noindex_pages
    - canonical_rules
    - schema only where supported by actual content/tool state
```

## 4. disallowed_scope

```yaml
disallowed_scope:
  data_claims:
    - confirmed marker claims
    - complete map claims
    - all locations claims
    - 100% accurate claims
    - latest/real-time official data claims
    - production route-to-marker accuracy claims
  seo:
    - indexable resource pages from fixture data
    - indexable location pages from fixture data
    - indexable biome pages from fixture data
    - marker detail pages in sitemap
    - query/search/filter/local-state pages in sitemap
    - WebApplication schema that implies verified data if map remains demo-only
  implementation:
    - hardcode fake data as confirmed
    - remove low-confidence warnings
    - use old repo/old seed/old dist/old PRD artifacts
    - copy or scrape official/competitor/community marker coordinates without license
    - send raw current x/y/z to analytics
    - submit sitemap to GSC/Bing
    - public launch announcement as full map
  commercialization:
    - Stripe/login/subscription wall in this pivot
    - paid claims around incomplete map data
```

## 5. index_policy

### 5.1 Indexable now, if content is complete and QA passes

| URL | Index policy | Conditions |
|---|---|---|
| `/guides/does-subnautica-2-have-a-map` | `index` allowed | Complete answer-first guide; no marker coordinates; fan-made disclaimer; internal links; Article/FAQ schema valid. |
| `/guides/how-to-find-coordinates` | `index` allowed | Self-contained coordinate guide; self-made diagrams/examples; no copied screenshots; HowTo/FAQ schema valid. |
| `/privacy` | `index` optional | Real operator/contact placeholders resolved before public launch. |
| `/terms` | `index` optional | Fan-made/no-affiliation and accuracy disclaimer included. |
| `/legal` or `/contact` | `index` optional | DMCA/contact path included. |

### 5.2 Conditional index after PM/QA/SEO/Compliance

| URL | Default | Can become indexable when |
|---|---|---|
| `/` | `index` allowed after QA | Homepage does not claim confirmed map coverage; tool status is honest; links to noindex fixture map; legal/footer present. |
| `/map` | `noindex` by default while fixture-backed | Only consider `index` after PM+SEO+Compliance confirm that the tool value is real without misleading marker accuracy. If any marker coordinates are fixture/needs_verification-only, keep noindex. |

### 5.3 Must remain noindex/sitemap=false until confirmed data exists

| URL pattern | Reason |
|---|---|
| `/resources/*` | Requires confirmed marker lists, coordinates/depth, route tips, source/update/confidence. Current confirmed_count=0. |
| `/locations/*` | Same. |
| `/biomes/*` | Same. |
| `/markers/*` or marker detail URLs | Same; fixture markers cannot become SEO detail pages. |
| `/map?resource=*`, `/map?filter=*`, `/search?*` | Query/filter/search states. |
| local progress / route result URLs | User state, no standalone search value. |
| placeholder/coming-soon/partial pages | Thin/unfinished. |

### 5.4 Sitemap policy for pivot build

Initial sitemap may include only:

```text
/
/guides/does-subnautica-2-have-a-map
/guides/how-to-find-coordinates
/privacy
/terms
/legal or /contact
```

Only include `/map` if PM+SEO explicitly approve indexability under current data state. Do not include `/resources/*`, `/locations/*`, `/biomes/*`, marker detail pages, query URLs, search URLs, or fixture-backed pages.

No GSC/Bing submission until QA/PM confirm the final indexable scope.

## 6. New 05A-continuation input for 墨界

Use this as the new frontend task input. It replaces the old dependency on `t_ba7fca1b.launch_data_ready`.

```yaml
new_task: 05A-continuation guide/tool shell frontend
assignee: mojie
project_slug: subnautica2maps
tenant: site-rerun-subnautica2maps-20260520-clean
mode: guide_tool_shell_noindex_fixture_map
must_read:
  - /root/.hermes/reports/site-pipeline/site-rerun-subnautica2maps-20260520-clean/subnautica2maps/03r-prd-pivot-guide-shell.md
  - /root/.hermes/kanban/boards/site-factory/workspaces/t_adc3b077/reports/site-pipeline/site-rerun-subnautica2maps-20260520-clean/subnautica2maps/data/frontend-contract.md
  - /root/.hermes/kanban/boards/site-factory/workspaces/t_adc3b077/reports/site-pipeline/site-rerun-subnautica2maps-20260520-clean/subnautica2maps/data/markers.v20260520.json
  - /root/.hermes/kanban/boards/site-factory/workspaces/t_adc3b077/reports/site-pipeline/site-rerun-subnautica2maps-20260520-clean/subnautica2maps/data/manifest.json
  - /root/.hermes/kanban/boards/site-factory/workspaces/t_f6e7a59a/reports/site-pipeline/site-rerun-subnautica2maps-20260520-clean/subnautica2maps/design/HANDOFF.md
  - /root/.hermes/kanban/boards/site-factory/workspaces/t_ec99f0a1/reports/site-pipeline/site-rerun-subnautica2maps-20260520-clean/subnautica2maps/04b-design-acceptance.md
must_build:
  - homepage_shell
  - map_shell_with_fixture_markers
  - search_filter_detail_route_progress_interactions
  - visible_needs_verification_warnings
  - guide_pages_non_marker_backed
  - legal_footer_and_disclaimers
  - robots_noindex_for_map_if_fixture_backed
  - sitemap_with_only_allowed_urls
  - analytics_event_hooks_and_ingestion_evidence
must_not:
  - depend_on_t_ba7fca1b_launch_data_ready
  - unblock_original_05A_mainline
  - index_resource_location_biome_marker_pages
  - claim_confirmed_coordinates
  - submit_sitemap_to_gsc_or_bing
  - deploy uncommitted or unpushed code
acceptance:
  - / opens and explains fan-made guide/tool shell honestly
  - /map works as an interaction shell and all fixture markers show needs_verification
  - search/filter/detail/route/local progress works on desktop and mobile
  - route_calculate does not send raw coordinates to analytics
  - no marker-backed page is in sitemap
  - noindex meta exists on fixture-backed /map and generated marker/resource/location/biome routes
  - legal/fan-made/no-affiliation copy visible
  - build/test pass
  - commit_sha, pushed_branch, deploy_url, deployment_source_commit, git_status_after reported
```

## 7. Data collection plan before returning to full map SEO

The product can return to marker-backed SEO only after a new data task produces confirmed evidence.

### 7.1 Accepted source types

- `manual_gameplay`: first-hand gameplay capture by project owner/team, with screenshot/video/log evidence retained internally.
- `licensed_community_submission`: contributor explicitly grants permission and attests data is original/not copied.
- `official_update_note`: only for high-level game update/status facts, not coordinates unless official source publishes coordinates with usable rights.

### 7.2 Minimum confirmed-data gate

```yaml
confirmed_data_gate:
  minimum_confirmed_markers:
    resources:
      silver: >=3
      copper: >=3
      sulfur: >=3
    pois:
      early_game_poi: >=3
  required_fields:
    - marker_id
    - name
    - type
    - subtype
    - coordinates
    - depth
    - region
    - biome
    - description
    - route_note_from_lifepod
    - route_note_from_current_position_template
    - nearby_resources
    - nearby_poi
    - verified_game_version
    - source_type
    - source_url_or_internal_evidence_id
    - confidence=confirmed
    - updated_at
    - reviewer
  verification:
    - JSON schema pass
    - provenance report pass
    - anti-copy attestation pass
    - index coverage report pass
    - compliance recheck pass
```

### 7.3 Re-entry criteria for marker-backed SEO

Only after the confirmed-data gate passes may new tasks re-open:

- `/resources/silver`
- `/resources/copper`
- `/resources/sulfur`
- early POI/location pages
- biome pages
- marker detail pages
- `/map` indexability as a full tool page
- GSC/Bing submission

## 8. recommended_new_tasks

| Task | Assignee | Purpose | Parent |
|---|---|---|---|
| `05A-continuation guide/tool shell frontend` (`t_2c25ef1b`) | `mojie` | Implement allowed frontend shell from this pivot, independent of 05B3 launch_data_ready. | `t_b0732f4d` |
| `05B4 confirmed data acquisition plan/execution` (`t_ba51b664`) | `moshu` or data owner | Capture first-hand/licensed confirmed marker evidence and produce confirmed dataset. | `t_b0732f4d` |
| `SEO recheck for guide/tool shell` | `moyin` | Validate noindex/sitemap/canonical/schema after 05A-continuation build. | after 05A-continuation |
| `Compliance recheck for guide/tool shell` | `modun` | Verify fan-made/no-affiliation, legal pages, no copied assets/data, analytics privacy. | after 05A-continuation |
| `PM Product Acceptance for pivot build` | `moce` | Confirm product still matches pivot scope and does not imply confirmed map data. | after SEO+Compliance |
| `QA for guide/tool shell` | `motest` | Real user task QA on search/filter/detail/route/progress/mobile/noindex/analytics. | after PM gate |

## 9. blocking_risks

1. If `/map` is indexable while relying on 05B2 fixture markers, SEO and compliance risk remain high.
2. If frontend hides low-confidence labels, users will infer coordinates are real.
3. If guide pages overpromise “complete/all/accurate/latest,” they recreate the same legal/product issue without data.
4. If sitemap includes resource/location/biome/marker pages before confirmed data, initial crawl quality is damaged.
5. If downstream submits GSC/Bing before PM/QA/SEO/Compliance agree on indexable scope, rollback is likely.
6. If data owner uses copied competitor/official/community coordinates without explicit authorization, the full map line should remain blocked.

## 10. acceptance_checklist

- [x] Read 03 PRD v1.
- [x] Read 05B3 confirmed data report.
- [x] Read 05B2 data contract and frontend contract.
- [x] Read 02B compliance and 02C SEO.
- [x] Pivot reason documented as `confirmed-data-insufficient`.
- [x] Allowed frontend scope defined.
- [x] Disallowed scope defined.
- [x] Index/noindex/sitemap policy defined.
- [x] New 05A-continuation input defined without depending on `t_ba7fca1b.launch_data_ready`.
- [x] Data collection plan defined.
- [x] Recommended new tasks listed.

## 11. skill_contract_check

| Contract | Required input | Required output | Hard constraint | Acceptance | Evidence |
|---|---|---|---|---|---|
| Kanban source of truth | `t_b0732f4d` | This artifact + kanban metadata | Telegram only for visibility | START/DONE + kanban_complete | `kanban_show(t_b0732f4d)`, START sent |
| PRD pivot | 03 PRD v1 + 05B3 + 05B2 | Legal continuation plan | Do not wait for fake data; do not unlock fake SEO map | §0-6 | Required files read |
| Compliance | 02B | Legal/IP/data guardrails | No official/competitor copied data/assets; no official claims | §4, §5, §7 | 02B lines 17-24, 37-49, 367-387 |
| SEO | 02C | Index/noindex/sitemap policy | No thin/unverified marker-backed pages in sitemap | §5 | 02C lines 273-329 |
| Frontend handoff | 05B2 frontend contract | 05A-continuation input | Fixture markers only for UI; visible warning; no raw coordinate analytics | §3, §6 | frontend-contract lines 72-79, 119-130 |
| Data re-entry | 05B3 confirmed_count=0 | confirmed data acquisition gate | Marker-backed SEO remains blocked until confirmed evidence exists | §7 | 05B3 lines 8-24, 75-95 |

## 12. Handoff summary

Do not unblock original 05A mainline. Create/run a new 05A-continuation frontend task using this pivot as the source contract.

The continuation may build a usable guide/tool shell and noindex fixture map with clear `needs_verification` labels. It must not index marker-backed resource/location/biome/detail pages, must not submit GSC/Bing, and must not imply confirmed coordinates or complete map coverage.

Full interactive-map SEO resumes only after a separate confirmed data acquisition task produces legal first-hand/licensed marker evidence and passes compliance/SEO gates.
