mirror of
https://github.com/SamyRai/tercul-backend.git
synced 2025-12-27 02:51:34 +00:00
This commit consolidates all outstanding tasks from `TODO.md`, `BUILD_ISSUES.md`, and inline `TODO` comments into a single `TASKS.md` file. This new file serves as the single source of truth for all pending development work, categorized by priority. The following legacy files have been removed to avoid confusion: - `TODO.md` - `BUILD_ISSUES.md` The `AGENTS.md` file has also been updated to remove a temporary debug log and now directs agents to the new `TASKS.md` file for guidance.
75 lines
4.3 KiB
Markdown
75 lines
4.3 KiB
Markdown
# Consolidated Tasks for Tercul
|
|
|
|
This document is the single source of truth for all outstanding development tasks. It is generated from `TODO.md`, `BUILD_ISSUES.md`, and inline `TODO` comments.
|
|
|
|
---
|
|
|
|
## Urgent: Build Failures
|
|
|
|
These issues are currently breaking the build and must be resolved before any other work can proceed. All issues are located in `internal/adapters/graphql/schema.resolvers.go`.
|
|
|
|
- [ ] **Resolver Errors:**
|
|
- [ ] `internal/adapters/graphql/schema.resolvers.go:10:2: "log" imported and not used`
|
|
- [ ] `internal/adapters/graphql/schema.resolvers.go:1071:24: r.App.AuthorRepo undefined (type *app.Application has no field or method AuthorRepo)`
|
|
- [ ] `internal/adapters/graphql/schema.resolvers.go:1073:24: r.App.AuthorRepo undefined (type *app.Application has no field or method AuthorRepo)`
|
|
- [ ] `internal/adapters/graphql/schema.resolvers.go:1089:36: r.App.Localization.GetAuthorBiography undefined (type *"tercul/internal/app/localization".Service has no field or method GetAuthorBiography)`
|
|
- [ ] `internal/adapters/graphql/schema.resolvers.go:1141:22: r.App.UserRepo undefined (type *app.Application has no field or method UserRepo)`
|
|
- [ ] `internal/adapters/graphql/schema.resolvers.go:1143:24: r.App.UserRepo undefined (type *app.Application has no field or method UserRepo)`
|
|
- [ ] `internal/adapters/graphql/schema.resolvers.go:1212:20: r.App.TagRepo undefined (type *app.Application has no field or method TagRepo)`
|
|
- [ ] `internal/adapters/graphql/schema.resolvers.go:1225:32: r.App.TagRepo undefined (type *app.Application has no field or method TagRepo)`
|
|
- [ ] `internal/adapters/graphql/schema.resolvers.go:1249:25: r.App.CategoryRepo undefined (type *app.Application has no field or method CategoryRepo)`
|
|
- [ ] `internal/adapters/graphql/schema.resolvers.go:1262:32: r.App.CategoryRepo undefined (type *app.Application has no field or method CategoryRepo)`
|
|
|
|
---
|
|
|
|
## High Priority
|
|
|
|
### Architecture & Refactoring
|
|
- [ ] **Implement Full Observability:**
|
|
- [ ] Centralize logging across the application.
|
|
- [ ] Add Prometheus metrics for key operations.
|
|
- [ ] Add OpenTelemetry tracing for distributed request tracing.
|
|
- [ ] **Establish CI/CD Pipeline:**
|
|
- [ ] Add `make lint test test-integration` to the CI pipeline.
|
|
- [ ] Set up automated deployments to a staging environment.
|
|
- [ ] **Refactor Testing Utilities:**
|
|
- [ ] Remove database logic from `internal/testutil/testutil.go` to support mock-based integration tests.
|
|
|
|
### Features
|
|
- [ ] **Implement Analytics Features:**
|
|
- [ ] Implement view counting for works and translations.
|
|
- [ ] Implement like counting for works and translations.
|
|
- [ ] Implement comment counting for works.
|
|
- [ ] Implement bookmark counting for works.
|
|
- [ ] Implement translation counting for works.
|
|
- [ ] Implement translation analytics to show popular translations.
|
|
- *Note: This is referenced in both `TODO.md` and `internal/jobs/linguistics/work_analysis_service.go`.*
|
|
|
|
- [ ] **Complete Unfinished Implementations:**
|
|
- [ ] `internal/app/work/commands.go`: Implement the `MergeWork` function.
|
|
- [ ] `internal/app/search/service.go`: Get content from the translation service.
|
|
- [ ] `cmd/tools/enrich/main.go`: The tool is broken and needs to be fixed.
|
|
|
|
---
|
|
|
|
## Medium Priority
|
|
|
|
### Performance
|
|
- [ ] **Batch Weaviate Operations:** Implement batching for Weaviate client operations to improve throughput.
|
|
- [ ] **Add Performance Benchmarks:** Create benchmarks for critical API paths and business logic to monitor performance over time.
|
|
|
|
### Code Quality & Architecture
|
|
- [ ] **Expand Weaviate Client:** Add support for all models to the Weaviate client.
|
|
- [ ] **Add Documentation:** Improve code documentation and generate API documentation.
|
|
- [ ] **Refactor Caching:** Replace bespoke cached repositories with the decorator pattern in `internal/data/cache`.
|
|
- [ ] **Improve Configuration Handling:** Replace ad-hoc config with environment variable parsing and validation (e.g., using `koanf` or `envconfig`).
|
|
|
|
### Monitoring & Logging
|
|
- [ ] **Add Monitoring:** Add monitoring for background jobs and API endpoints.
|
|
- [ ] **Add Linguistics Metrics:** Add metrics for linguistics pipeline (analysis duration, cache hit/miss, provider usage).
|
|
|
|
---
|
|
|
|
## Low Priority
|
|
|
|
- [ ] **Refactor Transactional Runner:** Refactor `RunTransactional` in `internal/testutil/testutil.go` to be more mock-friendly. |