Skip to content

[Delivery System Gap] Consolidate the open PR queue into product verticals and retire superseded micro-PRs #175

Open

Description

@seonghobae

Buyer and engineering problem

At the 2026-08-21 08:46 KST live REST snapshot, TEPP had 94 open pull requests: 19 drafts and 75 non-drafts. The split is computed from the same /pulls?state=open&per_page=100 response and is bounded to protected-main SHA 7c29e7c971d7940e1fb3def1ed3aae2d1bc8ad4a; exact-head checks and reviews remain live GitHub evidence. Many PRs are scientifically careful bounded slices, but the queue contains stacked predecessors, replacement vehicles, one-crate-per-rule fragments, stale branch assumptions, and PR descriptions that name a preferred merge that has already changed. A buyer cannot distinguish the small protected-main product from the much larger unmerged design/implementation inventory.

At this snapshot, the exact-head sweep found no unresolved non-outdated review threads. Only PR #146 and PR #148 had failed current-head Checks: both were Strix Caido guest-bootstrap loopback failures with Vulnerabilities 0; the superseded leaf repair #1181 was closed, and the canonical central owner repair is tracked in ContextualWisdomLab/.github#1153 at its live head. Queued Checks remain pending evidence, not a pass.

This queue is itself a release blocker:

  • exact-head reviews and checks are spread across too many branches;
  • active branches repeatedly become stale or conflicting as protected main advances;
  • closely related equations/guards are split into many packages and PRs instead of coherent product boundaries;
  • README/TRD maturity statements lag protected-main reality;
  • the product-development scheduler can continue producing bounded work without first creating a landable vertical.

Required outcome

Create and execute one authoritative delivery-consolidation plan that reduces the queue without discarding unique scientific evidence.

Acceptance criteria

Inventory and authority

  • Enumerate every open PR with exact head/base SHA, draft state, mergeability, current-head checks, review decision/threads, changed paths, dependency/stack parent, owning ADR/requirement, and buyer outcome.
  • Classify each PR as landing_vehicle, stacked_dependency, fold_into_landing_vehicle, superseded, duplicate, research_lineage_only, or blocked_external with evidence.
  • Record the result in docs/product-technical-gap-baseline.md; the live GitHub API remains authoritative over the snapshot.
  • Preserve remote-agent commits and intent; no force-push or closure occurs without first comparing exact remote heads and unique diffs.

Consolidation

Automation changes

  • While the queue exceeds the configured threshold, the hourly product-development workflow prioritizes review repair, conflict resolution, stack consolidation, and merge preparation instead of opening unrelated micro-PRs.
  • The scheduler cannot mass-undraft PRs, create empty commits to requeue checks, or change a declared preferred merge without re-reading the live queue.
  • Contextual-orchestrator may propose consolidation, but independent verification, publication, review, and merge authority remain separate.
  • Add regression tests that prevent PR descriptions/docs from declaring merged PRs active, stale preferred-merge numbers, or active-PR capabilities as protected-main.

Documentation and release truth

  • Reconcile README.md, docs/TRD.md, docs/TRACEABILITY.md, ADR maturity, CHANGELOG, and the gap baseline with the exact protected-main implementation.
  • The README provides one tested buyer/developer entry path and no longer describes the repository as only an initial empty Task 1 skeleton when domain behavior is present.
  • The remaining open queue is small enough that each PR has a clear buyer outcome, dependency, reviewer, and exact-head merge gate.
  • The queue reaches zero before GA, or every remaining PR is explicitly release-excluded with a time-bounded rationale.

Queue targets

Use progressive targets rather than closing work arbitrarily:

  1. Triage complete: 100% of open PRs classified.
  2. Authority unique: no requirement has multiple unexplained landing vehicles.
  3. Active queue bounded: at most one ready landing vehicle per product vertical; other dependent work remains a documented stack or is folded/closed.
  4. Release queue: zero unresolved review/change requests, zero stale preferred-merge claims, zero superseded duplicates.
  5. GA: zero open release-blocking PRs and issues.

Scope boundary

Do not close scientifically unique work merely to reduce a number. Preserve provenance through commits, replacement PR descriptions, issue links, and doctoring. Conversely, local tests and careful prose do not justify retaining dozens of overlapping unmergeable PRs indefinitely.

