Skip to content

feat(quality): temporary relax of complexity/file-size ratchets for v3.8.50-3.8.54 PREPARE phase - #8767

Merged
diegosouzapw merged 2 commits into
release/v3.8.49from
feat/quality-relax-3850
Jul 27, 2026
Merged

diegosouzapw merged 2 commits into
release/v3.8.49from
feat/quality-relax-3850

Conversation

@diegosouzapw

@diegosouzapw diegosouzapw commented Jul 27, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

OWNER-APPROVED TEMPORARY rebaseline covering the v3.8.50 release cut + the entire PREPARE phase (5 minor cycles .50-.54 per docs/ROADMAP.md).

Ceiling changes (v2 = v1 +20% buffer over the original 2x-daily-drift proposal)

Metric Current (2188/971/800) New ceiling Delta
complexity.count 2188 2774 +586 (+26.8%)
cognitiveComplexity.value 971 1223 +252 (+26.0%)
file-size cap 800 1000 +200 (+25.0%)
file-size testCap 800 1000 +200 (+25.0%)

Why this is needed (the actual root cause of frequent gate ejections)

The recurring "ejection by complexity / file-size" pattern across the v3.8.47-v3.8.49 cycle was NOT poor code quality — it was accumulated drift between owner-approved rebaselines. The current release/v3.8.49 tip measures:

  • cyclomatic 2188 (vs the last 2169 baseline from 2026-07-25)
  • cognitive 971 (vs the last 968 baseline)
  • 186 frozen files (of which 105 are >900 lines and need structural decomposition regardless of cap)

The fast-path PR→release gates do NOT run check:complexity, check:cognitive-complexity, or check:file-size — they only run on the release→main pipeline. So between rebaselines, the release branch accumulates drift that every PR then trips on, even when the PR's own contribution is net-zero (verified in worktree-isolated probes for #8661, #8705, #8650, #8678).

Justification for +20% over the 2x-daily-drift proposal

The v3.8.50 release cut coincides with high-merge activity:

A 20% buffer over the 2x-daily-drift calculation (~4.5 cyclomatic/day × 28d = ~126) covers the entire PREPARE phase window (5 minor cycles) without requiring per-PR rebaseline intervention, while still giving substantial post-tighten headroom.

Frozen-file breakdown (cap 800 → 1000)

