Skip to content

feat(queue): make #966 open-PR merge trains executable - #968

Draft
seonghobae wants to merge 107 commits into
docs/gap-baseline-2026-08-31from
docs/bandscope-product-readiness-baseline
Draft

feat(queue): make #966 open-PR merge trains executable#968
seonghobae wants to merge 107 commits into
docs/gap-baseline-2026-08-31from
docs/bandscope-product-readiness-baseline

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Outcome

Make Issue #966's dependency-aware merge-train contract executable without competing with canonical product/technical baseline PR #1116. This branch remains the executable queue-control owner; do not open a second baseline/queue writer for the same boundary.

Current exact stack

  • Protected product source: develop@889d782e88b4df28dcbb4ae3cfd6d99ef85d9844.
  • Canonical baseline base: docs/gap-baseline-2026-08-31@05a2bf303af20c5373eca716d1f4e7126460c4bf (docs(gap): refresh product-technical baseline (74 repos, live census) #1116).
  • Queue-contract head: docs/bandscope-product-readiness-baseline@8782d35e5a6678cb23502a7e43ed91501d95bdfa.
  • GitHub reports this PR open, Draft, mergeable, with 22 changed files.

Non-force baseline reconciliation

Protected develop advanced through #1027 after the previous #1116/#968 reconciliation. #1116 adopted develop@889d782e88b4df28dcbb4ae3cfd6d99ef85d9844 through ordinary merge ancestry, then this queue branch adopted the resulting #1116 head through ordinary merge ancestry. No force update or destructive rebase was used. The only protected intervening product delta was the Tauri Cargo.lock uuid update, which does not overlap this queue-control semantic delta. Predecessor checks, reviews, or approvals do not transfer to the new heads.

Current design-authority repair

Fresh protected-source lookup found that BandScope's canonical design-system documents (docs/design-system/README.md, component-contract.md, and product-design-handoff.md) point to Figma file zthWmqfNKUgJBECvv002Qk, while this proposed queue ADR previously named stale file BP30foevuRtufwRpTknZUw. The queue branch preserves the repair to the protected-source canonical file ID. This is a documentation-authority repair only; it does not claim a Figma version or screenshot is current-head UI evidence.

Executable #966 contract retained here

  • scripts/checks/refresh_open_pr_queue.py: bounded GitHub pagination/response size, complete stacked-PR inventory, independently resolved target tips, exact current heads, deterministic sorting, malformed/incomplete/duplicate rejection, symlink-safe atomic publication, and reviewed-routing invalidation on own or referenced PR identity movement.
  • scripts/checks/verify_open_pr_queue.py: network-independent exact head/base, timestamp, predecessor/overlap/successor graph, cycle/symmetry, and reviewed-disposition validation.
  • scripts/checks/collect_open_pr_readiness.py: exact-head required checks, independent non-author review, reviewed SHA, actionable-thread count, and decision receipt. Only unchanged non-Draft canonical_active entries with terminal-success required checks, qualifying exact-head approval, zero actionable threads, and complete decision metadata can pass.
  • .github/workflows/open-pr-queue-live.yml: read-only live refresh/verification/render/parity plus exact-head artifact preservation.

Current verification state

Exact-head evidence must be regenerated for 8782d35e5a6678cb23502a7e43ed91501d95bdfa. Every predecessor run, review, approval, and queue receipt is stale for this head. Keep this PR Draft while the live disposition inventory is incomplete. Do not churn the head merely to retrigger checks. Integrate only after ordinary protection, current exact-head terminal-success required checks, zero valid unresolved findings, and a qualifying independent non-author approval all apply to the same unchanged head.

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

BandScope 1.0 제품 준비도와 병합 트레인을 문서화했습니다. GitHub open PR 큐 manifest를 갱신하고 검증하는 스크립트를 추가했습니다. quickcheck와 회귀 테스트가 manifest 구조, SHA, 페이지네이션, API 경로를 검증합니다.

Changes

제품 준비도 및 PR 큐

Layer / File(s) Summary
제품 준비도 기준과 병합 트레인
docs/architecture/decisions/..., docs/doctoring/PRODUCT_READINESS_REFERENCES.md, docs/product-technical-gap-baseline.md
제품 경계, 증거 기준, 완료 조건, T0–T7 병합 트레인, 참고문헌과 스냅샷 한계를 문서화했습니다.
PR 큐 manifest와 정적 검증
docs/product-readiness/open-pr-queue.json, scripts/checks/verify_open_pr_queue.py
open PR 스냅샷을 추가했습니다. 검증기는 스키마, 저장소, 브랜치, 트레인, PR, URL과 SHA 상태를 검사합니다.
GitHub 기반 manifest 갱신
scripts/checks/refresh_open_pr_queue.py
GitHub API에서 bounded pagination으로 PR을 수집합니다. 기존 라우팅 정보를 보존하고 신규 PR을 T8로 추가합니다. 검증된 manifest를 fsync 후 원자적으로 저장합니다.
검증 회귀 테스트와 quickcheck 연결
scripts/harness/quickcheck.sh, services/analysis-engine/tests/test_open_pr_queue_*.py
manifest 오류, 페이지 한도, 중복 PR, SHA와 base ref 오류, API 경로 제한 및 quickcheck 연결을 테스트합니다.

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

Merge Risk: 🟡 Moderate · up to 735f3

The PR adds a live-refreshable PR queue, but invalid disposition values and records missing head revisions can currently pass validation and misroute follow-up actions. A required formatting check also remains failed, so merge should wait for these fixes and a clean exact-head check run.

Sequence Diagram(s)

sequenceDiagram
  participant RefreshScript
  participant GitHubAPI
  participant ManifestFile
  participant Quickcheck
  RefreshScript->>GitHubAPI: develop SHA와 open PR 목록 요청
  GitHubAPI-->>RefreshScript: PR JSON 페이지 반환
  RefreshScript->>ManifestFile: 검증된 manifest 원자적 저장
  Quickcheck->>ManifestFile: manifest 로드
  Quickcheck->>Quickcheck: verify_open_pr_queue.py 실행
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring check was indeterminate for this PR — some files could not be analyzed in time. Not blocking.
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 열린 PR 큐와 merge train 실행 기능을 명확하게 설명합니다. 이는 라이브 큐 갱신, 검증, quickcheck 통합 및 관련 문서 추가라는 변경의 핵심과 일치합니다.
✨ 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 docs/bandscope-product-readiness-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 seonghobae changed the title docs: establish BandScope 1.0 product-readiness baseline feat(readiness): establish BandScope 1.0 product-readiness baseline Aug 20, 2026
@opencode-agent opencode-agent Bot added area: operations Operability, observability, readiness, SLO, backup, or retention priority: medium Normal-priority or P2 work status: draft Draft pull request type: feature New or expanded product capability labels Aug 22, 2026

Copy link
Copy Markdown
Collaborator Author

@opencode-agent Continue only the existing canonical branch docs/bandscope-product-readiness-baseline if its exact head is still 6456d325ac32d41f11670ee37fb216e28701e40c; do not create another branch/PR. Fresh live BandScope evidence now reports 111 open PRs targeting develop, while docs/product-readiness/open-pr-queue.json at this head still declares open_pr_count: 83 and snapshot_date: 2026-08-20. This is not a request to hand-edit 111 entries or weaken the offline verifier: implement the next bounded #966 root-cause slice that makes live refresh executable and reproducible. TDD first: add fixture-driven tests for a live-queue refresh/generator that deterministically consumes GitHub PR metadata, rejects pagination truncation/incomplete results, duplicate PR numbers, wrong base refs, malformed/missing immutable head SHAs and unsupported dispositions, and emits a manifest whose declared count exactly matches the fetched complete open-PR set. Keep required CI network-independent by testing against recorded/local fixtures; any live GitHub call must be an explicit operator command, bounded, paginated, fail-closed and use no write token. Generate the human table from the same source or add an exact parity check rather than maintaining a second hand-edited count. Preserve the existing intrinsic verifier and current train/ownership semantics; do not claim check/review readiness from generated status-only data and do not touch #783 dependency/security ownership. Run focused tests, canonical quickcheck and exact-head CI, then report the resulting exact head/evidence. If the branch moved, inspect the intervening delta and adapt rather than racing it.

github-advanced-security[bot]

This comment was marked as resolved.

Preserve #968 executable queue machinery while advancing the stack to
#1116 exact head adbd9df. The two
baseline-owned documents are taken verbatim from that head; queue code and
tests remain additive. Predecessor check/review evidence does not transfer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: operations Operability, observability, readiness, SLO, backup, or retention priority: medium Normal-priority or P2 work status: draft Draft pull request type: feature New or expanded product capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants