Skip to content

docs: record PR #62-#77 and the two open follow-ups (#78, #79)#80

Merged
StackOverFlow11 merged 2 commits into
mainfrom
docs/progress-pr62-78
Jul 21, 2026
Merged

docs: record PR #62-#77 and the two open follow-ups (#78, #79)#80
StackOverFlow11 merged 2 commits into
mainfrom
docs/progress-pr62-78

Conversation

@StackOverFlow11

@StackOverFlow11 StackOverFlow11 commented Jul 21, 2026

Copy link
Copy Markdown
Owner

CLAUDE.md's 「当前进度」 stopped at PR #61. Fourteen merged PRs were unrecorded, including the whole factor-evaluation contract layer (analytics/eval/) and eleven reproduced minute factors. This is the file every session loads as ground truth, so the gap would have cost re-derivation or, worse, action on superseded conclusions.

Only CLAUDE.md changed (+90 / −4 net, two commits). No code, config, test or other doc touched.

Per-item diff — entries ADDED

# entry source of every number
1 因子评估契约层 analytics/eval/ + 十一个分钟因子复现(#63#73 — three-axis verdict (Predictive × Incremental × Tradable), asymmetric gate, unknown never convicts, N_eff CI lower-bound gating, exploratory cap at Watch; 11-row table (sign / IC / ICIR / turnover / net 1× / no_book·with_book verdict); three loop-level conclusions; the two methodology rules RESULTS_post_pr75…md v0.9 reference table (verdicts, IC, ICIR, turnover) + factors/ledger.md (net 1×, families, per-factor conclusions) + gh pr view 63
2 契约 v0.8 + v0.9(#74 — defect 1 (aligned spread added cost back; worked case gross 0.000125 / net −0.001983 → cost 0.002108 → aligned −0.002233, and two of four sites feed the Tradable gate); defect 2 (magnitude-sensitive statistic gating a rank axis → per-date Spearman); v0.9 three-valued N_eff CI gate + "UNKNOWN never rescues"; 3 verdict cells changed; post-merge 11-factor reconciliation HANDOFF_2026-07-21.md §1 + gh pr view 74 + RESULTS…md
3 ⚠️ the reconciliation script that could not failcompare_postmerge.py read the file _baseline_table.py had just overwritten, so old == new held by construction; reproduced in a sandbox with ic=1.0 vs ic=999.0; authoritative baseline is scratchpad/baseline_reports/, not baseline_rows.json RESULTS…md §"A check of mine that could not fail"
4 执行价 VWAP + 分钟收益复权(#75 — VWAP fills, gate compares the executed price (LOCKED vs OPENED), 1e-6 tolerance with its optimistic, bounded residual, (raw·af)/(raw·af)−1 holding returns, missing adj_factor never defaulted to 1.0, incidence 8.41% / 9.75% HANDOFF…md §2 + gh pr view 75
5 报告披露修正(#76 — the report misstated the check it performed; three counters computed and thrown away; why the old I5b fixtures were structurally blind (VWAP ≡ close) gh pr view 76
6 adj_factor 下降质量检查(#77 — threshold 1% with the full-cache sweep table (7898 events / 4479 symbols), why not 0.5% (603081.SH undecidable) and not 2% (misses a real event), and how this WARNING differs semantically from check_extreme_returns commit 8a3eea5 + data/quality/market.py:142-198 docstring (merged code supersedes #77's body, which still says 2%)
7 🔄 闸门描述改单一来源(#78, OPEN)#76's regex guard claimed no further copy could ship; review ran seven plausible rewordings and all seven escape. limit_basis_phrase() is now the one authored sentence, composed by the feasibility section, the group report and the Limitations bullet; rendered text byte-identical; the regex is kept with its scope corrected to catching a literal revert. Carries the generalizing line: a regex cannot assert "no other sentence makes this claim"; having no other sentence can gh pr view 78
8 日频除权正确性审计 — seam hypothesis rejected (960 boundary pairs, 12 changes, all positive, all with matching price jumps); −57.27% is the BSE placeholder 1.0000 on one symbol from a single fetch with no price rows; in-universe exposure 1 pair in 603,258, CSI300 zero; contaminated-vs-clean mean (+4.38% vs +2.28%, median right all along) FINDING_adj_factor_seam_2026-07-21.md
9 I5d / I5e / I5f 在修正引擎上重跑 — four-way attribution table; I5d Spearman +1.0000 → +0.9000, spread halved, Q4 overtakes Q5, attributed by measurement to the adjustment alone; I5e unchanged and more negative; I5f capacity at the real 1M notional: below-1.0x 20 → 0 RESULTS…md §I5f / §I5d / §I5e
10 🔄 十一因子改基准 exec-to-exec(#79, OPEN) — why the rebasis (the only modellable fill is the 14:51 bar; close-to-close credits a closing auction closing_call_proxy cannot simulate without stk_auction_*); 20 of 22 cells unchanged, two moved toward less confidence; the single mechanism (point estimates strengthen, N_eff falls in 9/11); the two coverage denominators kept apart; the liquidity-correlated, non-random exclusion; correctness acceptance (per-date corr median 0.9890 against a 0.90 floor that raises, 5 rows hand-recomputed to exact 0.0) RESULTS…md + gh pr view 79

Per-item diff — existing lines CHANGED

line change why
「开发约定 · Git」 PR list appended #62, #63, #64#73, #74, #75, #76, #77 as merged; explicit OPEN clause for #38 (unchanged standing constraint), #78 and #79 gh pr list --state all
质量门 793 passed1740 passed, measured in this worktree; new group counts from --collect-only (contract 337 + standard 113 + figures 7 / eleven factors 421 / exec-vwap 46 / market quality 15→21); 20 配置31/31; phase0 re-run. Old per-phase breakdown kept, labelled historical measured here: pytest -p no:warnings1740 passed, ruff clean, 31/31 configs, run-phase0ic 0.9600 / annual 0.8408. PR #79 independently measured main at 1740
剩余(已显式披露) added: eleven factors all EXPLORATORY and none reached Adopt, only two positive at 1× fees; MMP evidence updated; I5f rewritten to the real notional; ex-dividend audit done; #78 and #79 both open; schema guard still not wired to live data-update; HTML compendium still on v0.8 entries 1, 6–10
路线图 · MMP rewritten: 暂缓 now rests on more evidence — I5d degraded (+1.0000 → +0.9000, +17.15% → +8.65%) and I5e strengthened (−26.77% → −31.82%) RESULTS…md §I5d / §I5e / §MMP combined read
路线图 · I5f "10M 名义下约半数容量不足" marked superseded; at the real 1M the tightest trade clears at 1.22× RESULTS…md §I5f capacity
路线图 · 因子层收尾 new clause: #79 and #78 await merge; revise the HTML compendium; prefer turnover/cost-sensitive portfolio-level validation over more factors entries 1, 7, 10
方法论 rule ② (entry 1) sharpened after #78: not "assert no (N+1)th copy exists" — that is what the regex failed at — but author the claim once and have every other site compose it gh pr view 78

Writing discipline held

Gates

pytest 1740 passed · ruff clean · validate-config 31/31 · run-phase0 ic_mean=0.9600, annual_return=0.8408 · secret scan on both commits' diffs: token value 0, .config.json 0, long hex strings 0 · no attribution lines in either commit message.

…e corrected-engine re-runs

CLAUDE.md's progress section stopped at PR #61. Fourteen merged PRs were
unrecorded, including the entire factor-evaluation contract layer
(analytics/eval/) and eleven reproduced minute factors, so a future session
would have re-derived them or acted on superseded conclusions.

Added entries (every number traceable to tmp/design/RESULTS_post_pr75_2026-07-21.md,
tmp/design/FINDING_adj_factor_seam_2026-07-21.md, tmp/design/HANDOFF_2026-07-21.md,
tmp/Quantitative_Research_Report/factors/ledger.md, or gh pr view):

- factor evaluation contract layer + eleven minute factors (#63-#73)
- evaluation contract v0.8 + v0.9, and the post-merge eleven-factor
  reconciliation, including the reconciliation script that could not fail
- VWAP fills + corporate-action-adjusted intraday holding returns (#75)
- report disclosure fix + I5f re-measured at the real notional (#76),
  with the still-open #78 follow-up
- decreasing-adj_factor quality check, threshold 1% from the cache sweep (#77)
- daily ex-dividend correctness audit: no vintage seam, 1 exposed pair in 603,258
- I5d / I5e / I5f re-run on the corrected engine
- eleven factors re-based on the 14:51 VWAP exec-to-exec return (PR not yet open)

Every NAV in the re-runs rose because of the ex-dividend bug fix, not because
performance improved; the VWAP fill basis is itself slightly unfavourable. Both
are stated as such. The MMP stance is updated to reflect that its only positive
evidence degraded while the negative result strengthened.

Updated existing lines: the PR list, the quality-gate line (pytest 1740 passed,
31/31 configs, phase0 0.9600/0.8408 — all measured on this tree), the disclosed
remainder, and the roadmap.
… rebasis PR number (#79)

Both follow-ups now have real numbers, read from gh pr list rather than assumed:
#78 is fix/limit-basis-single-source and #79 is feat/exec-to-exec-rebasis, both
OPEN. The rebasis entry no longer says "PR not yet open".

- New entry for #78: #76's regex guard claimed no further copy of the wrong
  gate description could ship, and review disproved it by running seven
  plausible rewordings through the actual regex — all seven escape. The fix is
  structural: limit_basis_phrase() is the one authored sentence and three sites
  compose it; rendered text is unchanged; the regex stays with its scope
  corrected to catching a literal revert.
- Sharpened the second defect-class rule accordingly: the rule is not "assert no
  (N+1)th copy exists" — that is precisely what the regex failed to do — it is
  author the claim once and have every other site compose it. A regex cannot
  assert that no other sentence makes a claim; having no other sentence can.
- #79 entry gains its number, the reason for the rebasis (a minute factor is
  fixed at 14:50 and the only modellable fill is the 14:51 bar, so close-to-close
  credits a closing auction this project cannot simulate), the two coverage
  denominators kept apart as the PR keeps them, and the correctness acceptance.

Sources: gh pr view 78, gh pr view 79, RESULTS_post_pr75_2026-07-21.md.
@StackOverFlow11 StackOverFlow11 changed the title docs: record PR #62-#77, the factor evaluation contract layer, and the corrected-engine re-runs docs: record PR #62-#77 and the two open follow-ups (#78, #79) Jul 21, 2026
@StackOverFlow11
StackOverFlow11 merged commit 84df74f into main Jul 21, 2026
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