Skip to content

docs: define TEPP product completion and technical gap baseline - #164

Merged
seonghobae merged 57 commits into
mainfrom
feat/product-technical-gap-baseline
Aug 24, 2026
Merged

docs: define TEPP product completion and technical gap baseline#164
seonghobae merged 57 commits into
mainfrom
feat/product-technical-gap-baseline

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Operator outcome

Adds and expands docs/product-technical-gap-baseline.md as TEPP's single live operator-gap and release-readiness register. The document distinguishes protected-main capability from open-PR work, records the exact queue scale bounded to protected-main SHA c45be17a9dbce95ef81cee230e9d128abc7160ac, maps every major product vertical to a measurable issue, and defines a dependency-aware route to a supported release.

TEPP is not a purchase catalog. This head names operator-visible gaps rather than Buyer language.

Verification

  • python3 -m unittest tests.quality.test_product_technical_gap_baseline -q
  • Documentation validator requires dated UTC snapshot, 40-character protected-main SHA, exact-head inventory matching the declared open-PR count, and operator-gap closure evidence.

Do not merge until the unchanged exact head has required checks and two independent approvals (ruleset 18156473). Do not self-approve. Predecessor-head Checks are not merge evidence.

Summary by CodeRabbit

  • 문서화

    • 제품·기술 격차 기준선 문서를 추가하고 문서 맵에 연결했습니다.
    • 최신 스냅샷, 보호된 메인 기준, PR 상태, 전달 순서와 운영자 관점을 반영했습니다.
    • 라이브 루프백 리스너의 동작 및 제한 사항을 기록했습니다.
  • 품질 개선

    • 기준선의 필수 구조, 스냅샷, 커밋, PR 인벤토리 및 종료 근거를 자동 검증합니다.
    • 잘못된 구현 상태 표기와 인벤토리 불일치를 감지합니다.
  • 정리

    • 일부 문서의 불필요한 후행 공백을 제거했습니다.

@coderabbitai

coderabbitai Bot commented Aug 20, 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: Pro Plus

Run ID: d73498a7-3936-40d0-8c4e-a7850d2f5a9d

📥 Commits

Reviewing files that changed from the base of the PR and between 2676a5b and 5790bd0.

📒 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

제품·기술 격차 기준선을 2026-08-23T17:59:26Z GitHub 스냅샷에 맞게 갱신했다. 문서 색인과 검증 스크립트를 업데이트했다. 기준선 검증 테스트를 추가했다.

Changes

제품·기술 격차 기준선

Layer / File(s) Summary
기준선 문서와 완료 계약
docs/product-technical-gap-baseline.md, CHANGELOG.md, docs/adr/0011-standalone-modular-msa-boundary.md, docs/connectors/naruon-artifact-consumer.md
기준선을 최신 스냅샷, 보호된 main SHA, 101개 열린 PR, 32개 초안 PR 및 exact-head 인벤토리에 맞게 갱신했다. 운영자 격차와 psychometric 스택 범위도 갱신했다. 변경 이력과 문서의 후행 공백을 정리했다.
문서 색인과 검증 등록
DOCUMENTATION.md, scripts/validate_documentation.py
기준선을 문서 맵과 필수 파일 목록에 등록했다. PRODUCT_TECHNICAL_GAP_BASELINE 상수를 추가했다. 기준선의 스냅샷, SHA, 종료 근거, PR 인벤토리, 집계 수 및 queued Checks 표현을 검증하고 main()에서 실행한다.
기준선 검증 테스트
tests/quality/test_product_technical_gap_baseline.py
필수 파일, canonical 링크, 구조, 메타데이터, 종료 근거, exact-head 인벤토리 및 PR 수 일치를 검증하는 테스트를 추가했다. queued Checksimplemented-main으로 승격하는 단일 행과 줄바꿈 표현을 거부한다.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: 🟡 Moderate · up to 5790b

The documentation validator can accept an invalid protected-main readiness claim when an unrelated negative condition is present, which could make the release-readiness register report work as implemented when it is not. Merge should wait for this validation issue to be fixed or explicitly accepted by the owner.

Sequence Diagram(s)

sequenceDiagram
  participant main
  participant Validator as validate_product_technical_gap_baseline
  participant Baseline as product-technical-gap-baseline.md
  main->>Validator: 기준선 검증 실행
  Validator->>Baseline: 메타데이터와 인벤토리 읽기
  Baseline-->>Validator: 기준선 내용 반환
  Validator-->>main: 검증 결과 또는 AssertionError
Loading
🚥 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 제목은 TEPP 제품 완료 기준과 기술 갭 기준선을 정의하는 주요 변경 사항을 명확하게 요약합니다.
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 files. (2 skipped: 2 unsupported.)
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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/product-technical-gap-baseline

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.

