Skip to content

docs: consolidate the product & technical gap baseline - #1040

Open
seonghobae wants to merge 10 commits into
mainfrom
feat/product-technical-gap-baseline-consolidation-20260901
Open

docs: consolidate the product & technical gap baseline#1040
seonghobae wants to merge 10 commits into
mainfrom
feat/product-technical-gap-baseline-consolidation-20260901

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

New docs/product-technical-gap-baseline.md tracking gap issues #946#953 against main@8dc74692, the ContextualWisdomLab/.github#1531 commercial-readiness blocker (0 pg-erd-cloud merges since 2026-08-20; central opencode-review fail-closed under CI-queue saturation), and this loop's stacked merge-ready PRs mapped to their issues:

Issue Increment PRs
#947 normalization / hot-partition assessment #1031#1032#1033#1035
#951 perf & capacity profiling #1036
#946 credential-provider boundary #1037
#948 snapshot lineage & promotion #1038
#950 deployment profiles #1039
#953 release hygiene #1024#1025

Supersedes/extends the blocked draft in PR #942 (which first introduces this file); reconcile whichever merges first. Docs-only — pytest -q tests/test_docstrings.py green. Blocked from merge by .github#1531.

🤖 Generated with Claude Code


Devin Review

Summary by CodeRabbit

  • 문서
    • 제품 상용화 기술 격차 기준 문서를 갱신했습니다.
    • 최신 통합 기준일을 2026년 9월 2일(UTC)로 업데이트했습니다.
    • 잔여 작업과 병합 대기 항목을 13건에서 16건으로 조정했습니다.
    • 이번 통합 주기의 증분 PR 목록과 병합 웨이브 순서를 갱신했습니다.
    • 유지보수 로그를 최신 상태로 정리했습니다.
    • 변경 사항을 Unreleased 변경 로그에 반영했습니다.

New docs/product-technical-gap-baseline.md — the single tracker for the
distance between pg-erd-cloud today and a defensible first commercial
release.

- Names the active commercial-readiness blocker: org CI incident
  ContextualWisdomLab/.github#1531 (0 pg-erd-cloud main merges since
  2026-08-20; 10 merge-ready loop PRs stacked and waiting).
- One section per open gap/epic issue #946-#953: Feature spec (summary) |
  Current state | Gap | This loop's increment PRs | Remaining increments |
  Status.
- Maps the loop's shipped increments to their issues: #1031/#1032/#1033/#1035
  (#947), #1036 (#951), #1037 (#946), #1038 (#948), #1039 (#950); #1024/#1025
  as release-hygiene prerequisites for #953.
- Cross-repo / ecosystem table (keyverse, contextual-orchestrator, wardnet,
  central .github; TEPP/fast-mlsirm noted as not consumed) + a status legend.

Supersedes and extends the draft in PR #942 (blocked by the incident); the
two reconcile when either merges. #949 / #952 / #953 sections are lighter
this pass (GitHub API was rate-limited during the read) and will be filled in
next.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY
@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 0cbfcb34-a7bf-470c-af8e-9ff1e027e328

📥 Commits

Reviewing files that changed from the base of the PR and between 2c30484 and 4609d03.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • docs/product-technical-gap-baseline.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • CHANGELOG.md
  • docs/product-technical-gap-baseline.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

iter28 기준으로 기술 격차 기준 문서를 갱신했습니다. 적체 PR 수를 16개로 수정하고, #1051, #1050, #1049, #1056의 증분 PR 정보와 잔여 작업을 반영했습니다. CHANGELOG.md의 증분 PR 목록도 갱신했습니다.

Changes

기술 격차 기준

Layer / File(s) Summary
기준 문서와 릴리스 맥락
docs/product-technical-gap-baseline.md, CHANGELOG.md
통합 날짜를 iter28로 갱신했습니다. 적체 PR 수를 16개로 수정했습니다. 병합 웨이브와 CHANGELOG의 증분 PR 목록에 #1056, #1051, #1050, #1049를 추가하고 순서를 정렬했습니다.
증분 PR과 잔여 작업
docs/product-technical-gap-baseline.md
#1051APP_SECRET 회전, #1050의 PROV-JSON 투영, #1049의 테넌트 권한 검사, #1056의 버전화 기준선 리포트를 증분 PR 목록에 추가했습니다. 관련 잔여 작업을 후속 배선, 영속 모델 계층, ORM 메타데이터 공급, CI 워크플로로 재구성했습니다.
유지보수 이력
docs/product-technical-gap-baseline.md
유지보수 로그를 iter28 기준으로 재작성했습니다. 최근 증분 PR과 이전 문서 정비 이력을 기록했습니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 4609d

This PR only consolidates documentation and updates the changelog; no actionable merge-blocking risk remains after normal checks and review.

🚥 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 PR 제목은 제품 및 기술 격차 기준 문서를 통합하는 주요 변경 사항을 정확하고 간결하게 설명합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/product-technical-gap-baseline-consolidation-20260901

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@devin-ai-integration devin-ai-integration 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.

Note

This report is out of date. Scroll down for Devin Review's latest report on this PR.

Devin Review found 2 potential issues.

Devin Review

Comment thread docs/product-technical-gap-baseline.md Outdated
Comment on lines +23 to +31
## Commercial-readiness bar

A buyer must be able to verify, from product-owned evidence, that: (1) schema
quality claims are backed by catalog or measured evidence, not heuristics;
(2) the deployment's isolation boundary is described accurately and enforced;
(3) large-schema behaviour has a published capacity envelope; (4) credential
lifecycle is auditable; (5) forward-engineering apply is governed with
rollback; (6) every release carries exact-head, migration, operability, and
supply-chain evidence.

@devin-ai-integration devin-ai-integration Bot Sep 1, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 Required research artifacts are absent

The substantive baseline adds academic citations without paper PDFs. Unavailable PDFs also lack links and redistribution notes required by AGENTS.md.

Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

coderabbitai[bot]

This comment was marked as resolved.

- #949: replace the placeholder with the issue's seven-part bounded
  decomposition (plan authority, sandbox runtime, live preflight provider,
  approval/authorization, apply worker, convergence/recovery, ops/evidence)
  and the mandatory safety invariants.
- #952: replace the placeholder with the three governed vertical workflows
  (reference-document attachment, grounded reversing spec, naruon
  projection) and the product boundary. Reconcile the contextual-
  orchestrator wording with the existing configuration-only
  /chat/completions integration in docs/llm-orchestrator-integration.md
  (CodeRabbit finding) — remaining work is governance (credential
  boundary, tenant context, discovery/routing/fallback delegation), not a
  missing transport.
- #953: replace the placeholder with the release-integration scope
  (PR-queue shaping, dependency backlog with per-item decisions, required
  release evidence) and list #1040/#1024/#1025 as its increments.
- #951: add #1041 (baseline harness) to the increment PRs; update the
  remaining increments.
- Fix the stacked-PR count/list mismatch (Devin + CodeRabbit finding):
  11 increment PRs + this document, with #942 called out separately.
- Add a References (APA 7th) section (Devin "research grounding absent"
  finding): AERA/APA/NCME 2014, Codd 1971, NIST SP 800-218, SLSA v1.2,
  PostgreSQL 18 DDL.

Docs-only; tests/test_docstrings.py green. Still blocked from merge by
ContextualWisdomLab/.github#1531.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY
@seonghobae

Copy link
Copy Markdown
Collaborator Author

Pushed cb762cd7 addressing the automated review:

Also filled the #949 and #953 sections from their issue bodies (they were placeholders), and added #1041 to the #951 increment list. Docs-only; tests/test_docstrings.py green. Still blocked from merge by ContextualWisdomLab/.github#1531.

@devin-ai-integration devin-ai-integration 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.

Note

This report is out of date. Scroll down for Devin Review's latest report on this PR.

Devin Review found 1 new potential issue.

Devin Review

Comment on lines +440 to +448
- **PR-queue shaping.** Capture the exact protected-`main` SHA, ruleset,
required checks, and every open PR's exact head. Classify each PR:
unique in-scope change / stack dependency / superseded-duplicate /
contaminated aggregate needing reconstruction / experiment-or-post-GA /
blocked by the org control-plane incident. Close duplicates with a link
to the canonical issue; never transfer stale-head review evidence.
Rebase bounded stacks in dependency order without force-pushing over
concurrent agent work. Refresh **this document** after each integration
wave. A release-cut branch/tag comes only from protected `main`.

@devin-ai-integration devin-ai-integration Bot Sep 1, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 Queue classification remains partial

The baseline requires every open PR's exact head and classification, but #1040 records only loop increments. Release evidence remains incomplete.

Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@seonghobae seonghobae added the documentation Improvements or additions to documentation label Sep 1, 2026 — with ChatGPT Codex Connector
- #951 section: add #1045 (repeat-run percentile aggregation via
  app/perf/baseline_stats.py -- aggregate_baseline runs run_baseline N
  times over the same seed and reduces wall_seconds/peak_bytes to
  min/max/mean/p50/p95/p99 with stdlib statistics.quantiles, no
  threshold). Drop the percentile item from "Remaining increments".
