feat(meta)!: template.* и help.add растворены в meta.edit (ADR-0072) - #546
Conversation
…act layer)
The meta.add/meta.edit union grows its ninth variant {op: "addHelp",
lang?}: tag, domain operation, published schema, parse arm and snapshot
tests. The descriptor pipeline does not change for help, so the
materialization arm fails closed until the file channel lands with the
parity test — a published build cannot half-apply the operation.
Refs #375
…072) The help facet plans through the owner channel like the predefined companion writer: create-only Help.xml and Help/<lang>.html, the IncludeHelpInContents flip on the owner's forms guarded by exact preimages, and a Help publication-plan entry. meta.edit add templates gains a closed templateType element field covering all five kinds the retiring template.add accepted; the HTMLDocument primary is the platform page descriptor plus Ext/Template/ru.html — the raw-HTML primary the old tool wrote was its own defect and the typed channel does not reproduce it. Parity, create-only, preview and kind-coverage tests pin the behavior. Refs #375
…-0072) The three duplicate routes leave tools/list and the runtime without compatibility aliases; every call answers unknown unica tool. Template registration travels through meta.edit add/remove on the templates collection, embedded help through the addHelp operation. The corpus cases rewire onto meta.edit with the same file layout — the typed HTMLDocument payload passes the platform page-set inventory the old raw-HTML primary never matched — and the mutator ledgers, support-guard and format-path contract tables shrink by the retired trio. Refs #375
…mplate/help retirement (ADR-0072) The tool ledger regenerates at 71 tools; the template-add, template-remove and help-add skills leave the package with their parity reference models, meta-edit routes template registration and embedded help, and the provenance index drops the retired entries — it describes packaged skills only, so ADR-0072 states that origin stays in repository history. Python guards follow: the shared operation union gains addHelp, the mutation tool set shrinks to 33, and the donor template-add replay test leaves with its fixture. Refs #375
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (36)
📝 WalkthroughWalkthroughThe metadata model now supports typed templates and localized ChangesMetadata operation migration
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant Client
participant MetaEdit
participant HelpFacet
participant FilePlan
Client->>MetaEdit: submit addHelp or template operation
MetaEdit->>HelpFacet: plan help facet resources
HelpFacet->>FilePlan: stage files and form updates
FilePlan-->>MetaEdit: return publication plan
MetaEdit-->>Client: return typed result
Possibly related PRs
Suggested labels: Suggested reviewers: ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ts already assert against live registry size
|
@coderabbitai review |
|
Второй срез критической цепочки волны v0.13 (план #517, фаза 2). Closes #375.
Что сделано
unica.template.add,unica.template.removeиunica.help.addсняты изtools/listи runtime без псевдонимов совместимости — вызов отвечаетunknown unica tool. Решение — ADR-0072 (accepted этим же PR). Поверхность: 74 → 71.add/removemeta.editпо коллекцииtemplates. Пробел покрытия закрыт этим же срезом (требование Снять unica.template.* и unica.help.add как дубли операций unica.meta.edit #375 п.2): элемент получает закрытыйtemplateTypeиз пяти видов (HTMLDocument,TextDocument,SpreadsheetDocument— по умолчанию,BinaryData,DataCompositionSchema), эмиссия дескриптора и начальное содержимое — по виду. ДляHTMLDocumenttyped-канал пишет платформенную форму (primary —<Help>-дескриптор страниц +Ext/Template/ru.html); сырой HTML с DTD, который писал старыйtemplate.add, был дефектом снимаемого инструмента и валидатором по дампам не принимается.meta.add/meta.edit:{"op": "addHelp", "lang"?}— create-only,Ext/Help.xml+Ext/Help/<lang>.html+IncludeHelpInContentsформам владельца; семантика прежнегоhelp.addбез изменений, адресация —sourceSet + metadataPath, третий диалект селектора владельца исчез. Материализация — каналом фасета владельца (по образцу companion-writerExt/Predefined.xml), ни один файл не стейджится до успешного полного плана.template.rs/help.rsудалены, разделяемые эмиттеры и гварды остались у своих модулей;template.rsбольше не зовётся в обходmeta.edit.Приёмка #375 → проверки
unknown unica tool—retired_template_help_routes_fail_as_unknown_tools;meta.edit— corpus-кейсы перестроены (те же id и ветки, тот же состав файлов манифеста), 36 зелёных, включая инвентаризацию платформенной html-раскладки;TemplateType—typed_template_add_covers_every_template_kind(+дефолт, +отказ неизвестного вида);typed_add_help_matches_the_retired_help_add_files, create-only и preview-без-записи — отдельными тестами;Сопутствующее одним набором (ADR-0021 §13)
docs/plans/2026-08-17-retire-template-help.md.--checkin sync;tool-surface-review.json−3 записи.template-add/template-remove/help-addудалены; маршруты вmeta-edit(шесть значенийop, сценарии макета и справки) иepf-bsp-initобновлены.check-skill-upstreams.py), происхождение остаётся в истории; ADR фиксирует это явно.{…, addHelp}, счётчики 71/33, replay-тест донорскогоtemplate-addушёл вместе с фикстурами reference-model.Верификация
cargo test --no-fail-fast: все таргеты зелёные (включая lib целиком — известный флак project_health в этом прогоне не стрельнул; corpus 36 OK);cargo clippy --all-targets: чисто;cargo fmt --check: чисто;tests/ci: 764 OK (3 skipped);tests/dev: OK;generate-tool-surface.py --check: in sync.Summary by CodeRabbit
New Features
addHelpsupport through metadata editing, including optional language selection (defaulting to Russian).Changes
Bug Fixes