Related work

Completion evidence

The final PR for this issue must include before/after queue statistics, classification manifest, closed/replaced mappings, protected-main SHA, exact-head check/review evidence for landed PRs, and a refreshed docs/product-technical-gap-baseline.md. No release claim is permitted solely from queue reduction.

Activity

  1. changed the title [-][Delivery System Gap] Consolidate the 92-PR queue into product verticals and retire superseded micro-PRs[/-] [+][Delivery System Gap] Consolidate the open PR queue into product verticals and retire superseded micro-PRs[/+] on Aug 20, 2026
  2. seonghobae commented on Aug 21, 2026

    @seonghobae
    ContributorAuthor

    Live queue and governance evidence refresh (2026-08-21T13:13:05Z UTC / 22:13:05 KST): REST /pulls?state=open&per_page=100 returns 94 open PRs = 19 drafts + 75 non-drafts, against protected-main SHA c45be17. Ruleset 18156473 is active with two required approving reviews, last-push approval, required-thread resolution, and seven main-pinned required workflows; bypass_actors is empty. This explains why local repair commits for PRs #158, #159, and #178 cannot be published by normal branch push, while no protected branch bypass or force push is authorized. Treat this as control-plane evidence: no ordinary feature PR qualifies for guarded force merge, and queued/cancelled checks or absent approvals remain non-passing. The PR/issue consolidation acceptance criteria remain open.

  3. added a commit that references this issue on Aug 25, 2026
  4. seonghobae commented on Aug 25, 2026

    @seonghobae
    ContributorAuthor

    Main non-draft PR queue reached zero at 2026-08-25T02:45Z.

    Consolidation completed through three mechanisms:

    1. Hourly scheduler independent merges (~40+ slices)
    2. Batch integration vehicle chore(delivery): consolidate 31 queued green slices into one landing vehicle (#175) #215 (31 folded green slices with per-slice provenance)
    3. Individual rebase-admin-merge passes for stragglers

    The 31 remaining open PRs are all drafts forming stacked psychometric recovery chains that follow the stacking plan — not independent landing vehicles.

    GAP-012 is closed.

  5. seonghobae commented on Sep 1, 2026

    @seonghobae
    ContributorAuthor

    Reopened because the delivery-system gap has materially regressed.

    Live 2026-09-01 evidence against protected main 1bc02f580cf48e1d39da239f0e818453437c31c3:

    • open PRs: 141
    • drafts: 99
    • ready/non-draft: 42
    • the checked-in docs/product-technical-gap-baseline.md still reports the former zero-queue completion state and an older protected-main snapshot, so it is no longer an accurate delivery authority
    • the active organization ruleset is 18156473 (CWL Central required workflows): one approving review, stale approvals dismissed on push, resolved review threads, unattributed-change extra approval, plus the central required workflows. The classic branch-protection payload is not the enforcement authority here.

    This regression is also a DDD delivery problem, not only a queue-count problem. The current queue contains many per-refusal/per-equation/per-transport-operation slices inside broad technical crates such as analysis_engine, tepp_api, and psychometric_core. During triage, classify each slice by bounded-context ownership and aggregate/reuse boundary before deciding whether it is a reusable domain capability, a stacked dependency, or should be folded into a coherent landing vehicle. Do not preserve a micro-PR merely because it has a unique ADR number; ADR numbering is not a bounded-context boundary.

    Immediate landing order for this reopened issue:

    1. restore a live queue/classification authority and correct the gap baseline;
    2. select one landing vehicle per product vertical, beginning with durable Analysis Run / scientific acceptance and the real scientific measurement vertical;
    3. fold or retire redundant transport-operation and scalar/rejection slices only after exact-head diff comparison preserves unique tests/research evidence;
    4. update the DDD context map, ubiquitous language, dependency rules, and repository paths when a technical-layer package obscures the owning bounded context;
    5. keep new unrelated product-development dispatch closed while the queue is above the consolidation threshold.

    No PR was closed from count alone in this pass. Exact remote heads and unique diffs remain mandatory evidence before replacement or closure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions