Skip to content

chore(architecture): declare semantic contract - #12

Merged
lemone112 merged 2 commits into
mainfrom
chore/architecture-semantic-contract
Sep 18, 2026
Merged

lemone112 merged 2 commits into
mainfrom
chore/architecture-semantic-contract

Conversation

@lemone112

@lemone112 lemone112 commented Sep 18, 2026 •

Copy link
Copy Markdown

Policy-only bootstrap for Architecture Observer semantic admission. This PR intentionally changes only .architecture.json; vendor transport remains in the separate canary PR.

Summary by CodeRabbit

  • Технические изменения
    • Добавлена архитектурная конфигурация версии 1.
    • Зафиксированы сведения о транспортном компоненте и правила допустимых зависимостей.
    • Изменения не влияют на пользовательский интерфейс и доступные функции продукта.

@coderabbitai

coderabbitai Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Team

Run ID: 1acaffda-64a8-4e79-b789-7bef97298637

📥 Commits

Reviewing files that changed from the base of the PR and between d27d216 and 89c28c6.

📒 Files selected for processing (1)
  • .architecture.json

Included review availability: 0 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour.


📝 Walkthrough

Walkthrough

Добавлен .architecture.json. Файл использует схему версии 1, объявляет компонент uquic-transport-library и запрещает его продуктовые зависимости от github.com/Labpics-Team.

Changes

Архитектурные правила

Layer / File(s) Summary
Конфигурация архитектурных зависимостей
.architecture.json
Добавлена конфигурация схемы версии 1. Она объявляет компонент uquic-transport-library и запрещает зависимости от github.com/Labpics-Team.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to b8640

No actionable issue is supported by the available evidence.


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (2 errors, 1 warning)

Check name Status Explanation Resolution
краткие русские документации ❌ Error В PR добавлен .architecture.json, и его поле rationale является документацией правила. Текст полностью написан на английском: uquic is a product-agnostic transport library; .... Это прямо наруша… Перевести значение rationale на русский язык, сохранив точный смысл правила. Например: uquic — транспортная библиотека, независимая от продуктов; интеграции Ametyst, Phantom и других продуктов зависят от uquic, но не наоборот. Идентифик…
тесты ❌ Error Функционал PR — декларация правила no-product-imports в новом .architecture.json. PR добавляет только этот JSON-файл и не добавляет тест или проверку Architecture Observer. CI запускает Go-тесты, … Добавить исполняемую проверку архитектурного контракта. Тест должен проверять класс поведения: валидная декларация запрещает product-зависимость, а изменённое правило, удалённая запись или запрещённый импорт вызывают ошибку. Подтвердить чув…
Title check ⚠️ Warning Название связано с изменением: оно описывает добавление архитектурного семантического контракта. Однако название написано на английском языке, поэтому не выполняет обязательное требование русского язы… Заменить название на краткое русскоязычное описание, например: «Добавить архитектурный семантический контракт».
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Diataxis ✅ Passed Проверка пройдена. Pull request изменяет только .architecture.json, который содержит машиночитаемый архитектурный контракт и поле rationale, а не отдельную документацию. В диапазоне pull request н…
архитектура ✅ Passed Проверка пройдена. Диапазон PR содержит только новый .architecture.json (+9 строк); изменений кода и зависимостей нет. Файл является валидным JSON, содержит schemaVersion: 1, компонент `uquic-tran…
промежуточные документы (напр. планы) ✅ Passed Проверка пройдена. В диапазоне PR изменён только .architecture.json (+9 строк). Файл содержит машиночитаемую декларацию схемы, компонента и правила зависимости, а не план, ревью, исследование или ар…
Full details: Title check

Explanation

Название связано с изменением: оно описывает добавление архитектурного семантического контракта. Однако название написано на английском языке, поэтому не выполняет обязательное требование русского языка.

Full details: краткие русские документации

Explanation

В PR добавлен .architecture.json, и его поле rationale является документацией правила. Текст полностью написан на английском: uquic is a product-agnostic transport library; .... Это прямо нарушает требование о русской документации. Изменение причинно связано с нарушением: файл добавлен в этом PR, а ранее такой декларации не было.

Resolution

Перевести значение rationale на русский язык, сохранив точный смысл правила. Например: uquic — транспортная библиотека, независимая от продуктов; интеграции Ametyst, Phantom и других продуктов зависят от uquic, но не наоборот. Идентификаторы, пути зависимостей и значения схемы оставить без изменений.

Full details: тесты

Explanation

Функционал PR — декларация правила no-product-imports в новом .architecture.json. PR добавляет только этот JSON-файл и не добавляет тест или проверку Architecture Observer. CI запускает Go-тесты, но не проверяет .architecture.json; в репозитории нет тестов, которые загружают декларацию и подтверждают запрет зависимости uquic от external:go:github.com/Labpics-Team. Проверка JSON на синтаксическую валидность не доказывает семантическое правило и не падает при его ослаблении или удалении.

Resolution

Добавить исполняемую проверку архитектурного контракта. Тест должен проверять класс поведения: валидная декларация запрещает product-зависимость, а изменённое правило, удалённая запись или запрещённый импорт вызывают ошибку. Подтвердить чувствительность теста mutation, deliberate sabotage или доказанным контрпримером. Подключить проверку к CI.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

coderabbitai[bot]
coderabbitai Bot previously requested changes Sep 18, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pre-merge checks failed. Please resolve the failing checks before merging.

@lemone112
lemone112 dismissed coderabbitai[bot]’s stale review September 18, 2026 01:23

Stale pre-merge bot review: the exact current head b86402d has Go Build success, and the policy-only bootstrap independently passed semantic admission with 232/232 source ownership and no rejected laws.

@lemone112
lemone112 merged commit 21aaa41 into main Sep 18, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant