feat(core): мигрировать PairLabel на приватный appearance-граф (#307) - #310
Merged
Conversation
Production-путь PairLabel больше не собирает derived-поверхность вручную: компонент «opaque source + локальный контекст + объявленная альфа → exact encoded-sRGB8 source-over → derived surface → foreground occurrence» объявлен приватным appearance-графом (compile: валидация/канонизация/topo; evaluate: fail-closed bindings, единственный композитор — alpha::composite_over_srgb8, replayable-сертификат, trace-счётчики). Граф не знает клиентских имён. Старая ручная реализация заморожена как test-only differential oracle; матрица 5 семей × 4 режима × 6 фонов + property-тесты доказывают байт-идентичность, включая публичные типизированные отказы. Ложное ребро PairFill → PairLabel убрано из README/whitepaper/доков; UI-пол в тестах взят из SSOT Floor::AaUi без локальной копии и 1e-9; appearance.rs включён в mutation-скоуп. Public API/эмиссия/fingerprint не изменены (differential + полный workspace зелёные). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (11)
WalkthroughДобавлен приватный appearance-граф с типизированными декларациями, детерминированной компиляцией, точной source-over-композицией и сертификатами. Production-путь ChangesМиграция appearance-графа
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant PairLabel
participant AppearanceGraph
participant Alpha
participant HuedAnchor
PairLabel->>AppearanceGraph: evaluate bindings
AppearanceGraph->>Alpha: composite_over_srgb8
Alpha-->>AppearanceGraph: derived surface RGB
AppearanceGraph-->>PairLabel: resolved foreground occurrence
PairLabel->>HuedAnchor: resolve against derived surface
HuedAnchor-->>PairLabel: resolved PairLabel
Possibly related issues
Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
lemone112
marked this pull request as ready for review
July 12, 2026 18:44
This was referenced Jul 12, 2026
This was referenced Jul 16, 2026
This was referenced Jul 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #307. Owner: #298.
Root
Production
resolve_pair_labelвручную собирал derived-поверхность; физическая топология не была объявлена.Что сделано
appearance.rs, pub(crate)): атомарный compile (валидация → канонизация по typed ID → детерминированный topo), fail-closed evaluate (bindings, NaN/∞/α-домен через SSOT-валидатор), единственный композиторalpha::composite_over_srgb8, replayable-сертификат (α через to_bits), trace-счётчики. Клиентских имён в графе нет.resolve_pair_label— compatibility-адаптер над одним статическим компонентом (OnceLock); foreground решается из возвращённого occurrence-источника (resolve_hued_anchor_from_encoded_source).RED → GREEN
Структурный RED:
E0583 file not found for module appearance(intentional, воспроизведён до реализации). Все тесты RED-файла GREEN без ослабления.Proof ledger
appearance.rsдобавлен в mutation examine_globs.Public drift
Нет: goldens/fingerprint/WASM JSON/CSS vars/adaptive trace byte-identical (полный workspace, npm 105/105, release:verify, headless Chrome 12/12 — локально зелёные).
Docs
Убрано ложное ребро PairFill→PairLabel из README/whitepaper/semantic/config; verification-map получила graph-секцию; UI_FLOOR из SSOT (Floor::AaUi), 1e-9 удалён из затронутых утверждений.
Rollback
Revert одного squash-коммита; публичные байты не менялись.
🤖 Generated with Claude Code
Summary by CodeRabbit
Новые возможности
Исправления
Документация