ข้ามไปเนื้อหา

Wiki:Wiki-Hierarchy

จาก Wiki

Wiki content hierarchy

[แก้ไข]

Status: draft for review — OPS-1046, 2026-11-06. Not yet enacted.

Quick summary: One MediaWiki, three visibility surfaces. Public News/ holds curated articles; protected PrivateNews: and Infrastructure: hold in-house content; Education: (proposed) holds the lesson ledger. Every family uses the same skeleton: tree + page roles + template + leaf rule.

Surfaces

[แก้ไข]
Surface Hostname Audience Content
Public wiki wiki.h3.gizmo-thailand.com anyone News/ articles only Private wiki wiki-internal.surf-thailand.com in-house group (Tony, Ada; KK/Nhong pending) PrivateNews:, Infrastructure:, Education:

The shared skeleton

[แก้ไข]

Every content family follows the News contract (see News/Desks/DevNest/Projects/News-Hierarchy-v1):

  • Tree position — slash path under the family root decides scope.
  • Page roles — index (hub), rollup (generated child summary), leaf (one canonical item), correction.
  • Leaf rule — store once at the most specific scope; parents link, never copy.
  • Template — machine metadata as template params; categories are secondary nav only.
  • Upsert — deterministic title = idempotency key; re-ask edits the same page.

News/ (live)

[แก้ไข]
Level Pattern Example
Root News News World/region News/World, News/Regions/<Region> News/Regions/Asia Country News/Countries/<Country>/<Desk> News/Countries/Thailand Local News/Local/<Locality> News/Local/Bangkok Desk News/Desks/<Desk>/<branch> News/Desks/DevNest/Projects/News-Hierarchy-v1 Leaf one story_id, one title News/World/AI/Test-Global-Story

Template: แม่แบบ:NewsReport — params: story_id, status, visibility, confidence, summary, desk, geo_scope, country, region, topic, published_at, source_*, parent.

Education: (proposed — in-house gated)

[แก้ไข]

Axes are domain + level + series (no geography). Level is a param/category, not a tree position.

Level Pattern Example
Root Education: (namespace pending — needs LocalSettings/Plesk) Domain Education:Domains/<Domain> Education:Domains/Ada-Nest Hub series root — rollup of its leaves Education:Domains/Ada-Nest/Map Leaf one lesson, one canonical title Education:Domains/Ada-Nest/Memory-Banks Review living due-index Education:Due
  • The WP lesson series convention maps 1:1: hub lesson (ada-nest-map, WP post 1608) becomes the hub page; ada-nest-* topics become leaves.
  • intro|working|deep → template param + Category:Education/Level/<level>.
  • Template: แม่แบบ:EducationLesson — params: lesson_id (was lesson-<md5> slug), topic, level, source, learned_at, next_review, status, hub, series.
  • Education:Due is regenerated by the lessons-due job — replaces WP page education-due (post 354).
  • Wikilinks give backlinks/"referenced by" for free; revisions are the audit trail.

Write/read flow

[แก้ไข]
  • Write: lesson-add.py → board-api POST /lesson → sink fan-out (WP CPT during transition, then Education: only). Callers never hold wiki creds.
  • Read: Tony via wiki-internal (Cloudflare Access + Google OIDC → in-house group); Ada via the same surface + wiki_read/wiki_search tools.
  • Cutover: SEC-1035 boundary verified → register Education: + talk ns, protect to in-house → export WP lesson CPT → 301 wp/lesson/* permalinks → flip /lesson sink → WP CPT read-only archive.

Open questions

[แก้ไข]
  • KK/Nhong read path — need member accounts in the in-house group (SEC-1035 maps Tony+Ada only).
  • Namespace creation needs Plesk/LocalSettings work (same path as PrivateNews:).
  • Per-lesson private flag for sensitive topics once the boundary is proven.