@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent review exact current HEAD b613ec3. Verify that the live gap baseline accurately separates protected-main maturity from active PR state, preserves PR stack order and issue #156 acceptance criteria, and keeps Figma/Storybook deferred only for the current headless slice. Re-check documentation/quality contracts on this exact SHA. Approve only from exact-head evidence; do not use COPILOT_GITHUB_TOKEN or bypass protected checks.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Refreshed the live baseline at 7a3a53e5ccef06c60146671bd96eaec381f8702b.

The snapshot is now 2026-08-20 18:57 KST and records current heads for #62, #115, #144, #157, and #159, adds #164 to the active queue, and replaces stale numeric check counts with qualitative exact-head evidence so queued Checks cannot be presented as passes. The stack and issue #156 acceptance sequence remain unchanged.

Verification: documentation, workspace-contract, docstring, and diff checks passed. Please review this exact head and refresh the required Checks.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Follow-up at exact head 294e120: the live queue table now records PR #144 as draft, so it is not presented as merge-ready before its owner marks it ready for review. Documentation validation and diff checks pass.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Refreshed exact-head baseline at a1ab6ce (2026-08-20 19:19 KST). The live queue now includes PR #61 at 8ebbc04 and PR #58 at e98ada4, both conflict-resolved and awaiting current Checks plus independent review. Documentation validation and diff checks passed.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Baseline refresh at current PR head ad6c2590ced21d579b49c98fa83efc0b92d9a05f.

  • Snapshot refreshed to 2026-08-20 19:27 KST.
  • Recorded PR feat(corpus): treat NFC/NFD bodies as split leakage #59 at exact head 43bf6cf0d0a15e105fcfe6309657403d0b9cf76f after its normal protected-main conflict resolution and local verification.
  • Corrected this PR's recorded head to a1ab6cee5112e778d28439f65c82ca7ce2172b1e.
  • Documentation validation and git diff --check pass.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Refreshed this baseline at exact current PR HEAD 771f3436375ad38f70ce4b5df4c501e36fffdee9 after PR #49 moved to 199ed6c3f7bacf5193bd852a7fe58c13a633d709. The snapshot is now 2026-08-20 19:44 KST; PR #49 is recorded with its current main base, review state, queued required checks, and posterior ESEM delivery role. Documentation validation and diff checks passed.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Refreshed the buyer-gap baseline at exact current head 83ebbb9dc919f116ee0cce4e0faea3f38d052d7c after PR #50 advanced to 2a29e2496409b5ab411eed5f045f89d52a24abcf. Snapshot is 2026-08-20 20:01 KST; PR #50 now records the branch-coverage repair and queued current-head Checks. Documentation validation and diff checks pass.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Refreshed the live baseline at exact head 6ce5375dba937c59b00b82e64c332b1b515b3932.

Please re-run current-head protected Checks and obtain the qualifying independent approval before merge.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Current-head baseline refresh: cfc4570aaf7c4a3e8b595a30dcde44b284aad148

The baseline now records PR #57 at exact head 14014b7b7a758605b06817004e066043a3f14cca and preserves the newer remote-agent heads for #158/#159. Documentation validation and diff checks pass; no force push or bypass was used.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Baseline refresh at exact HEAD 36c1845:

@seonghobae

Copy link
Copy Markdown
Contributor Author

Current-head baseline refresh: 00ace4a9f56ed31d70266be26474b3fac1e3ab93. The live register now records the exact #164 head and the concurrently advanced #157 head (0cb9ff6). Workspace, docstring, documentation, and diff validators pass. Hosted required Checks are queued for this exact head; the PR still has no qualifying independent approval, so no merge or protection bypass is appropriate.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Live baseline refresh at current HEAD 2dc0006001e11737dd581d5f4c24b19eead33686: the queue now records full current head/base SHAs, draft/dirty state, queued checks, and the two known coverage failures on #58 plus the pinned-nightly failure on #49. Documentation, workspace, docstring, and diff validators pass. OpenCode review was dispatched against this exact base/head pair; merge remains deferred because required checks are not complete and no qualifying independent approval is present.

coderabbitai[bot]

This comment was marked as resolved.

Bind GAP current-head SHAs to the 2026-08-23T17:59:26Z REST inventory,
including unique-fold coverage on #49 and stacked drafts #195/#196.
Queued Checks remain off implemented-main.
An unrelated `not` in `queued Checks are not required; this PR is
implemented-main` was treated as negation. Only never/do not/does not/
cannot/must not plus promote/treat/make/mean licenses the span.
Bind GAP current-head SHAs to the 2026-08-23T18:48:36Z REST inventory.
#49 unique-fold nightly is green on dd6cf43 and is not implemented-main.
Queued Checks remain off protected-main.
devin-ai-integration[bot]

