Skip to content

Describe SpecDraft as the layer beneath SpecGraph - #803

Merged
SoundBlaster merged 1 commit into
mainfrom
codex/specdraft-layer-boundary
Oct 26, 2026
Merged

SoundBlaster merged 1 commit into
mainfrom
codex/specdraft-layer-boundary

Conversation

@SoundBlaster

Copy link
Copy Markdown
Member

Summary

  • Describe SpecDraft as the pre-canonical authoring layer beneath SpecGraph, from short notes and intent clarification to prepared specification changes.
  • Separate that proposed layer name from the existing SpecDraft / spec_draft promotion stage. This documentation PR targets main independently of Persist Intent roots and exact derivation with governed publication #800-802.

Motivation

  • The operator liked SpecDraft as the name of a lower layer and asked to describe it. The current wording risks confusing freely captured notes with a prepared specification draft.

Goals

  • Explain contents, responsibilities, Hypercode/Ontology roles and the handoff to SpecGraph with a simple pipeline.
  • Preserve current serialized terminology, authority, runtime behavior and historical review packets.

Changes

  • Add docs/specdraft_layer.md with the boundary, source-attribution model, naming source, current PoC limits and a proposed next walkthrough.
  • Add a synchronized DocC article and topic link; link the design note from conversation-note guidance and proposal-0045 runtime tracking.
  • Make no production code, canonical specification or proposal obligation changes. New SpecificationCore policy extraction is not applicable to this terminology-only change.

Spec Evidence

Spec-ID: SG-SPEC-0007, SG-SPEC-0008, SG-SPEC-0050, SG-SPEC-0051
Proposal-ID: 0045
Spec-Impact: docs-only
Spec-Rationale: Describe the operator-requested conceptual layer name using existing exploration/capture/promotion boundaries, without introducing a new semantic kind or gate.

Intent-Decision-Review: Not required: zero changed atoms; canonical 302 -> 302 and proposal 8 -> 8.

Validation

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

Commands run:

.venv/bin/python -B tools/python_quality.py
make docc-sync proposal-tracking-gate materialization-packet-check
make spec-evidence-gate intent-decision-review SPEC_EVIDENCE_BASE_REF=origin/main SPEC_EVIDENCE_HEAD_REF=HEAD
git diff --cached --check

Results:

  • All listed local checks passed. Three local article links and DocC topic targets were also checked directly.
  • No executable behavior changed; no new tests or broad runtime suite were needed. DocC synchronization was validated; a rendered documentation build was not run locally.

Risks / Notes

  • Backward compatibility impact: none; stored SpecDraft / spec_draft values are unchanged.
  • Migration/config changes required: none.
  • Known limitations: this is a design note for the layer boundary, not a claim that all authoring capabilities are integrated in a complete SpecDraft product. Deployment/package boundaries remain open.
  • CI/review pending at PR creation. No merge or canonical publication performed.

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

Separate the proposed layer name from the existing promotion stage, explain Hypercode and Ontology roles, and distinguish the implemented capture slice from the target authoring space.

Spec-ID: SG-SPEC-0007, SG-SPEC-0008, SG-SPEC-0050, SG-SPEC-0051

Proposal-ID: 0045

Spec-Impact: docs-only

Spec-Rationale: Document the operator-requested conceptual name and boundary without changing runtime behavior, canonical specs or serialized promotion values.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 25, 2026 •

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 ✅ Completed 2026-10-25T22:26:12.857767Z f65659b 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.

Comment thread Sources/SpecGraph/Documentation.docc/SpecDraft.md
@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: ddf10b48fe8c → f65659b4cf27
Profile: specgraph-intent-atoms-v1 (SHA-256 54caf075dafc)
Analyzer: 1.0.1 (SHA-256 aa7c646a25ea)

Proposal obligations · draft

