Split web crate into layered modules (api/services/jobs/view) #4
Loading…
Reference in a new issue
No description provided.
Delete branch "worktree-srp-refactor-web"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Refactors
crates/webtoward Single Responsibility Principle, aggregating related pieces into directories the way a layered/hexagonal Spring Boot app separates controllers, services, and configuration:api/— controllers: the#[server]endpoints (articles.rs,feeds.rs) plus the wire-contract DTO (dto.rs)server/services/— business logic:articles.rs,feeds.rs,reading_events.rsserver/jobs/— background scheduling, renamed frompipeline.rs: scheduler wiring (mod.rs), LLM scoring pass (scoring.rs), affinity decay (affinity_decay.rs)server/config.rs— LLM connection settings (previously inlined)server/mod.rs— infra bootstrap only: tracing init, DB connection, background-job startupapp/— view layer: rootApp,SubscribeForm,ArticleRow, one component per fileNo behavior changes — this is a pure reorganization. The old
server.rs,app.rs, andserver/pipeline.rsgrab-bag files are replaced by the above.Test plan
cargo build -p feedsignal-web --features servercargo clippy -p feedsignal-web --features server --all-targets -- -D warningscargo check/clippyon thewasm32-unknown-unknownclient target (--no-default-features --features web)cargo fmt -p feedsignal-web -- --check🤖 Generated with Claude Code
https://claude.ai/code/session_01LoXS1ERDGC1P189RqmUxAF