Skip to content

Clarify verifiability evidence boundaries in SG-SPEC-0021 - #810

Merged
SoundBlaster merged 1 commit into
mainfrom
spec/0021-verifiability-boundary
Oct 27, 2026
Merged

SoundBlaster merged 1 commit into
mainfrom
spec/0021-verifiability-boundary

Conversation

@SoundBlaster

Copy link
Copy Markdown
Member

Summary

Motivation

Declared links, source resolution, execution and recorded outcomes have distinct meanings. The original candidate also needed to preserve the difference between unknown input and a known negative/zero, and between provenance binding and source authenticity.

Goals

  • Propose these meanings in the existing Specification Verifiability family without adding input classes or changing lifecycle.
  • SVC qualification, formulas, thresholds, direct derived-input admission and runtime activation remain separate work.

Changes

  • Apply the v2 semantic delta and refresh updated_at; preserve acceptance criteria, family roles, subject/input classes, invariants and lifecycle fields.
  • Update proposal 0226, its source draft, existing tracking and DocC. Preserve historical candidates/review records unchanged.
  • Record the operator's “Подготовь” as preparation authority, without claiming final semantic approval.

Spec Evidence

Spec-ID: SG-SPEC-0021
Proposal-ID: 0226
Spec-Impact: behavior
Spec-Rationale: Clarifies canonical family semantics for human review; runtime policies, metric values and profile activation are unchanged. Existing C1/C2a providers supply bounded implementation evidence; this does not claim a universal evaluator or introduce new SpecificationCore classes.

Intent-Decision-Review: Not required by the current trigger: canonical atoms 302 → 302, proposal obligations 12 → 12, zero modified counted atoms. The five boundary_notes are outside the counter profile; this is a real semantic clarification despite the zero counted delta. Semantic review remains required.

Validation

  • Tests added/updated for changed behavior
  • Local checks passed

Commands run:

.venv/bin/python -B tools/spec_yaml_format.py specs/nodes/SG-SPEC-0021.yaml
.venv/bin/python -B tools/spec_yaml_lint.py specs/nodes/SG-SPEC-0021.yaml
.venv/bin/python -B -m pytest -q tests/test_evidence_provider.py tests/test_publication_execution_provider.py tests/test_legacy_verifiability.py
.venv/bin/python -B tools/python_quality.py
make docc-sync proposal-tracking-gate
make spec-evidence-gate intent-decision-review materialization-packet-check
git diff --cached --check

Results:

  • 103 existing provider/legacy-calculation cases passed. No runtime source changes or new tests were needed.
  • Listed quality and gates passed. Intent review reports not_required, semantic_approval: false.
  • Parsed comparison confirms the exact reviewed v2 semantic delta plus updated_at; unrelated registry entries and historical review artifacts are unchanged.

Risks / Notes

  • Backward compatibility impact: no runtime, artifact-schema, scoring or CLI change. This PR proposes a canonical semantic clarification.
  • Migration/config changes required: none.
  • Known limitations: current intent counting excludes these notes; passing gates do not approve their meaning. No archived gate replay, model execution, hosted inference or canonical writer publication occurred.

Checklist

  • PR title clearly describes the change
  • Scope is focused and minimal
  • Documentation updated (or N/A)
  • Workflow/artifact changes distinguish presence from readiness/status
  • Consumers prefer authoritative repaired/promoted/latest artifacts where relevant
  • Temporary or intermediate paths are scoped to the current run/task where relevant
  • No secrets or sensitive data added

Spec-ID: SG-SPEC-0021
Proposal-ID: 0226
Spec-Impact: behavior
Spec-Rationale: Prepare the reviewed v2 semantic clarification for the canonical metric family while preserving admissible inputs, lifecycle, runtime profiles and scoring behavior.
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review 🔄 Running since 2026-10-27T10:33:22.347624Z adde43c PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@SoundBlaster

Copy link
Copy Markdown
Member Author

HyperReview

Эскиз по исходникам · adde43c6

Состав · без изменений в проекции

DerivedMetricFamilyBoundary
Пояснения, источники и ограничения

Суть изменения

PR добавляет к SG-SPEC-0021 пять семантических уточнений в заметки о границах и пояснениях к критериям приёмки; также обновляет дату изменения. Исполняемый код в представленных изменённых записях не показан. Критерии приёмки, роли семейств, классы входов и инварианты сохраняются. Документация уточняет, что изменение подготовлено для человеческого рассмотрения: оно не означает окончательного одобрения, активации SVC-профиля или допуска производных данных напрямую. Неизменённые спецификации и прежние сведения о провайдерах дают контекст, но не становятся новыми компонентами этого PR.

Интерпретация выбранных исходников; порядок узлов не означает порядок выполнения.

Связи и основания

Связи не сформированы: Полезная связь между уточняемой границей SG-SPEC-0021 и другими владельцами не включена: записи перечисляют SG-SPEC-0003 и SG-SPEC-0017 как зависимости, но доступное свидетельство не устанавливает, что именно зависимость означает для новой формулировки. Архитектура провайдеров из неизменённой документации относится к отдельному контексту и не подтверждает связь реализации с изменённой спецификацией.

Ответственности и источники

  • DerivedMetricFamilyBoundary — В PR уточнена семантическая граница производных метрик в SG-SPEC-0021: добавлены пояснения к boundary_notes и acceptance_evidence о том, что цитирование наблюдений не делает их каноническими данными и не добавляет новый класс входов; известный нулевой результат допустим только по выбранному профилю. Семейные роли, классы входов, критерии, инварианты и жизненный цикл сохранены. Корневой SG-SPEC-0001 и SG-SPEC-0003 относятся к другим обязанностям; этот узкий срез не переименовывает и не переносит их роли. Документация отдельно сообщает о подготовке уточнения на рассмотрение, без семантического одобрения или активации профиля. specs/nodes/SG-SPEC-0021.yaml — до / после

Границы анализа

PR #810: 8945b021c49fbc08f50da8b93db9ba53d530e4d8 → adde43c61f11ade99dff2dd3b754820e1a853121.

Исходников в анализе: 57; пропущено: 10.

Компилятор проверил структуру Hypercode и ссылки. Соответствие интерпретации коду и поведение программы этим не доказаны. Анализ ограничен предоставленными исходниками и фрагментами контекста; выполнение программы не наблюдалось.

  • Конфигурация: specs/nodes/SG-SPEC-0001.yaml; after; охват partial; фрагментов 8. L5–7: configuration_context_omitted; L14–15: configuration_context_omitted; L27–27: configuration_context_omitted; L43–44: configuration_context_omitted; L56–56: configuration_context_omitted; L69–72: configuration_context_omitted; L77–78: configuration_context_omitted; L85–708: configuration_context_omitted; ещё 59 диапазонов

  • Конфигурация: specs/nodes/SG-SPEC-0001.yaml; before; охват partial; фрагментов 8. L5–7: configuration_context_omitted; L14–15: configuration_context_omitted; L27–27: configuration_context_omitted; L43–44: configuration_context_omitted; L56–56: configuration_context_omitted; L69–72: configuration_context_omitted; L77–121: configuration_context_omitted; L79–84: configuration_excerpt_limit; ещё 59 диапазонов

  • Конфигурация: specs/nodes/SG-SPEC-0003.yaml; after; охват partial; фрагментов 7. L5–7: configuration_context_omitted; L24–24: configuration_context_omitted; L30–30: configuration_context_omitted; L36–43: configuration_context_omitted; L48–48: configuration_context_omitted; L52–53: configuration_context_omitted; L58–426: configuration_context_omitted; L59–62: configuration_excerpt_limit; ещё 27 диапазонов

  • Конфигурация: specs/nodes/SG-SPEC-0003.yaml; before; охват partial; фрагментов 8. L5–7: configuration_context_omitted; L24–24: configuration_context_omitted; L30–30: configuration_context_omitted; L36–43: configuration_context_omitted; L48–48: configuration_context_omitted; L52–53: configuration_context_omitted; L58–58: configuration_context_omitted; L63–426: configuration_context_omitted; ещё 27 диапазонов

  • Конфигурация: specs/nodes/SG-SPEC-0017.yaml; after / before; охват partial; фрагментов 0. L1–270: configuration_context_omitted; L1–270: configuration_excerpt_limit

  • Конфигурация: specs/nodes/SG-SPEC-0021.yaml; after; охват partial; фрагментов 8. L5–7: configuration_context_omitted; L25–55: configuration_context_omitted; L60–73: configuration_context_omitted; L79–79: configuration_context_omitted; L83–88: configuration_context_omitted; L92–105: configuration_context_omitted; L109–113: configuration_context_omitted; L118–424: configuration_context_omitted; ещё 25 диапазонов

  • Конфигурация: specs/nodes/SG-SPEC-0021.yaml; before; охват partial; фрагментов 8. L5–7: configuration_context_omitted; L25–55: configuration_context_omitted; L60–70: configuration_context_omitted; L76–76: configuration_context_omitted; L80–85: configuration_context_omitted; L89–102: configuration_context_omitted; L106–110: configuration_context_omitted; L115–403: configuration_context_omitted; ещё 23 диапазонов

  • Конфигурация: specs/nodes/SG-SPEC-0063.yaml; after / before; охват partial; фрагментов 0. L1–242: configuration_context_omitted; L1–242: configuration_excerpt_limit

  • Конфигурация: specs/nodes/SG-SPEC-0071.yaml; after; охват partial; фрагментов 0.

  • Конфигурация: specs/nodes/SG-SPEC-0071.yaml; before; охват partial; фрагментов 0. L1–161: configuration_context_omitted; L1–161: configuration_excerpt_limit

  • Конфигурация: tools/feature_passports/static-publication-bindings.json; after / before; охват complete; фрагментов 1.

