SPB Git

spb/wp45_uqo

Public
5.0 KB · 80 lines markdown
1<!-- Author: Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca -->2# 📝 JoF-250: Learning Scientific Writing Conventions from Pre-LLM Financial Research34**UQO Working Paper No. 45** — *A measured-convention writing engine for Claude Code, built from 276 Journal of Finance articles (2017–2020), with a preregistered evaluation*56[![Paper](https://img.shields.io/badge/paper-PDF-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)7[![Python](https://img.shields.io/badge/python-3.12-3776AB?logo=python&logoColor=white)](pyproject.toml)8[![Data](https://img.shields.io/badge/data-276%20JoF%20articles%20·%20private-4051b5)](docs/RIGHTS_AND_ETHICS.md)9[![Reproducible](https://img.shields.io/badge/reproducible-make%20pipeline-2e7d32)](docs/REPRODUCIBILITY.md)10[![Institution](https://img.shields.io/badge/UQO-D%C3%A9pt.%20des%20sciences%20administratives-16365c)](https://uqo.ca)11[![Author](https://img.shields.io/badge/author-Simon--Pierre%20Boucher-16365c)](mailto:simon-pierre.boucher@uqo.ca)1213> **TL;DR** — We parse 276 pre-ChatGPT *Journal of Finance* articles (vol. 72–75), annotate their rhetorical structure with a schema-validated LLM ontology, turn the train split into measured writing profiles (medians, IQRs, bootstrap CIs), index structural units for hybrid retrieval with provenance, and expose the result as a Claude Code writing/review/audit engine (`/jof-write`, `/jof-review`, `/jof-audit`, …). A preregistered held-out experiment compares five conditions (baseline → full engine) with a blind LLM judge and deterministic fidelity audits. See `docs/DELIVERY_REPORT.md` for measured results.1415## 📌 Status16| Item | Value |17|---|---|18| Version | 1.0 (November 2026) |19| SSRN | not yet submitted |20| Journal | — |21| Code & data | pipeline reproducible from `make` (see Quick start); PDFs not redistributed |2223## 🎯 What this paper does24It asks whether *abstract, domain-specific writing conventions* extracted from a pre-LLM corpus improve LLM-assisted scholarly writing and review beyond strong prompting and conventional RAG, while preserving originality and factual fidelity. It delivers both the study and the tool (the JoF-250 Writing Engine), and the paper studies the tool.2526## 🏆 Headline results (protocol heldout_v1; 2 held-out JoF articles × 8 tasks; blind LLM judge, 1–7 scale; n = 24 paired units)2728| Object | Estimate |29|---|---|30| Corpus | 276 JoF documents (2017–2020), 276/276 Crossref-verified, 276/276 parsed and annotated |31| H1: profiles + structured retrieval (D) vs strong prompt (B), argument logic | +0.33 [−0.22, 0.66], Holm p = 0.45 → not supported |32| H2: D vs conventional RAG (C), argument logic | +0.08 [−0.44, 0.47] → not supported |33| H3: full engine (E) vs D, methodological rigor | **+1.33 [1.00, 1.84], Holm p = 0.0003** |34| H3: E vs D, fidelity | **+0.62 [0.31, 1.03], Holm p = 0.004** |35| Ablation: E − E without referee pass, rigor | +1.63 (retrieval/profile/fact-check ablations ≈ 0) |36| New numbers absent from the source, E − A | −0.88 [−1.94, −0.03] |37| Max 8-gram overlap with any corpus article other than the task's source | 0.006 (100% of outputs < 0.02) |38| Cost / latency per task, E vs D | 0.20 vs 0.10 USD; 80 vs 38 s |3940Full tables: `experiments/analysis/`; limitations: `docs/LIMITATIONS.md` (pilot scale, LLM judge, no human raters).4142## 🗂 Repository layout43`CLAUDE.md` (mandate) · `config/` · `src/jof250/` · `prompts/` · `profiles/` · `.claude/{commands,agents,skills}` · `experiments/{preregistration.md,protocols,fixtures,outputs,analysis}` · `paper/` · `tests/` · `scripts/` · `docs/`.4445## 🚀 Quick start46```bash47uv venv --python 3.12 .venv && uv pip install --python .venv/bin/python -e ".[dev]"48cp .env.example .env   # API key file49make audit parse profiles index test50.venv/bin/jof250 write --paper /path/to/paper --section introduction --output /tmp/intro.tex51cd paper && make        # compiles main.pdf52```5354## 📊 Data55277 PDFs under `~/Desktop/Journal-of-Finance-2018-2020` (UQO library access, 2026-11-03); 276 research documents included; metadata verified against Crossref. Derived full texts are private (`docs/RIGHTS_AND_ETHICS.md`).5657## 🧪 Methodology58Phases 1–9 of `CLAUDE.md`; preregistration in `experiments/preregistration.md`; limitations in `docs/LIMITATIONS.md`.5960## 📈 Figures & tables inventory61`figures/` (regenerated by `make profiles` and `scripts/05_analyze_benchmark.py`), `paper/tables/` (generated LaTeX fragments).6263## ⚠️ Limitations64`docs/LIMITATIONS.md`.6566## 📚 Citation67```bibtex68@techreport{boucher2026jof250,69  title  = {JoF-250: Learning Scientific Writing Conventions from Pre-LLM Financial Research},70  author = {Boucher, Simon-Pierre}, institution = {Université du Québec en Outaouais, Département des sciences administratives},71  type = {UQO Working Paper}, number = {45}, year = {2026}, month = {11}72}73```7475## 👤 Author & contact76Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca7778## 📝 Notes79Folder named `wp45-jof250` as required by the mandate; corpus scope amended to volumes 72–75 (A-002); global Claude Code install authorized by the author (A-003).80
Files · b2ea7cd3a41b72854950b87ea6b3044f01e8a3c2
Menu

Theme