From 84ce0721db05c48e285aaa3f469657b5011f9fa9 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 20 May 2026 14:07:14 +0000 Subject: [PATCH] =?UTF-8?q?docs(composite):=20Epic=20#150=20Phase=201.3=20?= =?UTF-8?q?smoke-test=20=E2=80=94=20composite.py=20docstring=20cross-ref?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Throwaway PR to dogfood the pre-merge-prod-sim workflow (PR #148 + #149). The workflow's path filter triggers on `compute/scoring/**` or `compute/features/**`, but neither prior PR touched those paths — so the sticky-comment + diff-table composition has never run end-to-end in CI. This PR adds a 3-line docstring cross-reference in `composite.py` to epic #150 Phase 3 (pillar correlation analysis + Quality+Profitability ROE double-counting). The cross-ref documents in code where the next structural work lives — useful regardless of smoke-test outcome. Composite logic is unchanged. PHASE3_WEIGHTS unchanged. sum-to-1.0 invariant lock at composite.py:43-45 unchanged. CLAUDE.md + AGENTS.md lockstep update. --- AGENTS.md | 15 ++++++++------- CLAUDE.md | 16 +++++++++++----- compute/scoring/composite.py | 4 ++++ 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 33ef0f36c..d705590cc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -287,14 +287,15 @@ note cross-tool-specific points only: Section B post-PR-#79 soft-band against Schroeder 2024 / CMN 2020; regression guard now fires only when `tier2_coverage_pct` ≤ 5%. Paired with quarterly cohort audit comment on issue #130. -- **Phase 0 of epic #150 in flight** — foundation reconciliation - roadmap covering 17 findings from 2-round scrutinize. Phase 0 (this - PR) lands the user-trust METHODOLOGY.md §"Known limitations" - section (survivorship, percentile semantics, pillar correlation, - extreme-estimate conflation, weight rationale, top-decile by- - construction, calibration drift). Phases 1-3 follow per epic - tracker. Cross-tool agents should read epic #150 before touching +- **Phase 0 of epic #150 merged via PR #151** (2026-05-20) — adds + METHODOLOGY.md §"Known limitations" + PillarRadarChart label fix. + Cross-tool agents should read epic #150 before touching `compute/scoring/**` or `compute/valuation/**` paths. +- **Phase 1.3 smoke-test in flight** — throwaway PR with docstring + cross-reference in `compute/scoring/composite.py` to dogfood the + `pre-merge-prod-sim.yml` workflow (path filter triggers on + `compute/scoring/**`). PR #148 + PR #149 didn't trigger the filter + on themselves; first real end-to-end test. ## Claude-Code-specific tooling diff --git a/CLAUDE.md b/CLAUDE.md index 5fa155157..f3e9a3156 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -138,6 +138,10 @@ release tag [**`v1.2.0-phase4.5`**](https://github.com/dackclup/quantrank/releas (2026-05-17, `6d414a9b`). **Recently merged**: +- [PR #151](https://github.com/dackclup/quantrank/pull/151) — + Phase 0 of epic #150: Known Limitations + pillar label clarification +- [PR #149](https://github.com/dackclup/quantrank/pull/149) — + verify-helper Section B post-PR-#79 stale expectations (closes #117) - [PR #148](https://github.com/dackclup/quantrank/pull/148) — Pre-merge production simulation PR 2 (composite diff + top-10 movers, closes Epic #125 Item 3) @@ -147,12 +151,14 @@ release tag [**`v1.2.0-phase4.5`**](https://github.com/dackclup/quantrank/releas Skill description audit + light polish (Optimization PR F) - [PR #145](https://github.com/dackclup/quantrank/pull/145) — SKILL.md restructure + TOC + Rules-at-a-glance (Optimization PR E) -- [PR #144](https://github.com/dackclup/quantrank/pull/144) — - WORKFLOW.md archive Phase 0-3 → docs/archived/ (Optimization PR D) -- [PR #143](https://github.com/dackclup/quantrank/pull/143) — - AGENTS.md sync + dedup with CLAUDE.md (Optimization PR C) -**Phase 0 foundation reconciliation in flight (epic #150)** — META- +**Epic #150 Phase 1.3 smoke-test in flight** — throwaway PR that +adds a docstring cross-reference in `compute/scoring/composite.py` +(pointing to epic #150 Phase 3 correlation analysis). Triggers path +filter `compute/scoring/**` to verify [`.github/workflows/pre-merge-prod-sim.yml`](https://github.com/dackclup/quantrank/blob/main/.github/workflows/pre-merge-prod-sim.yml) +runs end-to-end (sticky comment + diff table) — first real dogfood +since PR #148 + PR #149 didn't trigger the path filter on themselves. +Epic [#150](https://github.com/dackclup/quantrank/issues/150) META- epic tracks all 17 findings from the 2-round scrutinize session (2026-05-20, process + analytical). Phase 0 (this PR) closes the user-trust gaps: `docs/METHODOLOGY.md` adds §"Known limitations" diff --git a/compute/scoring/composite.py b/compute/scoring/composite.py index 8e0a820a4..fd05eddb8 100644 --- a/compute/scoring/composite.py +++ b/compute/scoring/composite.py @@ -3,6 +3,10 @@ Phase 3 composite weights per ``PHASE_STATUS.md``. ``sentiment`` and ``ml`` remain null in Phase 3 — their combined 0.20 weight is redistributed pro-rata across the active pillars (effective weights divided by 0.80). + +See epic #150 Phase 3 for planned pillar correlation analysis + weight +re-justification (Quality + Profitability ROE double-counting, ~33% +effective composite weight on ROE-like signals vs nominal 27%). """ from __future__ import annotations