Неизменённых файлов контекста по Git blob: 4. Их фрагменты до и после могут различаться охватом.

  • Содержимое null-путём изменённой записи в change_inventory скрыто; его влияние нельзя описать. Доступные фрагменты SG-SPEC-0021 показывают часть дельты и прежние/новые роли и классы входов, но не полный diff, включая все пять уточнений.

  • SG-SPEC-0017, SG-SPEC-0063 и SG-SPEC-0071 доступны только как усечённые или пустые фрагменты в конфигурационном контексте; их полные определения и возможное отношение к уточнению нельзя оценить по этим выдержкам.

  • tools/supervisor.py и файлы обзора восстановления/кандидата упомянуты, но не представлены как исходный код или полное содержимое. Нельзя независимо проверить подготовку, семантическое одобрение или выполнение; представленные материалы прямо характеризуют предложение как ожидающее рассмотрения.

  • Проверки соответствия полной спецификации, тесты целевой реализации и выполнение не наблюдались. Описание свидетельствует о предполагаемой семантике документации, а не о поведении системы.

  • Связи не сформированы: Полезная связь между уточняемой границей SG-SPEC-0021 и другими владельцами не включена: записи перечисляют SG-SPEC-0003 и SG-SPEC-0017 как зависимости, но доступное свидетельство не устанавливает, что именно зависимость означает для новой формулировки. Архитектура провайдеров из неизменённой документации относится к отдельному контексту и не подтверждает связь реализации с изменённой спецификацией.

  • Пропущено: specs/nodes/SG-SPEC-0017.yaml — configuration_context_omitted (после: 1, до: 1).

  • Пропущено: specs/nodes/SG-SPEC-0063.yaml — configuration_context_omitted (после: 1, до: 1).

  • Пропущено: specs/nodes/SG-SPEC-0071.yaml — incomplete_pair (после: 1); configuration_context_omitted (до: 1).

  • Пропущено: tools/supervisor.py — input_byte_limit (после: 1, до: 1).

  • Пропущено: tools/intent_decision_review/report.py — context_excerpted (до: 1).

  • Пропущено: путь скрыт политикой — unsupported_format (после: 1).

Точные диапазоны источников по узлам

DerivedMetricFamilyBoundary

Ок или не ок?

CI · результаты проверок

Снимок для adde43c6 · 2026-10-27T10:38:00Z (UTC).

Результат check-run не доказывает выполнение конкретного теста, полноту покрытия или соответствие архитектуре.

Проверка Статус Результат
Deploy landing page to static host completed skipped
Deploy bundle to static host completed skipped
deploy completed skipped
Prepare case-sensitive redirect artifact completed skipped
Build static artifact bundle completed success
publication-diagnostic-compatibility (3.10) completed success
spec-evidence completed success
registered-rule-reuse completed success
test in_progress —
publication-diagnostic-compatibility (3.14) completed success
markdown-links completed success
Build DocC technical surface completed success

Снимок неполный: показано не более 12 проверок.

Отсутствие, ожидание или сбой CI не блокируют архитектурный обзор.

Review gate: review thread.

@github-actions

Copy link
Copy Markdown

Intent Atoms · v1

Scope: specification YAML in specs/nodes

Status: complete
Count: 302 → 302 (+0)
Diff: +0 added, −0 removed, 0 modified
Revisions: 8945b021c49f → adde43c61f11
Profile: specgraph-intent-atoms-v1 (SHA-256 54caf075dafc)
Analyzer: 1.0.1 (SHA-256 aa7c646a25ea)

Proposal obligations · draft

Status: complete for declared fields
Count: 12 → 12 (+0)
Diff: +0 added, −0 removed, 0 modified
Coverage: explicit YAML declarations in docs/proposals; unannotated Markdown is not assessed.
Draft counts are separate from specification counts; they do not establish review, approval or canonical promotion.

Informational only; this report does not gate merge readiness.

@github-actions

Copy link
Copy Markdown

SpecificationMetrics · diagnostic PR measurement

Metric Base PR head (Δ)
Specifications (S) 125 125 (+0)
Remaining opportunities (U) 10296 10296 (+0)
S/U 0.0121406 0.0121406
Dead Specifications 0 0
Unknown Specifications 0 0

Collection: base complete, head complete.
Primary provisional: base False, head False.
Revisions: 8945b021c49f → adde43c61f11; contract 943b09cbbe20.
Base diagnostics: none reported.
Head diagnostics: none reported.

  • Python CC / Cog: cc_sum +0; cc_max +0; cog_sum +0; cog_max +0; sloc +0
  • Clone pairs / duplicate lines / tokens: clone_pairs +0; duplicate_lines +0; duplicate_tokens +0

Scope: files assigned application by the manifest; tests/ is test, and the comment renderer is framework.
Informational only. Counts and metrics do not decide eligibility, correctness, or merge readiness.
Collection run
Detailed JSON reports and counting contract
Artifact presence does not imply a complete measurement; inspect report statuses and diagnostics. Downloads require GitHub access and expire with artifact retention.

@SoundBlaster
SoundBlaster merged commit b4d0f25 into main Oct 27, 2026
14 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