Skip to content

refactor!: C4b — excise the explicit-feasibility capability - #341

Merged
lemone112 merged 2 commits into
mainfrom
agent/c4b-explicit-feasibility-excision
Jul 17, 2026
Merged

refactor!: C4b — excise the explicit-feasibility capability#341
lemone112 merged 2 commits into
mainfrom
agent/c4b-explicit-feasibility-excision

Conversation

@lemone112

@lemone112 lemone112 commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Roadmap §16 C4b. DRAFT: CI-раунд подтверждает байт-идентичность обеих WASM-ролей (compiler резолвит core без фичи со времён #339, runtime её никогда не имел) — бюджет не должен двигаться; затем undraft.

  • Вырезан client-declared explicit конечный домен: модуль, фича (default = ["wcag22-feasibility"]), candidate-варианты ошибок, cfg-обвязка ядра, 8 cfg-тестов, интеграционный таргет, identity-артефакт, python-оракул и его CI-шаг.
  • Анти-воскрешение ужесточено: любой токен "wcag22-explicit" в деревьях потребителей — отказ CI (фичи больше не существует).
  • Neutral feasibility, exact evaluateWcag22 и Q55-доказательства нетронуты (негативные контроли зелёные).
  • Гейты: workspace 0 failed, clippy/rustdoc/fmt/MSRV чисто, npm 185/185, tsc чисто.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Изменения

    • Удалена поддержка явной оценки выполнимости WCAG 2.2 для клиентских наборов цветовых кандидатов.
    • По умолчанию доступна только проверка выполнимости на нейтральных осях.
    • Удалены связанные публичные интерфейсы, примеры и контракты.
  • Документация

    • Обновлено описание доступной проверки WCAG 2.2 и её ограничений.
  • Тесты

    • CI-проверки и тестовые сценарии адаптированы к обновлённому набору возможностей.

The client-declared explicit finite domain was the second rung of the
parallel WCAG product line (root-cause map §15). With the selection/atomic
operation gone (#339), the explicit-feasibility module had no consumer
left outside its own tests. Removed leaf-first with zero shims; neutral
feasibility, the exact evaluateWcag22 evaluator and the Q55 proofs stay.

Removed:
- core: wcag22_feasibility/explicit.rs, the wcag22-explicit-feasibility
  feature (defaults are now exactly ["wcag22-feasibility"]), the three
  candidate InvalidRequestV1 variants and their Display arms, the
  cfg-gated kernel plumbing (write_feasible_candidate, VariablePackingV1,
  PackedDecisionStorage::into_bytes), eight cfg-gated tests, the explicit
  integration test target and its identity contract artifact;
- scripts/verify_wcag22_explicit_feasibility_identity.py and its CI step;
- ci.yml capability projection: core defaults assertion narrowed; the
  anti-resurrection guards now reject ANY "wcag22-explicit" token in
  consumer/compiler feature trees (the feature no longer exists at all);
- core README documents one registered input; the explicit example and
  its silently-dead cfg-gated doctest are gone.

Gates: workspace 0 failed, clippy -D warnings clean, rustdoc -D warnings
clean, fmt clean, MSRV 1.85 clean, npm 185/185, tsc clean.

Compiler wasm is expected byte-identical (the role has resolved core
without the feature since #339) — the draft CI round verifies; no budget
change anticipated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 6a03ea89-031c-480a-bfeb-4ef45ffcc4fd

📥 Commits

Reviewing files that changed from the base of the PR and between e36da60 and f1a0e13.

📒 Files selected for processing (10)
  • .github/workflows/ci.yml
  • crates/labcolors-core/Cargo.toml
  • crates/labcolors-core/README.md
  • crates/labcolors-core/contracts/wcag22-explicit-feasibility-identity-v1.json
  • crates/labcolors-core/src/wcag22_feasibility.rs
  • crates/labcolors-core/src/wcag22_feasibility/explicit.rs
  • crates/labcolors-core/src/wcag22_feasibility_tests.rs
  • crates/labcolors-core/tests/wcag22_explicit_feasibility.rs
  • packages/colors/test/release-contract.test.mjs
  • scripts/verify_wcag22_explicit_feasibility_identity.py
💤 Files with no reviewable changes (5)
  • crates/labcolors-core/contracts/wcag22-explicit-feasibility-identity-v1.json
  • crates/labcolors-core/tests/wcag22_explicit_feasibility.rs
  • scripts/verify_wcag22_explicit_feasibility_identity.py
  • crates/labcolors-core/src/wcag22_feasibility/explicit.rs
  • crates/labcolors-core/src/wcag22_feasibility_tests.rs

Walkthrough

Changes

PR удаляет explicit WCAG 2.2 feasibility из labcolors-core: feature, API, упаковку, identity-контракт, тесты и verifier. Default capability теперь содержит только wcag22-feasibility, а CI и release-contract проверки запрещают wcag22-explicit.

Удаление explicit feasibility

Layer / File(s) Summary
Контракт и реализация Core
crates/labcolors-core/Cargo.toml, crates/labcolors-core/src/wcag22_feasibility.rs, crates/labcolors-core/src/wcag22_feasibility/explicit.rs
Default feature ограничен wcag22-feasibility; explicit API, варианты ошибок, packed-форматы и sealed evidence удалены.
Тесты и документация
crates/labcolors-core/src/wcag22_feasibility_tests.rs, crates/labcolors-core/tests/wcag22_explicit_feasibility.rs, crates/labcolors-core/README.md
Удалены explicit-тесты и пример, а документация описывает только нейтральную feasibility-модель.
Проверки capability-графа
.github/workflows/ci.yml, packages/colors/test/release-contract.test.mjs, scripts/verify_wcag22_explicit_feasibility_identity.py, crates/labcolors-core/contracts/wcag22-explicit-feasibility-identity-v1.json
Проверки ожидают единственный default capability и запрещают wcag22-explicit; identity verifier и контракт удалены.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Заголовок точно отражает основное изменение: удаление explicit-feasibility capability в рамках C4b.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/c4b-explicit-feasibility-excision

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

@lemone112

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

…cost-model sentence

- ci.yml runtime forbidden-list uses the same broad 'wcag22-explicit' token
  as the consumer/compiler guards (the narrow deleted-feature string could
  never fire);
- core README restores the cost-model sentence in its neutral form: the
  C×E formula does not mask declaration scanning, ID-byte relation sorting,
  adjacency sorting and linear canonical hashing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lemone112
lemone112 marked this pull request as ready for review July 17, 2026 12:51
@lemone112

Copy link
Copy Markdown
Collaborator Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@lemone112
lemone112 merged commit 9cb9833 into main Jul 17, 2026
10 checks passed
@lemone112
lemone112 deleted the agent/c4b-explicit-feasibility-excision branch July 17, 2026 12:55
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