Skip to content

title: "Extract — "What do we NOT see?"" source: "tasks/TFW-27__wiki_polish_and_brand/research/extract.md"


Extract — "What do we NOT see?"

Parent: HL-TFW-27 Goal: Wikipedia-style link resolution in compiled docs.

Findings

E1: Полная карта сущностей — что резолвить, что нет

gen_docs.py имеет 6 работающих резолверов. После анализа с пользователем — итоговая карта:

Сущность Паттерн gen_docs.py Действие
Artifact ref [RF TFW-18](../../TFW-18__knowledge_consolidation/RF__PhaseB__knowledge_quality.md) ✅ Работает
Phase ref [RF TFW-18](../../TFW-18__knowledge_consolidation/RF__PhaseB__knowledge_quality.md)/A ✅ Работает
HL-dash [HL-TFW-19](../../TFW-19__config_propagation/HL-TFW-19__config_propagation.md) ✅ Работает
TD [TD-59](../../../reference/tech-debt.md) ✅ Работает
Decision D24 ✅ Работает
Backtick path [`.tfw/conventions.md`](../../../reference/conventions.md) ✅ Работает
Bare task ID [TFW-18](../../TFW-18__knowledge_consolidation/HL-TFW-18__knowledge_consolidation.md) Добавить, запускать ПОСЛЕДНИМ
Principle P{N} P7 НЕ резолвить (double semantics). Только HTML-якоря
Fact F{N} F4 НЕ резолвить standalone (нумерация не глобальная)
Strategic S{N} S9 НЕ резолвить (task-local)
File path no backticks plain text path НЕ делать (false positives)

E2: Направление ссылок — только forward

Пользователь уточнил: ссылки работают только в одном направлении.

  • Source-колонки в таблицах KNOWLEDGE.md содержат [TFW-5](../../TFW-5__knowledge_and_tfw_docs/HL-TFW-5__knowledge_and_tfw_docs.md) HL §7 → это ДОЛЖНА быть ссылка на задачу (forward). Покрывается bare task ID resolver.
  • Обратная ссылка (из задачи на принцип) НЕ нужна — автор сам ставит если хочет.

E3: F{N} — нумерация NOT глобальная

4 файла knowledge/*.md используют независимую нумерацию: F1 в process.md ≠ F1 в philosophy.md. Standalone F4 неоднозначен. Резолвер F{N} невозможен без контекста файла.

Пользователь: если кто-то ссылается на факт, он укажет файл (process.md F1). Резолвится path файла через backtick resolver. Внутри файла F1 получает HTML-якорь для deep linking.

E4: HTML-якоря на нумерованных таблицах

Нужны якоря на каждой строке нумерованных таблиц: - KNOWLEDGE.md §0: <a id="p1"></a>, <a id="p7"></a>/knowledge-index/#p7 - KNOWLEDGE.md §1: <a id="d1"></a>, <a id="d24"></a>/knowledge-index/#d24 - TECH_DEBT.md: <a id="td-72"></a>/reference/tech-debt/#td-72 - knowledge/*.md: <a id="f1"></a>/knowledge/process/#f1

gen_docs.py добавляет при обработке ~30 LOC (regex по первому столбцу таблицы).

STATIC_SOURCES (строки 18-28 gen_docs.py) = готовая таблица source→output:

.tfw/conventions.md → reference/conventions.md
.tfw/glossary.md    → reference/glossary.md  
.tfw/README.md      → concepts/philosophy.md
README.md           → index.md

Алгоритм: для каждого [text](target) → resolve target relative to source dir → lookup в STATIC_SOURCES → rewrite. ~50 LOC.

Stage complete: YES