Releases: docxology/template
Research Project Template v3.0.0
f0edf91 feat: add Zenodo publication DOI and citation info
ff38ead A template/ approach to Reproducible Generative Research: Architecture and Ergonomics from Configuration through Publication
1cc241d update
2a1292e remove
a2a025e update
fb97834 update
7963c55 Update README.md
8feb9e5 update
2265924 desloppify: remove deprecated aliases, narrow exception types
ea9bb14 fix: remove unused Path imports in test files; change _DANGEROUS_PATTERNS to tuple
53c0078 fix: masked-exception-fixes cluster (narrow exception types, promote debug→warning)
15ca548 fix: quick-convention-fixes cluster (emoji logging, stdlib logging, security/config/retry/prompt cleanup)
e9669d0 test: add 16 tests for pipeline_types (PipelineConfig, PipelineStageResult, StageSpec)
eaf35df desloppify: add direct tests for 3 transitive-only modules (session 8)
ff992f9 desloppify: fix error-pattern-consistency cluster (session 8)
538e020 desloppify: add tests for template helpers and review analysis modules
9529617 desloppify: add tests for install_commands and _pdf_latex_helpers modules
4ccd4eb desloppify: fix review queue — explicit fallback warning, resolved false positives
5d08b20 desloppify: remove unused imports of ManuscriptQualityReview, ManuscriptMethodologyReview
fbc46a5 desloppify: extract create_parser(), add ETA tests, use real parser in CLI tests
4bb27c0 desloppify: avoid mid-function config re-read in extract_manuscript_text
60e0adc desloppify: logic clarity, timeout constant, plotly dead code, double env check
bab41a5 desloppify: fix naming, type safety, error context, os.path migration
166b6bc desloppify: fix api surface documentation and config reload issues
56411c5 desloppify: consolidate prompt-system sentinels; remove noisy logging; improve docstrings
22a3120 desloppify: flatten stream_short/stream_long 3-layer chain
1665c1d desloppify: strip llm/init.py facade; remove forwarding wrappers
6cf5bb1 refactor: strip unused re-export facade from infrastructure/project/init.py
4a22a22 test: add offline tests for retry loop and warmup_model branches
77190ad refactor: inline trivial wrapper methods and improve docstrings
eacdf7c fix: narrow bare except Exception to OSError in tmp-file write patterns
7a96feb fix: rename misleading function names and fix broken test import
50b2788 fix: remove impossible OverflowError, param order bug, and stale migration shims
ba4aac4 desloppify: fix logic bugs, quick-wins, test-quality, incomplete-migrations
0e96f2a desloppify: narrow broad except Exception to specific types in tests and src
1da4321 desloppify: fix validate_structure return type and chain streaming exceptions
0d53148 desloppify: strip bloated docstrings, rename format_benchmark_report
4b508de desloppify: fix type safety and init coupling issues
1228f20 desloppify: fix elegance issues from deferred-elegance cluster
6c7d922 desloppify: fix logic/naming/security issues from review batch
7571641 desloppify: fix contracts, conventions, deprecation
9525c16 desloppify: fix unused imports in test files
a2fcf08 fix test_security.py: update SecurityHeaders references to module-level functions
193acc6 fix: remove unused imports in test files; add coverage_cleanup tests
77a64ce fix: rename ZenodoClient.upload_file bucket→deposition_id, fix URL path; update security.py Union→str|Path
6d04e9f desloppify: add tests for 5 untested modules (fix-test-coverage cluster)
aa9918e desloppify: fix 16 findings across 6 clusters (sessions 5-6)
86827a5 desloppify: fix 5 T1 review issues
f964526 desloppify: fix unused import and annotation quality
8c21c22 desloppify: consolidate functools imports in security.py
Full Changelog: 0.6...v3.0.0
v0.6 — Desloppify: Code Health Campaign
🧹 Code Health: Desloppify Campaign
The largest code-quality improvement cycle since the template's inception. 162 commits across 948 files, systematically eliminating technical debt from all 8 infrastructure packages through 26 rounds of blind review.
Fixes
- Import hygiene — Removed unused imports across 20+ files; eliminated
sys.pathmutations from CLI modules; properTYPE_CHECKINGguards throughout - Exception handling — Narrowed broad
except Exception/ bareexceptclauses inintegrity.py,logging_utils,config_loader, andllmmodules; fixed silentJSONDecodeErrorswallowing; restored exception context withraise ... from exc - Dead code removal — Deleted orphaned
coverage_reporter.py(zero importers); removed stub/passthrough wrapper methods across 10+ modules; eliminated dead HTML-entities dict fromInputSanitizer - Type annotations — Modernised legacy
typingimports (List[x]→list[x],Optional[x]→x | None) across 30+ modules; addedTypedDictreturns for integrity results; annotated CLI re-exports - API surface — Consolidated
LLMConfigenv-read wrappers (ABS-001); merged duplicatePerformanceMetricsnaming conflict; removedProjectLoggerpure-forwarder abstraction; eliminatedcalculate_file_hashre-export from publishing boundary - Bug fixes — Fixed inverted
scan_errorsbool in doc scanner; fixed stall-detection dead branch in pipeline reporter; fixedconfig_filespath bug inconfig_cli; fixedclean_output_directoryreturn type; fixed broken accessor imports aftercore.pyhub elimination - Structural — Eliminated
infrastructure/core/core.pyhub; extracted_build_stage_listto remove stage-list duplication; movedMultiProjectResulttoTYPE_CHECKINGto breakreporting→corecircular dependency - Logging — Removed noisy debug logs from LLM and environment modules; downgraded verbose entry logs; added
get_loggerto logic modules lacking structured logging - Docstrings — Stripped AI-generated boilerplate from 40+ functions; removed restating comments and banner comments
- Tests — Fixed test name collisions; added deterministic tests for
validate_review_qualityand exception types; added integration tests totestpaths; removed orphan test files - Dependencies — Removed
scipyfrom infrastructure env check; resolved stalepsutilguards; movedmatplotlibto optional dep group
Quality Gates
| Gate | Status |
|---|---|
| Desloppify blind reviews | 26 rounds |
| Commits | 162 |
| Files changed | 948 |
ruff check |
✅ 0 errors |
mypy --strict |
✅ 0 errors (all 8 packages) |
bandit -ll |
✅ 0 MEDIUM+ findings |
pip-audit |
✅ Blocking gate |
pytest |
✅ All pass |
Documentation
- Updated
CHANGELOG.mdwith full v0.6.0 entry - Updated
docs/development/roadmap.mdwith desloppify results and refreshed quality metrics - Updated
docs/audit/documentation-review-report.mdfor v0.6 scope
See CHANGELOG.md for full details.
Multiproject
Now there are multiple projects and all associated functionalities.