Status: complete for declared fields
Count: 8 → 8 (+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.

@SoundBlaster

Copy link
Copy Markdown
Member Author

HyperReview

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

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

--- before.hc
+++ after.hc
@@ -1,2 +1,3 @@
 SpecGraph
+  SpecDraftLayer
   ConversationNotes

Выбранные связи · после

SpecDraftLayer:
  depends_on: "SpecDraftLayer → ConversationNotes"
  requires: "SpecDraftLayer → SpecGraph"
Пояснения, источники и ограничения

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

PR добавляет архитектурное описание SpecDraft как пространства авторского уточнения до канонического SpecGraph и связывает его с существующей PoC ConversationNotes. Изменённая документация уточняет границу: SpecDraft подготавливает ограниченные предложения, SpecGraph сохраняет принятые спецификации; существующий этап продвижения, одобрения и реализация не меняются. Разделение ответственности — документированная концепция, не свидетельство интегрированного продукта или нового исполнения.

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

− и + показывают удаление и добавление в соответствующей ветке проекции; смена родителя тоже выделена, даже если строка узла не изменилась.

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

Связи описаны отдельно от вложенности .hc; основания — в правой колонке.

Связь Что видно в источниках Основания
SpecDraftLayer → SpecGraph После; заявлено в источниках; обязательство границы. docs/specdraft_layer.md описывает границу полномочий: SpecDraft готовит ограниченные изменения для review/promotion, а SpecGraph применяет конкретное проверенное каноническое изменение. Это заявленная архитектурная граница, не наблюдение исполнения. specdraft_layer.md: SpecDraft, SpecGraph L1–3, SpecDraft, SpecGraph L6–9, SpecDraft L12–15, SpecGraph L14–17
SpecDraftLayer → ConversationNotes После; заявлено в источниках; зависимость. Новая design note прямо называет существующую Conversation Notes PoC одной из уже имеющихся частей авторской области, но уточняет, что она не образует полного интегрированного продукта. Связь является документированным размещением существующего компонента, не новой интеграцией. specdraft_layer.md: PoC L57–60, PoC L97–100; conversation_notes.md: PoC L1–3, PoC L6–9, PoC L15–18

Связи в Hypercode (.hcs)

Это неполные выборки связей из каждой версии. Отсутствие связи в одной из выборок не устанавливает её добавление или удаление. Пустой лист означает, что связи для этой версии не выбраны.

before.hcs

# Paired review context; no relationship recorded on this side.

after.hcs

SpecDraftLayer:
  # После; заявлено в источниках; зависимость. Новая design note прямо называет существующую Conversation Notes PoC одной из уже имеющихся частей авторской области, но уточняет, что она не образует полного интегрированного продукта. Связь является документированным размещением существующего компонента, не новой интеграцией.
  # Sources: src_7b28a8085dc355a3945a73318188b21be31d8d8b36a16ac4b0400000ac5be191, src_c5ad1c7b549b313174a32eae88d5d04b16939c9411f6dabef1d66ff72cb25cbc
  depends_on: "SpecDraftLayer → ConversationNotes"
  # После; заявлено в источниках; обязательство границы. docs/specdraft_layer.md описывает границу полномочий: SpecDraft готовит ограниченные изменения для review/promotion, а SpecGraph применяет конкретное проверенное каноническое изменение. Это заявленная архитектурная граница, не наблюдение исполнения.
  # Sources: src_7b28a8085dc355a3945a73318188b21be31d8d8b36a16ac4b0400000ac5be191
  requires: "SpecDraftLayer → SpecGraph"

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

  • SpecDraftLayer — До изменения эта ответственность описана как отсутствующая в предоставленных материалах; после добавлены SpecDraft.md и docs/specdraft_layer.md, определяющие SpecDraft как пространство формирования намерения до канонического продвижения. Это новый концептуальный слой, а не утверждение о новой реализации. Sources/SpecGraph/Documentation.docc/SpecDraft.md — после; docs/specdraft_layer.md — после

  • SpecGraph — Общая продуктовая ответственность SpecGraph сохраняется: документация уточняет, что SpecGraph удерживает принятые спецификации и их прослеживаемые связи, тогда как SpecDraft готовит изменения до существующей проверки и продвижения. В after добавлена ссылка <doc:SpecDraft>; документация явно сохраняет прежние контракты этапа SpecDraft и не заявляет изменения кода или рантайма. Sources/SpecGraph/Documentation.docc/SpecGraph.md — до / после

  • ConversationNotes — Ответственность ConversationNotes сохраняется как ограниченный захват заметок до выбора семантического вида. Изменение docs/conversation_notes.md добавляет явное размещение этой существующей PoC в более широкой авторской области SpecDraft и различает её с этапом продвижения SpecDraft; неизменные api.py и CLI в реестре unchanged_files не являются новой реализацией. docs/conversation_notes.md — до / после

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

PR #803: ddf10b48fe8c0c288cf5597a04313185a4879e95 → f65659b4cf278299a9fb79ecf64b1b6d565acf8f.

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

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

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

  • Содержимое двух изменённых файлов с null-путями скрыто политикой, поэтому их конкретный вклад в PR определить нельзя, хотя полный change_inventory сообщает об изменении.

  • Спецификация описывает следующий ручной walkthrough и handoff, но сами материалы не показывают новую реализацию перехода от заметки к каноническому изменению или завершённую интеграцию SpecDraft.

  • Пути tests/test_conversation_notes.py и tools/conversation_notes/api.py частично представлены как контекст и отмечены unchanged_files по полному blob; тесты из документации описывают проверки, но их выполнение в этой ревизии не наблюдалось.

  • Не предоставлены proposal 0045, SG-SPEC-0050/0051 и связанные определения продвижения; нельзя независимо сверить упомянутые обязательства и точный контракт handoff.

  • Пропущено: CONTRIBUTING.md — context_excerpted (после: 1, до: 1).

  • Пропущено: docs/product_workspace_graph_versioning_roadmap.md — input_byte_limit (после: 1, до: 1).

  • Пропущено: tests/test_conversation_notes.py — context_excerpted (после: 1, до: 1).

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

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

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

SpecDraftLayer

SpecGraph

ConversationNotes

Ок или не ок?

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

Снимок для f65659b4 · 2026-10-25T22:32:28Z (UTC).

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

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

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

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

Review gate: review thread.

@github-actions

Copy link
Copy Markdown

SpecificationMetrics · diagnostic PR measurement

Metric Base PR head (Δ)
Specifications (S) 119 119 (+0)
Remaining opportunities (U) 10246 10246 (+0)
S/U 0.0116143 0.0116143
Dead Specifications 0 0
Unknown Specifications 0 0

Collection: base complete, head complete.
Primary provisional: base False, head False.
Revisions: ddf10b48fe8c → f65659b4cf27; 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 e9b66f8 into main Oct 26, 2026
13 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