- Blocker section: 12 stacked increment PRs + this document; merge-wave
  order now #1036 -> #1041 -> #1045.
- Maintenance note + "Last consolidated" date bumped to iter18 / 2026-09-02.

Docs-only; tests/test_docstrings.py green. Still blocked from merge by
ContextualWisdomLab/.github#1531. (PR #1040 post-cb762cd7 bot review not
re-read this tick -- GitHub REST secondary rate limit on shared user
8172694; will check next tick.)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY
coderabbitai[bot]

This comment was marked as resolved.

- MD018: no prose line now starts with a bare #<number>; the merge-wave
  order moved into a fenced text block (CodeRabbit).
- Reference links: added the AERA/APA/NCME 2014 publisher page, the
  ISO/TS 25237:2017 catalogue link, and switched the normalization anchor
  to Codd (1970) CACM with a DOI (Devin "research grounding" / CodeRabbit
  "links or PDFs").
- "Last consolidated" set to 2026-09-01 UTC so it is not a future date
  relative to CI/reviewers (CodeRabbit).
- #953 section: state explicitly that this document classifies only the
  loop's own increments and that the full ~60-open-PR classification
  table is a not-yet-done #953 deliverable, deferred until the merge wave
  drains the stack (Devin "queue classification remains partial").
- Skipped the 13:09-13:12 findings (PR-count mismatch, orchestrator
  wording) -- already fixed in cb762cd.

Docs-only; tests/test_docstrings.py green. Still blocked from merge by
ContextualWisdomLab/.github#1531.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY
@seonghobae

Copy link
Copy Markdown
Collaborator Author

Pushed 45dce59c for the round-3 review:

Docs-only. Still blocked from merge by ContextualWisdomLab/.github#1531.

seonghobae and others added 2 commits September 2, 2026 03:49
…list

- #947 section: #1048 bullet -- assess_transitive_dependencies, the 3NF
  layer. Catalog-only non_key_reference_cluster is a structural
  precondition (inferred); a caller-declared FD raises
  transitive_dependency_via_declared_fd (declared) paired with a
  candidate_3nf_split proposal (proposed); FDs are never inferred from
  names. "Remaining increments" now scopes the open work to row-level FD
  discovery from table data (a profiling service).
- Blocker section: 13 stacked increment PRs; merge-wave #947 chain line is
  now #1031 -> #1032 -> #1033 -> #1035 -> #1048.
- Maintenance note + "Last consolidated" -> iter20. MD018-clean.

Docs-only; tests/test_docstrings.py green. No new PR #1040 bot review
since 45dce59 (org review queue stuck). Still blocked from merge by
ContextualWisdomLab/.github#1531.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY
- #948 section: #1050 bullet -- app/lineage/prov_projection.py
  to_prov_document, the pure W3C PROV-JSON projection of
  build_lineage_graph (entity per snapshot id incl. dangling parents,
  wasDerivedFrom per typed edge with pg:derivationKind, no new
  dependency). "Remaining increments" -> the PROV activity layer replaces
  the "PROV-JSON-LD projection" item.
- #950 section: #1049 bullet -- app/deploy/tenant_authority_check.py
  check_tenant_authority, the concrete check behind
  all_authority_objects_tenant_scoped. "Remaining increments" now folds
  the check into the Settings startup self-check and the repository-layer
  test.
- Blocker section: 15 stacked increment PRs; fenced merge-wave block adds
  #1038 -> #1050 and #1039 -> #1049.
- Maintenance note + "Last consolidated" -> iter22. MD018-clean.