This comment was marked as resolved.

Bind GAP current-head SHAs to the 2026-08-23T19:48:22Z REST inventory.
#49 unique-fold nightly remains green on dd6cf43 and is not
implemented-main. Queued Checks remain off protected-main.
devin-ai-integration[bot]

This comment was marked as resolved.

Bind GAP-005 to #201 5344729 as a first span-unit slice only, not
concept alignment and not implemented-main. Queued Checks remain off
protected-main.
Bind GAP-005 to the RFC 5646-once citation head and include stacked
drafts #202#204. Queued Checks remain off implemented-main.
devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae
seonghobae enabled auto-merge (squash) August 24, 2026 00:55
@opencode-agent
opencode-agent Bot disabled auto-merge August 24, 2026 01:00
Replace the fixed-window denial regex with sentence-scoped negation
governance: a claim passes only when a negation cue directly governs a
promotion verb inside the same sentence and no adversative conjunction
separates that pair from the maturity assertion. Honest wordings whose
negation precedes the phrase are accepted, while unrelated negated
clauses joined by 'but' can no longer license an implemented-main claim.
@seonghobae
seonghobae enabled auto-merge (squash) August 24, 2026 04:04
devin-ai-integration[bot]

This comment was marked as resolved.

@github-actions
github-actions Bot disabled auto-merge August 24, 2026 04:32
Eight new draft PRs opened in the Driver-recovery psychometric series
since the last snapshot. Protected-main SHA and non-draft count (70)
are unchanged -- no new mergeable work landed, this is a pure register
refresh.
devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Maintainer Verification — exact head b52eb347e03cbc3613b57af83e02b6156c8434ef\n\n- Scope: refresh the canonical live product/technical gap register from 118 open PRs (48 Draft, 70 ready, 12 open product Issues) and add repository-owned pytest import configuration (pyproject.toml).\n- Exact-head local verification: documentation validator, workspace contract, Rust documentation contract, Python quality suite (102 tests; 100% statement/branch coverage), focused baseline pytest (13 passed), format, Rust 1.97.1 check/test, clippy, cargo-deny, and git diff --check — PASS.\n- Hosted state: all newly dispatched checks are pending; no hosted success is claimed until this exact head completes.\n- Review state: no qualifying independent approval; the PR is not merge-ready.\n- Decision: WAIT_AND_REMEDIATE; re-evaluate this exact head after required checks and independent review.

devin-ai-integration[bot]

This comment was marked as resolved.

…ister

The Changed entry still described the predecessor 2026-08-23T21:46:37Z
snapshot (109 open / 39 drafts) while the committed baseline document
records the refreshed 2026-08-24T05:41:54Z snapshot (118 open / 48
drafts). Align the changelog narrative with the register the validator
enforces so the exact-head evidence stays internally consistent.
@seonghobae
seonghobae enabled auto-merge August 24, 2026 06:24

@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.

Open in Devin Review

Comment on lines +182 to +184
for cue in QUEUED_CHECKS_NEGATED_VERB.finditer(text, sentence_start, window_end):
if QUEUED_CHECKS_ADVERSATIVE.search(text, cue.end(), window_end) is None:
return True

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Promotion guard bypassed by period-separated negation

The negation search treats only adversatives like but as barriers between a negated promotion verb and the implemented-main claim (QUEUED_CHECKS_ADVERSATIVE at scripts/validate_documentation.py:183). A sentence-ending period is not a barrier, so queued Checks never promote spam. This PR is implemented-main. is accepted as denied. An affirmative promotion in the next sentence, within 80 characters, passes the guard.

Prompt for agents
In _promotion_is_denied (scripts/validate_documentation.py), the negation-verb search runs over [sentence_start, claim.end()] and only rejects a negation when a QUEUED_CHECKS_ADVERSATIVE token (but/however/yet/although/though) separates the cue from implemented-main. A sentence break (period, semicolon, newline, etc., already defined in QUEUED_CHECKS_SENTENCE_BREAK) between the negated clause and the implemented-main assertion is not treated as a separator, so an unrelated negated-promotion clause followed by a fresh affirmative implemented-main sentence is wrongly reported as denied. Consider also treating a QUEUED_CHECKS_SENTENCE_BREAK occurrence between cue.end() and window_end as a separator (i.e. the negation must be in the same sentence as the implemented-main claim), similar to the adversative check.
Open in Devin Review

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

@github-actions
github-actions Bot disabled auto-merge August 24, 2026 06:36
@seonghobae
seonghobae enabled auto-merge August 24, 2026 07:10
@seonghobae
seonghobae merged commit cf8fa9e into main Aug 24, 2026
24 of 25 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