Bucket Count Effect of relax
≤800 (redundant) 60 unchanged (already under old cap)
801-900 (cliff) 21 ✅ +200 cap unblocks these
901-1000 (new cliff) ~20 ✅ newly unblocked at v2 ceiling
>1000 (god-files) ~85 still need structural decomposition (debt #3501) regardless of cap
TOTAL 186 majority unaffected — relax is surgical

RE-TIGHTENING PLAN (mandatory, tracked via follow-up issue)

Metric Current ceiling (v2) v3.8.51 target Δ
complexity.count 2774 2282 -492 (combo.ts/chatCore.ts decomposition per .51/.52)
cognitiveComplexity.value 1223 1009 -214 (same decomposition wave)
file-size cap / testCap 1000 850 -150 (decomposition stabilizes)

Re-tighten at the v3.8.51 prep-merge step per ROADMAP.md. Post-tighten headroom:

  • 2282 - 2188 = 94 units of breathing room vs current pristine
  • 1009 - 971 = 38 units
  • 850 - 800 = 50 units

Validation

  • node scripts/check/check-complexity-ratchets.mjs → OK (2188 ≤ 2774)
  • node scripts/check/check-cognitive-complexity.mjs → OK (971 ≤ 1223)
  • node scripts/check/check-file-size.mjs → OK (186 frozen, cap 1000)
  • All other PR→release fast-path gates untouched

Test plan

  1. Owner approval on this PR
  2. Open follow-up roadmap issue pinning the v3.8.51 re-tighten milestones
  3. Land this PR BEFORE the v3.8.50 release cut
  4. Track re-tighten via the /generate-release Phase 0 pre-flight at v3.8.51

Out of scope (explicitly NOT in this PR)

  • ESLint warnings, dead-exports, bundle-size, openapi-coverage, i18n-coverage, mutation-score, vuln-count, zizmor, codeql — all unchanged
  • npm run quality:ratchet -- --update — NOT run (this is a manual rebaseline with documented justification, not a measured-shrink update)
  • scripts/sim/ diagnostic scripts (created during analysis, discarded — not part of the relax proposal)

Tracking

…3.8.50-3.8.54 PREPARE phase

OWNER-APPROVED TEMPORARY rebaseline covering the v3.8.50 release cut + the entire
PREPARE phase (5 minor cycles .50-.54 per docs/ROADMAP.md).

Current state (pristine release/v3.8.49 tip cc53f45):
  - complexity.count         = 2188
  - cognitiveComplexity.value =  971
  - file-size cap / testCap   =  800 / 800

New ceilings (+20% over the original 2x-drift proposal):
  - complexity.count         = 2774 (+586 = +26.8%)
  - cognitiveComplexity.value = 1223 (+252 = +26.0%)
  - file-size cap / testCap   = 1000 / 1000 (+200 each = +25.0%)

Justification:
  - +20% buffer over the 2x-daily-drift proposal absorbs the v3.8.50 release cut
    spike (33-PR Train 1D + ~37-PR Train 2 backlog + post-freeze re-home rebase
    churn) without per-PR rebaseline noise.
  - Frozen files (>900) remain frozen (only-shrink); cap-relax unblocks the 21
    files in the 801-900 cliff for new leaf extraction during PREPARE.
  - 105 files >1000 still require structural decomposition regardless (debt #3501).

RE-TIGHTENING MANDATORY in v3.8.51 (track via roadmap issue to open in this PR):
  - complexity.count target = 2282 (shrink of 492 via combo.ts/chatCore.ts
    decomposition scheduled in .51/.52 per ROADMAP.md)
  - cognitiveComplexity.target = 1009 (shrink of 214 via same decomposition wave)
  - file-size cap / testCap target = 850 / 850

Window: v3.8.50 (release cut, 2026-07-28 target) -> v3.8.54 close (RE-TIGHTEN
executed at v3.8.51 prep merge per ROADMAP.md).

This entry is the LAST rebaseline in this file unless a measured regression appears.
v1 (2x drift, 2188->2312 / 971->1019 / 800->900) retained below for audit trail.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Generated by: node --import tsx/esm scripts/skills/generate-agent-skills.mjs --apply

Resolves check:agent-skills-sync failure on PR #8767 (Merge integrity gate).

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
@diegosouzapw
diegosouzapw merged commit b46bb6d into release/v3.8.49 Jul 27, 2026
9 checks passed
MumuTW added a commit to MumuTW/OmniRoute that referenced this pull request Jul 27, 2026
Regenerate file-size-baseline.json with shrink-only `--update` measured on the
current tip (5f365ba), after cheaper-inference#8741 (--update removes at-cap entries) and cheaper-inference#8767
(OWNER-APPROVED temporary cap/testCap 800->1000 for the v3.8.50-.54 PREPARE phase)
both landed.

  frozen      186 -> 120 entries (75 shrank, 66 removed as redundant)
  testFrozen   58 ->  43 entries (19 shrank, 15 removed as redundant)

Shrink-only, verified against the pre-rebase baseline: no entry grew, no entry
was added, every removed entry measures <= cap, and `cap`/`testCap` stay at the
1000 that cheaper-inference#8767 set. All `_rebaseline_*` audit notes are preserved verbatim,
including both cheaper-inference#8767 relax entries.

The earlier SKILL.md sync and the `--update` removal fix are dropped from this
branch — both landed upstream via cheaper-inference#8741.
diegosouzapw pushed a commit that referenced this pull request Jul 27, 2026
Regenerate file-size-baseline.json with shrink-only `--update` measured on the
current tip (5f365ba), after #8741 (--update removes at-cap entries) and #8767
(OWNER-APPROVED temporary cap/testCap 800->1000 for the v3.8.50-.54 PREPARE phase)
both landed.

  frozen      186 -> 120 entries (75 shrank, 66 removed as redundant)
  testFrozen   58 ->  43 entries (19 shrank, 15 removed as redundant)

Shrink-only, verified against the pre-rebase baseline: no entry grew, no entry
was added, every removed entry measures <= cap, and `cap`/`testCap` stay at the
1000 that #8767 set. All `_rebaseline_*` audit notes are preserved verbatim,
including both #8767 relax entries.

The earlier SKILL.md sync and the `--update` removal fix are dropped from this
branch — both landed upstream via #8741.
@diegosouzapw
diegosouzapw deleted the feat/quality-relax-3850 branch July 28, 2026 06:47
This was referenced Jul 28, 2026
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
…3.8.50-3.8.54 PREPARE phase (cheaper-inference#8767)

* feat(quality): temporary relax of complexity/file-size ratchets for v3.8.50-3.8.54 PREPARE phase

OWNER-APPROVED TEMPORARY rebaseline covering the v3.8.50 release cut + the entire
PREPARE phase (5 minor cycles .50-.54 per docs/ROADMAP.md).

Current state (pristine release/v3.8.49 tip 932868e):
  - complexity.count         = 2188
  - cognitiveComplexity.value =  971
  - file-size cap / testCap   =  800 / 800

New ceilings (+20% over the original 2x-drift proposal):
  - complexity.count         = 2774 (+586 = +26.8%)
  - cognitiveComplexity.value = 1223 (+252 = +26.0%)
  - file-size cap / testCap   = 1000 / 1000 (+200 each = +25.0%)

Justification:
  - +20% buffer over the 2x-daily-drift proposal absorbs the v3.8.50 release cut
    spike (33-PR Train 1D + ~37-PR Train 2 backlog + post-freeze re-home rebase
    churn) without per-PR rebaseline noise.
  - Frozen files (>900) remain frozen (only-shrink); cap-relax unblocks the 21
    files in the 801-900 cliff for new leaf extraction during PREPARE.
  - 105 files >1000 still require structural decomposition regardless (debt cheaper-inference#3501).

RE-TIGHTENING MANDATORY in v3.8.51 (track via roadmap issue to open in this PR):
  - complexity.count target = 2282 (shrink of 492 via combo.ts/chatCore.ts
    decomposition scheduled in .51/.52 per ROADMAP.md)
  - cognitiveComplexity.target = 1009 (shrink of 214 via same decomposition wave)
  - file-size cap / testCap target = 850 / 850

Window: v3.8.50 (release cut, 2026-07-28 target) -> v3.8.54 close (RE-TIGHTEN
executed at v3.8.51 prep merge per ROADMAP.md).

This entry is the LAST rebaseline in this file unless a measured regression appears.
v1 (2x drift, 2188->2312 / 971->1019 / 800->900) retained below for audit trail.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

* fix(skills): regenerate cli-backup-sync SKILL.md (sync with generator)

Generated by: node --import tsx/esm scripts/skills/generate-agent-skills.mjs --apply

Resolves check:agent-skills-sync failure on PR cheaper-inference#8767 (Merge integrity gate).

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

---------

Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com>
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
…per-inference#8585)

Regenerate file-size-baseline.json with shrink-only `--update` measured on the
current tip (3eef45f), after cheaper-inference#8741 (--update removes at-cap entries) and cheaper-inference#8767
(OWNER-APPROVED temporary cap/testCap 800->1000 for the v3.8.50-.54 PREPARE phase)
both landed.

  frozen      186 -> 120 entries (75 shrank, 66 removed as redundant)
  testFrozen   58 ->  43 entries (19 shrank, 15 removed as redundant)

Shrink-only, verified against the pre-rebase baseline: no entry grew, no entry
was added, every removed entry measures <= cap, and `cap`/`testCap` stay at the
1000 that cheaper-inference#8767 set. All `_rebaseline_*` audit notes are preserved verbatim,
including both cheaper-inference#8767 relax entries.

The earlier SKILL.md sync and the `--update` removal fix are dropped from this
branch — both landed upstream via cheaper-inference#8741.
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…3.8.50-3.8.54 PREPARE phase (cheaper-inference#8767)

* feat(quality): temporary relax of complexity/file-size ratchets for v3.8.50-3.8.54 PREPARE phase

OWNER-APPROVED TEMPORARY rebaseline covering the v3.8.50 release cut + the entire
PREPARE phase (5 minor cycles .50-.54 per docs/ROADMAP.md).

Current state (pristine release/v3.8.49 tip 73f38b7):
  - complexity.count         = 2188
  - cognitiveComplexity.value =  971
  - file-size cap / testCap   =  800 / 800

New ceilings (+20% over the original 2x-drift proposal):
  - complexity.count         = 2774 (+586 = +26.8%)
  - cognitiveComplexity.value = 1223 (+252 = +26.0%)
  - file-size cap / testCap   = 1000 / 1000 (+200 each = +25.0%)

Justification:
  - +20% buffer over the 2x-daily-drift proposal absorbs the v3.8.50 release cut
    spike (33-PR Train 1D + ~37-PR Train 2 backlog + post-freeze re-home rebase
    churn) without per-PR rebaseline noise.
  - Frozen files (>900) remain frozen (only-shrink); cap-relax unblocks the 21
    files in the 801-900 cliff for new leaf extraction during PREPARE.
  - 105 files >1000 still require structural decomposition regardless (debt cheaper-inference#3501).

RE-TIGHTENING MANDATORY in v3.8.51 (track via roadmap issue to open in this PR):
  - complexity.count target = 2282 (shrink of 492 via combo.ts/chatCore.ts
    decomposition scheduled in .51/.52 per ROADMAP.md)
  - cognitiveComplexity.target = 1009 (shrink of 214 via same decomposition wave)
  - file-size cap / testCap target = 850 / 850

Window: v3.8.50 (release cut, 2026-07-28 target) -> v3.8.54 close (RE-TIGHTEN
executed at v3.8.51 prep merge per ROADMAP.md).

This entry is the LAST rebaseline in this file unless a measured regression appears.
v1 (2x drift, 2188->2312 / 971->1019 / 800->900) retained below for audit trail.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

* fix(skills): regenerate cli-backup-sync SKILL.md (sync with generator)

Generated by: node --import tsx/esm scripts/skills/generate-agent-skills.mjs --apply

Resolves check:agent-skills-sync failure on PR cheaper-inference#8767 (Merge integrity gate).

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

---------

Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com>
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…per-inference#8585)

Regenerate file-size-baseline.json with shrink-only `--update` measured on the
current tip (b78b9b3), after cheaper-inference#8741 (--update removes at-cap entries) and cheaper-inference#8767
(OWNER-APPROVED temporary cap/testCap 800->1000 for the v3.8.50-.54 PREPARE phase)
both landed.

  frozen      186 -> 120 entries (75 shrank, 66 removed as redundant)
  testFrozen   58 ->  43 entries (19 shrank, 15 removed as redundant)

Shrink-only, verified against the pre-rebase baseline: no entry grew, no entry
was added, every removed entry measures <= cap, and `cap`/`testCap` stay at the
1000 that cheaper-inference#8767 set. All `_rebaseline_*` audit notes are preserved verbatim,
including both cheaper-inference#8767 relax entries.

The earlier SKILL.md sync and the `--update` removal fix are dropped from this
branch — both landed upstream via cheaper-inference#8741.
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