f11947aad2
refactor: extract helpers from oversized router and scheduler files
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 15:41:23 +01:00
55315299c7
commit
2026-02-27 15:22:12 +01:00
b701583716
refactor: decompose scholars service and pdf_queue into focused modules
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 14:39:12 +01:00
8c6069c121
Decomp plan adjustment
2026-02-27 14:26:29 +01:00
6379c97e90
decompose application.py into enrichment, scholar processing, run completion
2026-02-27 14:19:39 +01:00
9a7fa5004e
refactor: extract pagination engine and publication upsert from ingestion service
...
Split app/services/ingestion/application.py (2,955 lines) into three
focused modules:
- page_fetch.py (219 lines): PageFetcher class for single-page fetch,
parse-or-layout-error handling, and retry with backoff
- pagination.py (486 lines): PaginationEngine class for multi-page
orchestration, loop state management, and short-circuit detection
- publication_upsert.py (239 lines): module-level functions for
resolve_publication, upsert_profile_publications, and all
find/create/update helpers
Also fixes two external import paths in portability/ that incorrectly
sourced normalize_title and build_publication_url from application.py
instead of fingerprints.py.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 13:47:23 +01:00
4741a2da50
updated uv
2026-02-27 11:41:19 +01:00
73c42a384b
chore: add MIT license and Buy Me a Coffee funding link
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 11:25:13 +01:00
19ca690d84
docs: add CodeQL, release, Python version, and license badges to README
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 11:10:56 +01:00
8407ab6be0
docs(agents): expand testing section with ruff, mypy, and frontend gates
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 11:06:38 +01:00
804b98423c
docs: rewrite agents.md with complete, accurate agent instructions
...
- Add file length target (400 lines) and ceiling (600 lines)
- Fix testing command (was missing python -m pytest)
- Add conventional commits, ruff/mypy, structured_log, uv rules
- Remove duplication with contributing.md
- Tighten UI section with concrete references
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 11:02:59 +01:00
1b15cc22ab
docs: fix logo dark-mode visibility and add FastAPI/SSE to architecture diagram
...
- Add white logo variant at .github/logo-dark.png using <picture> tag
with prefers-color-scheme media query
- Update mermaid diagram to show Vue<->FastAPI REST+SSE connection
and bidirectional API<->DB relationship
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 10:58:30 +01:00
92395b2b4b
Initial release prep
2026-02-27 10:46:05 +01:00
c9b9d892f4
docs: rewrite README with project hook, feature table, and screenshot placeholders
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 10:45:19 +01:00
0c5b199b76
docs: rebuild documentation from scratch with clean IA
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 09:39:27 +01:00
6c31b331f7
ci: adopt python-semantic-release, fix hardcoded version strings
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 00:07:25 +01:00
3866c6d6f0
ci: add CodeQL security scanning and Dependabot
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 00:05:17 +01:00
ac002131d6
fix: resolve remaining ruff lint and mypy type errors
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 22:58:55 +01:00
bf04c77aa9
ci: add ruff linting and mypy type checking
...
Add ruff and mypy to dev dependencies with configuration in pyproject.toml.
Add a lint CI job that runs ruff check, ruff format --check, and mypy.
Auto-fix import sorting and formatting across the codebase. Exclude
alembic/versions from linting (auto-generated migrations). Ignore B008
(FastAPI Depends pattern) and RUF001 (unicode in user-facing strings).
21 ruff lint errors and 50 mypy errors remain for manual review.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 22:11:41 +01:00
399276ea69
fix: use importlib import mode to resolve test module name collisions
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 22:07:58 +01:00
fa56168fb1
refactor: reduce log noise, improve event naming and console readability
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 22:05:18 +01:00
db0ac6a228
refactor: migrate all remaining logging to structured_log, remove boilerplate helpers
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 21:59:34 +01:00
19ca53186c
refactor: migrate ingestion service logging to structured_log
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 21:41:05 +01:00
6b47b56867
refactor: add structured_log utility to eliminate logging boilerplate
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 21:31:32 +01:00
7736cab141
chore: remove stale build artifacts, fix gitignore, use npm ci in CI
...
- Remove 114 tracked build/lib/ files (stale setuptools artifact that
broke the repo-hygiene CI guard)
- Add build/ to .gitignore
- Remove AGENTS.MD from .gitignore (track agents.md instead)
- Delete ad-hoc scripts: diag_pubs.py, test_enrich.py
- Delete orphaned frontend/docs/website/package-lock.json
- Replace npm install with npm ci in ci.yml and docs-pages.yml for
deterministic lockfile installs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 21:24:59 +01:00
3d4cfeff1a
Intermediate commit
2026-02-26 16:09:57 +01:00
0e9e49df16
temp commit
2026-02-26 12:54:19 +01:00
8760f27b51
small ui update
2026-02-22 16:35:39 +01:00
1c01b29be7
s
2026-02-22 16:23:35 +01:00
JustinZeus
4a66631a57
Merge pull request #18 from JustinZeus/feat/beta
...
release prep
2026-02-21 18:36:57 +01:00
5499904cef
release prep
2026-02-21 18:36:27 +01:00
JustinZeus
4bdef0cc2a
Merge pull request #17 from JustinZeus/feat/docs
...
docs
2026-02-21 17:56:34 +01:00
ca565e2530
docs
2026-02-21 17:53:29 +01:00
JustinZeus
c99af18ae4
Merge pull request #16 from JustinZeus/feat/database-backup-repair
...
Big changes
2026-02-21 17:35:03 +01:00
e3f0d63fec
Big changes
2026-02-21 17:33:05 +01:00
JustinZeus
164e97b7a2
Merge pull request #15 from JustinZeus/develop
...
m
2026-02-21 00:22:07 +01:00
4240ad38e2
m
2026-02-20 23:29:44 +01:00
JustinZeus
500ea42d38
Merge pull request #14 from JustinZeus/develop
...
harden domain architecture and add lazy Crossref+Unpaywall PDF enrich…
2026-02-20 22:57:12 +01:00
01454162bb
harden domain architecture and add lazy Crossref+Unpaywall PDF enrichment with publications workspace refactor
2026-02-20 22:56:52 +01:00
JustinZeus
629bcbd57d
Merge pull request #13 from JustinZeus/bugfix/mobile-scrolling
...
quick fix for mobile scrolling
2026-02-20 12:42:51 +01:00
a527e7a535
quick fix for mobile scrolling
2026-02-20 12:42:18 +01:00
JustinZeus
098794a0cf
Merge pull request #12 from JustinZeus/refactor/domain-services-mobile-nav-docs
...
bugfix
2026-02-20 01:33:37 +01:00
14eb2fe2b2
bugfix
2026-02-20 01:33:09 +01:00
JustinZeus
f2e9bc3253
Merge pull request #11 from JustinZeus/refactor/domain-services-mobile-nav-docs
...
modularize service layer, add mobile nav drawer, and sync docs
2026-02-20 01:29:16 +01:00
6b6ed91b92
modularize service layer, add mobile nav drawer, and sync docs
2026-02-20 01:28:20 +01:00
JustinZeus
cf6be48a1e
Merge pull request #10 from JustinZeus/feat/failfast-parser-pdf-import-export-dashboard-sync
...
feat: refactor backend services and add direct PDF links, import/expo…
2026-02-19 23:49:10 +01:00
7f7a8ce2b0
feat: refactor backend services and add direct PDF links, import/export, and dashboard sync
2026-02-19 23:45:52 +01:00
JustinZeus
8c9f74ee7e
Merge pull request #9 from JustinZeus/feature/publication-status-rework
...
m
2026-02-19 22:50:35 +01:00
ba7976d935
m
2026-02-19 22:50:22 +01:00
JustinZeus
710f7675c3
Merge pull request #8 from JustinZeus/refactor/shared-author-search-state-phase2-cleanup
...
remove legacy in-memory search state fallback
2026-02-19 22:31:45 +01:00