Docs-only; tests/test_docstrings.py green. No new PR #1040 bot review
since 2c30484 (org review queue stuck; .github queue 1057). Still
blocked from merge by ContextualWisdomLab/.github#1531.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY
@seonghobae seonghobae added priority: medium Normal-priority or P2 work status: blocked Blocked by conflict, dependency, or required prerequisite type: docs Documentation, ADR, PRD, or technical writing labels Sep 1, 2026 — with ChatGPT Codex Connector
seonghobae and others added 2 commits September 2, 2026 12:29
- #951 section: #1056 bullet -- app/perf/baseline_report.py
  build_baseline_report, a versioned buyer-facing envelope around
  aggregate_baseline (report_version / generated_at / schema_fingerprint /
  summary with names+counts only / verbatim statistics). Mirrors the
  #1032 normalization-report envelope. "Remaining increments" trimmed.
- #946 section: backfill the #1051 bullet (the pure APP_SECRET
  dual-read/single-write rotation core -- dual_read_decrypt +
  plan_key_rotation, needs_key_recovery for undecryptable rows) which was
  shipped at iter22 but not recorded here. "Remaining increments" now
  separates the pure core (done) from the DB migration job (needs a PG
  fixture).
- Blocker section: 16 stacked increment PRs; fenced merge-wave block adds
  #1045 -> #1056 and #1037 -> #1051.
- Maintenance note + "Last consolidated" -> iter28 / 2026-09-02 UTC.
  MD018-clean.

Docs-only; tests/test_docstrings.py green. .github queue ~1417 (still
rising). Still blocked from merge by ContextualWisdomLab/.github#1531.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY
Gate still frozen (main@8dc74692; .github#1531 queue ~1822, rising).
iter32 gap-baseline consolidation: record PR #1057 (pure
build_release_manifest assembler, new app/release/ package) as the
#953 release-evidence increment. Stacked-PR count 16 -> 17; merge-wave
block gains a #1057 (#953) line before #1040; #953 "Remaining
increments" trimmed to SBOM / signed provenance / operability baseline
/ migration rehearsal / per-dependency decision table / open-PR
classification-of-record. CHANGELOG [Docs] bullet count 16 -> 17.
MD018-clean. Docs-only.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY

@devin-ai-integration devin-ai-integration 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.

Devin Review found 1 new potential issue.

Devin Review

Comment thread docs/product-technical-gap-baseline.md Outdated
Gate still frozen (main@8dc74692; .github#1531 queue oscillating
~1700-1900, no drainage). iter36 gap-baseline consolidation: record PR
#1060 (pure sign_waiver / verify_waiver_signature HMAC-SHA256
tamper-evidence pair) in the #947 "This loop's increment PRs" list.
Stacked-PR count 17 -> 18; #947 merge-wave chain extended to
#1048 -> #1060; #947 "Remaining increments" reworded (signing core
landed, persistence remains). CHANGELOG [Docs] bullet count 17 -> 18.
MD018-clean. Docs-only.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY

@devin-ai-integration devin-ai-integration 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.

Devin Review found 1 new potential issue.

Devin Review

Comment on lines +171 to +178
- **#1060** — `app/spec/waiver_record.py` (`sign_waiver` /
`verify_waiver_signature`): a pure, IO-free HMAC-SHA256 tamper-evidence
pair for assessment waivers. The canonical JSON folds the
signer / signed-at / key-id metadata in, so altering the metadata
invalidates the signature exactly as altering the waiver body does;
verification is constant-time. The caller supplies the secret key and it
is never stored, logged, or echoed into the record. Cites NIST FIPS
198-1 and RFC 8785.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 External capability claims need verification

PR #1060 is absent from this checkout, so its canonicalization, constant-time verification, and secret-handling claims need verification against that PR.

Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Gate still frozen (main@8dc74692; .github#1531 queue ~2100 and climbing
every tick). iter40 gap-baseline consolidation: record PR #1063 (pure
lockfile -> CycloneDX 1.6 parser) in the #953 "This loop's increment
PRs" list. Stacked-PR count 18 -> 19; #953 merge-wave chain extended to
#1057 -> #1063; #953 "Remaining increments" reworded (SBOM generator
landed, SBOM signing + manifest linkage + SLSA provenance remain).
CHANGELOG [Docs] bullet count 18 -> 19. MD018-clean. Docs-only.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SeQS8tSee5QVeyGpJ9SaY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation priority: medium Normal-priority or P2 work status: blocked Blocked by conflict, dependency, or required prerequisite type: docs Documentation, ADR, PRD, or technical writing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant